WebSphere Portlet Factory

sweetleafapartInternet και Εφαρμογές Web

7 Αυγ 2012 (πριν από 4 χρόνια και 10 μήνες)

898 εμφανίσεις

© 2003 IBM Corporation

© 2006 IBM Corporation

2013/3/15

WebSphere Portlet Factory


Technology Overview

© 2003 IBM Corporation

2

WebSphere Portlet Factory

2013/3/15

Agenda

Automation

1

Technical Overview

2

Variability

3

Architecture

4

© 2003 IBM Corporation

3

WebSphere Portlet Factory

2013/3/15

Technical Overview


WebSphere Portlet Factory


Key Technology Features


Builders


Models


Profiles



© 2003 IBM Corporation

4

WebSphere Portlet Factory

2013/3/15

Rapid Portlet Creation and Customization Tooling

Key Features:


Dedicated Portlet
development environment


Robust integration
capabilities


Service
-
oriented
development


Native integration with
WebSphere Portal


Rapid iteration and change

IBM WebSphere Portlet Factory
simplifies
&
accelerates

the development,
deployment, maintenance, and reuse of custom portlets.


© 2003 IBM Corporation

5

WebSphere Portlet Factory

2013/3/15

WebSphere Portlet Factory


Key Features


Multi
-
page, complex portlets without
coding


Robust integration capabilities (SAP,
Domino, PeopleSoft, Siebel, Web
Services, Databases)


Rapid iteration and change


Model Driven


Wizard
-
based



Seamlessly plugs into existing
development environments


Eclipse SDK


Rational Application Developer


Rational Software Architect


Rational Web Developer




© 2003 IBM Corporation

6

WebSphere Portlet Factory

2013/3/15

Seamless Integration into Portal Infrastructure


WebSphere Portal


Collaboration (People Awareness)


Single Sign On (Credential Vault)


Portlet to Portlet Communication
(Click
-
to
-
Action & Portlet Wiring)


WebSphere Portal Groups


WebSphere Portal Modes


Automated deployment




© 2003 IBM Corporation

7

WebSphere Portlet Factory

2013/3/15

Leverage existing applications

WSRP

© 2003 IBM Corporation

IBM
Scorecard

and Dashboard Product Architecture

Data Warehouse

Analytics

Composite
Frameworks

Development
Tool

Shared
Services

PS
HCM

Oracle
ERP

SAP
ERP

JDE
SCM

Enterprise Apps

Collaboration

MS
Exchange

Lotus
Domino

WebSphere Portal Server

User Directories

BPEL/ Workflow

Security

Collaboration/ Messaging

IBM WebSphere Portlet Factory

Service Provider Models / SOA

Data Sources

Lotus
Domino

Dashboard
Solutions

Lotus ActiveInsight

WebSphere Dashboard /

KPI Catalog

Custom Dashboards
(customer/partner)

IBM WebSphere Dashboard Framework

(charting engine, alerting module, reusable components, filtering)

© 2003 IBM Corporation

9

WebSphere Portlet Factory

2013/3/15

WebSphere Portlet Factory Key Concepts

Builder

An adaptive, reusable
component that
generates Java, XML
and JSP for specific
portlet functionality

Model

A container of Builders

Profile

A set of parameters
that vary Builder inputs
to dynamically
generate unique
versions of the portlet

© 2003 IBM Corporation

10

WebSphere Portlet Factory

2013/3/15

Agenda

Automation

1

Technical Overview

2

Variability

3

Architecture

4

© 2003 IBM Corporation

11

WebSphere Portlet Factory

2013/3/15

Automate Frequently Occurring Development Tasks

Multiple SAP BAPI Call
Transaction

Calendar Picker

Print, Export to Excel, Email

Click
-
To
-
Action
Invocation

Master
-
Detail Table
Drill Down

Applications are comprised of

features and
design patterns.

1.

Capture features and
design patterns as
Builders
.
Developers can

easily create Builders to
automate
their

code.

2.

By creating

