SharePoint Portal Server

bubblesradiographerServers

Dec 4, 2013 (3 years and 9 months ago)

132 views

© Blackboard, Inc. All rights reserved.

Consuming Blackboard
Content into Microsoft
SharePoint Portal Server
2003 Using WSRP


Nick Schiavi

Blackboard R&D

2

Educate, Innovate, Everywhere™

»
Play

»
With

»
Blocks!

3

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.

4

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

5

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




6

WSRP Data vs. Presentation

<portlet>


<data>…</data>

</portlet>

XML

Data

Presentation Logic

SOAP

Data
-
Oriented

Render

Markup

Data

Presentation

logic

SOAP

Presentation
-
Oriented

<html>


<presentation>


<data>…</data>


</presentation>

</html>

Render

7

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

8

WSRP Services

»
Service Description (required)

»
Connect to producer and request listing of available portlets

»
Markup (required)

»
Request portlet markup from producer

»
Interact with markup

»
Registration (optional)

»
Bind to producer with specific registration context

»
Portlet Management (optional)

»
Request to clone and customize portlets

9

WSRP Service Flow: Bb Community Connector

Cloned Portlet

WSRP Consumer

SharePoint

WSRP Producer

Bb Community Connector

Adds

Web part

Click Link

Portlet Markup

View Web part

User

Service
Description

Markup

Web Part

Web Part

Web Part

Blackboard
Building Block™

Blackboard
Building Block™

10

WSRP Standards

»
OASIS WSRP v1

»
Communication standard

»
Platform independent

»
Implemented by wsrp4j, SharePoint, many others

»
JSR
-
168

»
Portlet standard

»
Reference implementation by Pluto

11

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

12

Why is This So Cool Anyway?

1.
Portal
-
to
-
Portal Integration

2.
Seamless SSO

3.
LESS CODE TO WRITE!

13

Portal
-
to
-
Portal…to
-
App
-
to
-
App
-
to
-
App

Blackboard

Community
Connector

SharePoint

App x:

Roll Your Own
Consumer

App x:

Roll Your Own
Consumer

App x:

Roll Your Own
Consumer

App x:

Roll Your Own
Consumer

14

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


15

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

16

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

17

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

18

Which Portlets Come With the Connector?

»
Portlets

»
MyCourses

»
MyGrades

»
MyPortfolios

»
MyOrganizations

19

Anatomy of a Portlet

Portlets


Portlet API


Portlet Container


javax.portlet

org.apache.pluto.core.impl

org.apache.pluto

org.apache.pluto.om

org.apache.pluto.services


Portlet

Portlet

Portlet

Portlet

Implements

Live in

Extend

20

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

21

Security Model

SharePoint IIS

CredentialCache.DefaultCredentials

User logs into
SharePoint

Blackboard IIS


Active Directory
Mode

Portlet

Credentials

Authentication
via API

Kerberos
Store

Ticketing

Credential
Check

22

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

23

WSRP Web Parts

Defined in
WSRPProxy

Web part
rendering is the
same

24

All the changes necessary for a new consumer…

Producer URL

Portlet

25

The Portlet

Setting the content type to return the markup

Grabbing the username from the portlet request

Portlet class extends javax.portlet.GenericPortlet

26

Portlet Config

27

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

28

Blackboard Community Connector Operation

»
Producer:
Blackboard Building
Block

»
Consumer: Web Parts

Web
Part

Web
Part

Web
Part

Web
Part

Consumers

Portlet

Portlet

Portlet

Portlet

WSRP4J

Blackboard
Building Block

SharePoint
Portal Server

Blackboard 7.1

Implement
JSR
-
168

Implement
WSRP

29

References

»
OASIS WSRP

»
http://www.oasis
-
open.org/committees/tc_home.php?wg_abbrev=wsrp

»
JCP JSR
-
168

»
http://jcp.org/en/jsr/detail?id=168

»
WSRP4J

»
http://portals.apache.org/wsrp4j/gettingstarted/index.html

»
Pluto

»
http://portals.apache.org/pluto/

»
GotDotNet WSRP communities

»
http://www.gotdotnet.com/

30

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

31

Ask away…

»
Contact

»
nschiavi@blackboard.com