server development overview paul appleby & david gristwood application architects developer...

50
Server Development Server Development Overview Overview Paul Appleby & David Gristwood Application Architects Developer & Platform Group Microsoft Limited

Upload: warren-goodman

Post on 24-Dec-2015

227 views

Category:

Documents


3 download

TRANSCRIPT

Server Development Server Development OverviewOverview

Paul Appleby & David GristwoodApplication ArchitectsDeveloper & Platform GroupMicrosoft Limited

Session GoalsSession GoalsThis session is all about “what”, not “how”Cover the pieces of Windows SharePoint Services version 3 and Microsoft Office SharePoint Server 2007 fit togetherEnumerate the places within SharePoint Products and Technologies where you can add your own codeGuide you to the right sessions to cover the specific development projects you have in mindProvide a big picture – but a technical big picture

AgendaAgenda

SharePoint architectureDevelopment areas

Microsoft Office SharePoint Service

Shared services model

Session RoadmapSession Roadmap

SharePoint’s Dual NatureSharePoint’s Dual Nature

Two different but valid views of1. A storage application

Lists, Views, Libraries, Versioning, Security, etc

2. A Web application interfacePages, Web Parts, Security, etc

Fundamental Principle #1Fundamental Principle #1

Site definition basic unit of workDefines every single site

…are made up of featuresNew to version 3Are “capabilities” e.g. tracking, basic collaboration, etc

…which reference componentse.g. web parts, event handlers, etc

…that may talk to shared servicese.g. Search

Fundamental Principle #2Fundamental Principle #2

SharePoint sites:Consist of data

And only data, no “code behind”

Unlike ASPX programs in Visual Studio

Can reference code events, Web Parts, pages, workflow assemblies

SharePoint is a runtime engine that brings together all the elements on demand to create a page

Based on who you, what you asked for, etc

Fundamental Principle #3Fundamental Principle #3

Shared Services is the new model for manageable, enterprise scalable sites

Microsoft Office SharePoint Server provide and use theseWindows SharePoint Services doesn’t ship with any shared services OOB

Shared Services must:Expect to be used by multiple Web applications from multiple farms

Make themselves able to be surfaced in and managed via SharePoint Central Administration**

Allow themselves to be managed by delegated administrators

Operating System ServicesOperating System Services

DatabaseDatabase SearchSearch WorkflowWorkflow

ASP.NET (ASP.NET (Web Parts, Personalization, Master Pages, Provider Model for navigation, security, etc. ))

Core Workspace ServicesCore Workspace Services

StorageStorage

RepositoryRepositoryMetadataMetadataVersioningVersioningBackupBackup

SecuritySecurity

Rights/RolesRights/RolesPluggable AuthPluggable AuthPer ItemPer ItemRights TrimmingRights Trimming

ManagementManagement

Admin UXAdmin UXDelegationDelegationProvisioningProvisioningMonitoringMonitoring

TopologyTopology

Config. Mgmt.Config. Mgmt.Farm ServicesFarm ServicesFeature PolicyFeature PolicyExtranetExtranet

Site ModelSite Model

RenderingRenderingTemplatesTemplatesNavigationNavigationVisual BlueprintVisual Blueprint

APIsAPIs

Fields/Forms Fields/Forms OM and SOAPOM and SOAPEventsEventsDeploymentDeployment

CollaborationCollaboration

DiscussionsDiscussionsCalendarsCalendarsE-MailE-MailPresencePresenceProject Mgt.Project Mgt. “Lite” “Lite”OfflineOffline

Enterprise Enterprise Content Mgmt.Content Mgmt.

AuthoringAuthoringApprovalApprovalWeb PublishingWeb PublishingPolicy/AuditingPolicy/AuditingRights MgtRights MgtRetentionRetentionMulti-LingualMulti-LingualStagingStaging

PersonalizationPersonalization

My SitesMy SitesTargetingTargetingPeople People FindingFindingSocial Social NetworkingNetworkingPrivacyPrivacyProfilesProfiles

SearchSearch

IndexingIndexingRelevanceRelevanceMetadataMetadataAlertsAlertsCustomizableCustomizableUser Exper.User Exper.

Business Business Process Process IntegrationIntegration

