windows sharepoint services v3 · windows sharepoint services v3.0 (wss) about this material •...
Post on 06-May-2020
11 Views
Preview:
TRANSCRIPT
Windows SharePoint Services v3
Key Integration Concepts
The Challenge
How to integrate existing
applications and services with Windows SharePoint Services v3.0 (WSS)
About this material
• Research:
– How does Project Server 2007
integrate and use Windows
SharePoint Services v3.0?
• Take away:
– What “best practices” can we derive from this integration effort?
Why Use WSS?
• SharePoint provides a user
friendly, consistent, customizable interface to your applications and services
• SharePoint provides rich workflow and task features
• SharePoint provides for user authentication
Areas of Focus
• Intro to Project Server 2007
• Shared Services
• Workflow integration
• Web Services API
• Content Linking and Embedding
• Administration
• Security
• Conclusions
Areas of Focus
• Intro to Project Server 2007
• Shared Services
• Workflow integration
• Web Services API
• Content Linking and Embedding
• Administration
• Security
• Conclusions
Intro to Project Server
• Project Application Service
• Project Sites
• Project Server Interface (PSI)
Areas of Focus
• Intro to Project Server 2007
• Shared Services
• Workflow integration
• Web Services API
• Content Linking and Embedding
• Administration
• Security
• Conclusions
Shared Services
• Some services should be shared
• Services require configuration
• Each web application may require
unique services configuration
• Examples:
– Business Data Catalog
– Project Application Services
SSP Association
SPFarm (SharePoint Farm)
WebApplication
AP.ThreeWill.Com
Shared Resource Provider
Shared Service Provider 2
BDC
Payroll
BDC
Benefits
WebApplication
HR.ThreeWill.Com
WebApplication
IT.ThreeWill.Com
WebApplication
Dev.ThreeWill.Com
Shared Resource Provider
Shared Service Provider 1
BDC
Defect Tracking
BDC
CRM
SPFarm (SharePoint Farm)
SPService
Project Application Service
SPService
Excel Calculation Services
SPServer
Farm Server 1
SPServer
Farm Server 2
SPServiceInstance
Project Application Service running on
Farm Server 2
WebApplication
SharePoint - 80
Shared Resource Provider
Shared Service Provider 1
Project Site
PWA1
Project Site
PWA2
SPSite
PWA1
Associated by ID
Shared Resource Provider
• Internal class name for the Shared
Service Provider
• Provides for services configuration
Shared Resource Provider configuration
• Shared Service Database
– BDC configuration
• Hashtable of properties
– My Site Web App
– My Site Relative Path
• Parent of SPPersistedObjects
– ProjectSites
Shared Resource Provider configuration
BDC example
• SQLSessionProvider provides
access to the correct SSP database
Project Server Example
• ProjectSite derived from
SPPersisted object
• Parent of ProjectSite set to SSP
• SPPersistedChildCollectionretrieves ProjectSites
Project Application “Shared” Service
• Windows Services wrapper
• Provisions the Queue Service and the Event Service
What to take away…
• Options for SSP Configuration:
– SPPersistedObject
– Properties Hashtable of the SRP
– SSP Database
• Consider creating your own shared services provider
Areas of Focus
• Intro to Project Server 2007
• Shared Services
• Workflow integration
• Web Services API
• Content Linking and Embedding
• Administration
• Security
• Conclusions
Workflow Integration Requirements
• Manage external entities using
SharePoint workflow features
• Display workflow status and
history of external entities
• Use external security groups or users in Workflow scenarios
SharePoint Workflow Basics
Based on Lists or Content Types
SharePoint Workflow
Workflow History
SharePoint Workflow
• Tasks List for user interaction
Proposal Approval Workflow
• Proposal stored in MS Project
database
• Proposal Reviewers group
defined in MS Project database
• Present Workflow History, Workflow Status, and User
Interaction in SharePoint
Define a proxy list
• Proposal Proxy List
• Hidden ProposalUid field points to the Proposal
• Use custom code to populate to create the list item
Define External User Groups
Start the workflow
Start the Workflow
Build list of approvers
Workflow Execution courtesy of SharePoint
• User interaction via the tasks list
• Workflow history via the workflow history list
Workflow Completion
External ApplicationSharePoint
External User Group
Approvers
External User
External User A
External User
External User B
External Entity
Proposal
Proxy List Item
Approval Workflow
Workflow Instance
SharePoint User
Domain\User A
SharePoint User
Domain\User A
What to take away…
• Create a “proxy” list• Proxy List items reference
external objects
• Start the workflow in custom code
• Use SharePoint features for user
interaction and workflow history
• Use List event handlers to update external entities
Break
Areas of Focus
• Intro to Project Server 2007
• Shared Services
• Workflow integration
• Web Services API
• Content Linking and Embedding
• Administration
• Security
• Conclusions
Web Services API
• Derived from SPService
• SPServiceInstance defines contributing servers
Project Server Interface (PSI)
• Exposed as set of Web Services
• Service endpoint provided by the ProjectApplicationService
• Services address is derived by round-robin algorithm across SPServiceInstances
Web Services Context
• PSIProxyBase is base for all PSI
web service proxies
• Context data is added to the
webRequest headers collection in the GetWebRequest override of PSIProxyBase
• SiteGuid, UserGuid, UserNameamong properties transmitted
What to take away…• Create an SPService
• Create one or more SPServiceInstances
• For Web Service calls use a round-robin algorithm to choose a service instance
• Call on the SPService to build the URI of the web service
• Use the headers collection of the
web request to transmit context
Areas of Focus
• Intro to Project Server 2007
• Shared Services
• Workflow integration
• Web Services API
• Content Linking and Embedding
• Administration
• Security
• Conclusions
Content Linking and Embedding
• Custom Web parts
• Application Pages
• Site Templates
Custom Web Parts
• Data access achieved via Web
Services API
• Web Services API provides for
scalable solution by selecting among one or more SPServiceInstances
• Binaries are GAC deployed
• .Webpart files deployed as part of PWA site template
Base Web Part class
• Base web part provides for web
services access
• Service end point:
– Based on the context (the site)
– Configured as a web part property
Application Pages
• Deployed to the PWA folder
beneath the Layouts folder
• References custom master page
also deployed to the PWA folder
• Includes web.config to add namespaces and controls.
• Master pages include core.css and override with custom css
PWA Site Template
• Includes .webparts
• Includes site pages
– Use default masterpage
– Include default web parts
– Customizable
What to take away…
• Create base web part class for
providing access to external data
• Use the SPServiceInstances for
the appropriate web service to allow for scalable web services
• Deploy web parts to the GAC
• Create your own master page and stylesheets for application pages where necessary
Areas of Focus
• Intro to Project Server 2007
• Shared Services
• Workflow integration
• Web Services API
• Content Linking and Embedding
• Administration
• Security
• Conclusions
Administration
What to take away…
• Liberal use of Application Pages
Areas of Focus
• Intro to Project Server 2007
• Shared Services
• Workflow integration
• Web Services API
• Content Linking and Embedding
• Administration
• Security
• Conclusions
Security
• Users in external applications
are correlated to SharePoint users
• Users are added to external groups
• User ID and User Name is
submitted in the Headers collection of web request calls
Correlating Users
Adding users to external groups
What to take away…
• Correlate SharePoint users with
external users when necessary
• Use external groups when
necessary
Areas of Focus
• Intro to Project Server 2007
• Shared Services
• Workflow integration
• Web Services API
• Content Linking and Embedding
• Administration
• Security
• Conclusions
Conclusions
• Consider a custom implementation of the Shared Service Provider
• Link SharePoint list items to external entities for Workflow integration
• Use the SPService to configure and manage web services
• Web parts, site pages, application pages provide a view of external data
More Conclusions…
• Use Application pages to provide
for administrative functions
• Correlate SharePoint users to
external users when necessary
• Add correlated users to external groups using SharePoint user
interface
What are you taking away
from today’s presentation?
Your Conclusions
Downloads/Resources
Project Server 2007 evaluation
- http://technet.microsoft.com/en-
us/evalcenter/bb738023.aspx
Lutz reflector
- http://www.aisto.com/roeder/dotnet
GACView
- http://www.nirsoft.net/dot_net_tool
s/gac_viewer.html
Other Next Steps
• Visit our homepage –www.threewill.com
• Visit the ThreeWill blog –www.worktogetherbetter.com
• Visit our technical blog –www.implementingsharepoint.com
• Upcoming Seminars –http://www.threewill.com/events/
• Subscribe to ThreeWill Newsletter –http://www.threewill.com/newsletter/
• Free video on Exploring SharePoint 2007 –http://www.threeill.com/video/
Other Next Steps
• Visit our SharePoint Resource
Guide –http://www.wssresourceguide.com
• Visit our SharePoint Showcase Site (featuring the SharePoint Application Templates)http://www.sharepointshowcase.com
Questions?
top related