Building Excellent Internet & Intranet Solutions
Dave RemmerArchitect AdvisorMicrosoft [email protected]
Agenda
• Avoiding the “new version” headache• 5 Key Microsoft Technologies
– ASP.NET– JavaScript, AJAX and JQuery– Internet Explorer 8– Silverlight– Microsoft Office SharePoint Server
• ALM: patterns, capabilities and testing
The “new version” headache• My previous sites & application code
don’t work in modern browsers• The frameworks I use are advancing so
quickly that I can’t keep up• My tools are quickly becoming obsolete
and I can’t be effective in my role• The kinds of capabilities my
stakeholders are asking for are difficult or impossible to integrate into my sites
Avoiding the headache• Use basic framework controls and
namespaces for the core of solutions• The .NET framework largely builds on
existing framework but has new capabilities that you can use
• Visual Studio supports multi-targeted framework versions
• Use a variety of platform technologies in order to enhance site capabilities
AJAX
JQuery
ASP.NET Architecture• ASP.NET 3.5
– Built in ASP.NET AJAX– Language Integrated Query (LINQ)
• ASP.NET 2.0 App Services / IIS7– Forms Authentication– Profile– Role Management– Session State
ASP.NET AJAX Architecture
ASP.NET AJAX Server ExtensionsASP.NET AJAX Server Extensions
ASP.NET AJAXServer ControlsASP.NET AJAX
Server Controls
App Services Bridge
App Services Bridge
Web Services Bridge
Web Services Bridge
Server Framework
Client Framework and Services
Client Script LibraryClient Script Library
Controls, Components
Controls, Components
Script CoreScript Core
Base Class LibraryBase Class Library
Component Model and UI FrameworkComponent Model and UI Framework
Browser Compatibility
Browser Compatibility
Client Application Services
Client Application Services
BrowserIntegrationBrowser
Integration
ASP.NET 2.0ASP.NET 2.0
Application Services
Application Services
Page Framework,
Server Controls
Page Framework,
Server Controls
ASP.NET AJAXASP.NET Pages
ASP.NET AJAXASP.NET Pages Web ServicesWeb Services
HTML, Script,ASP.NET AJAX
Markup
HTML, Script,ASP.NET AJAX
Markup
ServiceProxies
ServiceProxies
ASP.NET AJAX Server ExtensionsASP.NET AJAX Server Extensions
ASP.NET AJAXServer ControlsASP.NET AJAX
Server Controls
App Services Bridge
App Services Bridge
Web Services Bridge
Web Services Bridge
Client Script LibraryClient Script Library
Controls, Components
Controls, Components
Script CoreScript Core
Base Class LibraryBase Class Library
Component Model and UI FrameworkComponent Model and UI Framework
Browser Compatibility
Browser Compatibility
Client Application Services
Client Application Services
ServiceProxies
ServiceProxies
BrowserIntegrationBrowser
Integration
ASP.NET AJAX is Flexible
ASP.NET AJAX
Web Forms ASP.NET MVC
jQuery Integration
All ASP.NET Ajax Library controls are exposed as jQuery plug-ins automatically:
$(“#input1”).watermark( “Enter some text” );
Microsoft provides jQuery support on its AJAX CDN, providing ease of access to the library.
<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.1.min.js" type="text/javascript"></script>
IE=EmulateIE7
Internet Explorer 8TWO Layout Engines
Default Engine
Standards Compliance
HTML
ACID 2
CSS 2.1
CSS 2.1 complianceDOM ImprovementsHTML ImprovementsAcid2 Test compliance
This meansData URI SupportImproved Namespace SupportAnd more
New Internet Explorer 8 ServicesAccelerators, Web Slices & Search
Providers• Accelerators
– Provide your services from anywhere on the web
• Web Slices– Bring pieces of your site directly to the user
• Search Providers– Provide visual search and search
suggestions
Create a sticky connection to your user!
cross-browser and out-of-browser, cross-platform, cross-device
for building and delivering the next generation of
.NET basedmedia experiences and rich interactive applications
for the web
DesktopWeb
XHTML / ASP.NET
JavaScript / AJAX
CSS
.NET Languages
XAML / WPF
Windows Media
Flexibletools /
programming / media
CompellingUX on all app
categories
Connectedto data, servers,
services
Easily Reuse Skills
XAML Element Composition
Lookless Controls
Data Binding
Composited Visuals
Key Silverlight Platform Concepts
XAML: Declarative Programming for Windows
• Markup for Windows– Build applications in simple declarative statements– Can be used for any CLR object hierarchy (not just WPF)
• Code and content are separate– Streamline collaboration between designers and developers
• Easy for tools to consume and generate
<Button Width="100">OK <Button.Background> LightBlue </Button.Background></Button>
Button b1 = new Button();b1.Content = "OK";b1.Background = new SolidColorBrush (Colors.LightBlue);b1.Width = 100;
Dim b1 As New Buttonb1.Content = "OK"b1.Background = New _ SolidColorBrush _ (Colors.LightBlue)b1.Width = 100
SharePoint 2010• Connect & Empower
– User Interface– Office Integration– Anywhere Access
• Cut Costs– Platform Consolidation– Deployment Choice– IT Productivity
• Agility– Developer Productivity– Data Connectivity– Composite Solutions
Communities
Search
Sites
Composites
ContentInsights
SharePoint Designer 2010
• SharePoint Designer is for SharePoint artifacts
• New Tools – BDC Entities– List Schema– Custom Actions– Task/Approval
Designer
• Improved Tools – Workflow Designer– Page Editor
The Sandbox
• A separate, rights-restricted process where the solution runs
• Exposes a subset of Microsoft.SharePoint
• Code Access Security policy limits functionality
• Site collection solution gallery for deployment
• Resource usage monitoring and site collection quotas
Visual Studio 2010
ALM Define Test Suite
ALM Manage Test Plans
ALM Test Reporting
Questions ?
Resources
Get Guidance and Training ContentThese are a good start, and remember: Bing is your friend!
• ASP.NEThttp://www..asp.net/
• AJAXhttp://www..asp.net/ajax
• JQueryhttp://jquery.com/
• Silverlighthttp://www.silverlight.net/
• Patterns & Practices• http://msdn.microsoft.com/practices/
• Channel 9http://channel9.msdn.com
ResourcesUpdate to Visual Studio 2010 and MSDNhttp://www.microsoft.com/visualstudio/en-ca/products/2010/default.mspx andhttp://www.microsoft.com/visualstudio/en-ca/products/msdn/default.mspx... Or Bing it!
Visual Studio 2010:• The all-in-one work environment
for coding, modeling, testing, debugging and deploying
• Ready to build and debug SharePoint 2010 applications with a click of “New Project…”
MSDN:• The ultimate developer resource
with downloads and documentation, software and support, and Azure compute time too!
Resources
Go to TechDayshttp://techdays.ca/
• It’s our big cross-Canada training conference held in the fall(covering 8 cities this year)
• Big conference content,but with local speakers anda down-home price of admission(especially if you register early!)
• Deep dives into Microsoft tools and technology, including ALM scenarios
• Access to content from the TechDays and TechEd North America conferences
• Great giveaways• An excellent networking opportunity
Resources
Go to Other ConferencesTo find them, remember that Bing is your friend!
• Microsoft Developer Conferences
• DevTeach• PDC• MIX
• Code Camps• Local developer conferences held
by user groups and local heroes