SlideShare a Scribd company logo
WPS/WID Architecture & Strategy Eric Herness, IBM Distinguished Engineer,  WBI Chief Architect, herness@us.ibm.com
Agenda/Contents Big Picture Products  WebSphere Business Modeler WebSphere Process Server and WebSphere Integration Developer WebSphere Adaptors and WBI Adaptors WebSphere Business Monitor Conclusion
SOA Programming Model Design Focus on business design modeling, simplification, and role-based collaboration Use of declarative policy …. User Interaction Dynamic support for people integration into the business design Business Components Composable and reusable service implementations  Information Built-in access to service state, disconnected service-data exchange, information composition and transformation Composition of Business-level Applications Wired assembly of services to form business-level applications, workflows, and business orchestration Invocation Loosely-coupled call-style and event-driven interconnection of services with built-in support for topology transparency, mediation, and brokering featuring standards-based interoperability Design ( Models, Patterns, Templates, Policy ) Composition Business Components Information User Interaction Invocation
Key Development Roles for SOA
Managing Your Business Processes with a Service Oriented Architecture WebSphere Integration Developer WebSphere Process Server WebSphere Business Monitor WebSphere Business Modeler Clean hand-off from IT with Business Models, Metrics Constructs for dynamic and adaptive business processes based on an integration platform Real time management of business processes Feedback for continuous improvement Enterprise Service Bus Enabling complete life cycle of business process WebSphere Business Modeler  V6.0 previously known as WBI Modeler  Current Version: WBI Modeler 5.1.2 V6, available since November 2005 Platforms: Windows WebSphere Business Monitor  V6.0 previously known as WBI Monitor Current Version: WBI Monitor 4.2.4  V6, available January 2006 Platforms: AIX, Windows WebSphere Integration Developer  V6.0 previously known as WSAD-IE V5.1.1*  V6, available since Sept 29, 2005 Platforms: Windows, Linux WebSphere Process Server  V6.0 Replaces:  WBI-SF, WBI Server 4.x( MQ-WF, ICS)  V6, available since Sept 29, 2005 Runs on WAS ND 6.01.2 ESB inside Platforms: Windows, Linux, HP, Solaris,  WebSphere ESB V6.01, WebSphere Process Server 6.01 available since December 2005 Runs on WAS 6.02 6.01 upgrade to WID as well Adds zLinux as platform, zOS is 2Q06 WebSphere Adaptors  V6.0 JCA Adaptors (PeopleSoft, Siebel, SAP, JDBC, Text) and WBI Classic Adaptors   available Sept 29, 2005 WebSphere Partner Gateway  6.0 .0.1 Available Service Service Service Service 2 Service Service Service Service Service Service Generate Decline Service
Topics for WPS/WID Current Content/Architecture 6.01 Summary above and beyond 6.0 Details Usage Patterns Beyond 6.01
WebSphere Process Server 6.01 Components WebSphere   Application Server  Dynamic Service Selection Human Tasks Business State Machines Business Rules SOA Core Service Component Architecture Business Objects Common Event Infrastructure Interface Maps Business Object Maps Relation-ships Supporting Services Mediation Flows (ESB) Business Processes Service Components
WebSphere Application Server, ESB, and Process Server WebSphere Application Server WebSphere Application Server ND WebSphere ESB WebSphere Process Server App Server Clustering Mediation Choreography And Solution Viewpoint
SCA Invocation Models StockQuoteModule PortfolioManagerModule Invocation Models Synchronous  (by ref) Asynchronous – One Way (by value) Asynchronous – Deferred Response (by value) Asynchronous – Response with Callback (by value) Invocation Models Synchronous  (by value) Asynchronous – One Way (by value) Asynchronous – Deferred Response (by value) Asynchronous – Response with Callback (by value)
SCA Based Integration  - Bindings EIS Import SCA Module B Web Service App SCA Import WS Import JMS Application WBI Adapter WebSphere Adapter Web Service App SCA Module A JMS App WBI Adapter WebSphere Adapter J2EE Application SCA Module A J2EE Application We have native ‘SCA’ bindings for SCA to SCA (modules).  In addition to that, we allow SCA components to be called from (look left) a variety of client programming styles and we allow SCA programs to view a number of services as WSDL describe SOA services (look right)  JCA JCA JMS Export JMS Import SCA Export WS Export EIS Export SCA Export WS Export SCA Import WS Import SLSB Import
SCA  Admin  Mapping SCA Module name to J2EE Application name
Abstraction and the Programming Model J2EE EJB  Abstraction   SCA Business  Rules SCA POJO SCA Business  State Machine* SCA Human  Tasks SCA Business Processes (BPEL)* J2EE Skills ---  Simple Java ---  Scripts --  Spreadsheets  -- Decision Tables  SCA Interface  Transformation* SCA ESB Mediations XML based implementation formats *=allows but doesn’t require snippets in java SCA System  Services  Integration Specialist Business Analyst Higher Programming Skill Required  Lower
SCA and SDO Standardization What we announced in November, 2005 A series of specifications aimed at developers building solutions and components using Service Oriented Architecture principles: –  Service Component Architecture (SCA) –  Service Data Objects (SDO) Meeting Customer Needs: –  Simplification of Development (Simplify the enterprise developers life) –  Composition and Implementation of Services –  Multiple Language support (Java, C++, BPEL, PHP) –  Flexible Quality of Service –  Broad Industry Support –  A procedure for obtaining community feedback Early Code Availability –  Runtime offering for Developers, supporting the programming model in C++ and Java The specs on the IBM web site: http://www.ibm.com/developerworks/library/specification/ws-sca/
Document Review Scenario Using Ad-hoc Tasks Cool, now I can just combine the comments and complete the task.  OK. Let's see if they are done yet.  H uman  T ask  M anager Create Ad-hoc task Assign Work Assign Work Assign Work Assign Work Complete Work Complete Work Complete Work Complete Work Get Results All-right, lets schedule some work for my colleagues NEW in 6.0.1
Document Review Scenario Using Ad-hoc Tasks H uman  T ask  M anager GetResults Everything done. Excellent! Complete Work NEW in 6.0.1
WebSphere Integration Developer 6.0 Reduce cost of skills Default = Little to no Java Roles / progressive disclosure Accelerate skills  Tutorials Out of Box Experience Samples Reduce time to deployment Business Objects, Relationships  Wiring / Components End-to-end test framework Simplify the authoring metaphor Interface / Data transformation Business Process Business Rules Business State Machines Business Events Point Click Integrate
WPS/WID 6.01 Summary Linux zSeries Platform Red Hat Enterprise v4 SuSE Linux Enterprise v9 Clients bundled with WebSphere ESB and the Process Server: Message Service Client for C/C++ and .NET Provides an API called XMS (Extended Messaging Service) that is consistent with the Java Message Service (JMS) API It is an upgraded version of the IBM Message Service Clients that is available for WebSphere MQ Also available as a standalone product, known as the “ Messaging Service Clients ” Web Services Client for C++ Provides a set of libraries and tools that enable you to build ANSI C++ web service client applications from existing WSDL Allows C/C++ applications to make Web Service invocations ESB features and functions – not covered in detail in this presentation Details for these 3 already covered SCA Admin  Ad-hoc Human Tasks Production Deployment Support
ESB server IHS LDAP WAS server WAS server WAS server ESB server WAS server WAS server WAS server WAS DMGR Administer/Observe Web projects WPS DMGR WPS server WPS server WPS server WPS server WPS server WPS server Workflow Human Task CEI WPRCSDB CEI DB BPEDB ME DB WPS server WPS server WPS server Services Messaging WAS server WAS server ESB server ESB DB Mediation Heading Towards a Production Topology
Advanced Configuration    Example
Network Deployment Topologies Same cluster Same cluster Different clusters Different clusters ME = Messaging Engine;  Dest = JMS Destination;  App = Application ND 2 clustered:   App not clustered: ME, Dest ND 1 clustered:   none not clustered: App, ME, Dest ND 3 clustered:   ME not clustered: App, Dest ND 4 clustered:   ME, Dest not clustered: App ND 5 clustered:   App, ME not clustered: Dest ND 6 clustered:   App, ME, Dest not clustered:  ND 7 clustered:   App, ME not clustered: Dest ND 8 clustered:   App, ME, Dest not clustered:
Other Topics of Interest Portal 5.1.03 Portal, March 2006 (we can do POCs now) Portal can be part of same cell as WPS and has WPS ‘underneath’ Worklist Portlets supplied (display and claim and alert) but task processing portlets are written to complete. When Portal is on WPS, then accessing SCA Components can done via SCA Binding, Web Services binding and JMS binding    some configuration required Migration ICS Artifact Migration  MQWF Artifact Migration WBISF Artifact Migration  WebSphere XD plans WebSphere XD 6.01 and WPS 6.01 will work together On-Demand Router (ODR) -> will handle prioritization and SLA for HTTP and JMS inbound traffic Dynamic Clusters Performance Improvements coming on regular intervals,  Scalability is good Accessing J2EE/EJB/Java Multiple ways, non optimal JMS Access Custom  (see below)
WPS Performance Information 6.0, 6.01 and 6.01.n Travel booking Banking Async  JMS Contact Manager  Sync and Async
Banking Results
Contact Manager Results
Clustering Results
Other things to know about Today’s WPS and WID SCA Explorer – browses your live system so see your ‘services’  https://cbs6.rchland.ibm.com/Diamond/60Resources/samples/utilities/scaExplorer.ear .NET Client story (focus on .NET API for BPC/HTM) https://websphere.rchland.ibm.com/Diamond/60Resources/BPCHTMClient/ Developerworks (accessible to customers) -  http://www-128.ibm.com/developerworks/websphere/zones/businessintegration/ Packaging - http://www-128.ibm.com/developerworks/websphere/library/techarticles/0512_phan2/0512_phan2.html WPS and Web Services -  http://www.ibm.com/developerworks/websphere/library/techarticles/0512_phan/0512_phan.html … many, many  more including SCA, Migration, …. Some internal papers  – more details than DW or not yet through the DW process https://cbs6.rchland.ibm.com/Diamond/Eric/WebSphere_Process_Server_Technical_Whitepapers.html January 17, 2006 -  Clustering WPS and WESB Environments   General V6 info https://cbs6.rchland.ibm.com/Diamond/60Resources/index.html https://cbs6.rchland.ibm.com/Tanzanite/601Resources/index.html http://instawiki.webahead.ibm.com/pilot/wiki/Wiki.jsp?page=GettingStarted&wiki=WebSphereProcessServer#section-GettingStarted-3.GetTheSoftware Getting Help https://cbs6.rchland.ibm.com/Tanzanite/601Resources/index.html#Help WPS 6.0 Performance Report http://instawiki.webahead.ibm.com/pilot/wiki/Wiki.jsp?page=Performance&wiki=WebSphereProcessServer
Process Server Usage Patterns – Early Experience Business Process Automation (BPEL engine for short and long running business processes with and without human interaction)  Business process exception handling Deployed in conjunction with or without a process portal Enterprise Application Integration (with and without B2B) Simple and advanced data synchronization Leverage additional capabilities in WPS to build re-usable services Deployed with or without WebSphere Partner Gateway (for B2B) Data Access Provide access to existing enterprise data across disparate data sources Composite Application Leverage existing and new services to implement an order processing application
Paths to WPS No No No Yes WID No Yes Yes Yes WBM+WID+ Monitor No No Yes Yes WBM+WID No No No Yes WID+RAD No Yes No Yes WID+RAD+ Monitor (future) No Yes No Yes WID + Monitor (future) Yes No Yes Yes WBM+RSA+WID  (Future) Yes Yes Yes Yes WBM+RSA+WID+ Monitor (Future) Scenario Architect? Monitor? Bus. Modeling? Construct / Assemble (WID)
WPS and WID -  6.1 and Beyond Process Server Platforms zOS Support 64 bit Performance Production Topologies/Configurations Simpler Administration/Configuration Consistent HA XD Toleration    Exploitation Specialized ‘servers/JVMs’  More Integration Capabilities: Event Sequencing ‘inside’  Consistent SCA Component interaction style Enhanced Business Rules/Selector Capabilities Dynamicity/Versioning Connect/Integration – HTTP binding, MQ binding, better EJB integration  Service Registry exploitation Monitoring Solution monitoring Instance monitoring Tivoli product integration Administration Solution administration Consistent failure/recovery management Evolve towards SOA/SCA admin model WS-* usage and exploitation in the programming model BPC WBI 6.x/7.x – Business Flow Manager Support for upcoming standards: WS-BPEL 2.0 BPELJ – Java/J2EE integration into/for BPEL BPEL4People – incorporation of people into processes BPEL-SPE – support for sub-processes via WS-BA Improved flexibility and dynamicity for long-running process Ad-hoc modification of individual running instances Modification of process models with running instances Enhanced modeling capabilities Support for cycles Tighter integration with WBI-Modeler Single person workflow People links Extended interfaces SCA-based APIs, enabling .NET clients BPC WBI 6.x/7.x – Human Task Manager Support for upcoming standards: BPEL4people stand-alone tasks Integration with forms Support for offline work Substitution, delegation Subtasks, follow-on tasks WebSphere Integration Developer Improved team support Update/Change Scenarios Footprint/memory Usability
Conclusion and Summary
Patterns Across Products Things that we’re seeing Adaptor + Process Server - almost always have an adaptor or 2 in the mix Broker + Process Server  Portal + Process Server  Many Modeler    WID/WPS projects, but Modeler still being used by architects in many of these scenarios WAS/J2EE + Process Server  - New projects, that might have previously focused on J2EE exclusively, now want to incorporate ‘process’ and thus SOA.  Periodic WebSphere Partner Gateway plus Process Server Modeler    WID    RSA Expect more Content Manager + Process Server (we saw a few WBI-SF + CM) Related Realties Lots of J2EE applications that now we want to make services of Limited ‘true’ SOA design skills
Applying the V6.0 Stack to Business Problems  Reality is: The ‘no code’ objective is only partially met and in fact, so far we see a few POJOs in almost everything we do. We need the products to work better together with in WBI and across AIM and SWG.  We know this and are working on this.  Problems we are solving today Business process automation Service creation Integration of existing Assets Production Deployment  Enable an SOA Culture to be born, grow and deliver business value Connection to a lot of things Problems we will enable next Event Driven Automatic Service Composition, Selection Complete Business Monitoring of SOA Completely dynamic SLA management Integration of Registry thought at development and runtime Complete Ubiquitous “Connection”  Dynamicity and Full support for the lifeCycle of SOA based solutions Problems we are not going to solve (yet) ? Rules inferencing
Misc. Information  Production Customers coming soon WPS on zOS – June 2006, beta program Clustering works just fine Clustering works just fine XD and WPS work together, more power Things that are challenging us in POCs Bus 3 rd  party JMS providers XML/HTTP integration Rules functionality Calling EJBs/Java from BPEL process (likely also a ‘bus’ thing) We’re cataloging ‘where did I have to write code’ versus meeting our goal of solutions without coding
Backup
Adaptors and WebSphere Process Server 6.0 1. WBI Adapter   (existing non-JCA) Standalone  Agent Runtime 2. JCA 1.5 Adapter WAS V6.0 3. Enriched JCA 1.5 WBI  (new adapter) WBI Server 6.0 WBI Added Value SPIs 1. WBI Adapter   (existing non-JCA) Standalone  Agent Runtime 2-JCA 1.0/1.5 Adapter WAS V6.0 3. Enriched JCA 1.5 WBI  (new adapter) WBI Server 6.0 WBI Added Value SPIs Separation of tasks performed: The ‘connector’ –  communications, QOS initiation, propogation, termination, etc..,   Adaptor (SCA Import/Export)  – EIS inbound format to AsBO,  AsBO to EIS specific  outbound format  WBI Mediation Component (SCA)  – convert AsBO to GBO, GBO to ASBO, Selection, etc.. Adaptor Export (Inbound) Adaptor Import (Outbound) Inbound Outbound Runtime Extensions for QOS IBM Adaptor Offering to include: SAP Siebel PeopleSoft 4. JDBC Adaptor 5. JText Adaptor Adaptor Base Classes/Toolkit to enable partners JMS JMS
WebSphere and WBI Adaptors 6.1 and Beyond JCA Adaptors Efficiency Usability/Consumabilty Fill out features in individual adaptors Query enhancements New JCA Adaptors JD Edwards Email FTP Oracle Apps Related info HTTP – SCA binding JMS/MQ – SCA binding Note: WebSphere ESB is the base runtime for adaptors in 6.01
Designing Systems For SOA    What we can enable SOA Observations   SOA isn’t a substitute for good design Simple ‘wrappers’ are still ‘simple’ Data, Process and State still matter Good architects, designers and programmers are still needed Good programmers are still needed – hopefully not as many SOA isn’t SOAP, it isn’t just web services and it isn’t just UDDI WSDL and XML (XSD) are the most important ‘notation’ and concepts for SOA Java Services can participate in a SOA in a first class way (via our SCA based approach) WBI 6.0 , built on top of a solid foundation should really : let us get back to first principles let us really get out of the plumbing let us introduce an “integration specialist” role let us leverage the creations of the past effectively in these modern architectures How do we approach this to succeed? How do we approach design? Data Definitions XSD – doc-literal    key to having interfaces that are resilient Requires serious design work to get right Service creation At the edges – abstractions or services where adaptation is needed.  These are: Adaptors External web services External systems accessed via JMS/MQ/Messaging Granularity - microflows or Java Components that ‘level’ or ‘right size’ the abstraction layer  “ In the middle” – Which tools work the best – reuse models Qualities of service – transparent, but necessary (UOW, security, caching, ..) What are the Key Performance Indicators? What pieces are shared? Amongst?  1 2 3
Process Server Usage Patterns – Early Experience Just Build BPEL Processes  – like WBI SF 5.1 Macroflow (and associated patterns) Microflow (and associated patterns) Human Interaction heavy – consider HTM Build integration solutions  with key new services and assemble into solutions centered around integration (synchronization, etc..)  Use maps, selectors, POJOs to create the ‘glue’ Focus on “Building Services” New business logic view ‘rules’, ‘BPEL’, ‘BSM’ and ‘HTM’  Build those ‘imports’ and ‘exports’ from JMS, Web Services, EJBs, CORBA, CICS, Adaptors in general.. Focus on “Assembling Solutions” Composition New modules where most everything comes from other ‘modules’ Interface Patterns  Doc-lit wrappered, Doc-lit, RPC-.. Java Data patterns Where do the XSDs come from: Get your XSDs from Modeler Get your XSDs from 3 rd  parties or standards Build your XSDs AsBO/GBO PODO  Change summary Event Summary Java Beans Other Reusable ‘interfaces’, ‘maps’, … Heavily Modeler Driven – top down..  Heavy ‘value’, less ‘technology’ focused There are a lot of ways to use this platform.  Get started now.  This is SOA today.  No waiting.
References and Further Readings Business process choreography in WebSphere:  Combining the power of BPEL and J2EE http://researchweb.watson.ibm.com/journal/sj/432/kloppmann.html   IBM Systems Journal Issue on Service Oriented Architecture http://researchweb.watson.ibm.com/journal/sj44-4.html   SOA programming model for implementing Web services,  Part 8: Human-based Web services http://www-128.ibm.com/developerworks/webservices/library/ws-soa-progmodel8/   Web Services Platform Architecture (Prentice Hall, 2005) Web Services Business Process Execution Language Version 2.0, Committee Draft, 01 September 2005 http://www.oasis-open.org/committees/download.php/14616/wsbpel-specification-draft.htm   WS-BPEL Extension for People http://www.ibm.com/developerworks/webservices/library/specification/ws-bpel4people/   WS-BPEL 2.0 Extensions for Sub-Processes http://www.ibm.com/developerworks/webservices/library/specification/ws-bpelsubproc/   BPELJ: BPEL for Java technology http://www.ibm.com/developerworks/library/specification/ws-bpelj/
Predefined Tasks and Ad-hoc Tasks Predefined Tasks are tasks that are defined using the Task Execution Language (TEL) They are created using some kind of modeling tool (WID, Notepad, ..) They are either defined standalone or inline in a BPEL process They are deployed as part of an SCA module, using the standard WebSphere deployment mechanisms Ad-hoc Tasks are tasks that are defined at runtime using an ad-hoc task creation API of the Human Task Manager Tasks and Task Templates can be created ad-hoc The meta data used for the ad-hoc creation is specified programmatically Restriction in 6.0.1:  If ad-hoc tasks use complex data types then these data types have to be deployed as part of an enterprise application before creating the ad-hoc task using them
SOA Business Process Standards Roadmap UML2 BPMN …  more to come … WS-Notification Common Base Events / WSDM Events …  more to come … WS-BPEL BPEL4People …  more to come … BPELJ (Java) …  more to come … Modeling & Notation Platform integration Process Definition Monitoring
Cluster Properties

