From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com www.citt-online.com fh Oberösterreich University Projects/PhD‘s and Teaching Germany University Regensburg 1 fh Oberösterreich … about 50 Students for the Course „Distributed Systems“ 2 fh Oberösterreich … about 80 Diploma Students Austria Software Park Hagenberg/Linz 3 fh Oberösterreich Idea of the C-I-T-T fh Oberösterreich Teachings in Computer Science Applied Research Subjects Attractive Jobs with the Chance of a Career Center-of-Information-Technology-Transfer Know How Transfer Professional Consulting Cooperating in Applied Teachings Banks/ Insurances Telco‘s Industries … 4 fh Oberösterreich Institutes Teachings: 7. Semester: BPM/BAM/CEP/SOA/EDA together with norisbank 8. Semester: Wiss. und populärwiss. Publizieren Jobst Klarl (Brandl) Teachings: Business Information Systems IMIK 8. Semester: BPM/BAM/CEP/SOA/EDA together with Deut. Post 5. Semester: EAI/SOA/BPM/MDA PhD‘s fh Oberösterreich International Research & Teaching Stanford Uni Caltech Uni M.I.T. Cambridge… Haifa - IBM research labs & - Technion Uni IBM New York Watson Research Centers - Internships permanent employees Visiting professor Residencies Lab Böblingen … (Tampere University of Technology) Teaching & Recruiting Industrial Partnership Schweden Business Development Finnland Under construction Marketing Current main subjects: 1. BPM/BAM/CEP/SOA Presales 2. SOA, SIP, Security, ESB The day after 1 Recruiting year … (Sept. 2006) a lot happend in the meantime… Projects Mind Makers / Lead Gen‘s 1 FMSB (since Oct 05 resp. Dec. 04) Events 2 Deutsche Post (15.2./9.3….) Journals 3 norisbank (17.2./8.3./7.4….) 1 ICWS06, PPPJ06, CEP-Symp. 1 Bank Magazin 4 IDS /IBM (1.2. / 20.2./22.3., Juli07) 2 JAX, W-JAX 2 JavaSpektrum 5 BMW + Bank (23.3., Workshop) 1 BEA (technical director) 3 Business Integr. Forum 3 JavaMagazin 6 HVB (April 06, WF-Modellierung, Sofortkredit…) 2 IDS 4 EAI-Zurich 4 ObjektSpektrum 7 DreBa (Neukundengewinnung…) 3 IBM 5 OOP 5 dev2dev 8 ComBa (ETEC…) 4 Microsoft 6 IDS-Events 6… 9 Sparda (workshop invitation, Q3) 5 ILOG 7 Yorktown Heights 10 DZ-Bank (together with Post) 6 (SAP), (Oracle) 8 Dagstuhl seminar 11 FinanzIT (May) 7 Coral8 … 9 Hotel-Events 12 Audi… DC-Bank (30.5.)… Oberösterreich 8 (Apama / StreamBase) Technology Partnerships fh 5 Agenda • • • • • • • • Was hat Business Process Management (BPM) und Business Activity Monitoring (BAM) mit BPA und SOA zu tun? Warum startet man SOA-Projekte am besten mit BAM? Konzepte serviceorientierter Architekturen – Wo und wie beginnt man mit dem Schneiden von Services? Oder schneidet man besser gar nicht in monolithischen Code? Was die Fachabteilungen in den nächsten Jahren beschäftigen wird: SOAgerechte Remodellierung von Geschäftsprozessen und Definieren von Event Patterns Die derzeitige „standardisierte Verwirrung“: Standards, Fast-Standards, keine Standards – die Kette der Standards von SOA, BPM bis BAM am Beispiel von eEPK oder UML, BPEL, BPEL-J, CEI und CBE usw. Das zukünftige Referenz-Modell für BPM/BAM/CEP-Anwendungen Warum brauchen wir ein durchgängiges BAM/SAM? 6 fh Oberösterreich „... Andere steuern ihre Prozesse bereits, wir denken darüber nach ....“ Für die Steuerung der Stromversorgung existieren Frühwarnsysteme, die Überbelastungen anzeigen und bei Ausfällen Notfallsysteme zeitnah in die Versorgungsprozesse einbeziehen. Ein Auto hat bereits viele tausend Kilometer hinter sich bevor es gebaut ist. Die Zulieferung der einzelnen Komponenten erfolgt „just in time“. Engpasssituationen werden zeitnah ausgesteuert. ... und Bankabwicklungsprozesse ? 7 fh Oberösterreich Steuerung und Überwachung von Prozessen ist ... Darstellung der Auswirkungen von Systemverfügbarkeiten und -störungen Monitoring zeitkritischer Enpassfaktoren und Transaktionsverfolgung Workflowsteuerung Prozess- und systemverknüpftes Notfall- und Störungsmanagement Geschäftsprozessmonitoring Transparenz über durchgängig dargestellte Prozesse Überwachung der SLA-Einhaltung 8 fh Oberösterreich Das Problem fängt schon bei der Prozessdarstellung an ! Abwicklungsprozesse bestehen aus manuellen und automatisierten (digitalisierten) bankfachlichen Prozessschritten Automatische Abrechnung Bestätigung vornehmen Zur Abrechnung freigeben Meldewesen Prinzipiell sind manuelle Prozesse dokumentiert. Automatische Lieferung Abstimmung Lieferung ausführen Outputmanagement Automatisierte (digitale) Fachprozesse sind nur technisch dokumentiert. 9 fh Oberösterreich Integration von manuellen Prozessen mit IT-Systemen, z.B. über das PASSPortal* der HVB AG + ARIS-Prozessmodell Darstellung der digitalen Prozessschritte PASS: Prozess, Architektur, Strukturen und Standards Bestätigung Bestätigung vornehmen vornehmen WEBSYS Abrechnung Abrechnung durchführen durchführen Technische Technische Abrechnung Abrechnung durchführen TCAM WHSWABSY WABSY WG1 (ZEO) HANSE HM (Auftragsbestand) HANSE1 XY2 (HOB) MERVA Bestätigung und Gegenbestätigung der Geschäftsdaten an den Kontrahenten (nicht bei Retail) Orderzugang WABSY S987 (ESS) Belieferung ESS aus Orderbestand (Ausführungsdaten) Wenn Xontro Frankfurt und WP ECCp-fähig MARCO MR6 (HOA) RODEO WABSY WG2 (OLA) Wenn nicht Xontro Frankfurt und nicht ECCP-fähig Check, ob stückzinsrelevant und Rückinfo an WABSY WABSY Systemabhängigkeiten und digitaler Ablauf der Abrechnung zu einzelnen manuellen Prozessen S986 (Stückzinsberechnung) WABSY Out-SSN Versorgung AWV Compliance, TSY-DB etc. AWVP Treasury Datenbank (TSY-DB) 10 fh Oberösterreich Für Zusammenführung von Informationen sind Abgriffstellen in techn. Prozessen zu definieren Ganzheitlicher Abwicklungsprozess Geschäftsprozessmonitoring (manuelle und digitale Prozessschritte) (Analyse der Prozess- und Systemperformance) Frühwarnindikatoren überwachen Trend-/ Schwankungsanalyse Ursachenanalyse SLA – Einhaltung nachweisen Durchgängige Prozesskennzahlen für Effizienz und Qualität (SLA) 11 fh Oberösterreich Bedenken von potentiellen Anwendern aus ersten Projekten 2005 ...kein Standard-Tool auf dem Markt verfügbar ...hoher monetärer Aufwand erforderlich ...kurzfristig nicht realisierbar Entscheidung: Suche nach erprobten und einfachen Lösungen verstärken und Erfahrungen im Zuge von Pilotprojekten sammeln Vorgehen Step by Step ...hoher Programmieraufwand ...unkalkulierbare Nachfolgeaufwände ...Nutzen im frühen Stadium der Entwicklung schwer quantifizierbar Proof of Concept am Beispiel „Workflow Optionsscheinabwicklung“ 12 fh Oberösterreich Beispiel: „EAI“ Referenzmodell eines Anwenders Zwischen EAI und SOA wurde bisher nicht getrennt Prototypischer Workflow fokussiert Stufe 3 13 fh Oberösterreich Komplexe Prozess- und Systemwelt Hohe Anzahl von Einzelprozessen (eEPKs) HVB AG: ca. 2.500 FMSB: ca. 700 Schnittstellen zwischen manuellen und technischen Prozessen und Organisationseinheiten Vielzahl von Systemkomponenten HVB AG: ca. 1.000 FMSB: ca. 80 Primäre Eigenentwicklungen von Systemen und Systemkomponenten (HOST / COBOL) Bearbeitungsvolumen der FMSB 15 Mio HandelsTransaktionen p.a. 320.000 Geld- und DevisenTransaktionen p.a. 820.000 Kundendepots 14 fh Oberösterreich 15 fh Oberösterreich In mittelständischen Unternehmen müssen bereits ca. 60 Applikationen integriert werden: Traditionell Point-to-Point- und MOM-basierte Hub&Spoke-Verfahren – bei HVB ca. 1.100 App’s! Screen Scrape Download File Message Queue Sockets Download File ORB Screen Scrape Transaction File Screen Scrape Transaction File Sockets CICS Gateway RPC APPC ORB Message Message Queue Transaction File Screen Scrape Transaction File CICS Gateway Download Message File Message Queue APPC RPC 16 fh Oberösterreich Das Ziel: Service Integration mit einem Enterprise Service Bus Customer Portal Service Consumption Service Integration and Management Service Orchestration Service Creation Resources Service Bus Purchase Order Management Process Billing Process People Mainframe Customer Management Process CRM Inventory Management Process ERP fh Trading 17 Partners Oberösterreich Die Zielarchitektur ab Herbst 06, wenn BPEL 2.x “approved” ist Service Consumers Service Orchestration (OpenSource or BEA WLI 9.x or IBM Process Server or Oracle…) Service Bus Layer (SOPware or AquaLogic Service Bus or WebSphere …) Service Enablement (WLI 9.x or WebSphere or …) Resources Portals Composite Applications Mobile Purchase Order Management Process BPEL Messaging and Service Management Service Bus Billing Service Process People Customer Management Process Service BPELJ Mainframe CRM Inventory Management Process Service Trading Partners 18 ERP fh Oberösterreich Prozessdesign erfolgt mit dem ARIS-Toolset – Frage: Kann „Semantische Lücke“ zwischen Fach- und IT-Abteilungen mittels neuer IDE‘s geschlossen werden? Kauf und Verkauf TCAM WHS TCAM Maske WHS Tcam Verwalten Geschäfte SOP 202.20.02.15.01 TCAM-Kontrollfall bearbeiten Kontrollfall liegt vor 2,000000 Minute(n) Kontrollfall bearbeiten FMS2WA 0,990000 Geschäft kann automatisch abgerechnet werden WHS TCAM Maske WHS Tcam Verwalten Geschäfte 0,010000 WHS TCAM 0,100000 Minute(n) Geschäft freigeben FMS2WA Maske WHS Tcam Verwalten Geschäfte Geschäft muß manuell abgerechnet werden 0,150000 Minute(n) Extra-Ticket drucken FMS2WA Drucker Backoffice Flag steht auf ja TCAMAbrechnung durchführen Extra-Ticket Extra- bzw. Handelsticket liegt vor ZEO Erfassung 19 fh Oberösterreich Was wird was von eEPK in BPEL/JPD-Darstellung? Und verstehen das beide „Welten“? Alle Prozesse müssen SOA-gerecht remodelliert werden und dazu müssen beide Welten an einem Tisch sitzen! 20 fh Oberösterreich But let’s start from behind: The new hype is BAM and Enterpise Cockpits • By inserting measuring points in the business process… • Monitoring on business level • Cockpit functions for the management • Analyses in „Real Time“ 21 fh Oberösterreich Requirements for BAM-Tools – still open topics of research Bringing Order to the Business Activity Monitoring Space 06/19/2005 By David Luckham, Professor Emeritus of Electrical Engineering, Stanford University • There’s a global cloud of business events • Many sources of events • Medium sized stock brokerage may be dealing with thousands of business events per second e.g. eTrade > 2000, Charles Schwab > 14.000… ^= transaction rates but there are much more business events than transactions! 22 fh Oberösterreich Requirements for BAM-Tools – still open topics of research • various classes of BAM tools • monitor events from the enterprise cloud in real-time • metrics (often called Key Performance Indicators, • display them on a • KPIs) dashboard with fancy graphics alert you when the metrics get critical - like “low inventory”, or “retail website overload”. • more advanced tools also give you to your business rules that trigger on alerts and let you specify proactive repairs • BPM/BAM suites that can monitor everything on your IT Infrastructure, decide how your business processes depend upon various IT assets, deliver an up to the second view of how your business processes are performing, and let you go back to remodeling the processes at any time • discovering the patterns of events that are really significant. Connecting the dots in the event cloud is what BAM is really about 23 fh Oberösterreich Requirements for BAM-Tools – still open topics of research • Why is the BAM tools space chaotic? • First of all, we might want classifications of BAM tools • Secondly, standards for event processing • Thirdly, technology checklists whereby we would know how a tool actually works as opposed to what the marketing department says it does. None of this exists yet • The first attempts at a Common Event Infrastructure standard for BAM appeared in 2004 24 fh Oberösterreich Requirements for BAM-Tools – current State of the Art Here’s a start at a BAM event processing checklist 1. Real-time event data computation. This means that the tool can use the data contained in events to compute metrics (i.e., KPIs) in real-time and continuously update them on the graphics displays or feed the metrics to other applications. 2. Single event triggering. The tool can react to single events, either predefined or defined by the user, e.g., alerts indicating critical KPIs, and then take actions also predefined or specified by the user. Actions may involve sending email messages, etc. Usually the tool will supply a capability to define event triggered reactive rules, and may combine this with capabilities under item #1. 3. Event streams processing. An event stream is a real-time, continuous, ordered (by arrival time at the tool, or by a time stamping mechanism) sequence of events. Here, the tool assumes the event input is a stream. This assumption allows optimization of some kinds of event processing that fall under item #1. It is an appropriate way to handle stockmarket feeds, for example. However, it is impossible to control the order in which events from an enterprise cloud arrive at the tool. So the stream order cannot reflect the relationships that exist between events as a result of enterprise activities. We’re talking about relationships such as which events caused other events, which events happened independently, or their creation times -- the times at which the events actually happened. If a tool turns the cloud into a stream before it starts processing events, then it can only detect simple patterns of events in the event cloud - essentially Boolean and’s and or’s of events. 25 fh Oberösterreich Requirements for BAM-Tools – still open topics of research 4. Complex event pattern triggering. Tools that satisfy this checklist item can detect complex patterns of many events in the global event cloud of the enterprise and then react to them in various ways. Typically, a complex pattern is made up of many events, often created at different locations in an enterprise and possibly in different time zones. Complex patterns may involve events that are causally related and other events that happened independently. A complex pattern consists not only of the events but also of the relationships between the events. For example, the pattern of activity in a set of concurrent or collaborating business processes. Other common examples can be found in patterns of events in fraudulent activity, or violations of SEC regulations or other conformance issues. These tools have to capture information about the event cloud in order to detect complex patterns. For example, causality between events, independence and the creation time of each event. Typically, such tools encode this information in the events themselves – so that each event contains its own genetic information. When a tool processes an event it can tell from the encoded genetic data how that event is related to other events in the cloud. Many enterprise IT systems already put some of this encoding into events when they are created by using various identifiers such as message Ids, transaction Ids, etc. So, encoding the cloud is not always very difficult. 26 fh Oberösterreich Requirements for BAM-Tools – still open topics of research 5. Event pattern abstraction. Tools that satisfy item #4 may go a step further by providing rules to create new events whenever an event pattern matches. The new events can be constructed to contain some of the information contained in the events that matched the pattern. And the new events can be processed by the tool just like other events in the cloud. This is called event pattern abstraction. It is a step towards supplying higher level views - e.g., executive reports - of patterns of complicated business activity. Important data is included in the new event, and unnecessary details are omitted, the new event is an abstraction. 27 fh Oberösterreich Requirements for BAM-Tools – still open topics of research Right now (2006), most BAM tools will only check off items #1 and #2. Even so, they’re proving to be very useful Many tools use finite state machines or Java scripts to define patterns of events and reactive rules. These methods, even when supported by GUIs, are too low level. As a result they will lead to problems later on. As a tool gets used on more demanding management problems, the sets of event patterns and event pattern triggered rules will grow in size. Patterns and rules management then becomes an issue. It is not easy to check a bunch of Java scripts to uncover mutually exclusive or redundant rules (e.g., if A matches a set of events then B will match the same set of events). High level, declarative event pattern languages would be preferable „… Now we think it will take six to eight years." And the advice is to start planning for it now. 28 fh Oberösterreich The first 3 steps today starting with Monitoring Business Processes and Activities event cloud with thousands of events per sec… passwdchange new auto pay deposit transfer enquiry deposit new auto pay logout account login enquiry account login account login withdrawal deposit new auto pay activity history logout passwdchange event patterns and complex event processing… account login withdrawal account balance deposit transfer enquiry account login enquiry new auto pay account login logout activity history logout …e.g. above a bank The first 3 steps: 1. Precise description of patterns of events 2. Detecting patterns in the event cloud 3. Abstraction of complex event pattern instances to higher level events Oberösterreich fh 29 What we and our PhD-students will do in the future in cooperation with e.g. … 30 fh Oberösterreich But with BAM comes SOA! Example for SOA: the business process of account opening This bank has about 3.000 different business processes The business process of account opening has 70.000 Cobol LoCs > 3.000 processes must be designed 70.000 LoCs per variant of process /* * * FUNCTION NAME: Miniapp_i::pruefe_name * * FUNCTIONAL DESCRIPTION: * * Method function for pruefe_name. * (Implementation : Miniapp_i) * */ CORBA::Long Miniapp_i::pruefe_name ( const char * val) { CORBA::Long _method_result = (CORBA::Long) 0; In this bank there‘re about 20 variants of the account opening process Let‘s calculate: 1 folder can retain 400 pages à 70 lines (font size 6) 70000 LoCs : 70 lines per page = 1000 pages : 400 pages per folder = 2,5 folder x 20 variants = 50 folder /* M3_PRESERVE_BEGIN(Miniapp_i::pruefe_name) */ /* Insert code that you want preserved here */ TP::userlog ("bin im server"); if (stricmp ("Kiki", val) != 0) _method_result = 1; else _method_result = 0; /* M3_PRESERVE_END(Miniapp_i::pruefe_name) */ return _method_result; } /* M3_PRESERVE_BEGIN(MiniappFactory_i) */ /* Insert code that you want preserved here */ 31 fh Oberösterreich Example for SOA: the business process of account opening - only an impression of dimensions Let‘s calculate once more: 1 folder with 400 pages = 10 cm 1 process variant = 2,5 folders 10 cm x 2,5 folders = 25 cm x 20 variants 25 cm per process =5m 32 fh Oberösterreich The problem for SOA: Legacy Systems as monoliths and dead code - classical strategy: putting up fences around 20 variants in 5 m folders means 1,4 millions LoCs Billions of lines of Cobol code in the world 25 cm per process (ca. 220.000.000.000 Cobol locs used in 2004, 5.000.000.000 new Cobol locs per year (Gartner)) Until today: 80 % Cobol vs 20 % Java The discipline of Software Engineering assumes, that about 30 % of these billions COBOL LoCs are dead resp. nobody knows yet what these LoCs are doing 33 fh Oberösterreich The problem for SOA: Legacy Systems as monoliths and dead resp. unknown code - but now: how to tailor SOA services?! 20 variants in 5 m folders means 1,4 millions LoCs Not all comes from Gartner, something is from Schiller e.g.: "Fest gemauert in der Erden / Steht die Form, aus Code gebrannt…“ /* * /* * FUNCTION NAME: Miniapp_i::pruefe_name * * /* * FUNCTION NAME: Miniapp_i::pruefe_name * FUNCTIONAL DESCRIPTION: * * * * FUNCTION NAME: Miniapp_i::pruefe_name * FUNCTIONAL DESCRIPTION: * Method function for pruefe_name. * * * (Implementation : Miniapp_i) * FUNCTIONAL DESCRIPTION: * Method function for pruefe_name. * *(Implementation : Miniapp_i) * */ * Method function for pruefe_name. * (Implementation : Miniapp_i) */ * * CORBA::Long Miniapp_i::pruefe_name ( */ const char * val) CORBA::Long Miniapp_i::pruefe_name ( const char * val) { CORBA::Long Miniapp_i::pruefe_name ( CORBA::Long _method_result = (CORBA::Long) 0; const char * val) { CORBA::Long _method_result = (CORBA::Long) /* M3_PRESERVE_BEGIN(Miniapp_i::pruefe_name) */ 0; { /* Insert code that you want preserved here */ CORBA::Long _method_result = (CORBA::Long) /* M3_PRESERVE_BEGIN(Miniapp_i::pruefe_name) */ 0; /* Insert codeTP::userlog that you want preserved here */ ("bin im server"); /* M3_PRESERVE_BEGIN(Miniapp_i::pruefe_name) */ if (stricmp ("Kiki", val) != 0) /* Insert codeTP::userlog that you want preserved here */ ("bin im server"); _method_result = 1; if (stricmp ("Kiki", val) != 0) else _method_result = 0; TP::userlog ("bin im server"); = 1; _method_result if_method_result (stricmp ("Kiki",=val) else 0; */!= 0) /* M3_PRESERVE_END(Miniapp_i::pruefe_name) _method_result = 1; return _method_result; else _method_result = 0; */ /* M3_PRESERVE_END(Miniapp_i::pruefe_name) } return _method_result; /* M3_PRESERVE_END(Miniapp_i::pruefe_name) */ } /* M3_PRESERVE_BEGIN(MiniappFactory_i) */ return _method_result; /* Insert code that you want preserved here */ } /* M3_PRESERVE_BEGIN(MiniappFactory_i) */ /* Insert code that you want preserved here */ /* M3_PRESERVE_BEGIN(MiniappFactory_i) */ /* Insert code that you want preserved here */ 34 fh Oberösterreich Start SOA at the Business Processes, e.g. Multi-Channel Sales in Banks Problem: different processes behind each channel?!?! We can‘t do real time BAM! Problem: reconciliation of data and processes takes ??? days?!?! Online, Service Terminals Initiative After Sales Contact Center Branch Consulting Sales typical bank-customer process in Retail Banking 35 fh Oberösterreich Design horizontal and vertical coupling of services Example: Consumer credit process Service Consumer Loan Consulting Credit Investigation SOAP RMI IIOP SOAP Service Provider Consultation System Credit Reporting Agency Loan Awarded SOAP Costing System Credit Processing In an SOA, the process is controlled by the service consumer. SOAP RPC Value Date / Securities Payment Management Reporting Service providers can implement processes and also call services. SOAP SOAP RPC SOAP1 way Service Provider Accouting System ... Reporting Data is accessed via the service provider. Not all is „SOAP“ resp. „Simple“ in the real life! 36 fh Oberösterreich New Approach in a Service Oriented Architecture (SOA)? How fine resp. coarse grained is an appropriate component or service??? Interface Method 1 ... Method n Interface Method 1 ... Method n Object Interface Method 1 ... Method n Component Interface Method 1 ... Method n Service Interface Method 1 ... Method n Object 5 – 200 classes in 1 component or service… (Peter Herzum/ Oliver Sims 2000) Component Interface Method 1 ... Method n Object What do criteria like „Self contained“, „Reusability in other contexts“ mean…?! 37 fh Oberösterreich Redundant functionality and data, their modeling in suitable general components, and their reuse in one or several services Portlet Presentation ... ... Processes Applications Portlet API Method 1 ... Method n F APS R Interface Method 1 ... Method n Service API Method 1 ... Method n APS FR Data D R D R FR = Function Redundancy DR = Data Redundancy 38 fh Oberösterreich What‘s the appropriate granularity for a service, e.g. „a shopping cart“? 39 fh Oberösterreich Example:Has this component/design pattern an appropriate granularity for SOA? Shopping Cart http://www.welie.com/patterns/shopping-cart.html Martijn van Welie Patterns... Problem Users want to buy a product Principle Metaphor (Conceptual Model) sind bewährte Lösungswege, die textuell nach einem bestimmten Verfahren beschrieben werden (z.B. Gamma et al. 95). Author Context Forces Solution A site where users can browse through products and buy them. Users are not very frequent buyers and are possibly novices. For returning customers, consider a ONE-CLICK SHOPPING system. •Users may buy more than one product •Users may want to select products now but pay later •Users may decide to purchase somewhere else at any time Introduce a shopping cart where users can put their products in before they actually purchase them. When users view a product description, they can choose to add it to their shopping cart. After adding an item to their cart, the users are shown the current contents of the cart. Users can inspect their cart contents at any time using a link that is available on every page. A persistent mini-cart could also be shown directly on the content pages. The description of the cart contents typically includes the name of the items, the quantity, availability and prices. Users can remove items from their cart if they wish and change quantities. The description of the goods is a link to the product details. Users always see the total costs of a purchase, so including shipping costs if applicable. The users must also be informed of the payment options such as which credit cards are accepted. From the cart page, the users can continue shopping or proceed with the checkout procedure. The items stay in the cart for a certain period of time, e.g. 90 days. In order to purchase the products in the cart they need to select the checkout action. The checkout is a five step process with the following tasks: Identify Select shipping address Select payment method Place order The users can abort the checkout procedure at any step. When users retry the checkout later, they start again at the first 40 fh Oberösterreich Now remember the whole picture and what it really means: Monitoring Business Processes and Activities event cloud with thousands of events per sec… passwdchange new auto pay deposit transfer enquiry deposit new auto pay logout account login enquiry account login account login withdrawal deposit new auto pay activity history logout passwdchange event patterns and complex event processing… account login withdrawal account balance deposit transfer enquiry account login enquiry new auto pay account login logout activity history logout …e.g. above a bank The first steps: 1. Redesign your business processes for SOA and BPM 2. Make a SOA, identify services, build WSDL-interfaces… 3. Precise description of patterns of events 4. Detecting patterns in the event cloud 5. Abstraction of complex event pattern instances to higher level events fh 41 Oberösterreich The „standardized“ confusion: Why does it seem so bewildering for the (early) adopters today? WebServices Workflow-Modeling != Orchestration ARIS Toolkit BPEL 1.1 2002/May 2003 Deficits (e.g. human interactions) JSR207 / BPEL-J JCP 2003 CITT Workshop Apama BEA IBM VIP Tool Petrinet-Model-Verif. R&D / Uni Rational Nearly all UML tools BEA? UML 2.0 Activity Diagram OMG 2004/5 Abstract + Executable Workflows IDS WSFL WSADIE IBM 2001 IDS XLANG MS 2001 eEPK IDS ARIS e.g. Arc-Styler 199x Standardization takes too much time, said BEA Visual Studio JPD BEA 2003 BEA anticipated BPEL-J standard for beeing able to deliver a tool platform And 50 more JSR207tools… / BPEL-J XPDL 1.0 WfMC Aug. 2002 StreamBase reality lab WS-BPEL 2.0 Draft June 2004, OASIS final approved ??? 2005 XPDL 2.0 WfMC Sept. 2005 JCP ??? 2005 IBM Process WebLogic Workshop™ - 1. Java IDE vs. MS Visual Studio Weblogic et al. ServerBPM-Systeme as Eclipse-plugins, just announced: ??? BPEL-Extensions ??? BE,SAP, … SeeBeyond…, open sourceWebSphere BEA,Tibco IBM, Oracle, JBoss MS ??? No standards yet ??? Coral8 BAM-Tools, no standards presently for: ARIS PPM • Common Base Event CBE iSpheres Systar IBM Monitor • Common Event Infrastructure CEI … etcpp … • classification schema for tools • generic BAM sensors fh Oberösterreich 42 2007 wird das Anbieter-Investment in den Support von Events das Investment in den Support von Services überschreiten* Gartner Symposium Itxpo 2004 Yefim Natis, Cannes, France, 31 October - 4 November 2004 Service-Oriented Architecture: Composite Applications, Web Services and Multichannel Applications *(0,7 Wahrscheinlichkeit) 43 fh Oberösterreich The Technology Challenge and the Principle of BPM/BAM/CEP, e.g. for „Next Generation InstantCredit Systems“ Enterprise cockpit realize scenario process instances Workflow Modeler Event Modeler set parameters Monitor / Analyze / Act Workflow Engine workflows based on BPEL Model ^= Scenario analyse history… Event Store Rules Engine „special“ SQL resp. other languages AppServer Normalized events, build businesss level events Adapters e.g. RFID, topics of Pub/Sub, … Low Level Event Streams IF … AND … FOLLOWED BY… WITHIN… ACTION e.g. payments calculate pott, offer rates, profit… e.g. credit offers (completed) fh Oberösterreich • ARIS PPM • ORACLE BAM • IBM Monitor • • • • • Network Application Service • Event Processing • Function • Classical BAM has top down view Technical monitoring has bottom up view Gap between business und technical monitoring Event Processing identifies events in both worlds and correlates process/functions/service calls with the related technical systems Process • Cockpit Closing the gap between low level and business level monitoring tools IBM Tivoli HP OpenView BMC 45 CA … Oberösterreich fh Do we need an integrated, seamless BAM/SAM? Events in a SOA - Messaging • Events when a message is processed by a participant Service Consumer E S B XML XML E S B Service Provider • Contain MessageID, MessageExchangeID, ParticipantID, time • Exceeded response time triggers an event Events can be used to track the propagation of messages in a SOA Non-functional aspects can be monitored Overhead to implement event generation in each application => Integrate event generation in ESB Source: Deutsche Post World Net 46 fh Oberösterreich Do we need an integrated, seamless BAM/SAM? Events in a SOA – Business Content XML • Events when a message is processed by a participant Header: Process#4711 Service Consumer E<?xml version="1.0"> E id="1234“ > S<orderid=“1234” S <name>Foo Inc.</name> B <orderNo>42</orderNo>B <value> 24000 </value> </order> Service Provider • Contain MessageID, MessageExchangeID, ParticipantID, time • Correlation events contain MessageExchangeID and BusinessID SOA messaging events do not contain any business-related information Business content can provide valuable information: Correlation between technical and business events Business information as input for BAM Possible sources for business content: Message headers (set by sender application) Message content (e.g., identified by xpath) Source: Deutsche Post World Net 47 fh Oberösterreich Do we need an integrated, seamless BAM/SAM? SOA Adpt. CustomerData SOA Adpt. Other Impl. C Customer System SOA Adpt. Events in a SOA – Complexity Production System Order Management Network Database Legacy App Service calls can not be seen in isolation One service call will often cause others Any service participant will interact with other systems Result: Event cloud 48 fh Oberösterreich Do we need an integrated, seamless BAM/SAM? Events in an SOA – Complexity • SOA events from one business process 49 Concurrency is inherent in enterprise systems fh Oberösterreich Do we need an integrated, seamless BAM/SAM? Events in a SOA – Complexity • SOA events from one business process • plus SOA events from other business processes • plus other infrastructure events 50 Complex Concurrency events is inherent require adequate in enterprise processing systems fh Oberösterreich The Service Bus has to generate all needed event types automatically! Otherwise we would have to insert thousands of statements in the application code Service Consumers Service Orchestration (OpenSource or BEA WLI 9.x or IBM Process Server or Oracle…) Service Bus Layer (SOPware or AquaLogic Service Bus or WebSphere …) Service Enablement (WLI 9.x or WebSphere or …) Resources Portals Composite Applications Mobile Purchase Order Management Process BPEL Messaging and Service Management Service Bus Billing Service Process People Customer Management Process Service BPELJ Mainframe CRM Inventory Management Process Service Trading Partners 51 ERP fh Oberösterreich … Bin ich ein „First Mover“? Oder ein „Early Follower“? Oder sitzen wir es aus?!... Thanks for your attention! 52 fh Oberösterreich