54
MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Embed Size (px)

Citation preview

Page 1: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle

Aku Heikkerö, Vesa JuvonenMicrosoft Consulting Services (MCS)

Page 2: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

AgendaAgenda• Tekninen alusta ja MOSS:n rakenteet• Mitä MOSS tarjoaa sovelluskehittäjille• Kehityksessä käytettävät muut työkalut ja mallit

– WSS3.0 extensions for VS2005– Reflector– Fiddler

• Rakenteiden lokalisointi• Ajax & Silverlight - Kuinka niitä hyödynnetään

MOSS:ssa

Page 3: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Who are we?Who are we?

• Aku Heikkerö– Senior Consultant, Team leader, BPIO Service Line, Enterprise Services,

Microsoft Finland– Member of a worldwide SharePoint Ranger team– In Microsoft since 2003. Companies before Microsoft – ICL, Fujitsu– Email: [email protected]

• Vesa ”vesku” Juvonen– Software Development Consultant, BPIO Service Line, Enterprise Services,

Microsoft Finland– In Microsoft since 2006, started IT studies 1996 (graduation took a while).

Companies before Microsoft – ICL, Fujitsu, BasWare working as Software Architect, Lead Software Development Engineer etc.

– Email: [email protected]– Blog: http://blogs.msdn.com/vesku

Page 4: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

MOSS as a Software MOSS as a Software Development PlatformDevelopment Platform

Page 5: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Operating System ServicesOperating System ServicesOperating System ServicesOperating System Services

ADO.NET / SQL ServerADO.NET / SQL ServerADO.NET / SQL ServerADO.NET / SQL Server IISIISIISIIS Windows Workflow Windows Workflow FoundationFoundation

Windows Workflow Windows Workflow FoundationFoundation

ASP.NETASP.NETASP.NETASP.NET

Windows SharePoint Service 3.0Windows SharePoint Service 3.0

StorageStorage SecuritySecurity ManagementManagement TopologyTopology Site ModelSite Model APIsAPIs

SharePoint Technology SharePoint Technology StackStackCollaboratiCollaborati

onon

CollaboratiCollaborationon

Documentand RecordsManagement

Documentand RecordsManagement

My Sites My Sites

Search

Search

Business Application Integration

Business Application Integration

Business Intelligence

Business Intelligence

Microsoft Office SharePoint Server 2007Microsoft Office SharePoint Server 2007WebContentManagement

WebContentManagement

Page 6: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Anatomy of a Page RequestAnatomy of a Page RequestThe typical ASP.NET wayThe typical ASP.NET way

C:\inetpub\wwwroot\C:\inetpub\wwwroot\appnameappname

web.configweb.configdefault.aspxdefault.aspxmyapp.cssmyapp.cssmycontrol.dllmycontrol.dllmyothercontrol.ascxmyothercontrol.ascx......

Browser:Browser:HTTP GETHTTP GET

http://server/appnamehttp://server/appname

IISIIS

DataDatabasebase

Page 7: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

schema.xmlschema.xmlallitems.aspxallitems.aspx

Anatomy of a Page RequestAnatomy of a Page RequestThe Windows SharePoint Services wayThe Windows SharePoint Services way

WSSWSS

Browser:Browser:HTTP GETHTTP GET

http://server/appnamehttp://server/appname

IISIIS

DataDatabasebase

Site DefinitionSite Definition

Default.aspxDefault.aspx

all work and no playmakes Jack a dull boyall work and no playmakes Jack a dull boy

Web

Par

t I

nsta

nces

Web

Par

t I

nsta

nces

List d

ata

List d

ata

/bin or GAC/bin or GAC

WebPart1.dllWebPart1.dllWebPart2.dllWebPart2.dll

Web Part Web Part AssembliesAssemblies

List viewList view

Page

Page

Page 8: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Many Sites on a Single FarmMany Sites on a Single FarmThe typical ASP.NET wayThe typical ASP.NET way

Browser:Browser:HTTP GETHTTP GET

http://server/appnamehttp://server/appname

IISIIS

Default.aspxDefault.aspxweb.configweb.configotherpage.asotherpage.aspxpxmystyles.cssmystyles.css

DatabasDatabasee