Builders
, companies can retain
the intellectual property of their developers
+ ensure consistency and quality of code.

3.

Caching

© 2003 IBM Corporation

12

WebSphere Portlet Factory

2013/3/15

Builders


.

.

.

/**


* Generated Method [_pageDispatcher]


* Generated by builder call [bc21]


*/

public void _pageDispatcher(WebAppAccess webAppAccess)

{


com.bowstreet.webapp.JSPSupport.dispatch(webAppAccess);

}



/**


* Generated Method [getFlights_PagingGetImgName]


* Generated by builder call [bc21]


*/

public String getFlights_PagingGetImgName(WebAppAccess
webAppAccess, String button, String position)

{


PagingAssistant asst =
(PagingAssistant)webAppAccess.getVariables().getObject("getFlights_P
aging");


String img = button + position;


if ((button.equals("First") || button.equals("Prev")) &&
!asst.hasPreviousPage())


img = button + "Disabled";


if ((button.equals("Next") || button.equals("Last")) &&
!asst.hasNextPage())


img = button + "Disabled";


return
webAppAccess.getVariables().getXmlText("getFlights_PagingButtonIma
ges", img);

}

.

.



Capture design intelligence and
automate the creation of code


Perform specific automation tasks
based on inputs or parameters
specified by users


Can be easily created to
automate any type of software
development


Have automatically generated,
easy to use, wizard
-
like interfaces


Increase developer productivity,
decrease coding errors, and
enforce company coding
conventions or standards

© 2003 IBM Corporation

13

WebSphere Portlet Factory

2013/3/15


Over 100 Portlet Factory Builders


Generate user interfaces


Support SOA


Simplify portal integration


Demonstrate AJAX techniques


Provide Application Integration


Extensible Builder Library Automates Top Tasks

© 2003 IBM Corporation

14

WebSphere Portlet Factory

2013/3/15

Builders : SOA


Key Benefits


Enables reuse of existing assets across
projects and departments


Automates back end connectivity


Speeds creation of new applications


Promotes application flexibility

The
Data Services Layer

provides full support for the service provider & consumer paradigm required
in an SOA environment. It enables the definition of clean, well defined service interfaces that separate
the user interface from back end data.


Key Features


Create data services that wrap data from any
system


Enable quick access to the leading back end
systems with WebSphere Portlet Factory
integration Builders


Utilize one data service to drive the display
of multiple portlets


Reuse a single user interface Model by
plugging in data from different services

© 2003 IBM Corporation

15

WebSphere Portlet Factory

2013/3/15

Agenda

Automation

1

Technical Overview

2

Variability

3

Architecture

4

© 2003 IBM Corporation

16

WebSphere Portlet Factory

2013/3/15

Profiles



Are sets of parameters
(name/value pairs) that are used to
dynamically generate customized
software


Enable business users to design,
create, and change the
applications


without requiring
additional coding by developers


Enable changes to propagate to all
application instances


Eliminate hand
-
coding of
variations


© 2003 IBM Corporation

17

WebSphere Portlet Factory

2013/3/15

Profiles


Profiles can be used to generate multiple
applications from a single source Model


During regeneration, values from the
selected profile are used for specified
builder inputs


Because the entire application is created by
Builders, and any Builder inputs can be
profiled:


There are no limits on what can be
modified by profile


Presentation, workflow, logic,
services, etc., can all be varied by
profile as much as you want

Profile management tool

Profiles

Builders

© 2003 IBM Corporation

18

WebSphere Portlet Factory

2013/3/15

Powerful Customizer Builders

enable developers to more easily extend
the configuration of portlets to business users, including portlet look and feel,
data, thresholds, process flow, etc.



Portal
-
based Customizers

Customizers can easily be displayed in portal Configure , Edit, and Edit Defaults
Modes

© 2003 IBM Corporation

19

WebSphere Portlet Factory

2013/3/15

Profile Selection

Extensible Profile Selection
capability enables developers to more easily
vary the behavior of an application based custom criteria.





Group membership ( Portal or LDAP )


User attributes


Locale


J2EE role


Any custom criteria.

Profile Selection enables the application to vary based on information available at
execution time.

© 2003 IBM Corporation

20

WebSphere Portlet Factory

2013/3/15

Regeneration


Generates software code based
upon the inputs passed to the
Builders


Is similar to the process of
recalculating a spreadsheet,


Enables iterative design and rapid
change


Enables unparalleled software
flexibility

When a set of Builders
(
model
) is regenerated
using a different set of input
parameters
(profiles)
, a
different set of software
objects are automatically
generated

© 2003 IBM Corporation

21

WebSphere Portlet Factory

2013/3/15

Models

Sales Rep
Sales Manager
Sale VP
Profiles
Sales Rep
Sales Manager
Sale VP
Profiles
Regen

Engine

Roles

Regions

Sales Rep
Sales Manager
Sale VP
Profiles
Sales Rep
Sales Manager
Sale VP
Profiles
Sales Rep
Sales Manager
Sale VP
Profiles
Sales Rep
Sales Manager
Sale VP
Profiles
Products

Profile Sets

Application Instances

Putting it all together

© 2003 IBM Corporation

22

WebSphere Portlet Factory

2013/3/15

Agenda

Automation

1

Technical Overview

2

Variability

3

Architecture

4

© 2003 IBM Corporation

23

WebSphere Portlet Factory

2013/3/15

Portlet Factory Components


Developer tool


Portlet Factory Designer


Plug
-
in for Eclipse or Rational Application
Developer



Server component


Automation Engine


Runs as a WAR file on J2EE app server or
Portal Server


Executed via Servlet or Portlet API



Note:

Core Portlet Factory technology is used
by both the design environment and the
server.

In the runtime, the following pieces
support dynamic profiling:


Regeneration engine


Models, Builders, and Profiling





Profile Sets

Builders

Models

Traditional code

Java classes

JSP files

Request

Response

Applications folder

Factory application

Automation components

Generated executables

Factory

controller

*
If necessary

*
If necessary

© 2003 IBM Corporation

24

WebSphere Portlet Factory

2013/3/15

Builders and Models


Model XML file contains a list of calls to Builders


With all the Builder inputs specified at design time


Builders generate the entire application


Each Builder can:


Introspect the application elements


Create new elements in application


Modify any existing elements in application


Invoke any other Builders in the system


This makes it easy to make higher and higher level Builders


© 2003 IBM Corporation

25

WebSphere Portlet Factory

2013/3/15

Creating Custom Builders


Extensible architecture makes it easy to create custom
Builders


Simple Java interfaces with clean abstractions


Wizard
-
based User Interface is auto
-
generated from XML
descriptions in Builder Definition files


Custom UI can be created using a java “coordinator” class


Builders can invoke other Builders


Simply combine Builder calls to easily create powerful high
-
level Builders


Easily create new Builders from an existing model or Builder



© 2003 IBM Corporation

26

WebSphere Portlet Factory

2013/3/15

Builder Architecture

SAP Function builder

Variable builder

Imported Page builder

Regeneration
Engine

Model XML File

Builder Call 1


-

SAP Function

Builder Call 2


-

Imported Page

Builder Call 3


-

Data Page



Action List

2. During regeneration, for
each builder call in the
model XML, the appropriate
builder’s regeneration
method is invoked. All the
the builder inputs specified
by the user in the editor are
passed to the builder.

3. Builders can introspect, create, and
modify any parts of the generated
application. They can also invoke
other builders.


Data Page builder

Variable

Imported Page

Data Page

SAP Function

Action List builder

Builder Definition XML Files


Builder Regen Classes

Factory Eclipse
Editor

1. WPF uses Builder
Definition files to construct
UI for editing builder calls

Generated (Abstract) Application



Pages and controls


Variables/Beans


Schemas and metadata


Actions & Methods


Properties


© 2003 IBM Corporation

27

WebSphere Portlet Factory

2013/3/15

Builder Architecture with Profiling

SAP Function builder

Variable builder

Imported Page builder

Regeneration
Engine

Data Page builder

Action List builder

A

Profiles


Builder Regen Classes

Model XML File

Builder Call 1




SAP Function

Builder Call 2




Imported Page

Builder Call 3




Data Page

Action List

Variable

Imported Page

Data Page

SAP Function

Builder Definition XML Files

Profile A Application



Pages and controls


Variables/Beans


Schemas and metadata


Actions & Methods


Properties


© 2003 IBM Corporation

28

WebSphere Portlet Factory

2013/3/15

Builder Architecture with Profiling

SAP Function builder

Variable builder

Imported Page builder

Regeneration
Engine

Data Page builder

Action List builder

B

Profiles


Builder Regen Classes

Model XML File

Builder Call 1




SAP Function

Builder Call 2




Imported Page

Builder Call 3




Data Page

Action List

Variable

Imported Page

Data Page

SAP Function

Builder Definition XML Files

Profile B Application



Pages and controls


Variables/Beans


Schemas and metadata


Actions & Methods


Properties


© 2003 IBM Corporation

29

WebSphere Portlet Factory

2013/3/15

Factory and Portal Server

Factory WebApp

Execution

Controller

Profile Selection

Main Factory Dispatcher

Application

objects

J2EE Components

(JDBC, EJB, JCA, JMS)

Generated WebApp objects,

classes, and JSP’s

Portlet Factory

Support libraries

Enterprise data sources and web services

= WPF Components

= J2EE App Server

Factory Portlet Adapter

= Application or


customer code

HTTP Request

= Builder
-
generated


objects

BuilderDef Files

Model XML Files

Regeneration

Engine & Cache

Builder

Builder

Builder


Profile Data

Portal Server

© 2003 IBM Corporation

WebSphere Dashboard Framework

案例分享

30

WebSphere Portlet Factory

2013/3/15

© 2003 IBM Corporation

© 2003 IBM Corporation

按行業劃分的客戶清單

(1 of 2)

建築
/
房地產


Colliers International


Equity Office


Lifestyle Communities*


O&Y CB Richard Ellis

生物技術


ImClone Systems

化學


Bayer AG


eCatto

教育


Ottawa University


Spring Arbor University*


University of Wisconsin

金融服務


Comerica


Commerzbank


Federal Reserve Bank


Boston*


Federal Reserve Bank


San Fran*


Fidelity Investments Life Insurance


GE Consumer Finance


Haspa Hamburger Sparkasse


Mastercard


Wells Fargo

食品
/
飲料


Atlantic Industries (Coke Ireland)


Ballina (Coke Ireland)


Southeastern Mills

政府
/
軍隊


Broward County (FL) Schools


Denbighshire County Council


Dortmunder, City of


FAA*


General Services Administration


LA County DHS


NY State Comptroller


NY State DOJ


US Army Yuma Proving Grounds


US Navy SPAWAR


Washington, State of

醫療衛生


Cardinal Health/Ball Memorial


Inter Health


Mayo Clinic


Neighborhood Health Plan


Promedica


St. Luke's Hospital


Tufts Health

保險


ALLMERICA*


Blue Cross Blue Shield Florida


Celina Insurance Group


Fortis Benefits


Norwich Union


Physicians Mutual


Universal Underwriters Group


Zurich

*
repeat customer

電腦軟體


BMC


Cadence Design*


Information Resources Inc. (IRI)


Lakeview Technology

© 2003 IBM Corporation

按行業劃分的客戶清單

(2 of 2)

網路
/
通信


MobileSense

媒體
/
娛樂


Discovery Communications


Publishers Priniting

藥品


Abbott Laboratories*


IDEC


LEO Pharma


Pfizer*


TAP Pharma

服務

商業


Bureau Veritas


Dapsco/WinWholesale


Epsilon Data Management


Euro RSCG


Institutional Shareholder Services


Manpower


Ogilvy & Mather


Porter Novelli Convergence Group*


Securitas


Select Sires


SEMI


UNICCO Service Co*

交通


Amerijet International


Crossrail*


DHL


KLM


Royal Caribbean Cruise Line

公用事業
/
能源


TransAlta

批發
/
零售
/
分銷


Amway/Alticore


Bed Bath & Beyond


Biglots


Border States Electric Supply


Chase Pitkin Home Centers


Digital Union Ltd


GAP


Kroger*


Nash Finch


Overseas Military Cars


PBR Auto


Sheetz


SRI Sugical Express


TJX Companies, Inc.


Unipart Logistics


Value City
-

Retail Ventures, Inc


Yum!*


Zeeman TextielSupers


*
repeat customer

製造


Bombardier


Bunn
-
O
-
Matic


Caterpillar*


Cookson Electronics


Cummins


Dana Corp*


Denso Automotive


Engelhard


Federal Mogul Corp*


Genencor International


Gillette


Herman Miller


Honda R&D*


Loram Maintenance of Way


Lucent


MeadWestVaco


Merillat Cabinets


Northrop Grumman


Safway Services


Sooner Pipe


Whirlpool

© 2003 IBM Corporation


公司簡介


加拿大最大的非管制的電力發電公司


$750M+


挑戰


需要提供即時的電廠運營

KPIs
數據


最小化超負荷運生產


確保符合嚴厲的環保要求


將很多舊有系統中的資料展現出來


成果


12
周時間開發出排放量儀錶版原型


WebSphere Portal


Workplace Dashboard Framework


SAP HR
及引導過程儀錶版


部門和小組級別的儀錶版


小組安排儀錶版


能源行業解決方案的基石

客戶成功案例

-

TransAlta

© 2003 IBM Corporation

click to edit master title style

工廠操作員排放量儀錶版

© 2003 IBM Corporation

click to edit master title style

工廠經理排放量儀錶版

© 2003 IBM Corporation

click to edit master title style

業務總監排放量儀錶版

© 2003 IBM Corporation

click to edit master title style

工廠操作員排放量儀錶版

© 2003 IBM Corporation

click to edit master title style

EHS
領導排放量

© 2003 IBM Corporation

TransMontaigne Overview

Profile


Leading provider of supply chain and distribution services
for oil, gas and chemical products


Revenues exceeding $8 Billion annually

Challenges: Need Better View of Operations


Sales and Marketing spend hours per day gathering data to
respond to customer requests


Finance personnel spent too much time/effort gathering,
analyzing and reconciling billing info


Only business analysts could manually create new reports


Need real time access to information about fuel lifted per
customer, billings, and price analysis




Requirements


Provide intuitive, readily available access to information by a variety of different users across the
organization


Integrate with iSeries transactional information and disparate data sources (DB2, SAP, spreadsheets,
etc.)


Leverage existing in
-
house RPG programming team to quickly create applications without the need for
extensive Java skills


Deliver on an open, services
-
oriented portal
-
based environment to ensure security, consistency and
control, flexibility and common interface

© 2003 IBM Corporation

Applications Before...



Excel Spreadsheets


No Automation


Quickly out of date


High margin of error



Fuel Price Analysis


Tracked in a giant spreadsheet


Took a full day to extract report


Only updated weekly


Reconciliation with Data in
Regional Gas Distribution
Terminals


Manually reconciled


Directly related to customer
billing problems



Excel

SAP

Custom

App

DB2

© 2003 IBM Corporation

... And After


Leveraged IBM WebSphere Portal
and Dashboard Accelerator to
rapidly build and deployed role
-
based dashboards that:


Provide immediate access to critical

terminal, product, customer and billing

information for many users


Visually depict and highlight areas that

require attention


Enable users to both filter on specific

views and drill down into details


Provide a single common workplace

and user interface for viewing

information in a secure, role
-
based

fashion

© 2003 IBM Corporation

Portal Live / Deployment Timeline


IBM

training


May ‘06

June 15 ‘06

Portal 5 live

3 portlet

applications

Feb '07

12 portlet

applications

in production

March '07

External

customer
-
facing

virtual

portal live

June '07

Portal 6.01

internal

rollout

July '07

17 portlet

applications

in production

External

rollout

Aug '07

Development Staff



2 RPG and 2 Java developers trained May '06



2 additional RPG developers added Oct and Dec '06


© 2003 IBM Corporation

Ensuring End
-
User Adoption

Allocations Filter Portlets

Similar to end
-
user
Excel experience: sort,
print, download

Drop down menus

Date driven

Customizable by user


© 2003 IBM Corporation

Graphically Intuitive Reconciliation Dashboards


Intuitive Red, Green, Yellow


Alert users to problems within a process, and where problems are occurring


Visual queues easy to see


Useful for Internal Communication within TransMontaigne


Showcase portlet


became useful internal tool to communicate project value to line of business


Highlights Problems


Need local system to reconcile and
match with data in regional Gas
Terminals


Sales transaction and billing data critical
to TransMontaigne operations


Timely, Proactive


Lets TransMontaigne know instantly if a
gas terminal is not operating


Enables proactive view of billing data


Drill down for details

© 2003 IBM Corporation

46

Fuel Pricing and Price Risk Analysis


Trading analysts need to see how fuel is being
priced


Across market indices


Price changes throughout the day


Gives competitive information to drive fuel purchases



Was manually run report pulled by analyst



Now a real
-
time view from the Portal


Pulling real
-
time market index data from AS/400 system


Immediate access to 90 days of price history


Email function automates query for 4 years of history data

© 2003 IBM Corporation

Real
-
Time Fuel Price Dashboards

Graph and Drill Down



© 2003 IBM Corporation

Market Trends


At a Glance
Assessment of How
Business is
Performing


Length of time to
issue an invoice


Monthly Milestone
target versus actual


Multiple User
Audiences


Executives


high
level view


Analysts


drill down
into cause and
background


Annotations Let Users
Add Comments

© 2003 IBM Corporation

Invoice and Pricing: Customer Self Service

Making CRM available over the extranet


ECRM


Customer Self Service


Customers can see how much fuel they have purchased, what they have used and remaining
capacity


Free for customers


cuts TransMontaigne costs and increases customer satisfaction


Fewer Customer Service Phone Calls


Application directly related to reduced call volume


Older Application Now Available in External Portal


Now using WebSphere Portal and Dashboard Accelerator to display through Java GUI


A read
-
only web application with near real
-
time views


Application Size: 100 Java server pages, 65 Java classes


Large supporting Java framework (not struts)


Development Team and Timeline


3 developers


3 weeks working out architecture


Portlet developer spent about 12 weeks to develop

© 2003 IBM Corporation

Observations and Lessons Learned


Dashboard Framework served as a tremendous rapid prototyping and
development tool


Existing RPG developers can do most of the custom development work…and
quickly!


Short learning curve enabled immediate results


Prototype within hours


Deployed dashboards in weeks


Developers have heartily embraced this as a must
-
have tool


RPG developers were eager


Some of the in house Java developers did not embrace the technology.


Good to have at least one Java / web developer who embraces the technology


Recommendations


Pick a known process that is not very efficient but well understood


Leverage a “service layer” for flexibly providing and consuming data


Excel exporting feature is used extensively

© 2003 IBM Corporation

TransMontaigne Business Results

“Each TransMontaigne professional saves upwards of two hours per customer
request by having this information readily available”

Increase Revenue



Maximizing revenue by 1) eliminating missed and under
-
billed accounts and 2) increasing customer service and
satisfaction

Improve

Decision Making

and Effectiveness

Improve

Decision Making

and Effectiveness

Improve

Decision Making

and Effectiveness



Improving decision making with immediate access to
accurate, transactional information regarding customers,
products and locations



Saving up to two hours per each customer request



Increased staff productivity significantly by decreasing report
compilation time by up to two hours



Delivered working dashboard applications in just a few
weeks with existing RPG development staff



Avoided costs of hiring or training 2 to 4 Java
development staff