Download presentation
Presentation is loading. Please wait.
Published byLenard Cain Modified over 9 years ago
1
MOSS Sovelluskehitysalustana - Miksi web-sovellukset kannattaa tehdä MOSS:n päälle Aku Heikkerö, Vesa Juvonen Microsoft Consulting Services (MCS)
2
Agenda 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
3
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: aku.heikkero@microsoft.com 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: vesa.juvonen@microsoft.com –Blog: http://blogs.msdn.com/vesku
4
MOSS as a Software Development Platform
5
Operating System Services ADO.NET / SQL Server IISIIS Windows Workflow Foundation ASP.NETASP.NET Windows SharePoint Service 3.0 Storage Security Management Topology Site Model APIs SharePoint Technology Stack Collaboration Collaboration Document and Records Management My Sites My Sites Search Search Business Application Integration Business Application Integration Business Intelligence Business Intelligence Microsoft Office SharePoint Server 2007 Web Content Management Web Content Management
6
Anatomy of a Page Request The typical ASP.NET way C:\inetpub\wwwroot\appname web.config default.aspx myapp.css mycontrol.dll myothercontrol.ascx... Browser: HTTP GET http://server/appname IIS Data base
7
schema.xml allitems.aspx Anatomy of a Page Request The Windows SharePoint Services way WSS Browser: HTTP GET http://server/appname IIS Data base Site Definition Default.aspx all work and no play makes Jack a dull boy Web Part Instances List data /bin or GAC WebPart1.dll WebPart2.dll Web Part Assemblies List view Page
8
Many Sites on a Single Farm The typical ASP.NET way Browser: HTTP GET http://server/appname IIS Default.aspx web.config otherpage.asp x mystyles.css Database Database Database Database Database Database Database Database Database Database Database Database Database Database Database Database Database Database Database Database
9
schema.xml allitems.aspx Many Sites on a Single Farm The Windows SharePoint Services way WSS Browser: HTTP GET http://server/appname IIS Data base Site Definition Default.aspx all work and no play makes Jack a dull boy Web Part Instances list data /bin or GAC WebPart1.dll WebPart2.dll Web Part Assemblies list view page
10
Development with SharePoint 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
11
List Definition schema.xml allitems.aspx What You Develop For SharePoint Technology Database Site Definition onet.xml Default.aspx all work and no play makes Jack a dull boy /bin or GAC WebPart1.dll WebPart2.dll WSS Browser: HTTP GET http://server/appname IIS / ASP.NET Assemblies: Web Parts Web Controls Event Receivers Policies Workflow Activities Workflow Assemblies Timer Jobs Schema: Site Definitions Feature Definitions List Definitions Content Types/Fields Document Templates ASP.NET resources: Site Pages Application Pages Images Style Sheets User Controls Master Pages Navigation Controls Data Manipulation: (via Object Model) Web Services (which call the Object Model) Remote Clients (which call the Web services) Services: Search, Profiling, Audiences Calculation, Rendering, Data Access, Migration, etc…
12
Tools For Any Skill Level
13
Development 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
14
Development Environment Tools –Visual Studio 2005 / Visual Studio 2008 –Microsoft Office SharePoint Designer 2007 Platform –Windows Server 2003 –Windows Server 2008 with SharePoint SP1
15
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
16
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
17
Windows 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
18
324 1 Development 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
19
Profile 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
20
Types of Solutions to Build 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!)
21
Deploying 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
22
The WSS System Directories Developers must learn WSS system directories »\12\TEMPLATE »\12\TEMPLATE\FEATURES \12\TEMPLATE\IMAGES »\12\TEMPLATE\LAYOUTS
23
IIS Web Sites WSS depends on IIS Web sites for… –HTTP listener mechanism –Process management through Application Pools –Security and user authentication
24
The 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
25
The WSS-extended web.config file WSS replaces HttpApplication object WSS configures pipeline with its own HttpHandler and HttpModule <add verb="GET,HEAD,POST" path="*" type="Microsoft.SharePoint.ApplicationRuntime.SPHttpHandler,..." /> <add name="SPRequest" type="Microsoft.SharePoint.ApplicationRuntime.SPRequestModule,..." />
26
WSS Extensions to the web.config file
27
Important Debugging Settings set to true set to Off
28
The 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)
29
Processing Pages within a Site 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
30
The _layouts Virtual Directory 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
31
Lokalisointi
32
Localization 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
33
XML Localization XML files are localized in provisioning time –Site definitions for example translated during site creation process
34
Aspx & Master pages Translations are done in runtime based on resource file and key Files are from app_GlobalResources
35
WebPart & WebControls Resource files (RESX) have to be present in the App_GlobalResources Translations available from HttpContext
36
Portal structure Lists Libraries Variations RootEN-UsFI-FiFR-CaEN-Ca
37
How to deploy RESX files to App_globalResources Deploy RESX files to 12 hive\resources Create a custom job definitions, which copies the files to app_GlobalResources folder
38
Useful tools
39
Fiddler Logs all HTTP traffic between your computer and the Internet
40
Reflector View, navigate, search, decompile and analyze.NET assemblies
41
Ajax & Silverlight
42
ASP.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.
43
Integrating ASP.NET AJAX with 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
44
Common 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.
45
Install and Configure AJAX Get ASP.NET AJAX 1.0 –http://www.asp.net/ajax/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
46
Microsoft Silverlight Cross Platform Cross Browser Media Experiences.NET.NET Plug-InPlug-In RIARIA
47
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 Silverlight
48
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 SharePoint
49
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 SharePoint
51
Use 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)
53
More 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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.