Default.aspxDefault.aspxweb.configweb.configotherpage.asotherpage.aspxpxmystyles.cssmystyles.css

DatabasDatabasee

Default.aspxDefault.aspxweb.configweb.configotherpage.asotherpage.aspxpxmystyles.cssmystyles.css

DatabasDatabasee

Default.aspxDefault.aspxweb.configweb.configotherpage.asotherpage.aspxpxmystyles.cssmystyles.css

DatabasDatabasee

Default.aspxDefault.aspxweb.configweb.configotherpage.asotherpage.aspxpxmystyles.cssmystyles.css

DatabasDatabasee

Default.aspxDefault.aspxweb.configweb.configotherpage.asotherpage.aspxpxmystyles.cssmystyles.css

DatabasDatabasee

Default.aspxDefault.aspxweb.configweb.configotherpage.asotherpage.aspxpxmystyles.cssmystyles.css

DatabasDatabasee

Default.aspxDefault.aspxweb.configweb.configotherpage.asotherpage.aspxpxmystyles.cssmystyles.css

DatabasDatabasee

Default.aspxDefault.aspxweb.configweb.configotherpage.asotherpage.aspxpxmystyles.cssmystyles.css

DatabasDatabasee

Default.aspxDefault.aspxweb.configweb.configotherpage.asotherpage.aspxpxmystyles.cssmystyles.css

DatabasDatabasee

Default.aspxDefault.aspxweb.configweb.configotherpage.asotherpage.aspxpxmystyles.cssmystyles.css

DatabasDatabasee

Default.aspxDefault.aspxweb.configweb.configotherpage.asotherpage.aspxpxmystyles.cssmystyles.css

DatabasDatabasee

Default.aspxDefault.aspxweb.configweb.configotherpage.asotherpage.aspxpxmystyles.cssmystyles.css

DatabasDatabasee

Default.aspxDefault.aspxweb.configweb.configotherpage.asotherpage.aspxpxmystyles.cssmystyles.css

DatabasDatabasee

Default.aspxDefault.aspxweb.configweb.configotherpage.asotherpage.aspxpxmystyles.cssmystyles.css

DatabasDatabasee

Default.aspxDefault.aspxweb.configweb.configotherpage.aspotherpage.aspxxmystyles.cssmystyles.css

DatabasDatabasee

DatabasDatabasee

Default.aspxDefault.aspxweb.configweb.configotherpage.asotherpage.aspxpxmystyles.cssmystyles.css

DatabasDatabasee

Default.aspxDefault.aspxweb.configweb.configotherpage.asotherpage.aspxpxmystyles.cssmystyles.css

DatabasDatabasee

Default.aspxDefault.aspxweb.configweb.configotherpage.asotherpage.aspxpxmystyles.cssmystyles.css

DatabasDatabasee

Page 9: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

schema.xmlschema.xmlallitems.aspxallitems.aspx

Many Sites on a Single FarmMany Sites on a Single FarmThe Windows SharePoint Services wayThe Windows SharePoint Services way

WSSWSS

Browser:Browser:HTTP GETHTTP GET

http://server/appnamehttp://server/appname

IISIIS

DataDatabasebase

Site DefinitionSite Definition

Default.aspxDefault.aspx

all work and no playmakes Jack a dull boyall work and no playmakes Jack a dull boy

Web

Par

t

Inst

ance

s

Web

Par

t

Inst

ance

s

list data

list data

/bin or GAC/bin or GAC

WebPart1.dllWebPart1.dllWebPart2.dllWebPart2.dll

Web Part Web Part AssembliesAssemblies

list viewlist view

page

page

Page 10: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Development with Development with SharePointSharePoint• Little bit different then in normal ASP.net projects

due the environmental issues

• Planning of individual tasks has to be done in more detailed level during technical specification

• Since platform is providing the base services, developers can concentrate more on the business objectives

• Note. UI configuration options are for end users, not for developers

Page 11: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

List Definition

schema.xmlallitems.aspx

What You Develop For SharePoint TechnologyWhat You Develop For SharePoint Technology

Database

Site Definition

onet.xmlDefault.aspx

all work and no playmakes Jack a dull boyall work and no playmakes Jack a dull boy

/bin or GAC

WebPart1.dllWebPart2.dll

WSS