More Related Content

Ibm 1 Wps Arch

  • 1. WPS/WID Architecture & Strategy Eric Herness, IBM Distinguished Engineer, WBI Chief Architect, herness@us.ibm.com
  • 2. Agenda/Contents Big Picture Products WebSphere Business Modeler WebSphere Process Server and WebSphere Integration Developer WebSphere Adaptors and WBI Adaptors WebSphere Business Monitor Conclusion
  • 3. SOA Programming Model Design Focus on business design modeling, simplification, and role-based collaboration Use of declarative policy …. User Interaction Dynamic support for people integration into the business design Business Components Composable and reusable service implementations Information Built-in access to service state, disconnected service-data exchange, information composition and transformation Composition of Business-level Applications Wired assembly of services to form business-level applications, workflows, and business orchestration Invocation Loosely-coupled call-style and event-driven interconnection of services with built-in support for topology transparency, mediation, and brokering featuring standards-based interoperability Design ( Models, Patterns, Templates, Policy ) Composition Business Components Information User Interaction Invocation
  • 5. Managing Your Business Processes with a Service Oriented Architecture WebSphere Integration Developer WebSphere Process Server WebSphere Business Monitor WebSphere Business Modeler Clean hand-off from IT with Business Models, Metrics Constructs for dynamic and adaptive business processes based on an integration platform Real time management of business processes Feedback for continuous improvement Enterprise Service Bus Enabling complete life cycle of business process WebSphere Business Modeler V6.0 previously known as WBI Modeler Current Version: WBI Modeler 5.1.2 V6, available since November 2005 Platforms: Windows WebSphere Business Monitor V6.0 previously known as WBI Monitor Current Version: WBI Monitor 4.2.4 V6, available January 2006 Platforms: AIX, Windows WebSphere Integration Developer V6.0 previously known as WSAD-IE V5.1.1* V6, available since Sept 29, 2005 Platforms: Windows, Linux WebSphere Process Server V6.0 Replaces: WBI-SF, WBI Server 4.x( MQ-WF, ICS) V6, available since Sept 29, 2005 Runs on WAS ND 6.01.2 ESB inside Platforms: Windows, Linux, HP, Solaris, WebSphere ESB V6.01, WebSphere Process Server 6.01 available since December 2005 Runs on WAS 6.02 6.01 upgrade to WID as well Adds zLinux as platform, zOS is 2Q06 WebSphere Adaptors V6.0 JCA Adaptors (PeopleSoft, Siebel, SAP, JDBC, Text) and WBI Classic Adaptors available Sept 29, 2005 WebSphere Partner Gateway 6.0 .0.1 Available Service Service Service Service 2 Service Service Service Service Service Service Generate Decline Service
  • 6. Topics for WPS/WID Current Content/Architecture 6.01 Summary above and beyond 6.0 Details Usage Patterns Beyond 6.01
  • 7. WebSphere Process Server 6.01 Components WebSphere Application Server Dynamic Service Selection Human Tasks Business State Machines Business Rules SOA Core Service Component Architecture Business Objects Common Event Infrastructure Interface Maps Business Object Maps Relation-ships Supporting Services Mediation Flows (ESB) Business Processes Service Components
  • 8. WebSphere Application Server, ESB, and Process Server WebSphere Application Server WebSphere Application Server ND WebSphere ESB WebSphere Process Server App Server Clustering Mediation Choreography And Solution Viewpoint
  • 9. SCA Invocation Models StockQuoteModule PortfolioManagerModule Invocation Models Synchronous (by ref) Asynchronous – One Way (by value) Asynchronous – Deferred Response (by value) Asynchronous – Response with Callback (by value) Invocation Models Synchronous (by value) Asynchronous – One Way (by value) Asynchronous – Deferred Response (by value) Asynchronous – Response with Callback (by value)
  • 10. SCA Based Integration - Bindings EIS Import SCA Module B Web Service App SCA Import WS Import JMS Application WBI Adapter WebSphere Adapter Web Service App SCA Module A JMS App WBI Adapter WebSphere Adapter J2EE Application SCA Module A J2EE Application We have native ‘SCA’ bindings for SCA to SCA (modules). In addition to that, we allow SCA components to be called from (look left) a variety of client programming styles and we allow SCA programs to view a number of services as WSDL describe SOA services (look right) JCA JCA JMS Export JMS Import SCA Export WS Export EIS Export SCA Export WS Export SCA Import WS Import SLSB Import
  • 11. SCA Admin Mapping SCA Module name to J2EE Application name
  • 12. Abstraction and the Programming Model J2EE EJB Abstraction SCA Business Rules SCA POJO SCA Business State Machine* SCA Human Tasks SCA Business Processes (BPEL)* J2EE Skills --- Simple Java --- Scripts -- Spreadsheets -- Decision Tables SCA Interface Transformation* SCA ESB Mediations XML based implementation formats *=allows but doesn’t require snippets in java SCA System Services Integration Specialist Business Analyst Higher Programming Skill Required Lower
  • 13. SCA and SDO Standardization What we announced in November, 2005 A series of specifications aimed at developers building solutions and components using Service Oriented Architecture principles: – Service Component Architecture (SCA) – Service Data Objects (SDO) Meeting Customer Needs: – Simplification of Development (Simplify the enterprise developers life) – Composition and Implementation of Services – Multiple Language support (Java, C++, BPEL, PHP) – Flexible Quality of Service – Broad Industry Support – A procedure for obtaining community feedback Early Code Availability – Runtime offering for Developers, supporting the programming model in C++ and Java The specs on the IBM web site: http://www.ibm.com/developerworks/library/specification/ws-sca/
  • 14. Document Review Scenario Using Ad-hoc Tasks Cool, now I can just combine the comments and complete the task. OK. Let's see if they are done yet. H uman T ask M anager Create Ad-hoc task Assign Work Assign Work Assign Work Assign Work Complete Work Complete Work Complete Work Complete Work Get Results All-right, lets schedule some work for my colleagues NEW in 6.0.1
  • 15. Document Review Scenario Using Ad-hoc Tasks H uman T ask M anager GetResults Everything done. Excellent! Complete Work NEW in 6.0.1
  • 16. WebSphere Integration Developer 6.0 Reduce cost of skills Default = Little to no Java Roles / progressive disclosure Accelerate skills Tutorials Out of Box Experience Samples Reduce time to deployment Business Objects, Relationships Wiring / Components End-to-end test framework Simplify the authoring metaphor Interface / Data transformation Business Process Business Rules Business State Machines Business Events Point Click Integrate
  • 17. WPS/WID 6.01 Summary Linux zSeries Platform Red Hat Enterprise v4 SuSE Linux Enterprise v9 Clients bundled with WebSphere ESB and the Process Server: Message Service Client for C/C++ and .NET Provides an API called XMS (Extended Messaging Service) that is consistent with the Java Message Service (JMS) API It is an upgraded version of the IBM Message Service Clients that is available for WebSphere MQ Also available as a standalone product, known as the “ Messaging Service Clients ” Web Services Client for C++ Provides a set of libraries and tools that enable you to build ANSI C++ web service client applications from existing WSDL Allows C/C++ applications to make Web Service invocations ESB features and functions – not covered in detail in this presentation Details for these 3 already covered SCA Admin Ad-hoc Human Tasks Production Deployment Support
  • 18. ESB server IHS LDAP WAS server WAS server WAS server ESB server WAS server WAS server WAS server WAS DMGR Administer/Observe Web projects WPS DMGR WPS server WPS server WPS server WPS server WPS server WPS server Workflow Human Task CEI WPRCSDB CEI DB BPEDB ME DB WPS server WPS server WPS server Services Messaging WAS server WAS server ESB server ESB DB Mediation Heading Towards a Production Topology
  • 19. Advanced Configuration  Example
  • 20. Network Deployment Topologies Same cluster Same cluster Different clusters Different clusters ME = Messaging Engine; Dest = JMS Destination; App = Application ND 2 clustered: App not clustered: ME, Dest ND 1 clustered: none not clustered: App, ME, Dest ND 3 clustered: ME not clustered: App, Dest ND 4 clustered: ME, Dest not clustered: App ND 5 clustered: App, ME not clustered: Dest ND 6 clustered: App, ME, Dest not clustered: ND 7 clustered: App, ME not clustered: Dest ND 8 clustered: App, ME, Dest not clustered:
  • 21. Other Topics of Interest Portal 5.1.03 Portal, March 2006 (we can do POCs now) Portal can be part of same cell as WPS and has WPS ‘underneath’ Worklist Portlets supplied (display and claim and alert) but task processing portlets are written to complete. When Portal is on WPS, then accessing SCA Components can done via SCA Binding, Web Services binding and JMS binding  some configuration required Migration ICS Artifact Migration MQWF Artifact Migration WBISF Artifact Migration WebSphere XD plans WebSphere XD 6.01 and WPS 6.01 will work together On-Demand Router (ODR) -> will handle prioritization and SLA for HTTP and JMS inbound traffic Dynamic Clusters Performance Improvements coming on regular intervals, Scalability is good Accessing J2EE/EJB/Java Multiple ways, non optimal JMS Access Custom (see below)
  • 22. WPS Performance Information 6.0, 6.01 and 6.01.n Travel booking Banking Async JMS Contact Manager Sync and Async
  • 26. Other things to know about Today’s WPS and WID SCA Explorer – browses your live system so see your ‘services’ https://cbs6.rchland.ibm.com/Diamond/60Resources/samples/utilities/scaExplorer.ear .NET Client story (focus on .NET API for BPC/HTM) https://websphere.rchland.ibm.com/Diamond/60Resources/BPCHTMClient/ Developerworks (accessible to customers) - http://www-128.ibm.com/developerworks/websphere/zones/businessintegration/ Packaging - http://www-128.ibm.com/developerworks/websphere/library/techarticles/0512_phan2/0512_phan2.html WPS and Web Services - http://www.ibm.com/developerworks/websphere/library/techarticles/0512_phan/0512_phan.html … many, many more including SCA, Migration, …. Some internal papers – more details than DW or not yet through the DW process https://cbs6.rchland.ibm.com/Diamond/Eric/WebSphere_Process_Server_Technical_Whitepapers.html January 17, 2006 - Clustering WPS and WESB Environments General V6 info https://cbs6.rchland.ibm.com/Diamond/60Resources/index.html https://cbs6.rchland.ibm.com/Tanzanite/601Resources/index.html http://instawiki.webahead.ibm.com/pilot/wiki/Wiki.jsp?page=GettingStarted&wiki=WebSphereProcessServer#section-GettingStarted-3.GetTheSoftware Getting Help https://cbs6.rchland.ibm.com/Tanzanite/601Resources/index.html#Help WPS 6.0 Performance Report http://instawiki.webahead.ibm.com/pilot/wiki/Wiki.jsp?page=Performance&wiki=WebSphereProcessServer
  • 27. Process Server Usage Patterns – Early Experience Business Process Automation (BPEL engine for short and long running business processes with and without human interaction) Business process exception handling Deployed in conjunction with or without a process portal Enterprise Application Integration (with and without B2B) Simple and advanced data synchronization Leverage additional capabilities in WPS to build re-usable services Deployed with or without WebSphere Partner Gateway (for B2B) Data Access Provide access to existing enterprise data across disparate data sources Composite Application Leverage existing and new services to implement an order processing application
  • 28. Paths to WPS No No No Yes WID No Yes Yes Yes WBM+WID+ Monitor No No Yes Yes WBM+WID No No No Yes WID+RAD No Yes No Yes WID+RAD+ Monitor (future) No Yes No Yes WID + Monitor (future) Yes No Yes Yes WBM+RSA+WID (Future) Yes Yes Yes Yes WBM+RSA+WID+ Monitor (Future) Scenario Architect? Monitor? Bus. Modeling? Construct / Assemble (WID)
  • 29. WPS and WID - 6.1 and Beyond Process Server Platforms zOS Support 64 bit Performance Production Topologies/Configurations Simpler Administration/Configuration Consistent HA XD Toleration  Exploitation Specialized ‘servers/JVMs’ More Integration Capabilities: Event Sequencing ‘inside’ Consistent SCA Component interaction style Enhanced Business Rules/Selector Capabilities Dynamicity/Versioning Connect/Integration – HTTP binding, MQ binding, better EJB integration Service Registry exploitation Monitoring Solution monitoring Instance monitoring Tivoli product integration Administration Solution administration Consistent failure/recovery management Evolve towards SOA/SCA admin model WS-* usage and exploitation in the programming model BPC WBI 6.x/7.x – Business Flow Manager Support for upcoming standards: WS-BPEL 2.0 BPELJ – Java/J2EE integration into/for BPEL BPEL4People – incorporation of people into processes BPEL-SPE – support for sub-processes via WS-BA Improved flexibility and dynamicity for long-running process Ad-hoc modification of individual running instances Modification of process models with running instances Enhanced modeling capabilities Support for cycles Tighter integration with WBI-Modeler Single person workflow People links Extended interfaces SCA-based APIs, enabling .NET clients BPC WBI 6.x/7.x – Human Task Manager Support for upcoming standards: BPEL4people stand-alone tasks Integration with forms Support for offline work Substitution, delegation Subtasks, follow-on tasks WebSphere Integration Developer Improved team support Update/Change Scenarios Footprint/memory Usability
  • 31. Patterns Across Products Things that we’re seeing Adaptor + Process Server - almost always have an adaptor or 2 in the mix Broker + Process Server Portal + Process Server Many Modeler  WID/WPS projects, but Modeler still being used by architects in many of these scenarios WAS/J2EE + Process Server - New projects, that might have previously focused on J2EE exclusively, now want to incorporate ‘process’ and thus SOA. Periodic WebSphere Partner Gateway plus Process Server Modeler  WID  RSA Expect more Content Manager + Process Server (we saw a few WBI-SF + CM) Related Realties Lots of J2EE applications that now we want to make services of Limited ‘true’ SOA design skills
  • 32. Applying the V6.0 Stack to Business Problems Reality is: The ‘no code’ objective is only partially met and in fact, so far we see a few POJOs in almost everything we do. We need the products to work better together with in WBI and across AIM and SWG. We know this and are working on this. Problems we are solving today Business process automation Service creation Integration of existing Assets Production Deployment Enable an SOA Culture to be born, grow and deliver business value Connection to a lot of things Problems we will enable next Event Driven Automatic Service Composition, Selection Complete Business Monitoring of SOA Completely dynamic SLA management Integration of Registry thought at development and runtime Complete Ubiquitous “Connection” Dynamicity and Full support for the lifeCycle of SOA based solutions Problems we are not going to solve (yet) ? Rules inferencing
  • 33. Misc. Information Production Customers coming soon WPS on zOS – June 2006, beta program Clustering works just fine Clustering works just fine XD and WPS work together, more power Things that are challenging us in POCs Bus 3 rd party JMS providers XML/HTTP integration Rules functionality Calling EJBs/Java from BPEL process (likely also a ‘bus’ thing) We’re cataloging ‘where did I have to write code’ versus meeting our goal of solutions without coding
  • 35. Adaptors and WebSphere Process Server 6.0 1. WBI Adapter (existing non-JCA) Standalone Agent Runtime 2. JCA 1.5 Adapter WAS V6.0 3. Enriched JCA 1.5 WBI (new adapter) WBI Server 6.0 WBI Added Value SPIs 1. WBI Adapter (existing non-JCA) Standalone Agent Runtime 2-JCA 1.0/1.5 Adapter WAS V6.0 3. Enriched JCA 1.5 WBI (new adapter) WBI Server 6.0 WBI Added Value SPIs Separation of tasks performed: The ‘connector’ – communications, QOS initiation, propogation, termination, etc.., Adaptor (SCA Import/Export) – EIS inbound format to AsBO, AsBO to EIS specific outbound format WBI Mediation Component (SCA) – convert AsBO to GBO, GBO to ASBO, Selection, etc.. Adaptor Export (Inbound) Adaptor Import (Outbound) Inbound Outbound Runtime Extensions for QOS IBM Adaptor Offering to include: SAP Siebel PeopleSoft 4. JDBC Adaptor 5. JText Adaptor Adaptor Base Classes/Toolkit to enable partners JMS JMS
  • 36. WebSphere and WBI Adaptors 6.1 and Beyond JCA Adaptors Efficiency Usability/Consumabilty Fill out features in individual adaptors Query enhancements New JCA Adaptors JD Edwards Email FTP Oracle Apps Related info HTTP – SCA binding JMS/MQ – SCA binding Note: WebSphere ESB is the base runtime for adaptors in 6.01
  • 37. Designing Systems For SOA  What we can enable SOA Observations SOA isn’t a substitute for good design Simple ‘wrappers’ are still ‘simple’ Data, Process and State still matter Good architects, designers and programmers are still needed Good programmers are still needed – hopefully not as many SOA isn’t SOAP, it isn’t just web services and it isn’t just UDDI WSDL and XML (XSD) are the most important ‘notation’ and concepts for SOA Java Services can participate in a SOA in a first class way (via our SCA based approach) WBI 6.0 , built on top of a solid foundation should really : let us get back to first principles let us really get out of the plumbing let us introduce an “integration specialist” role let us leverage the creations of the past effectively in these modern architectures How do we approach this to succeed? How do we approach design? Data Definitions XSD – doc-literal  key to having interfaces that are resilient Requires serious design work to get right Service creation At the edges – abstractions or services where adaptation is needed. These are: Adaptors External web services External systems accessed via JMS/MQ/Messaging Granularity - microflows or Java Components that ‘level’ or ‘right size’ the abstraction layer “ In the middle” – Which tools work the best – reuse models Qualities of service – transparent, but necessary (UOW, security, caching, ..) What are the Key Performance Indicators? What pieces are shared? Amongst? 1 2 3
  • 38. Process Server Usage Patterns – Early Experience Just Build BPEL Processes – like WBI SF 5.1 Macroflow (and associated patterns) Microflow (and associated patterns) Human Interaction heavy – consider HTM Build integration solutions with key new services and assemble into solutions centered around integration (synchronization, etc..) Use maps, selectors, POJOs to create the ‘glue’ Focus on “Building Services” New business logic view ‘rules’, ‘BPEL’, ‘BSM’ and ‘HTM’ Build those ‘imports’ and ‘exports’ from JMS, Web Services, EJBs, CORBA, CICS, Adaptors in general.. Focus on “Assembling Solutions” Composition New modules where most everything comes from other ‘modules’ Interface Patterns Doc-lit wrappered, Doc-lit, RPC-.. Java Data patterns Where do the XSDs come from: Get your XSDs from Modeler Get your XSDs from 3 rd parties or standards Build your XSDs AsBO/GBO PODO Change summary Event Summary Java Beans Other Reusable ‘interfaces’, ‘maps’, … Heavily Modeler Driven – top down.. Heavy ‘value’, less ‘technology’ focused There are a lot of ways to use this platform. Get started now. This is SOA today. No waiting.
  • 39. References and Further Readings Business process choreography in WebSphere: Combining the power of BPEL and J2EE http://researchweb.watson.ibm.com/journal/sj/432/kloppmann.html IBM Systems Journal Issue on Service Oriented Architecture http://researchweb.watson.ibm.com/journal/sj44-4.html SOA programming model for implementing Web services, Part 8: Human-based Web services http://www-128.ibm.com/developerworks/webservices/library/ws-soa-progmodel8/ Web Services Platform Architecture (Prentice Hall, 2005) Web Services Business Process Execution Language Version 2.0, Committee Draft, 01 September 2005 http://www.oasis-open.org/committees/download.php/14616/wsbpel-specification-draft.htm WS-BPEL Extension for People http://www.ibm.com/developerworks/webservices/library/specification/ws-bpel4people/ WS-BPEL 2.0 Extensions for Sub-Processes http://www.ibm.com/developerworks/webservices/library/specification/ws-bpelsubproc/ BPELJ: BPEL for Java technology http://www.ibm.com/developerworks/library/specification/ws-bpelj/
  • 40. Predefined Tasks and Ad-hoc Tasks Predefined Tasks are tasks that are defined using the Task Execution Language (TEL) They are created using some kind of modeling tool (WID, Notepad, ..) They are either defined standalone or inline in a BPEL process They are deployed as part of an SCA module, using the standard WebSphere deployment mechanisms Ad-hoc Tasks are tasks that are defined at runtime using an ad-hoc task creation API of the Human Task Manager Tasks and Task Templates can be created ad-hoc The meta data used for the ad-hoc creation is specified programmatically Restriction in 6.0.1: If ad-hoc tasks use complex data types then these data types have to be deployed as part of an enterprise application before creating the ad-hoc task using them
  • 41. SOA Business Process Standards Roadmap UML2 BPMN … more to come … WS-Notification Common Base Events / WSDM Events … more to come … WS-BPEL BPEL4People … more to come … BPELJ (Java) … more to come … Modeling & Notation Platform integration Process Definition Monitoring