© 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard...

36
© 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

Transcript of © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard...

Page 1: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

© 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

Page 2: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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

Page 3: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

STORY TITLE

3WebSphere Portal Technical Conference U.S. 200833

Traditional Project Lifecycle

Requirements Gathering

Design

Development

Testing

Deployment

Page 4: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

STORY TITLE

4WebSphere Portal Technical Conference U.S. 200844

Project Phases

1 Requirements Gathering

Design2

Development3

Testing4

5 Deployment

Page 5: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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

Page 6: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

STORY TITLE

6WebSphere Portal Technical Conference U.S. 200866

AlertsEarnings KPI

Sales ActivityTop Opportunities

Theme and Navigation

Wireframes

Page 7: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

STORY TITLE

7WebSphere Portal Technical Conference U.S. 200877

Screen-Mockups

Page 8: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

STORY TITLE

8WebSphere Portal Technical Conference U.S. 200888

Project Phases

1 Requirements Gathering

Design2

Development3

Testing4

5 Deployment

Page 9: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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

Page 10: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

STORY TITLE

10WebSphere Portal Technical Conference U.S. 20081010

Model-To-Portlet Design

Siebel

SAP

SAP, Siebel

Domino

Web Service

Page 11: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

STORY TITLE

11WebSphere Portal Technical Conference U.S. 20081111

Models in container get swapped

ModelContainer

ModelContainer

Model Container Design

Page 12: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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

Page 13: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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.

Page 14: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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

Page 15: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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

Page 16: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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

Page 17: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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

Page 18: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

STORY TITLE

18WebSphere Portal Technical Conference U.S. 20081818

Project Phases

1 Requirements Gathering

Design2

Development3

Testing4

5 Deployment

Page 19: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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)

Page 20: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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

Page 21: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

STORY TITLE

21WebSphere Portal Technical Conference U.S. 20082121

Naming Standards

Define a Naming Standard & Guideline for your projects

Page 22: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

STORY TITLE

22WebSphere Portal Technical Conference U.S. 20082222

Project Structure

Sample Project Structure

Java Classes

Models

Servable Content

Profilesets

Page 23: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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

Page 24: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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

Page 25: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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

Page 26: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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

Page 27: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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

Page 28: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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.

Page 29: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

STORY TITLE

29WebSphere Portal Technical Conference U.S. 20082929

Project Phases

1 Requirements Gathering

Design2

Development3

Testing4

5 Deployment

Page 30: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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)

Page 31: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

STORY TITLE

31WebSphere Portal Technical Conference U.S. 20083131

Project Phases

1 Requirements Gathering

Design2

Development3

Testing4

5 Deployment

Page 32: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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

Page 33: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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

Page 34: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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

Page 35: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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

Page 36: © 2008 IBM Session ID: D08 Session Title: Streamlining WebSphere Portlet Factory & Dashboard Engagements Speakers: Usman Memon & Abhishek Singh WebSphere.

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.