Implementing SOA with Portal, an IBM Impact 2010 Presentation

  • 6,041 views
Uploaded on

Techniques and Best Practices from Vishveshwara Vasa …

Techniques and Best Practices from Vishveshwara Vasa
IBM Certified Sr. IT Architect
IBM GBS AIS Portal practice.
vvasa@us.ibm.com

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Thanks for your sharing .3anetwork is a leading Cisco networking distributor, offering cisco switch . good price.
    http://www.3anetwork.com/cisco-catalyst-2960-switches-price_c39
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
6,041
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
274
Comments
1
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Portals bring together vital information, application and content. But Portals bring together processes and allow people to interact with them in interesting ways. Process is everywhere – whether formal workflows or the more ad-hoc type of workflows – that happen at the department level every day. There is process that happens between portlets on the page. Simply put a change occurs in one portlet that triggers an activity that is presented in another portlet. This intra-portlet has many applications including customer service and customer tracking; order status; supply chain. And all of these processes are surfaced within a role-based environment that shows people only what they should see based on their role and based on security. The foundation of a service-oriented architecture is the concept of ‘reuse’, creating business applications and processes that can be reused as needed like any other service. WebSphere Portal Version 6.0 delivers significant SOA enhancements through tools like WebSphere Portlet Factory that allow composite applications to be developed and deployed by business users (versus J2EE developers), as well as templates that allow for composite portal applications to be reused and replicated. Other SOA enhancements include support for application context, application roles, and the concept of membership and community

Transcript

  • 1. 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.
    • [email_address]
  • 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 Performance Dashboards Partners Partners
  • 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 Enable people to interact with application and information “ services ” supporting business processes . Enabling efficient, collaborative, real time decision making and execution 3 1 2 5 4
  • 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-Based Business 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 Business Components Content Composite Application User Interface Domino ERP JCR … Community & Roles
  • 14. SOA Service Model Atomic Service Composite Service Registry Source: SOA Community of Practice, SOA Solution Stack Project Services atomic and composite Operational Systems Service Components Consumers Business Process Composition; choreography; business state machines Service Provider Service Consumer Integration (Enterprise Service Bus) QoS Layer (Security, Management & Monitoring Infrastructure Services) Data Architecture (meta-data) & Business Intelligence Governance Portal B2B Packaged Application Custom Application OO Application 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.
  • 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 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
    Lotus Mashups Infosphere MashupHub Widget Creation Catalog + Community Connectors + Feed gen Transform Browser-based situational app assembly IBM Mashup Center
  • 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? Use one common set of tools, techniques, and application code… Process Server tasks Quickr and Connections services Databases Domino MashupHub Feeds Web services and REST services SAP Portlet Factory PeopleSoft Siebel WebSphere Portal WebSphere Application Server Notes 8 / Expeditor Lotus Mashups
  • 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 Service Consumer Service Definition SQL Call Service Operation Service Operation SQL Call Service model DB Service Consumer View & Form View & Form
  • 27. WPF – Service and Presentation Model for WS Presentation models Service Consumer Service Definition Web Service Call Service Operation Service Operation Web Service Call Service model Service Consumer View & Form View & Form Remote server 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
    • Use a service provider/consumer model architecture
    • Use the highest-level builder available for the job
    • Use Page Automation builders for display and input of data (View & Form, Input Form, Data Page)
    • Use Rich Data Definition to simplify and centralize field formatting, validation, and UI
    • 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
    • Don't write lots of code in Method builder - use Linked Java Object instead
    • Use the Theme support in Portlet Factory 6.1.2 to control UI style
    • Use system tracing feature to examine program flow and to look for performance issues
    • Use the samples on the wiki to get going quickly with new techniques
    • 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
  • 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
  • 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
  • 36. Integration Options – Option 1 Session 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.
  • 37. Integration Options – Option 1 Session 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.
  • 38. Integration Options – Option 1 Session Façade Pattern – Best Practice
    • Option A:
      • env.put(Context.PROVIDER_URL,"corbaloc::node1:9811,:node2:9812");
    • 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 2 Direct 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.
  • 40. Integration Options – Option 2 Direct 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
  • 41. Integration Options – Option 3 Integrate 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.
  • 42. Integration Options – Option 3 Integrate with ESB
    • Cons:
      • Requires another middleware.
      • Requires custom code development.
      • Might impact performance.
  • 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