1 / 70

WBI Server Foundation 5.1

WebSphere Business Integration Server Foundation 5.1 Eric Herness, Chief Architect, WBI Server and Tools IBM Rochester, Minnesota herness@us.ibm.com. WBI Server Foundation 5.1. Vision/Reference Architecture Products View Where are we Going? The Marketing view

sunee
Download Presentation

WBI Server Foundation 5.1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WebSphere Business Integration Server Foundation 5.1Eric Herness, Chief Architect, WBI Server and ToolsIBM Rochester, Minnesotaherness@us.ibm.com

  2. WBI Server Foundation 5.1 • Vision/Reference Architecture • Products View • Where are we Going? The Marketing view • WAS Enterprise 5.02/WSAD-IE 5.01 Reviewed • WBI Server Foundation 5.1 Details • Process Choreography • BPEL and FDML • Compensation • Additional EJB 2.0/CMP Support • Assembly Toolkit • WSAD-IE authoring tools • Beyond 5.1 • Summary

  3. Separation of Concerns By decomposing business needs into necessary services and composing combinations of existing and newly created services that represent business processes … Business Need Necessary Functions & Services Composite Application(s) 2 1 3 • Decompose the Business Need into its necessary function and services (Separation of Concerns) • Reuse/Create Business Application Specific function and services (Create/reuse services) • Utilize common services provided by the Operating Environment (Leverage Infrastructure) • RESULT: Implemented Composite Application representing a business process Operating Environment

  4. Elements of an Effective Integration Architecture • Well-defined Interfaces and defined set of protocols • Implements & enforces the “Separation of Concerns” • Appropriate “Separation of Concerns” decomposition of required integration capabilities • Information and Data Access Services • Application and Application Access Services • Process Services • User Interaction Services • Community Integration Services “You start with Web services and you start with good solid object-oriented architectures. Why? Because the fundamentals of engineering like good abstractions, good separation of concerns never go out of style. Just because we have yet another set of protocols does not mean those things get thrown away [Grady Booch, InfoWorld 02/04] .”

  5. Business Integration Reference Architecture Development Platform Business Performance Management Services Interaction Services ProcessServices Information Services Enterprise Service Bus Application and Data Access Services Business Application Services Partner Services Business Application and Data Services Enterprise Applications and Data Infrastructure Services

  6. Business Process Integration Servers: Basics • Coordinates short-lived and long-running processes involving multiple applications and/or human interactions • Server will typically use an ESB for connectivity to applications • ESB use may be as simple as leveraging bundled MQ to support an Adapter call, or may be as sophisticated as leveraging full ESB capabilities of Message Broker • Server can utilize native routing and transformation capabilities, or delegate these services to underlying ESB layer

  7. What’s The Direction

  8. Software Industry trends Integration server technologies (WBI 4.x – MQ-Workflow, ICS, WMQI,…) 2005 2003 2004 On-demand Integrated Platform Suite Application server technologies (WAS, WAS Enterprise,…) • Application and integration server technologies are converging as integration servers adopt open standards and as application servers build out integration functionality • IBM is uniquely positioned to take advantage of market evolution as we are the only middleware provider that can leverage market leading application server and integration server products and technologies

  9. Flashback to the mid-90’s: Integration New Business App Direct Web Access Business Applications Middle-Tier Business Objects (stateless and stateful) Composed Application Services Composed Customer Container Managed Persist. and Conns. CICS MVS IMS MVS DB2 MVS Oracle UNIX Checking Acct Credit Card Personal Info Contact Mgt. External Data Source Feed Current presentation and batch evolution, NOT revolution

  10. Integration of People – Business Process – Information Anywhere, any time, from any device Transactional Processes Information Management Collaboration Application Development, Deployment & Maintenance Business Objectives and Policies Open Standards-based Policy-based Orchestration Optimization Security Availability Provisioning Pools of Virtual Resources Distributed Systems Storage Servers WBI and OnDemand Conceive/Modify Business Idea Define Model Bridge the Chasm between Business and IT Implement Model Move from Programming To Assembly, Customization And Instantiation Monitor and React Autonomic Business Activity Related IT-Business Acquire/Map to Infrastructure Adaptive Allocation Provisioning Orchestration Solution Modeling

  11. WebSphere Business Integration 2004 Guiding Principles • Single Business Integration Vision • Multiple On-Ramps for the Discussion • Industry Based Solutions • Open Standards Technology Platform • Partners Building on the Platform • Engineering Focus • Eliminate the perceived and real overlap in product offerings • Simplify the overall portfolio by delivering a single integration platform that complements and extends the functions of the core J2EE WebSphere Application Server

  12. WebSphere Business Integration Directions • Marry market leading integration capabilities with the market leading application platform Unbeatable Integration Platform Messaging Staff Model, Workflow Compensatory Transactions Business Object Model Mapping, Relationships Process Modelling Process Monitoring Open Standards Web services J2EE (JMS, JCA, etc.) Industry Interoperability Platform Services Common Administration Clustering, Load Balancing Security, Transactions Threading • To deliver an unbeatable integration platform with a fully converged, standards-based business process engine leveraging the full power of WebSphere Application Server

  13. 2004 Portfolio Simplification and Consolidation IBM WebSphere Application Server Enterprise will be re-branded to WebSphere Business Integration Server Foundation • Foundation re-branding occured with the v5.1 release in March • “Foundation” reflects value and positioning as the base for higher value WebSphere Business Integration solutions • Used as the development and runtime environment for building composite applications: • Developed by enterprise customers • Developed by ISV partners • Developed by IBM SWG • Enable WebSphere BI Modeler and WebSphere BI Monitor support for WebSphere BI Foundation v5.1 product by mid-year • WebSphere Business Integration family addresses the entire integration space and forms a smooth continuum with the WebSphere Application Server • WebSphere BI Server Foundation focused on integration • Maintain and enhance process choreography and business rule features • Add new integration capabilities and an improved tooling experience • WSAD-IE 5.1 will be the same name, but paired with WBI Server Foundation IBM Confidential

  14. WAS Enterprise/WBI SF Perspective for 5.xx and 2004 • Today, we’ve got the WAS Enterprise 5.02.1 runtime in the field • all platforms that the base application server supports, except ‘i-series’ and ‘zOS’ s • supported by WSAD-IE 5.01. • Supports FDML flows and the other key PME/WAS E features • Customers have this in production now. We’ve got references • Rebranding ‘renames’ the codebase to WBI Server Foundation (WBI SF) at the 5.1 timeframe. The function is basically the same as WAS Enterprise 5.02.1, except we add: • BPEL based workflows • Some other additional features (CEI, CMP/Services, ..) • Adds platform zOS and i-series • Runs on WAS 5.1 and thus JDK 1.4.1 • Supported by WSAD-IE 5.1 • Timelines • WBI SF and WSAD-IE 5.1 Beta – February 2004 • WBI SF and WSAD-IE 5.1 GM/eGA – March 2004 • WBI Modeler Beta – March 2004 • WBI SF and WSAD-IE 5.1.1 PTF – August 2004 • WBI Modeler GM – Summer 2004 • WBI Monitor Beta … • WBI Monitor GM … • …then onto 6.0 More on these later in this pitch

  15. WBI Server Foundation Includes (in the box) WBI Server Foundation ("umbrella install" capable which means we include WAS 5.1, WAS 5.1.0.2 and the JDK service packs on the WBI SF CDs for better customer out -of-box experience) WebSphere Application Server, V5.1 WebSphere Deployment Manager V5.1 WebSphere Edge Components V5.1 IBM HTTP Server V2.0 WebSphere Application Server Clients V5.1 WebSphere Application Server Toolkit V5.1 DataDirect Technologies JDBC Drivers V5.1 IBM Tivoli Directory Server V5.1 5.2 (limited terms and conditions) WebSphere Business Integration Event Broker V5.0.1(limited terms and conditions) DB2 Enterprise Server Edition, V8.1 FP4 - (limited terms and conditions) WebSphere MQ Client, V5.3.0.2 - (limited terms and conditions) WebSphere MQ Server, V5.3.0.2 -(limited terms and conditions) WSAD-IE Includes (in the box): WebSphere Studio Application Developer Integration Edition, V5.1 for Windows and Linux WebSphere Application Server for Developers, V5.1 for Windows and Linux WebSphere Business Integration Server Foundation, V5.1 for Windows and Linux DB2 Enterprise Server Edition, V8.1 FP4 WBI Server Foundation and WSAD-IE 5.1

  16. Now What?

  17. Business Process Integration: Product Options • WebSphere Interchange Server (WICS) • WebSphere MQ Workflow (WMQWF) • WebSphere Business Integration Server Foundation (WBISF) *Available 2H2004

  18. What is the overall integration requirement? Build composite applications including J2EE components, existing applications, and/or human interactions – WBISF Automated business process flows with coordination between existing applications - WICS Processes with advanced human interactions including automatic escalations, staff substitutions and notifications – WMQWF Which platforms are important to the customer? Windows, AIX, HP-UX, Solaris WBISF, WICS, WMQWF Linux on Intel WBISF, WICS (Q32004) Linux on iSeries/pSeries/zSeries, OS/400, OS/390,z/OS WBISF Do you want to run a abstract set of processes over an abstract business model to do ‘EAI integration’ today? WICS does this now, WBI SF does not yet enable this out of the box Do you want to engage business analysts in the development process, enabling process modeling, simulation and analysis MQWF and WBI SF can import WBI Modeler artifacts (FDL, BPEL) What is the overall comfort/familiarity with J2EE? WBISF is application server based and builds on your WAS infrastructure and skills How are most of the applications to be integrated accessible? Web Services WBISF (although WICS/WMQWF supports them in a less direct manner) WBI Adapters WICS (although WBISF supports them in a less direct manner) JMS/MQ WBISF, WICS, WMQWF JCA WBISF Does customer need the following types of built-in integration services? Event Sequencing in a multi-threaded environment, Cross-Referencing (Relationships) WICS Split/Merge branching within processes, XA transactions, business rules externalized from integration logic WBISF Making Choices

  19. 5.1 WBI SF and 5.1 WSAD-IE

  20. WBI Server Foundation 5.1 Business Model - Entities • CMP/Services-Anything • CMP/Stored Procedures • CMP Optimization/Config. Tool • Application Profile (with a new sample in 5.02) • Dynamic Query (faster in 5.01) • Read-Ahead, Pre-fetch • Option C+ EJBs via Activity Session Svc Business Model - Business Process • Workflow Web Client • Struts-based • Compensation Repair Console • Process Administration • Performance • Workflow - FDML • staff, events, • compensation • micro-flow • macro-flow • BPEL Support • CEI + runtime Integration (BCDS) • Business Rules Beans(with new Rule Management application) • Activity Session Service • Last Participant Support • Transactions SynchronizationCallback • WBIA/CrossWorlds Adapter Access Next Generation Applications • Scheduler and Calendars • Container Managed Messaging** • i18n Service (RMI/IIOP and SOAP/HTTP) • Work Area Service (with partitions) • Startup Beans • Object Pool • AsyncBeans • Work Objects, Event Listeners, Alarm Listeners, Async Scopes • Distributed Map • Web Service Gateway Filters Scalability, Manageability, High Availability, Pluggability • Extended Failover • Mixed Node Administration • Assembly Toolkit Other: • (16) CORBA C++ SDK green = WAS Enterprise 5.02blue=WBI Server Foundation 5.1 function adds

  21. WAS Enterprise 5.02 • Already an integration platform • WAS Base gives us lots of ways to ‘connected and integrate • Java Connector Architecture (JCA) • JDBC and CMP EJB for relational • JMS • Web Services • Transactions • WAS Enterprise and WSAD-IE Builds on that • WBI Adaptor Access • CMP EJB Extensions (Application Profile and • Extended messaging • SOA Tooling through WSAD-IE • Activity Sessions, Last Participant Support, Micro-flow, Macro-flow and Compensation • and then we bring in WBI-SF 5.1 capabilities

  22. WBI Adapter Access in WAS Enterprise 5.02 forward • WAS Access to "WebSphere Business Integration Adapters" (eg..the CW non-JCA adapters) • Supports 4 Runtime Patterns • One-way (steps 1-4) • Request Response (steps 1-9) • most common pattern for simple access to backend data • synchronous, based on WSIF JMS provider • Notification (steps 1-5) • Solicit Response (steps 1-9) • Development Paradigm • Export WSDLs from CrossWorlds tooling for business objects • Import WSDLs into WSAD-IE and create interfaces using normal SOA tooling • Management • simple management of adapter agents from WAS via JMS Queues • Additional Details • works with MQ as the JMS provider • can easily be incorporated into WAS Enterprise workflows • WebSphere Business Integration Adapter Development Kit and specific Adapters sold separately

  23. Work Area Partitions - The WorkArea Partition Service allows a user(s) to create their own WorkArea Partition(s) with a few new QOS options not available on the UserWorkArea Partition. Specifically: "Bidirectional" - If this property is set to true on a Partition, context changes made downstream process will propagate back upstream. If this property is set to false, context changes will only flow downstream as is the case with the UserWorkArea Partition which is always hardcoded to Bidirectional=false. "DeferredAttributeSerialization" - Set to true and this will cause the WorkArea Service to minimize the number of serialization operations. Note though that when "DeferredAttributeSerialization" is not used (set to false, which is the default case and the hardcoded value for the UserWorkArea Partition) WorkArea has complete ownership of the context when it is set into the WorkArea. However, when this property is set to true, WorkArea only holds a reference to the object set into the WorkArea and thus changes made to mutable objects will be reflected in the WorkArea until a remote call is made and the context is serialized. WorkArea sample to demonstrate a user created WorkArea Partition. CMM Extended Messaging late responses: CMM tooling can now generate a Receiver Bean based on an MDB to process late responses. (previously only a hand written MDB could be used for late responses). asynchronous mode of operation for the receiver beans: CMM tooling can now generate receiver beans based on stateless session EJB to process responses, late or not (previously only the original sender could process the responses). Microflow Compensation and Performance of Compensation News about Existing Features from WAS E 5.02

  24. CMP/Services and CMP/Stored Procedures • CMP for Entities backed by non-relational RMs • leverages web services that wrapper backend "CRUD" interactions needed to manage attributes and relationships • "push-down" method support • Leverages extensions in ejbdeploy • Generates ‘skeleton’ in 5.1 to fill in underneath the CMP machinery (will have additional authoring tools in the future) • 5.1 tooling will emit new, custom implementations: • Can emit generic implementation (skeleton to be filled in by customer) • Or can emit implementation templates with JDBC, SQLJ, CCI, EJB, JAX-RPC, WSIF, JService (6.0) and Custom. CMP Entity CMP Entity CMP Entity CMP Over services or user defined create, retrieve, update, delete Service Invocation Service Invocation Service Invocation RDBs CICS, IMS, SAP, and other Java 2 Connectors Provides for more consistent and enhanced static modelling of business entities with EJBs

  25. Assembly Toolkit • WAS Base has an associated Assembly Toolkit – replaces AAT • WBI Server Foundation will have one as well – replaces AAT function of the past • Eclipse-based Some details below: • Includes some unit test capabilities • Specific function related to access intent and application profile • Access intent and application profiling • Base: • In 5.02, rolled out the most-necessary default access intent. This is what you should use whereever you don't need transactional-scoped access intent. • In 5.1, we introduced system-wide optimizations that will shorten code path/improve performance if you only use default intent. This is just one of a number of internal system-wide optimizations that were made in container, pm, and resource adapter to dramatically improve cmp performance. • 5.1 also saw the introduction of deferred create • don't insert the object until the completion of the transaction • and introduced batch update • batch up operations within a transaction into a single database io • WBI Server Foundation: • Introduced pushdown (cmp/a and procedural) • Converged assembly tooling onto eclipse • Introduced auto-analysis for application profiling, statically identifying units of work, the entities enlisted in that unit of work, and the actual operations invoked on each entity during the course of that unit of work, enabling optimal configuration for 80% applications

  26. CMP Optimization – Page 1 Work at EAR level Select “Closed” or “Open”

  27. CMP Optimization – Page 2 Static Analysis App Profiles

  28. Business Process Execution Languagefor Web Services (BPEL4WS) • A language to specify behavior of business processes • Between Web services • As Web services • Same language to define executable processes and business protocols • Executable processes • Can be performed in all compliant environments • Interoperability of heterogeneous environments • Abstract processes • Specify constraints of message exchange • History • 7/2002: Original 1.0 BPEL4WS proposal from BEA, IBM, Microsoft • Combined ideas from IBM’s WSFL and Microsoft’s XLang • 5/2003: Revised 1.1 proposal • With contributions from SAP and Siebel • 4/2003: OASIS Technical Committee formed • Standards-based follow-on to earlier BPEL4WS work • 3/2004 – BPELJ whitepaper, BEA and IBM co-author

  29. Overall Structure of a BPEL Process Process parties that interact with the business process activities that must be performed in response to faults ! PartnerLinks/Partners FaultHandlers data variables used by the process invoked concurrently if the corresponding event occurs Variables EventHandlers set of properties shared by all messages in a correlated group wrapper for a compensation activity CorrelationSets CompensationHandlers basic or structured activity * Activity Receive Reply . . .

  30. Do a blocking wait for a matching message to arrive Send a message in reply to a formerly received message Invoke a one-way or request-response operation on a port type offered by a partner Update the values of variables or partner links with new data Generate a fault from inside the business process Immediately terminate execution of a business process instance Wait for a given time period or until a certain time has passed A “no-op” instruction for a business process Invoke compensation on an inner scope that has already completed BPEL Basic Activities ! Receive Throw Reply Terminate Invoke Wait Empty Assign Compensate

  31. Contained activities are executed in parallel, partially ordered through control links Select exactly one branch of activity from a set of choices Contained activity is repeated while a predicate holds Block and wait for a suitable message to arrive (or time out) Contained activities are performed sequentially in lexical order Associate contained activity with its own local variables, fault handlers, compensation handler, and event handlers Sequence Pick Switch Flow Scope While BPEL Structured Activities

  32. . . . Invoke BPEL Invocation Scenario: Synchronous Interface Process A Process B Process B Process B Partner Link Type Partner Link B-L partnerRole=“b” Partner Link A-L myRole=“b” role a role b 2 Port Type B-PT request-response operation Receive Receive Receive . . . . . . . . . Invoke Invoke . . . . . . . . . Reply Reply Reply

  33. BPEL Invocation Scenario: Asynchronous Interface Process A Process B Process B Process B Partner Link Type Partner Link B-L myRole=“a” Partner Link A-L myRole=“b” role a role b Port Type A-PT Port Type B-PT one-way operation one-way operation . . . . . . Receive Receive Receive Invoke Invoke Invoke . . . . . . . . . . . . . . . . . . Invoke Invoke Invoke Receive Receive Receive

  34. IBM Extensions of BPEL4WS: BPEL+ • Activities implemented as inline Java code • Executed by the business process engine during the process execution • Executed inside the engine • Access to the complete process environment • The variables of the current process, activities, and the process itself • Activities interacting with human workflow participants • Process steps which are “implemented” by people • Upon arrivng at a ‘staff’ activity, a query is invoked to find out which ‘individual’ or ‘group’ is eligble to ‘claim’ the ‘work’ and enable the process to move forward. The process waits (yes, there is a timeout) until the work is completed • Sub-processes supporting life-cycle operations • Command line Deployer • Several other smaller features

  35. Command Line Deploy – Page 1 • Take BPEL Files and associated WSDL files and deploy them • The WPC Standalone Deployment can be found at "<was_home>\ProcessChoreographer\util\deployBPEL.jacl". • It is invoked as follows: • wsadmin -f <was_home>\ProcessChoreographer\util\deployBPEL.jacl [options]

  36. Command Line Deploy – Page 2 • Notes: • SOAP deployment options deferred to 5.1.1

  37. WSAD-IE BPEL Editor

  38. Microflow Performance Steady improvement since 4.1 Macroflow Performance Steady improvement since 5.0 FDML Tuning Information(all described in performance tuning guide) Database Tuning Messaging Tuning WebSphere Tuning ORB Thread Pools EJB Caches JMS JDBC JVM Tuning Operating System Tuning Builds on years of WebSphere Application Server ‘tuning’ experience Performance of Choreography

  39. Performance Update 3

  40. Performance Update 4

  41. Performance – SMP Scaling

  42. Choreography: Topologies for Production • Option 1 • Load balancing occurs when starting the process and with every step of the interruptible process. Most scalable topology, increased footprint due to message spreading in MQ cluster • Option 2 • Load balancing occurs when starting the process and with every step of the interruptible process. Messaging server may become bottleneck in large WAS clusters, less overhead than when using MQ cluster though.

  43. Choreography – Tactics for High Availability • Placement of Function onto Cells and Clusters • Follow ‘normal’ guidelines for WAS Applications • Implies that you have all processes and all services that they use on the same cluster meaning you get HA via: • WAS Clusters • HA on database • HA on MQ • Some alternative choices: • Processes on One Cell, EJBs on another • Microflows on all cells • Mixture of the above • Placement of Cells and Clusters onto Machine • Follow ‘normal’ guidelines for WAS Applications, generally not limiting a cell or cluster to a single machine • Leveraging ‘rolling upgrade’ from WAS and ‘valid from’ that is in Choreographer

  44. WBI Event Infrastructure Event Source Distribute Submit Event Consumer Complete Event Consumer Event Consumer • An event occurs when something significant happens in the IT system. • For example, whenever an application processes a new order or a failure occurs in a critical part of the system. • Our event infrastructure in WBI SF 5.1for business events is based on CEI (Common Event Infrastructure) • Data about the event is captured in an event object. • The event object has a standardized format called the Common Base Event (CBE) • The application supplies the business data and WebSphere fills in the details from the runtime environment such as the server name, J2EE component details and business context. • All event objects are passed to the event infrastructure to enable: • Tracking the progress of a business process • Audit trails • Coordinating work between independent business processes • Monitoring for exceptions in a business process • For example, if the process does not complete within a time limit Event Consumer Query Store Event Data

  45. An application creating events The complete business process BPEL Process MDB Places where events might get written EJB Message -based Application DB WebSphere’s Event Infrastructure Monitoring Application

  46. Programming Model Choices Java APIs Context ctx = new InitialContext(); EventFactory factory = (EventFactory)ctx.lookup(“java:comp/websphere/events/factory”); CommonBaseEvent event = factory.createCommonBaseEvent(“NewOrderReceived”); event.setExtendedDataElement(“OrderStatus”, “NEW”); event.setExtendedDataElement(“CustomerNumber”,”C03738927”); emitter.sendEvent(event) <CommonBaseEvent extensionName=”HighValueOrder” methodName=”calculateOrderTotal” severity=”10” priority=”50” when=”after”> <extendedDataElement name=”OrderStatus” fixedValue=”HIGH-VALUE”/> <extendedDataElement name=”ItemCount” parameter=”noOfItems”/> <extendedDataElement name=”OrderValue”/> </CommonBaseEvent> <bpel:process name=“OrderCreationTemplate" wpc:businessRelevant=“yes|no" ...> ... </bpel:process> Deployment Descriptors BPEL Extensions

  47. WebSphere Event Browser/Viewer

  48. An Event

  49. WAS Enterprise Standards Update

  50. Additional WSAD-IE 5.1

More Related