Very cool title goes here and look you have plenty of room

Download Report

Transcript Very cool title goes here and look you have plenty of room

Consuming Blackboard
Content into Microsoft
SharePoint Portal Server
2003 Using WSRP
Nick Schiavi
Blackboard R&D
© Blackboard, Inc. All rights reserved.
Educate, Innovate, Everywhere™
Play
» With
» Blocks!
»
2
About Forward-Looking Statements
»
We may make statements regarding our product
development and service offering initiatives,
including the content of future product upgrades,
updates or functionality in development. While
such statements represent our current intentions,
they may be modified, delayed or abandoned
without prior notice and there is no assurance that
such offering, upgrades, updates or functionality
will become available unless and until they have
been made generally available to our customers.
3
Agenda
»
Intro and Background
»
Why is it so cool anyway?
How do we use it?
Examples
A Picture’s worth 1000 words…or at least 2500
lines of code
Q&A
»
»
»
»
4
WSRP in Brief
“Standardizing presentation-oriented Web services for use by
aggregating intermediaries, such as portals”
-Rich Thompson, OASIS WSRP Chair
»
»
»
»
Application Interoperability
Producer-Consumer Relationship
Services and Purpose
Standards
5
WSRP Data vs. Presentation
Data-Oriented
Data
Presentation-Oriented
Data
Presentation logic
Render
Presentation Logic
Render
Markup
SOAP
SOAP
XML
<portlet>
<data>…</data>
</portlet>
<html>
<presentation>
<data>…</data>
</presentation>
</html>
6
WSRP Producers and Consumers
Producers responsible for offering portlets and
services
» Consumers responsible for connecting to
producers, requesting portlets via services, and
displaying markup in a container
»
7
WSRP Services
»
Service Description (required)
»
»
Markup (required)
»
»
»
Request portlet markup from producer
Interact with markup
Registration (optional)
»
»
Connect to producer and request listing of available portlets
Bind to producer with specific registration context
Portlet Management (optional)
»
Request to clone and customize portlets
8
WSRP Service Flow: Bb Community Connector
User
Adds
Web part
WSRP Consumer
SharePoint Service
Web Part
View Web part
Description
WSRP Producer
Bb Community Connector
Blackboard
Building Block™
Cloned Portlet
Web Part
Markup
Blackboard
Building Block™
Portlet Markup
Click Link
Web Part
9
WSRP Standards
»
OASIS WSRP v1
»
»
»
»
Communication standard
Platform independent
Implemented by wsrp4j, SharePoint, many others
JSR-168
»
»
Portlet standard
Reference implementation by Pluto
10
Agenda
»
Intro and Background
»
Why is it so cool anyway?
How do we use it?
» Examples
» A Picture’s worth 1000 words…or at least 2500
lines of code
» Q&A
»
11
Why is This So Cool Anyway?
Portal-to-Portal Integration
2. Seamless SSO
3. LESS CODE TO WRITE!
1.
12
Portal-to-Portal…to-App-to-App-to-App
App x:
Roll Your Own
Consumer
Blackboard
Community
Connector
App x:
Roll Your Own
Consumer
App x:
App x:
Roll Your Own
Consumer
SharePoint
Roll Your Own
Consumer
13
Seamless Single Sign On
WSRP provides a natural segue to SSO
» Credentials can be sent at Registration time, as
part of the Markup context, or in WS-Security
headers
» Bb goes one step further to use the Blackboard
application to process credentials natively
»
14
Less Work for Everyone
WSRP does the work for you
» Adding portlets is a matter of configuration
» No excess deployment or service management
» No code to write to render portlets
»
15
Agenda
Intro and Background
» Why is it so cool anyway?
»
»
How do we use it?
Examples
» A Picture’s worth 1000 words…or at least 2500
lines of code
» Q&A
»
16
The Blackboard Community Connector for Microsoft
SharePoint Portal Server 2003™
»
Blackboard Building Block  Self-contained
WSRP4J
Acts as producer
» Four portlets each implement JSR-168
» WSRP4J provides communication brokerage
»
»
SharePoint  GotDotNet web part
»
»
Acts as consumer
One web part per portlet
17
Which Portlets Come With the Connector?
»
Portlets
MyCourses
» MyGrades
» MyPortfolios
» MyOrganizations
»
18
Anatomy of a Portlet
Portlet Container
org.apache.pluto
org.apache.pluto.om
org.apache.pluto.services
Portlets
Live in
Portlet
Portlet
Portlet
Portlet
org.apache.pluto.core.impl
Extend
Implements
Portlet API
javax.portlet
19
How is SSO Accomplished?
Leverage the Bb API to authenticate, just like any
other Blackboard Building Block™
» Security…how do we configure this SSO
»
Web server delegation
» Web server headers process the user name sent from
SharePoint
» Portlet authenticates and creates content
»
20
User logs into
SharePoint
Security Model
Credentials
SharePoint IIS
CredentialCache.DefaultCredentials
Kerberos
Store
Ticketing
Credential
Check
Blackboard IIS –
Active Directory
Mode
Authentication
via API
Portlet
21
Agenda
Intro and Background
» Why is it so cool anyway?
» How do we use it?
»
»
Examples
A Picture’s worth 1000 words…or at least 2500
lines of code
» Q&A
»
22
WSRP Web Parts
Defined in
WSRPProxy
Web part
rendering is the
same
23
All the changes necessary for a new consumer…
Portlet
Producer URL
24
The Portlet
Portlet class extends javax.portlet.GenericPortlet
Grabbing the username from the portlet request
Setting the content type to return the markup
25
Portlet Config
26
Agenda
»
»
»
»
»
»
Intro and Background
Why is it so cool anyway?
How do we use it?
Examples
A Picture’s worth 1000 words…or at least 2500
lines of code
Q&A
27
Blackboard Community Connector Operation
Blackboard 7.1
»
»
Producer: Blackboard Building
Portlet
Block
Blackboard
Building Block
Consumer: Web Parts
WSRP4J
SharePoint
Portal Server
Consumers
Portlet
Web
Part
Web
Part
Web
Part
Web
Part
Portlet
Portlet
Implement
JSR-168
Implement
WSRP
28
References
»
OASIS WSRP
»
»
JCP JSR-168
»
»
http://portals.apache.org/wsrp4j/gettingstarted/index.html
Pluto
»
»
http://jcp.org/en/jsr/detail?id=168
WSRP4J
»
»
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrp
http://portals.apache.org/pluto/
GotDotNet WSRP communities
»
http://www.gotdotnet.com/
29
Agenda
»
»
»
»
»
»
Intro and Background
Why is it so cool anyway?
How do we use it?
Examples
A Picture’s worth 1000 words…or at least 2500
lines of code
Q&A
30
Ask away…
»
Contact
»
[email protected]
31