Rich FormsRich FormsWeb FormsWeb FormsBiz Data Biz Data CatalogCatalogData in ListsData in ListsLOB ActionsLOB ActionsSingle Sign-OnSingle Sign-OnBizTalk Integr.BizTalk Integr.

Business Business IntelligenceIntelligence

Server Calc.Server Calc.Web Web RenderingRenderingKPIsKPIsDashboardsDashboardsReport Ctr.Report Ctr.SQL RS Int.SQL RS Int.SQL AS Int.SQL AS Int.

ProjectProject

TasksTasksSchedulesSchedulesResourcesResourcesBudgetsBudgetsDeliverablesDeliverablesReportsReports

Applications/PortalsApplications/Portals

SharePoint Technology SharePoint Technology StackStack

Development AreasDevelopment Areas

• Main areas you can hook in to:1. Data

2. Metadata

3. Behavior

4. ASP.NET extensions

5. Packaging

1 - Data1 - Data

SP has lots of dataDocumentsCalendars / Contacts / Announcements / Links / Surveys / Discussions …Lists, libraries, views

Programmatic access to data and documents

Update list, change statusAccess via SP object model

2 - Metadata2 - Metadata

Extensive usedField definitions, list definitions, site definitions

New focus on Content TypesReusable definition of a list schema

Specific fields

HierarchicalAssociate Behaviors

Events, Document Templates, Workflows

E.g. different types of business documents

Marketing, reports, expenses, change request

3 – Behavior (Events)3 – Behavior (Events)

Events allow developers to modify the way SharePoint behaves when working with data

call a web service, update a back end system, etc

Events supported on lists and librariesBefore and after events

Pre-synchronous with cancellation and filtering

Enforce business logic

Can register multiple event receiversAttach Events at Web or Item Level

Session RoadmapSession Roadmap

Behavior (Workflow)Behavior (Workflow)

SharePoint hosts Windows Workflow Foundation

Attach workflow to data in SP

Can start manually or automatically

Workflows OOB Workflow

Workflow related activities

Workflow user interactions

ToolsVisual Studio

SharePoint Designer

Session RoadmapSession Roadmap

4 - ASP.NET Extensions4 - ASP.NET Extensions

It’s no longer “should I use ASP.NET or SharePoint sites?”

It’s “should I use ASP.NET to write from scratch or to extend SharePoint sites?”

SharePoint has great strengths around provisioning and re-use

Web Parts

Custom controls

Custom pages

User/role providers

Session RoadmapSession Roadmap

5 - Packaging5 - Packaging

Developers supporting adminsEase deployment and roleout

FeaturesAddress storage and manipulation

Encompasses list / view/Web Part / Event Handler / workflow component / etc.

Part of a Site Definition

Sharable across site definitions

AgendaAgenda

SharePoint architectureDevelopment areas

Microsoft Office SharePoint Service

Shared services model

Microsoft Office SharePoint Server Microsoft Office SharePoint Server

Many major pieces of server functionality in Office 2007 involve adding a feature and a shared services to WSS

Microsoft Office SharePoint Server is the ultimate SharePoint development example

Most of Microsoft Office SharePoint Server 2007 consists of:

Features (with lots of components)

Site DefinitionsBlogs, wikis, meeting workspaces, document workspaces,

Shared Services

e.g., Indexing, Search, Excel, InfoPath Forms

Operating System ServicesOperating System Services

DatabaseDatabase SearchSearch WorkflowWorkflow

ASP.NET (ASP.NET (Web Parts, Personalization, Master Pages, Provider Model for navigation, security, etc. ))

Core Workspace ServicesCore Workspace Services

StorageStorage

RepositoryRepositoryMetadataMetadataVersioningVersioningBackupBackup

SecuritySecurity

Rights/RolesRights/RolesPluggable AuthPluggable AuthPer ItemPer ItemRights TrimmingRights Trimming

ManagementManagement

Admin UXAdmin UXDelegationDelegationProvisioningProvisioningMonitoringMonitoring

TopologyTopology

Config. Mgmt.Config. Mgmt.Farm ServicesFarm ServicesFeature PolicyFeature PolicyExtranetExtranet

Site ModelSite Model

RenderingRenderingTemplatesTemplatesNavigationNavigationVisual BlueprintVisual Blueprint

APIsAPIs