Browser:HTTP GET

http://server/appname

IIS / ASP.NETAssemblies:Web PartsWeb ControlsEvent ReceiversPoliciesWorkflow ActivitiesWorkflow AssembliesTimer Jobs

Schema:Site DefinitionsFeature DefinitionsList DefinitionsContent Types/FieldsDocument Templates

ASP.NET resources:Site PagesApplication PagesImagesStyle SheetsUser ControlsMaster PagesNavigation Controls

Data Manipulation:(via Object Model)

Web Services(which call the Object Model)

Remote Clients(which call the Web services)

Services:Search, Profiling, AudiencesCalculation, Rendering,Data Access, Migration, etc…

Page 12: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Tools For Any Skill LevelTools For Any Skill Level

Page 13: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Development ToolsDevelopment Tools• Microsoft SharePoint Designer does not really fall in the

category of development tools but provides a design experience for SharePoint that can be leveraged by developers

• Visual Studio 2005– Extended with WSS 3.0 Extensions for VS2005 v1.1– Extended with Windows Workflow Foundation Extensions– Extended with Workflow Starter Kit

• Visual Studio 2008– New Visual Studio Tools for Office version– Upcoming WSS 3.0 Extensions for Visual Studio v1.2 will support

VS2008 – Expect by June 2008

Page 14: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Development Development EnvironmentEnvironment• Tools

– Visual Studio 2005 / Visual Studio 2008– Microsoft Office SharePoint Designer 2007

• Platform– Windows Server 2003– Windows Server 2008 with SharePoint SP1

Page 15: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Use SharePoint Designer to…Use SharePoint Designer to…

• Do design work on one site at a time• Examples

– Write No-code workflows– Modify CSS files– Edit .aspx pages– Add script to pages– Customise look & feel of Web Parts– Write XSLT to customise data rendering

Page 16: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Use Visual Studio to…Use Visual Studio to…• Create code components

– Web Parts– Event receivers– Document converters– Workflow activities, templates

• Create provisioning assets– Site definitions– Feature definitions– XSDs provided for validating XML

• Create solution packages

Page 17: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Windows Server 2003Windows Server 2003• Windows SharePoint Services only runs on

Windows Server 2003 or later– Windows server 2008 installation requires SP1 for the MOSS /

WSS

• You can develop without it, but…• You need a copy to deploy/debug• Options

– Make it your development OS– Run it in a Virtual PC– Have a standalone server at your disposal

Page 18: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Development environmentDevelopment environment

1) Developer with dedicated MOSS Run it in a Virtual PC

2) Another developer with separate module responsibilities

3) Other project members Observe project progress

4) Development Server Ideally automated process to

build daily versions based on labelled artefacts in the source control

Page 19: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Profile of a SharePoint DeveloperProfile of a SharePoint Developer

• WSS 3.0 + MOSS 2007 Power User/Administration• Understand WSS 3.0 architecture• Skilled in .NET 2.0 development languages• Skilled in .NET 3.0 (WF + AJAX/Silverlight)• Skilled in ASP.NET 2.0

– Master pages, Web Parts, Provider Model, Security, …

• Love CAML• Understand how to approach a project architecting

it using Features and Solutions

Page 20: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Types of Solutions to Types of Solutions to BuildBuild• Code-based solutions

– .NET assemblies extending the SharePoint platform

– Custom site and application pages

• Schema-based solutions– New definitions of templates (site, list,

field, ...)– Custom actions in the user interface

• Combination of both(Most of the Time!)

Page 21: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Deploying SharePoint SolutionsDeploying SharePoint Solutions

• Add .WSP to the solution store– Via command line using

STSADM– Via object model

• Deploy to all or individual Web Applications– Via Central Administration

(solution mgmt)– Via Command-line– Via Object Model

Stsadm –o addsolution –filename mypackage.wsp

Front-End Web Servers

Solution Store

stsadm -o deploysolution -name mypackage.wsp –local -url IISWebApp

Page 22: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

The WSS System The WSS System DirectoriesDirectories• Developers must learn WSS system

directories» \12\TEMPLATE» \12\TEMPLATE\FEATURES \12\TEMPLATE\IMAGES» \12\TEMPLATE\LAYOUTS

Page 23: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

