© 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard...
-
Upload
marvin-kennedy -
Category
Documents
-
view
214 -
download
0
Transcript of © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard...
© 2008 IBM
Session ID:D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements
Speakers: Usman Memon & Abhishek Singh
WebSphere Portal Technical Conference U.S. 2008
STORY TITLE
2WebSphere Portal Technical Conference U.S. 200822
WebSphere Portlet Factory & Dashboard Framework
WebSphere Portlet Factory is a system for software automation
Development Regeneration Solution
Model 1
P1
P1
App 1
App 2
Model 1
App 3
P2 P3
P5
Builders Model Profiles Applications Users
Rapid development of web and portal applications & dashboards
STORY TITLE
3WebSphere Portal Technical Conference U.S. 200833
Traditional Project Lifecycle
Requirements Gathering
Design
Development
Testing
Deployment
STORY TITLE
4WebSphere Portal Technical Conference U.S. 200844
Project Phases
1 Requirements Gathering
Design2
Development3
Testing4
5 Deployment
STORY TITLE
5WebSphere Portal Technical Conference U.S. 200855
Requirements Gathering
User-Centric Approach
User Roles to Portlet Mapping
Creative and Integration Team
Describe Portal(the content and participants)
Node HierarchyFinalize Portal UI Model
Screen MockupsSource the Portlets
Security Mapping
End-User Participation
Conduct Requirements Gathering Sessions with End-User
WireFramesMockup the Portlet UI
Define Data Sources
STORY TITLE
6WebSphere Portal Technical Conference U.S. 200866
AlertsEarnings KPI
Sales ActivityTop Opportunities
Theme and Navigation
Wireframes
STORY TITLE
7WebSphere Portal Technical Conference U.S. 200877
Screen-Mockups
STORY TITLE
8WebSphere Portal Technical Conference U.S. 200888
Project Phases
1 Requirements Gathering
Design2
Development3
Testing4
5 Deployment
STORY TITLE
9WebSphere Portal Technical Conference U.S. 200899
UI Interaction Design Approach
Determine Models/Portlet Interaction Pattern
Does Application work in a single Page Context
Wireframes & Mockups
Yes
No
Model Container Design Pattern
•Solutions•Wizards•Contextual Applications
Model-To-Portlet Design Pattern
• Independent Portlets•Portal Only Apps
STORY TITLE
10WebSphere Portal Technical Conference U.S. 20081010
Model-To-Portlet Design
Siebel
SAP
SAP, Siebel
Domino
Web Service
STORY TITLE
11WebSphere Portal Technical Conference U.S. 20081111
Models in container get swapped
ModelContainer
ModelContainer
Model Container Design
STORY TITLE
12WebSphere Portal Technical Conference U.S. 20081212
Portlet Design Approach
Define Application Architecture Definition of application layers Isolation of application layers Identify and categorize back-end systems
Define Portlet Design Determine UI needs based on wireframes Map the wireframe data elements to your back-end systems Determine whether builders exist for the back-end systems Determine the need to develop custom builders Define customization and profiling needs Determine inter-portlet communication needs & implementation strategies Define User Interface Design Approach
STORY TITLE
13WebSphere Portal Technical Conference U.S. 20081313
Monolithic Model Design Approach
Data Source*
UI
Bui
lder
s
Link
ed J
ava
Obj
ect
Dat
a I
nteg
ratio
n B
uild
er
Monolithic Model
Pros Cons
Easier, simpler & faster to build Tightly coupled applications layersNot extensible
* RDBMS, Web-Service, Cognos, SAP, Seibel etc.
STORY TITLE
14WebSphere Portal Technical Conference U.S. 20081414
Consumer – Provider Design Approach
Portlet (Consumer) Model
Ser
vice
Con
sum
er
Ser
vice
Def
initi
on
Ser
vice
Ope
ratio
n
Ser
vice
Ope
ratio
n
Provider Model
Data Source
Dat
a I
nteg
ratio
n B
uild
er
Dat
a I
nteg
ratio
n B
uild
er
Pros Cons
Abstracts the data layer from the user interfaceAllows reuse of services in multiple user interface models
Business logic (if any) gets built in the Provider or Consumer layer
STORY TITLE
15WebSphere Portal Technical Conference U.S. 20081515
N-Tier Design Approach
Presentation
Ser
vice
Con
sum
er
Ser
vice
Def
initi
on
Ser
vice
Ope
ratio
n
SQ
L C
all
Data Access
Ser
vice
Def
initi
on
Ser
vice
Ope
ratio
n
LJO
/ E
JB C
all /
W
ebS
ervi
ce
Data Access Object
Data Access Object
Data Access Object
Data Access Object
Business Logic
Data Source
STORY TITLE
16WebSphere Portal Technical Conference U.S. 20081616
Configfiles
Profiling
Profiling
RAD does not mean Random Application Development
WPF Project
Model
Configfiles
ModelDatabase
Database
SAP
LDAP
Portal
Portlet
Portlet
Portlet
Business LogicJava classes
Portlet
Model
Model
Model
SQL builders
LJO builders
LJO builders
UI builders
SQL builders
SAP builders
UI builders
STORY TITLE
17WebSphere Portal Technical Conference U.S. 20081717
Portal
Portlet
Portlet
Portlet
WPF Project
Architectural Thinking
UI Model DB Service ModelBusiness Model
LDAP Service Model
LJO buildersUI builders
SAP Service Model
LDAP Accessclasses
UI Model
UI builders
Business LogicJava classes
Configfiles
UI Model
UI builders
Base Models: common definitions, logging, error handling
Profiling / Custom Builders
Business Model
Method builders
Presentation Layer Business Logic Layer Data Access Layer
SQL builders
SAP builders
LJO builders
Database
Database
SAP
LDAP
STORY TITLE
18WebSphere Portal Technical Conference U.S. 20081818
Project Phases
1 Requirements Gathering
Design2
Development3
Testing4
5 Deployment
STORY TITLE
19WebSphere Portal Technical Conference U.S. 20081919
Setting up Development Environment
Local Portal Embedded Portal
Remote Portal Application Server (Tomcat, WASCE etc.)
Local Portal
Embedded Portal
Remote Portal
Application server (local)
STORY TITLE
20WebSphere Portal Technical Conference U.S. 20082020
Development Setup Scenarios Development Server
Pros Con
Local WebSphere Portal
•Preferred Development setup choice•Allows for auto deployment
•Developer machines should have a higher configuration to support Portal Server•Development licenses may be an issue
Remote WebSphere Portal
•Allows development on Portal Server that will most closely resemble the production server
•Deployment to remote server may be time consuming•Multiple developers share the same portal instance
Tomcat •Lightweight Server
•Open Source, no license required
•Integrates with RAD & Eclipse
•Does not have a Portal container and hence cannot be used to test portlets
WAS CE(Ships with Portlet Factory 6.0.2 and higher)
•No additional licensing required
•Integrates with RAD & Eclipse
•No support for portlet configuration
WAS •Preferred setup for development of standalone web application
•No support for portlet configuration
STORY TITLE
21WebSphere Portal Technical Conference U.S. 20082121
Naming Standards
Define a Naming Standard & Guideline for your projects
STORY TITLE
22WebSphere Portal Technical Conference U.S. 20082222
Project Structure
Sample Project Structure
Java Classes
Models
Servable Content
Profilesets
STORY TITLE
23WebSphere Portal Technical Conference U.S. 20082323
Development Phase
Exception Handling Every method needs to handle its own exception Model should contain a global error handler Often Controller object handles all exceptions – catch and throw (used in model containers) Error Code set-up
Logging Log4J – config.properties Use Log4J set-up in LJOs and methods
Debugging New debugging support in 6.1 – allows you to leverage the existing Eclipse IDE debugger Enables setting breakpoints in generated code. Easier inspection of WebApp runtime objects (e.g. Variables). Use Debug Tracing builder
Follow Development & Performance Best Practices http://www-10.lotus.com/ldd/pfwiki.nsf
STORY TITLE
24WebSphere Portal Technical Conference U.S. 20082424
Profiles & Profiling Profiles are sets of name/value pairs that are used to
dynamically generate applications
Profiles can be used to generate
multiple applications from a
single source code
Profiling eliminates hand coding of
variations of same application
STORY TITLE
25WebSphere Portal Technical Conference U.S. 20082525
Profiling Usage # 1 – Build Customizers Profiling can be used to develop highly customizable applications and extend
the configuration of portlets to business users including portlet look and feel, data thresholds, process flow etc.
Build Customizers using the Portlet Customizer builder
STORY TITLE
26WebSphere Portal Technical Conference U.S. 20082626
Profiling Usage # 2 – Role Based Access Profiles can be selected at execution time based on business logic
Profile Selection enables developers to vary the behavior of the application based on a custom criteria like:
Group membership (Portal or LDAP) User Attributes Locale J2EE Role Any custom criteria
STORY TITLE
27WebSphere Portal Technical Conference U.S. 20082727
Profiling Usage # 3 – Application Configuration File Any traditional J2EE application uses text/xml properties file
for application configurable properties
Use profiling as a substitute to properties file
Profile application properties like: JNDI Datasource Name Any back-end configuration file Stylesheets HTML templates
Extend application configuration to develop an Administrative Console
STORY TITLE
28WebSphere Portal Technical Conference U.S. 20082828
Source Control Usage
Choose a Source Control software of your choice.
Do not check-in your entire project in source control.
Only check-in files that you have created in your project.
STORY TITLE
29WebSphere Portal Technical Conference U.S. 20082929
Project Phases
1 Requirements Gathering
Design2
Development3
Testing4
5 Deployment
STORY TITLE
30WebSphere Portal Technical Conference U.S. 20083030
Testing
Unit Testing Use the built in support in Service builders to test the services layer Test the UI Layer using the generated Service stub model Test for various profiles
Functional Testing Follow standard testing methodology Create standard business test cases
Load Testing Standard Performance Tuning Techniques Monitor model statistics Dynamic web application often make it challenging for “screen recording” based
script generation as profiled applications have dynamic URL(s)
STORY TITLE
31WebSphere Portal Technical Conference U.S. 20083131
Project Phases
1 Requirements Gathering
Design2
Development3
Testing4
5 Deployment
STORY TITLE
32WebSphere Portal Technical Conference U.S. 20083232
Deployment
Use an automated build process to build and deploy Portlet Factory WAR files Ant files ships out of the box Use WEB-INF/projectDeploy.xml for WPF ver. 6.1 & higher to build your WAR file Use WEB-INF/bin/deployment/build_deployment.xml for WPF ver. 6.0.X
Reduce the size of your WAR file by removing unnecessary files **/nodeploy/** usage multiple /nodeploy/ directories allowed Using .excludeFromServer file Add only the Featuresets that you require to your project
Warming up your application Pre-generate & Pre-compile JSP’s prior to deployment for improved initial user
response time
STORY TITLE
33WebSphere Portal Technical Conference U.S. 20083333
References
Use WebSphere Portlet Factory forums http://www.ibm.com/developerworks/forums/wsdd_forums.jspa
Refer to code samples on Portlet Factory wiki http://www-10.lotus.com/ldd/pfwiki.nsf/dx/samples-and-techniques
Refer to Portlet Factory Best Practices http://www-10.lotus.com/ldd/pfwiki.nsf/dx/
Best+Practices+for+Creating+Portlets+with+WebSphere+Portlet+Factory.ppt/$file/Best+Practices+for+Creating+Portlets+with+WebSphere+Portlet+Factory.ppt
Refer to Performance Best Practices http://www-10.lotus.com/ldd/pfwiki.nsf/dx/performance-best-practices
STORY TITLE
34WebSphere Portal Technical Conference U.S. 20083434
Thank you
Jonathan Booth
Sr. Architect,
WebSphere Portlet Factory
Louise T. Simonds
Sr. Engineering Manager,
WebSphere Portlet Factory
Alfredo Navarro
IT Consultant,
ISSL, Ireland
Michael Burati
Sr. Software Engineer,
WebSphere Portlet Factory
Martin Romano
Software Engineer,
WebSphere Portlet Factory
STORY TITLE
35WebSphere Portal Technical Conference U.S. 20083535
Session ID: D08
Session: Streamlining WebSphere Portlet Factory & Dashboard Engagements
Presenters: Usman Memon & Abhishek Singh
Please take a few minutes to fill out the session survey. Thank you
Mark your calendars!Mark your calendars!
2009 U.S. WebSphere Portal Technical Conference2009 U.S. WebSphere Portal Technical ConferenceOctober 12-15, 2009, Sheraton San Diego Hotel and MarinaOctober 12-15, 2009, Sheraton San Diego Hotel and Marina
WebSphere Portal Technical Conference U.S. 2008
STORY TITLE
36WebSphere Portal Technical Conference U.S. 20083636
© IBM Corporation 2008 All Rights Reserved.
The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.
References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.
All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer.
IBM, the IBM logo, WebSphere, Lotus, Lotus Notes, Domino, Quickplace, Sametime, Workplace and Quickr are trademarks of International Business Machines Corporation in the United States, other countries, or both.
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.
Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.
Other company, product, or service names may be trademarks or service marks of others.
All references to Renovations Inc. refer to a fictitious company and are used for illustration purposes only.