Fields/Forms Fields/Forms OM and SOAPOM and SOAPEventsEventsDeploymentDeployment

CollaborationCollaboration

DiscussionsDiscussionsCalendarsCalendarsE-MailE-MailPresencePresenceProject Mgt.Project Mgt. “Lite” “Lite”OfflineOffline

Enterprise Enterprise Content Mgmt.Content Mgmt.

AuthoringAuthoringApprovalApprovalWeb PublishingWeb PublishingPolicy/AuditingPolicy/AuditingRights MgtRights MgtRetentionRetentionMulti-LingualMulti-LingualStagingStaging

PersonalizationPersonalization

My SitesMy SitesTargetingTargetingPeople People FindingFindingSocial Social NetworkingNetworkingPrivacyPrivacyProfilesProfiles

SearchSearch

IndexingIndexingRelevanceRelevanceMetadataMetadataAlertsAlertsCustomizableCustomizableUser Exper.User Exper.

Business Business Process Process IntegrationIntegration

Rich FormsRich FormsWeb FormsWeb FormsBiz Data Biz Data CatalogCatalogData in ListsData in ListsLOB ActionsLOB ActionsSingle Sign-OnSingle Sign-OnBizTalk Integr.BizTalk Integr.

Business Business IntelligenceIntelligence

Server Calc.Server Calc.Web Web RenderingRenderingKPIsKPIsDashboardsDashboardsReport Ctr.Report Ctr.SQL RS Int.SQL RS Int.SQL AS Int.SQL AS Int.

ProjectProject

TasksTasksSchedulesSchedulesResourcesResourcesBudgetsBudgetsDeliverablesDeliverablesReportsReports

Applications/PortalsApplications/Portals

WSS vs. MOSS DevelopmentWSS vs. MOSS Development

More code-intensive developmentMore component, feature development

More declarative developmentMore solution development, integration workRoom to extend with components, client UI

Excel Services Excel Services ArchitectureArchitectureExcel engine

available on the server

Central storage - “one version of the truth”

Protect business logic

Web Part allows users to view / interact with live workbook using browser

Web Services allows programmatic access

Use as calculation engine

• No VBA or macros supported

Use User-Defined Functions (UDFs)

Session RoadmapSession Roadmap

InfoPath Form ServicesInfoPath Form ServicesWSS Provides back end processing for InfoPath“InfoPath for the web”

Server side generation / handling of formsUsers do not require InfoPath client

Forms developed with InfoPath editorTemplate parts (“formlets”)Visual Studio Tools for Applications (VSTA)

(VSTO is Office specific VSTA)

Forms become content type on publish

Content type is responsible for extra UIEnables re-use

Session RoadmapSession Roadmap

Business Data CatalogBusiness Data CatalogIntegration of back end system data into SharePoint

No custom code needed

Define metadata that describes business entities

Used for Display, indexing, etc

BDC aware Web PartsAdd columns to lists, etc

Custom actions Look up, write-back, etc

Metadata management tools

Business Data List Web Part

Business Data column in a list

Action inside a Business Data List Web Part

Session RoadmapSession Roadmap

SharePoint Collaboration SharePoint Collaboration TechnologyTechnology

Higher-value application level resources

Tracking items, project tasks, issue tracking

e.g. Issue tracking supports sending email when ownership assigned

Wiki, Blog, discussions, etc

Email integrationLists can now receive emailsCan write custom email handlers

Directory services integrationCreate/manage distribution lists

Session RoadmapSession Roadmap

Search ServicesSearch Services

Customize/extend Search CenterSet of Custom Search Web PartsAdd tabs with custom actionsModifying the Search Core Results Web Part XSLTCustomize alerts

Search engine exposed through API

Index custom dataProtocol handlers and IFiltersBusiness Data Catalog

Search ServicesSearch Services

SharePoint search limited to within current site collection

Office Search can search file shares, Exchange, external web sites, etc

Session RoadmapSession Roadmap

Fundamental PrinciplesFundamental Principles

SharePoint site definitions are made up of features which reference components that may talk to shared services

SharePoint sites consist of data described by definitions that can reference code and contain instancing information for components

Shared Services are high-value, resource-intensive processes that can be managed within SharePoint Central Administration by delegated administrators

© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.