IIS Web SitesIIS Web Sites• WSS depends on IIS Web sites for…

– HTTP listener mechanism– Process management through Application Pools– Security and user authentication

Page 24: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

The WSS-extended Web ApplicationThe WSS-extended Web Application

• Web Applications extend IIS and ASP.NET– IIS wildcard application map sends all requests to ASP.NET– ASP.NET extended using common objects inside HTTP pipeline– Web Application configured with WSS system virtual directories

– _layouts– _controltemplates– _vti_bin– _wpresources

Page 25: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

The WSS-extended web.config fileThe WSS-extended web.config file

• WSS replaces HttpApplication object

• WSS configures pipeline with its own HttpHandler and HttpModule

<!-- web.config file at root of WSS Web Application --><configuration> <system.web> <httpHandlers> <remove verb="GET,HEAD,POST" path="*" /> <add verb="GET,HEAD,POST" path="*" type="Microsoft.SharePoint.ApplicationRuntime.SPHttpHandler,..." /> </httpHandlers> <httpModules> <clear /> <add name="SPRequest" type="Microsoft.SharePoint.ApplicationRuntime.SPRequestModule,..." /> <!-- other standard ASP.NET httpModules added back in --> </httpModules> </system.web></configuration>

<!-- global.asax file at root of WSS Web Application --><@Application Inherits=”Microsoft.SharePoint.ApplicationRuntime.SPHttpApplication” >

Page 26: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

WSS Extensions to the web.config fileWSS Extensions to the web.config file<configuration>

<configSections> <sectionGroup name="SharePoint"> <section name="SafeControls" type="..." /> <section name="RuntimeFilter" type="..." /> <section name="WebPartLimits" type="..." /> <section name="WebPartCache" type="..." /> <section name="WebPartWorkItem" type="..." /> <section name="WebPartControls" type="..." /> <section name="SafeMode" type="..." /> <section name="MergedActions" type="..." /> <section name="PeoplePickerWildcards" type="..." /> </sectionGroup> </configSections>

<SharePoint> <SafeMode /> <WebPartLimits /> <WebPartCache /> <WebPartControls /> <SafeControls /> <PeoplePickerWildcards /> </SharePoint>

</configuration>

Page 27: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Important Debugging SettingsImportant Debugging Settingsset to true

set to Off

Page 28: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

The Virtual File System of a SiteThe Virtual File System of a Site• Site is a virtual file

system– made up of folders and

files– Pages are files– Documents are files– Stored in content

database

• How can you look at it?– SharePoint Designer– Windows Explorer

(WebDav)

Page 29: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Processing Pages within a Processing Pages within a SiteSite• WSS stores.aspx files in content database

– Retrieved using SPVirtualPathProvider object– Page based on page templates on Web server– Non-customized pages can be ghosted– Customized pages cannot be ghosted

Page 30: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

The _layouts Virtual The _layouts Virtual DirectoryDirectory• Files in _layouts directory accessible to all sites

– _layouts provides access to common resources– _layouts contains files for images, CSS and JavaScript– _layouts contains Application Pages

• All these URLS resolve to the same page• http://Litwareinc.com/_layouts/settings.aspx• http://Litwareinc.com/sites/Vendors/_layouts/settings.aspx• http://Litwareinc.com:1001/sites/Accounting/_layouts/settings.aspx

Page 31: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

LokalisointiLokalisointi

Page 32: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Localization techniquesLocalization techniques• Different techniques for different

functionalities– XML file localization– Aspx & master page localization– WebPart / WebControl localization– Portal structure localization

• SharePoint localization is based on standard .NET localization techniques– Resources + Thread culture

Page 33: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

XML LocalizationXML Localization• XML files are localized in provisioning time

– Site definitions for example translated during site creation process

Page 34: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Aspx & Master pagesAspx & Master pages• Translations are done in runtime based on

resource file and key• Files are from app_GlobalResources

Page 35: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

WebPart & WebControlsWebPart & WebControls• Resource files (RESX) have to be present in

the App_GlobalResources• Translations available from HttpContext

Page 36: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Portal structure Portal structure • Lists• Libraries• Variations

Page 37: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

How to deploy RESX files to How to deploy RESX files to App_globalResourcesApp_globalResources

