implementing soa with portal, an ibm impact 2010 presentation

49
Implementing SOA with Portal Techniques and Best Practices

Upload: guestbc8b80

Post on 12-May-2015

6.289 views

Category:

Documents


1 download

DESCRIPTION

Techniques and Best Practices from Vishveshwara VasaIBM Certified Sr. IT Architect IBM GBS AIS Portal [email protected]

TRANSCRIPT

Page 1: Implementing SOA with Portal, an IBM Impact 2010 Presentation

Implementing SOA with Portal

Techniques and Best Practices

Page 2: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 3: Implementing SOA with Portal, an IBM Impact 2010 Presentation

3

Introduction

Vishveshwara Vasa

IBM Certified Sr. IT Architect

IBM GBS AIS Portal practice.

[email protected]

Page 4: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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.

Page 5: Implementing SOA with Portal, an IBM Impact 2010 Presentation

5

Portals solve many different Problems

Employee and

Manager Self Service

Company Intranets

PerformanceDashboards

PartnersPartners

Page 6: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 7: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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.

Page 8: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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.

Page 9: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 10: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 11: Implementing SOA with Portal, an IBM Impact 2010 Presentation

11

Dynamically Delivered Based on Choice

Browser

Mobile Clients

Rich Clients

role-based

in context

process-

driven

Page 12: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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.

Page 13: Implementing SOA with Portal, an IBM Impact 2010 Presentation

13

Composite Applications in Portal

Workflow and Dynamic User Interface

BusinessComponents Content

CompositeApplication

User Interface

DominoERPJCR…

Community& Roles

Page 14: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 15: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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.

Page 16: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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.

Page 17: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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.

Page 18: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 19: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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.

Page 20: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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.

Page 21: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 22: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 23: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 24: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 25: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 26: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 27: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 28: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 29: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 30: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 31: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 32: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 33: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 34: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 35: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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)

Page 36: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 37: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 38: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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.

Page 39: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 40: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 41: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 42: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 43: Implementing SOA with Portal, an IBM Impact 2010 Presentation

43

IBM Information Server

Page 44: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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)

Page 45: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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.

Page 46: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 47: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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

Page 48: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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.

Page 49: Implementing SOA with Portal, an IBM Impact 2010 Presentation

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