windows sharepoint services v3 · windows sharepoint services v3.0 (wss) about this material •...

Post on 06-May-2020

11 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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