• Deploy RESX files to 12 hive\resources• Create a custom job definitions, which copies the

files to app_GlobalResources folder

Page 38: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Useful toolsUseful tools

Page 39: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

FiddlerFiddler• Logs all HTTP traffic between your computer

and the Internet

Page 40: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

ReflectorReflector• View, navigate, search, decompile and

analyze .NET assemblies

Page 41: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Ajax & SilverlightAjax & Silverlight

Page 42: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

ASP.NET AJAXASP.NET AJAX• Create next-generation interfaces with reusable

AJAX components. • Enhance existing pages using powerful AJAX

controls with support for all modern browsers. • Access remote services and data from the

browser without tons of complicated script. • Take advantage of the improved efficiency and

ease of use in Visual Studio 2008, with its built-in support for ASP.NET AJAX, improved JavaScript support, and a new Web page designer interface.

Page 43: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Integrating ASP.NET AJAX Integrating ASP.NET AJAX with SharePointwith SharePoint• Extensions to JavaScript

– Robust JavaScript libraries and frameworks which are commonly needed by rich internet applications

• ASP.NET Control Extenders– Additional ASP.NET controls which can extend

the functionality of existing controls with additional Ajax capabilities

• UpdatePanels– No-postback updates of Ajax-based applications

Page 44: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Common scenariosCommon scenarios• Re-usable JavaScript libraries you can use in

your web controls and parts • Enabling your web services to render via

JSON, resulting in easier usage in JavaScript/Ajax Applications

• Building a web part that takes advantage of Extender technology to provide richer interaction styles, such as autocomplete on a textbox.

• Using an UpdatePanel in a web part or control for more fluid, no postback interaction.

Page 45: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Install and Configure Install and Configure AJAXAJAX• Get ASP.NET AJAX 1.0

– http://www.asp.net/ajax/

• Install on each WFE• Modify the web.config on each WFE

– Follow the steps at: “Using a Web Application Feature to Modify web.config(Ted Pattison BLOG entry)”

• .NET 3.5 – SharePoint SP1, .NET 2.0 SP1

Page 46: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Microsoft SilverlightMicrosoft Silverlight

Cross PlatformCross Platform

Cross BrowserCross Browser

Media ExperiencesMedia Experiences

.NET.NET

Plug-InPlug-In

RIARIA

Page 47: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

• Silverlight 1.0– 100% JavaScript-driven applications

• Silverlight 1.1 / 2– Managed applications -> DLLs– Small .NET Framework footprint– Applications are packaged -> XAP

Current State of SilverlightCurrent State of Silverlight

Page 48: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

• WSS 3.0 Service Pack 1 adds support• Prep work still needs to be done in config

• Why Silverlight and SharePoint?– WSS = Dev Platform for IW Solutions– IW experience can be enriched with Silverlight

• Dynamic interaction with data• Better visualization of complex data • Multi-media experience• More client-driven work with SharePoint• Look and feel of external SharePoint sites

Silverlight and SharePointSilverlight and SharePoint

Page 49: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

• Project started September 2007• Goals

– Jumpstart for SharePoint developers– Focus is on how to integrate both worlds– Showcase of different techniques– Show possible usage scenarios of Silverlight in

the world of SharePoint

• http://www.ssblueprints.net/sharepoint

Silverlight BluePrint for Silverlight BluePrint for SharePointSharePoint

Page 50: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)
Page 51: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

Use Silverlight In SharePointUse Silverlight In SharePoint

– Silverlight BluePrint for SharePoint – Following needs to be in place in order to get it

working:• Silverlight 2 plug-in

• service pack 1 installed for WSS 3.0 and service pack 1 for MOSS 2007

• System.Web.Extensions.dll (make it sure that it can be found from GAC)

• Microsoft Silverlight 2 SDK Beta 1

• .NET 3.5 (AJAX) + Silverlight configurations in the web.config

• MIME type (application/x-silverlight-2-b1)

Page 52: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)
Page 53: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)

More informationMore information• SharePoint community

– http://sharepoint.microsoft.com/sharepoint/

• SharePoint product team blog– http://blogs.msdn.com/sharepoint/

• Visual Studio structure used in demos and more guidelines (in future)– http://blogs.msdn.com/vesku

Page 54: MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)