implementing soa with portal, an ibm impact 2010 presentation
DESCRIPTION
Techniques and Best Practices from Vishveshwara VasaIBM Certified Sr. IT Architect IBM GBS AIS Portal [email protected]TRANSCRIPT
Implementing SOA with Portal
Techniques and Best Practices
2
Agenda
• Introduction
• Introduction to Portals
• Introduction to SOA
• WebSphere Portal features for SOA
• WebSphere Portlet Factory Builders for SOA
• Process Portal
• SOA Integration options and best practices
3
Introduction
Vishveshwara Vasa
IBM Certified Sr. IT Architect
IBM GBS AIS Portal practice.
4
What are Portals?
• Portals are a single access point to Web content and applications, personalized to each user's needs.
• Combine application user interfaces and/or content together into one unified presentation
• Deliver a highly personalized experience
• Separate site design, site/page assembly/administration, from application design
• Provide application integration, collaboration, single sign-on services and much more
• Simplify usability, administration, security and scalability.
• Drive adoption and value for business applications.
5
Portals solve many different Problems
Employee and
Manager Self Service
Company Intranets
PerformanceDashboards
PartnersPartners
6
What is Portal Server?
• A “specialized” Enterprise application that provides value-added services such as
– Personalization
– Single Sign-On
– Content aggregation from various sources
– Secure search facilities
– Localization of content
• A Portal “page” represents a complete markup document consisting of several Portlet components
• Portal server is the platform
7
What are Portlets?
Portlets are web applications which are:
• Developed independently
• Dynamically deployed
• Dynamically configured
• Provide a view or function on specific information or for a specific service
• Individual Control
• Pluggable modules
• Interchangeable
• Portlets can leverage existing data and information, or provide a unified front end to
new services.
8
What is SOA?
• an IT architectural style that supports service orientation
• is a business-centric IT architectural approach that supports integrating your business as linked, repeatable business tasks, or services.
9
SOA Entry Point
33
11
22
5544
Enable people to interact with application and information “services”
supporting business processes. Enabling efficient, collaborative, real time decision making and execution
10
IBM Services Oriented Reference Architecture
• Delivering a vital component of overall reference architecture
• Standards-Based integration with all other services
• Provides composite applications and views
• Portal framework provides the platform flexibility and responsiveness that businesses require to respond quickly to change
11
Dynamically Delivered Based on Choice
Browser
Mobile Clients
Rich Clients
role-based
in context
process-
driven
12
SOA Transforms the Front-End
Traditional SOA-BasedBusiness Purpose
Provide personalized access to information about a business or organization
Support user to user collaboration and role based interactions with critical business processes and services
Focus Presentation, Integration and Aggregation of information
Composed application access and orchestrated user experience for execution of business process
Flexibility Rigid due to ad-hoc techniques to capture content and application based information
Use of exposed flexible services for rapid construction and easier maintenance and changes for portlets and connections
Personalization Based on statically defined business rules
Adaptive and dynamic based on role and business process.
13
Composite Applications in Portal
Workflow and Dynamic User Interface
BusinessComponents Content
CompositeApplication
User Interface
DominoERPJCR…
Community& Roles
14
SOA Service Model
Atomic Service Composite Service RegistrySource: SOA Community of Practice, SOA Solution Stack Project
Servicesatomic and composite
Operational Systems
Service Components
Consumers
Business ProcessComposition; choreography; business state machines
Service P
rovid
erS
ervice Co
nsu
mer
Integ
ration
(En
terprise S
ervice Bu
s)
Qo
S L
ayer (Secu
rity, Man
agem
ent &
Mo
nito
ring
Infrastru
cture S
ervices)
Data A
rchitectu
re (meta-d
ata) & B
usin
ess Intellig
ence
Go
vernan
ce
Portal B2B
PackagedApplication
CustomApplication
OOApplication
Device Channel
15
WebSphere Portal – Features
• Versatile framework– IBM WebSphere Portal provides users a consistent view of portal applications and allows
users to define specific sets of applications that are presented in a single context. Depending on the requesting device, the rendering of this application set has to vary to fulfill the requirements of the device.
• Customization– User and administrative portlets are provided for customizing content and the look and layout
of pages. In addition, tools are provided that allow subject matter experts to personalize content to the needs and interests of each site visitor.
• Application integration– A portal provides access to content, data, and services that are located throughout the
enterprise. These services include predefined connectors and portlets, and tools for creating additional connectors and portlets.
16
WebSphere Portal – Features Contd.,
• Mashup integration– Mashup integration lets WebSphere Portal users share and incorporate lightweight,
dynamic Web applications either by creating a mashup page directly in the portal, or by adding a mashup page from the IBM Mashup Center catalog
• Blog and wiki templates– New blog and wiki template libraries facilitate information sharing and collaboration, making
it easier to engage the community. Bloggers can deliver news and commentary and hear from readers who can freely post their own comments and observations. Wikis extend the collaborative environment by supporting shared content creation.
• Analyze user behavior– New Active Site Analytics enable you to learn more about user behavior on your portal site.
You can see which pages they visit and which portlets they use.
• Enhanced feed subscription and presentation capabilities– The new IBM Syndicated Feed Portlet for WebSphere Portal enables you to integrate,
view, and manage RSS and ATOM feeds from your portal pages. You can organize the feeds into new and existing feed categories and extensively customize the presentation style for these feeds.
17
Web Services for Remote Portlets ( WSRP)
WSRP is the standard for remote rendering of portlets, enabling a portal to aggregate content from multiple sources and it splits presentation between the client and the server in a distributed paradigm.
WSRP enables:• Easier administration -- Instead of managing local deployments of pluggable
components, portal administrators can browse a registry for WSRP services to offer. Users benefit from timely availability of new services and content integration on demand.
• Load distribution -- Loads are distributed across multiple servers.
• Reduced infrastructure cost -- Applications can share hosting infrastructure. For example, distributing just the presentation layer (through WSRP) of a back-end banking application preserves the application provider's secured computing environment, yet users can interact with the shared UI.
• Control over content presentation -- Content and application providers can vastly expand their reach to new users as portals redistribute content.
18
WebSphere Portal – WAS – WSRP
• WebSphere Portal – as consumer
• WAS 7 – as producer• Utilize Portlet container of
WAS 7• Reduce the load on Portal• Utilize existing WAS
infrastructure• Reduce license cost.
We
bS
ph
ere
Po
rta
l C
luste
r
WebSphere Portal with WAS Producer
WAS 7 ClusterWSRP Producer
WAS 7 ClusterWSRP Producer
Vir
tua
l IP
Web Server
1
Web Server
2
Web Server
3
19
Google Gadgets and iWidgets
• What are Gadgets?– Gadgets are simple HTML and JavaScript applications that can be embedded in webpages
and other apps.
• iWidget – iWidget is an IBM specification that provides a standard definition for a widget. It allows for
seamless interoperability across various IBM platforms and products.
20
IBM Portlet for Google Gadgets
• Google Gadget in a portal is just like any other portlet:– To add a Google Gadget to a page, users can simply drag-and-
drop it from the portlet palette to the page. – A portal page showing an integrated Google Gadget displays the
view mode of the gadget inline, aggregated in the page. For example, using a maps gadget, the map displays the queried location.
21
IBM Mashup Center Components
Lotus Mashups Infosphere MashupHub
Widget Creation
Catalog +
Community
Connectors +Feed gen
Transform
Browser-based situational app
assembly
IBM Mashup Center
Heart of the Market Mashup offering from IBM
Situational Applications • Rapidly created to address an immediate
need of an individual or community
• Typically, but not necessarily, short-lived (a just-in-time solution)
• Good enough
• Built by domain experts (knowledge workers) to solve their own problems
Why Companies want Mashups:• Foster innovation by unlocking and
remixing information in ways not originally planned
• Quickly uncover new business insights by easily assembling information from multiple sources on the glass
• Increase agility by supporting dynamic assembly and configuration of applications
• Speed development and reduce development costs through lightweight integration, reuse and sharing
22
Mashup integration
• Mashups
– Deploy and run widgets and mashup pages in portal
– Connect to Mashup Hub to download and deploy new widgets on portal
– Includes parts of the Mashup Center 2.0 runtime
• Create and render Mashup pages inside portal– Will show up as normal portal pages in the portal navigation
– Add widgets to Mashup page
• Import / Export Mashup pages from Mashup Hub• Share Mashup pages with other users
23
What is WebSphere Portlet Factory?
IBM WebSphere Portlet Factory simplifies & accelerates the development of custom portlets and applications
• Rapid development• Robust integration capabilities (SAP, Domino, relational DB,
web services and REST services, PeopleSoft, Siebel, and more)• Service-oriented development• Support for many deployment platforms:
– WebSphere Portal– WebSphere Application Server (servlet or portlet)– IBM MashupCenter (widget)– Lotus Notes 8.x
• Runs in Eclipse or IBM Rational tools
24
What is WebSphere Portlet Factory?WebSphere
PortalUse one common set of
tools, techniques, and application code…
Process Servertasks
Quickr and Connections
services
Databases
Domino
MashupHub Feeds
Web services and
REST services
SAP
Portlet FactoryWebSphere
Application Server
Notes 8 / Expeditor
Lotus MashupsPeopleSoft
Siebel
25
WebSphere Portlet Factory – Builders for SOA
• SOA builders in Portlet Factory make it easy to implement a service provider/consumer architecture
• These builders work in a consistent way with any back end data source:– Data integration builders provides access to data source– Service Definition builder defines a service provider model for
use by consumers– Service Operation builders define the operations to expose to
consumers– Service Consumer allows you to consume service operations in
presentation models
26
WPF – Service and Presentation Models
Presentation models
Serv
ice C
on
sum
erS
erv
ice D
efi
nit
ion
SQ
L C
all
Serv
ice O
pera
tion
Serv
ice O
pera
tion
SQ
L C
all
Service model
DB
Serv
ice C
on
sum
er
Vie
w &
Form
Vie
w &
Form
27
WPF – Service and Presentation Model for WS
Presentation models
Serv
ice C
on
sum
erS
erv
ice D
efi
nit
ion
Web S
erv
ice C
all
Serv
ice O
pera
tion
Serv
ice O
pera
tion
Web S
erv
ice C
all
Service model
Serv
ice C
on
sum
er
Vie
w &
Form
Vie
w &
Form
Remoteserver
or Enterprise Service Bus
28
WebSphere Portlet Factory Features
• Dojo and Rich UI– Easy-to-use support for a wide range of Dojo
and rich UI features that can be automatically applied using Portlet Factory components
• Enhanced Design Experience– Interactive Design view, for direct editing in
WYSIWYG view• Drag & drop from palette onto page• Drag & drop to control field layout• Right-click to set key properties
– Complete Undo support for model editing
• Mashups in Portal– Deploy widgets directly to Portal
• Getting started experience– “Quick Start” model wizards for database,
REST, Excel
• Data transformation support• Web Services Enhancements
– JSON support for REST services– Support for JAX-WS
29
WPF – Benefits of Builders for SOA
• Separate back end and presentation development• Automatic support for service testing• Develop consumer (presentation) model without any back end
access, using stub service model• Reuse services in multiple presentation models• Transform data between back end schema and some other schema
– Transformations should generally be done in provider layer
• Variables used during execution in provider models can be automatically released after each request– This is done for stateless providers (the default)
• Switch between service implementations without changing consumer model
30
WPF – Best Practices
1. Use a service provider/consumer model architecture2. Use the highest-level builder available for the job3. Use Page Automation builders for display and input of data (View & Form,
Input Form, Data Page)4. Use Rich Data Definition to simplify and centralize field formatting,
validation, and UI5. Try to keep model size under 50 builders
Use high-level builders Use modularization techniques such as Contained Model Create custom builder to automate application design patterns
6. Don't write lots of code in Method builder - use Linked Java Object instead7. Use the Theme support in Portlet Factory 6.1.2 to control UI style8. Use system tracing feature to examine program flow and to look for
performance issues9. Use the samples on the wiki to get going quickly with new techniques 10. Utilities the developerWorks forums for specific questions or problems
31
WebSphere Portal and Cognos
• IBM Cognos Portal Services provides a set of out-of-the-box "portlets" that allow organizations to easily manage and display IBM Cognos business intelligence and reporting solutions within IBM WebSphere Portal Server.
• IBM Cognos 8 Portlets – IBM Cognos Navigator, – IBM Cognos Search, – IBM Cognos Viewer, – IBM Cognos Metric Watch List
• IBM Cognos ReportNet Portlets– IBM Cognos ReportNet Navigator, – IBM Cognos ReportNet Search, – IBM Cognos ReportNet Viewer,
Reference: http://www-01.ibm.com/software/data/cognos/solutions/ibm/websphere-portal.html
32
Process Portal
• Process Portal– Is a composition of the views to perform activities and tasks to achieve a
business objective– Becomes the ideal interface to human component of business processes– Provides task-oriented applications where roles seamlessly participate and
collaborate in business processes– Presents the right tasks to the right people at the appropriate time through a
consistent, easy-to-use, personalized interface
• Business Process– A sequence of activities or tasks to achieve a business objective– Non-interruptible (short) or interruptible (long) processes– Human tasks to interruptible (long) processes
• Process Server– An application server to run business processes
33
Process Portal Contd.,
• Portal becomes the human interface services
Receive Order Portlet
Receive Order
Fultilll Order
RestockBill
Customer
Receive Order
Service
Fulfill Order Service
Restock Service
Customer Billing
Service
Web Application
Retail System
Warehourse System
CRM
Business Process
Business Services
IT Systems
Process Portal
Fultilll Order Portlet
Restock Portlet
Bill Customer
Portlet
34
WebSphere Portal – Process server integration
• Interact with each other and allow Portal server to process human tasks through portlets• My Tasks portlet allows a user to see, claim and process tasks assigned to him• Alert notifies users as soon as tasks become available, and redirect them to the panel containing
the My Tasks portlet
• Process initiating portlet– Create and kick-off an instance of a process template
• Task Processing portlet– Associated with a task , user can enter information and trigger the completion of a task,
and reply the information back to the BPE
WebSphere Process Server
Business Process Engine
Human Task
Human Task
Human Task
WebSphere Portal
My Tasks
Human Task
Human Task
Human Task
Process Portlet
BPE API
35
Process Portal – Programming Model
• Programming Model– JSP (Portlet Interface)
– BPEL (Composition)
– SCA (Invocation)
– SDO (Data)
• Goals of Programming Model– Simply the J2EE programming model
– Strong isolation between business logic and the technical infrastructure code
– Reduce learning curve for “classical” application developers
WS-BPEL
SCA (Service Component Architecture)
Process Portlet
SDO (Service Data Object)
36
Integration Options – Option 1Session Façade Pattern
• Pros:– Required communication between
portlets and integration components was clearly defined.
– There would not be any dependency between portal environment with back-end environment.
– Upgrades to portal environment can be done independently without back-end environment as there were no dependencies.
– Ease of use, as application team can define the operations as needed.
WebSphere Portal
Portlet with EJB Client
Back-end Systemor
WebSphere Product
EJB Implementation
RMI
37
Integration Options – Option 1Session Façade Pattern
• Cons:– Custom development
– Both systems need to have security defined.
• WebSphere products can interact with LTPA token.
• Other systems needs to define security mechanism.
– Limited features provided as part of the custom development.
WebSphere Portal
Portlet with EJB Client
Back-end Systemor
WebSphere Product
EJB Implementation
RMI
38
Integration Options – Option 1Session Façade Pattern – Best Practice
WebSphere PortalNode 1
Portlet with EJB Client
Back-end Systemor
WebSphere ProductNode 1
EJB Implementation
RMI
VIP
RMI
Back-end Systemor
WebSphere ProductNode 2
EJB Implementation
RMI
WebSphere PortalNode 2
Portlet with EJB Client
RMI
• Option A:– env.put(Context.PROVIDER_URL,"corbaloc::node1:9811,:node2:9
812");
• Option B:– Use Virtual IP. EJB client will connect to one port on VIP, and
Router will load balance between nodes.
39
Integration Options – Option 2Direct WebService call
• Pros:– Back-end system will be
exposed as service.
– Service can be consumed by any client other than portal.
– Best fit for re-usable services.WebSphere Portal
Portlet with WS Client
Back-end Systemor
WebSphere Product
Service Implementation
Http / https
40
Integration Options – Option 2Direct WebService call
• Cons:– Communication over http.
– Requires overhead of SOAP.
– Slower than Option 1.
– Multiple services calls are required if we data needs to be aggregated
WebSphere Portal
Portlet with WS Client
Back-end Systemor
WebSphere Product
Service Implementation
Http / https
41
Integration Options – Option 3Integrate with ESB
• Pros:– Back-end system will be
exposed as service.
– Composite services can be created in ESB.
– WebService calls to back-end systems can be reduced.
– Can take advantage of ESB features.
WebSphere Portal
Portlet with WS Client
Back-end Systemor
WebSphere Product
Service Implementation
Http / https
ES
B
Http / https
42
Integration Options – Option 3Integrate with ESB
• Cons:– Requires another middleware.
– Requires custom code development.
– Might impact performance.
WebSphere Portal
Portlet with WS Client
Back-end Systemor
WebSphere Product
Service Implementation
Http / https
ES
B
Http / https
43
IBM Information Server
44
WebSphere Portal – IBM InfoSphere products integration
• IBM InfoSphere Information Services Director– Rapid deployment - Services can be deployed for data integration logic in
minutes, using intuitive wizards that do not presume advanced J2EE knowledge– Service abstraction - Services are deployed natively in your application server
as true business objects, completely hiding the implementation complexity from the service consumer.
• IBM InfoSphere Information Server• IBM InfoSphere Master Data Management Server• IBM DB2• Oracle
– Binding flexibility - Services can be deployed with a choice of bindings to enable information as a service for all types of applications to increase the opportunities for reuse.
• Web services (SOAP/HTTP)• Extensible Markup Language (XML)• Java Message Server (JMS)• JavaScript Object Notation (JSON)• Enterprise Java Beans (EJB)• Really Simple Syndication (RSS)• Representational State Transfer (REST)
45
Information service consumers – WebSphere Portal
• Option A:– Develop custom portlet with WebService binding or REST
services
• Option B:– WebSphere Portlet Factory: WebSphere Information Services
Director's integration with the Portlet Factory enables users to automatically incorporate information service data into the creation of a portlet that can be deployed in WebSphere Portal Server.
46
Related Sessions
• What's New in WebSphere Portal and WCM V6.1.5– Robert Will, IBM
• Effective Delivery of External Portal sites with Lotus Web Content Management– Stefan Liesche, IBM, Stefan Hepper, IBM
47
We Value Your Feedback !
• Please complete the session survey for this session by:
• Accessing the SmartSite on your smart phone or computer at: http://imp2010.confnav.com – Surveys / My Session Evaluations
• Visiting any onsite event kiosk– Surveys / My Session Evaluations
• Each completed survey increases your chance to win an Apple iPod Touch with daily drawing sponsored by Alliance Tech
48
Copyright and Trademarks
© IBM Corporation 2010. All rights reserved. IBM, the IBM logo, ibm.com and the globe design are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml. Other company, product, or service names may be trademarks or service marks of others.
49
References
• Service-oriented modeling and architecture by Ali Arsanjani– http://www.ibm.com/developerworks/webservices/library/ws-
soa-design1/
• Portlet Factory wiki
– http://www-10.lotus.com/ldd/pfwiki.nsf• Portlet Factory zone on developerWorks
– http://www.ibm.com/developerworks/websphere/zones/portal/portletfactory/
• IBM InfoSphere Information Server Information Center– http://publib.boulder.ibm.com/infocenter/iisinfsv/v8r1/index.jsp