More Related Content
Similar to Bestpractices Portal Projects (20)
Bestpractices Portal Projects
- 1. Portal Proof Of Concept
Lars-Olof Allerhed
lollo@se.ibm.com
© 2005 IBM Corporation
Innovation that Matters
- 2. May 25
Portals can look like any web site…
Slide 2 of 42 Innovation that matters © 2005 IBM Corporation
- 3. May 25
Portal Principle
Combines application user
interfaces together into one unified
presentation
Delivers a highly personalized
experience, considering
– User’s job role
– Security settings
Slide 3 of 42 Innovation that matters © 2005 IBM Corporation
- 4. May 25
Portlet Principle
Each portlet represents a separate
application
Developed independently; can be
placed anywhere on the page
A single portlet can support
multiple devices
– unique views for each device
– portlet’s business logic can be shared
Slide 4 of 42 Innovation that matters © 2005 IBM Corporation
- 5. May 25
Delivery of web-based services based on role,
process, context and personalization prevents
Information Overflow.
Consequences for structure
Sender
Centric User
Centric
Slide 5 of 42 Innovation that matters © 2005 IBM Corporation
- 6. May 25
Enabling portlet interaction require developers to
think in new waysUser Driven Process Integration
about how to design and build
applications Information and application conforms to the users role and
access, allowing related information to be presented from
various sources in the users context. The portal increase
the usability by levering messaging at the screen level to
fetch relevant content from all involved systems
Today Redefining the Application Concept
Application built up from data Functions assembles
to presentation in single to applications at the
instance, no distinct interfaces screen level, based on
defined between presentation, the users role and the
business logic and data model. context they are
presented in.
Componentization
Virtualization of applications into
functional components that can be
reused with or without GUI.
Slide 6 of 42 Innovation that matters © 2005 IBM Corporation
- 7. May 25
Stages of Portal Development
Very little functionality Migrate legacy applications
built in portal. Most or build new code
work is in connecting with the more
to old systems. The Sweet Spot flexible portal framework.
Just Connect to 80/20 Build or Migrate Portlet
Legacy Applications Rule Applications
Rebuild the most useful
20% of application
Functionality in portal.
Link to the rest.
Slide 7 of 42 Innovation that matters © 2005 IBM Corporation
- 8. May 25
Basic Best Practices
WP is not a simple plug and play application. It is a horizontal portal
framework. Treat it like a complex infrastructure project.
Start small. Build from the base components first. Install added
functionality later. (Plan 4 months minimum for first pilot release)
Traditional requirements processes break down with portal. UML and
large requirements documents are bad in the beginning. Consider using a
visual methodology including screenshots, wireframes, prototypeing etc.
to jumpstart the process.
You will have to do load testing. This is not a negotiable item. Your portal
WILL fail in production if you do not do adequate stress testing before
release. Test to failure. Fix problems. Repeat and Rinse.
You will need WebSphere/J2EE skills. Training on portal is not enough.
Development is easy in portal. Integration and configuration are hard.
Plan your project accordingly.
Plan an Architectural Workshop. This will save you. Make sure all
stakeholders attend portions.
Slide 8 of 42 Innovation that matters © 2005 IBM Corporation
- 9. May 25
Basic Best Practices
Everything is now your fault! Sorry. Portal if done properly will
eventually front end everything in the enterprise. This means you will be
blamed for all IT issues.
LDAP is the most critical component in your organization. Spend a painful
amount of time working with your LDAP folks.
If you are an Oracle shop, 90% of install failures in WPS 5.0 are due to
Oracle DBA’s. They typically set permissions on the portal id too low to
perform install tasks. Pull your DBA aside and tell them to give the portal
id ALL permissions during install. They can and should lower these
permissions after install. After talking to your DBA, talk to your DBA
again. Finally, talk to them a third time.
Plan time to do caching. This will take about a month of time. Use normal
portlet caching, learn dynacache and do advanced caching too for some
portlets, finally learn the Command Cache and use it to store data for
multiple portlets (use this instead of HTTPSession)
Slide 9 of 42 Innovation that matters © 2005 IBM Corporation
- 10. May 25
Best Practices
Good news: Most of the Java, J2EE and WebSphere Best Practices you
know can be applied to Portlet development
Bad news: There are more best practices you will have to learn
Portlet Development Best Practices can be categorized based on layers of
an application:
Use J2EE Best Practices &
Client Presentation Layer more
Server Presentation Layer
Business Object Layer
Use J2EE Best Practices
Data Access Layer
Enterprise Data Source Layer
Slide 10 of 42 Innovation that matters © 2005 IBM Corporation
- 11. May 25
Portal Best Practices – View
JSPs should generate well-formed HTML fragments only
– Should not contain tags such as <HTML>, <HEAD> and <BODY>
Don’t be a page hog, share it with other portlets
– Portlet views should be designed to take advantage of different possibilities in
screen resolutions and portal layout configurations.
Slide 11 of 42 Innovation that matters © 2005 IBM Corporation
- 12. May 25
Starting your Project – First Release
A process that works…
– Have an Architecture and Design Session
– Describe your portal
Slide 12 of 42 Innovation that matters © 2005 IBM Corporation
- 13. May 25
White Boarding Session
Sametime
CEO’s Message Quicklinks
buddies
Page One
Newsflash Alerts Stock Ticker
Slide 13 of 42 Innovation that matters © 2005 IBM Corporation
- 14. May 25
Source the portlets
Newsflash
•Is this a custom portlet?
•Is this a web interaction portlet?
•Model One vs. Model Two?
•Is this a candidate for WPAI?
•Where am I getting my data from?
•Do I have an agreement with the backend provider?
•Does this portlet have a reliance on specific portlet subsystems?
(PZN, WPCP, Collaboration, etc.)
Slide 14 of 42 Innovation that matters © 2005 IBM Corporation
- 15. May 25
Page Home Page
Custom? Yes
Catalog Item N/A
Web? No
Model 1? N/A
Newsflash PAI? No
User Roles who see? Hidden to guests. All others see.
Backend Provider? Content Services Organization
Provider Agreement? Not Yet…Sally said it would be done February 28th.
Portal Subsystems? PZN
Interface Model Wizard
Marked Elements? C2A – NO ; People Awareness - Author
NOTES This portlet should show targeted content. Managers
see Mgr. News. Show 5 items and a more link.
Slide 15 of 42 Innovation that matters © 2005 IBM Corporation
- 16. May 25
How do you connect to your data?
Existing Web Interface
API
Your Applications
Java & Web Services
Portlet
Trans –
Connector + BAPI Levels
code
Existing Web Interface or Web Clipping
Content
XML & XSL Interfaces Your Content
•Sametime Awareness
•Menu Services Web Services
•Document Actions
•Integration with other Apps
Content Mgmt APIs
Slide 16 of 42 Innovation that matters © 2005 IBM Corporation
- 17. May 25
Application Integration Alternatives
Hyperlink
– Create a link from portal to web application
Screen Scraping
Web Page Portlet (iFrame)
Slide 17 of 42 Innovation that matters © 2005 IBM Corporation
- 18. May 25
Where Do Portlets Come From?
There are many portlets provided ‘in the box’ with WebSphere Portal
– Email, Calendaring, Doc viewers, Application Builders, etc.
– … and you can configure them to suit your needs
You can download others from the WebSphere Portlet Catalog
Slide 18 of 42 Innovation that matters © 2005 IBM Corporation
- 19. May 25
Hyperlinks
Collects access to all information in a
single bookmark portlet
Bookmark portlet can be extended by
adding authentication functionality
Construct URL with the needed parameters
using the Credential Vault or JAAS
Slide 19 of 42 Innovation that matters © 2005 IBM Corporation
- 20. May 25
Screen Scraping
WebSphere Host Access Transformation
Server
Web to Host HTML emulator
Rules transformation engine
Converts green screens to GUIs in real
time
Slide 20 of 42 Innovation that matters © 2005 IBM Corporation
- 21. May 25
Web Page Portlet (iFrame)
Controller
Presentation Layer
Business Layer
Data Layer
Client Portal Server Back-end
Slide 21 of 42 Innovation that matters © 2005 IBM Corporation
- 22. May 25
Web Page Portlet Scorecard
Key points
– Extremely easy
– No limitations on the content (javascript,…)
Slide 22 of 42 Innovation that matters © 2005 IBM Corporation
- 23. May 25
How to address SSO using the iFrame option
Web Page portlet can be extended by adding authentication
functionality
Construct URL with the needed parameters using the Credential
Vault or JAAS
<iframe src="<%=iFrameEditBean.getSrcURL()%>“
name=“<%=iFrameEditBean.getName()%>”
height=<%=iFrameEditBean.getHeight()%>
width=<%=iFrameEditBean.getWidth()%>
</iframe>
Slide 23 of 42 Innovation that matters © 2005 IBM Corporation
- 24. May 25
Web Clipping Portlet
Clipping Editor Portlet
– Identifies and extracts specific portions of a URL
– Specifies the authentication settings, URL rewriting rules, firewall parameters
Slide 24 of 42 Innovation that matters © 2005 IBM Corporation
– Provides a graphic step-based approach
- 25. May 25
Web Clipping : Authentication
HTTP Based : the realm identifies
a protected space on the target
server that the user wants to
access
Form Based : a URL request is
redirected to a login page that
contains an HTML form where the
user must enter userid and
password
Slide 25 of 42 Innovation that matters © 2005 IBM Corporation
- 26. May 25
Web Clipping Portlet
Presentation Layer
Controller
Business Layer
Data Layer
Client Portal Server Back-end
Slide 26 of 42 Innovation that matters © 2005 IBM Corporation
- 27. May 25
Web Clipping Portlet Scorecard
Key points
– Easy to implement
– Selection of the content
Slide 27 of 42 Innovation that matters © 2005 IBM Corporation
- 28. May 25
WPAI Design Goals
A set of customizable portlets implementing common patterns of
user interactions
Portal-based tools for rapidly and easily creating new portlets
WebSphere Studio based tools for generating and customizing new
portlets
WebSphere Studio based tools that can be used to extend and
customize the Portal-based tools
Slide 28 of 42 Innovation that matters © 2005 IBM Corporation
- 29. May 25
WPAI Task Patterns
A task pattern is a sequence of steps a user takes to perform a well
defined task when working with structured data
“Search-and-browse” task pattern
– Search/browse instances of a particular type
– Example: searching and browsing items from a sales catalog or contacts list
Slide 29 of 42 Innovation that matters © 2005 IBM Corporation
- 30. May 25
WPAI Portlets
Search and Browse BO Adapter
Siebel
config
UI Template
BO Adapter
PeopleSoft
Requestor
UI Template BO Adapter
config SAP
BO Adapter
Accumulator
JDBC
UI Template
config
BO Adapter
MyApplication
MyApplication
Slide 30 of 42 Innovation that matters © 2005 IBM Corporation
- 31. May 25
WPAI Portlets
Controller C Presentation Layer
A o
d n
View a n Business Layer
pt e
e c
rs to
rs Data Layer
Client Portal Server Back-end
Slide 31 of 42 Innovation that matters © 2005 IBM Corporation
- 32. May 25
WPAI Portlet Scorecard
Key points
– Rapid and easy to develop without Java skills
– User Interface flexibility
Slide 32 of 42 Innovation that matters © 2005 IBM Corporation
- 33. May 25
API Based Portlet
Portlet written to native APIs provided by back-ends
– Developed with portlets wizards in WebSphere Studio
– Each portlet application contains a specific controller (portlet class) and a
specific view (jsp)
Slide 33 of 42 Innovation that matters © 2005 IBM Corporation
- 34. May 25
API Based Portlets
Controller C Presentation Layer
o
n
View n Business Layer
e
c
to
rs Data Layer
Client Portal Server Back-end
Slide 34 of 42 Innovation that matters © 2005 IBM Corporation
- 35. May 25
WebServices Portlets
Presentation Layer
Controller
P
r
View o Business Layer
x
y
Data Layer
Client Portal Server Back-end
Slide 35 of 42 Innovation that matters © 2005 IBM Corporation
- 36. May 25
API Based Portlets Scorecard
Key points
– Full flexibility and integration of user interface
– Requires Java skills for development
Slide 36 of 42 Innovation that matters © 2005 IBM Corporation
- 37. May 25
Summary
SSO UI Cooperation Build effort
Web Page -
Web Page
‘Extended’ ++
Web Clipping -
WPAI ++
API Based
Portlets ++++
Slide 37 of 42 Innovation that matters © 2005 IBM Corporation
- 38. May 25
Portlet Development - Best Practices
USE WSAD!, Portlets should be simple! Do not try to create an UBER-
portlet. Use inheritance to reduce cut and paste. But don’t mix control
flows. This is what Struts is for. Remember XP philosophy
Be prepared for JSF. JSF will radically alter portal development. Think
about your renderkit.
Do not rely on JSP portlets for everything. These should have little or
NO control logic. (scriptlets) Code in JSP’s is hard to maintain, more
difficult to test, and makes it difficult for UI Developers to do their job.
Read the infocenter, WSDD, DeveloperWorks thoroughly. It has very
good information.
Caching should be considered early. Portals are very dynamic beasts.
You will have poor performance if you don’t cache properly. We have a
number of API’s and frameworks to enable different kinds of cacheing.
That doesn’t mean implement cacheing early. Remember optimize later!
Slide 38 of 42 Innovation that matters © 2005 IBM Corporation
- 39. May 25
communicates with
Portal Artifact Development Roles
produces
Business
Analyst
Solution User Experience
Architect Designer
Site Topology
Portal Application Portal Site
Technical Design Portal Site Mockup
Architecture
Portal Application Portal UI
Developer Developer
Portal Application
Services, Transformations, etc. Themes, Skins, etc.
Portlet Application
Portlet UI
Developer
Developer
Portlets JSPs Portlet Application
Slide 39 of 42 Innovation that matters © 2005 IBM Corporation
- 40. May 25
Portlet Development
• Create Input or Output field
• Create page data on Faces page
• Drop data onto Faces page • Create Data Object
• Specify appropriate Input/Output Component • Bind field to object
• Components bind directly to Data
Slide 40 of 42 Innovation that matters © 2005 IBM Corporation
- 41. May 25
SAS Portal RFP
There is a number of dependencies both between the portal sub-
projects and to other projects
Portal Subprojects
Operation &
Migration
Maintenance
Technical Standard & New
Infrastructure Guidelines Application
Server HW
Security Directory Infrastructure
Setup
Slide 41 of 42 Innovation that matters © 2005 IBM Corporation
- 42. May 25
You can please some of the
people some of the time…
But you can’t please all of the
people all of the time.
Slide 42 of 42 Innovation that matters © 2005 IBM Corporation