oberösterreich from business process analysis up to business activity monitoring rainer von ammon...
Post on 26-Mar-2015
221 Views
Preview:
TRANSCRIPT
Oberösterreichfh
From Business Process Analysis
up to Business Activity Monitoring
Rainer von Ammonrainer.ammon@citt-online.com
www.citt-online.com
2
Oberösterreichfh
University Projects/PhD‘s and TeachingGermany University Regensburg
3
Oberösterreichfh
… about 50 Students for the Course „Distributed Systems“
4
Oberösterreichfh
… about 80 Diploma Students Austria Software Park
Hagenberg/Linz
5
Oberösterreichfh
Oberösterreichfh
Center-of-Information-Technology-Transfer
Banks/Insurances
Telco‘s Industries …
Teachings in Computer ScienceApplied Research Subjects
Know How TransferProfessional Consulting
Attractive Jobs with the Chance of a Career
Cooperating in Applied Teachings
Idea of the C-I-T-T
6
Oberösterreichfh
Oberösterreichfh
Current main subjects:1. BPM/BAM/CEP/SOA2. SOA, SIP, Security, ESB
Projects
Business Development
Marketing
Presales
Recruiting
…
Teaching & Recruiting
IMIK BusinessInformation
SystemsJobstKlarl(Brandl)
PhD‘s
1 FMSB (since Oct 05 resp. Dec. 04)
2 Deutsche Post (15.2./9.3….)
3 norisbank (17.2./8.3./7.4….)
4 IDS /IBM (1.2. / 20.2./22.3., Juli07)
5 BMW + Bank (23.3., Workshop)
6 HVB (April 06, WF-Modellierung, Sofortkredit…)
7 DreBa (Neukundengewinnung…)
8 ComBa (ETEC…)
9 Sparda (workshop invitation, Q3)
10 DZ-Bank (together with Post)
11 FinanzIT (May)
12 Audi… DC-Bank (30.5.)…
Industrial Partnership
Schweden
Finnland
International Research & Teaching
Stanford Uni
Institutes
Haifa - IBM research labs & - Technion Uni
IBM New YorkWatson Research Centers- Internships- permanent employees- Visiting professor- Residencies- Lab Böblingen- …Mind Makers / Lead Gen‘s
Events Journals1 ICWS06, PPPJ06, CEP-Symp.
2 JAX, W-JAX
3 Business Integr. Forum
4 EAI-Zurich
5 OOP
6 IDS-Events
7 Yorktown Heights
8 Dagstuhl seminar
9 Hotel-Events
1 Bank Magazin
2 JavaSpektrum
3 JavaMagazin
4 ObjektSpektrum
5 dev2dev
6 …
Technology Partnerships1 BEA (technical director)
2 IDS
3 IBM
4 Microsoft
5 ILOG
6 (SAP), (Oracle)
7 Coral8 …
8 (Apama / StreamBase)
Teachings:
8. Semester: BPM/BAM/CEP/SOA/EDA together with Deut. Post5. Semester: EAI/SOA/BPM/MDA
Teachings:
7. Semester: BPM/BAM/CEP/SOA/EDA together with norisbank8. Semester: Wiss. und populärwiss. Publizieren
(Tampere University of Technology)
Caltech UniM.I.T. Cambridge…
Under construction
The day after 1 year(Sept. 2006)
a lot happend in the meantime…
7
Oberösterreichfh
• 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:
SOA-gerechte 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?
Agenda
8
Oberösterreichfh
Für die Steuerung der Stromversorgung existierenFrühwarnsysteme, die Überbelastungen anzeigenund bei Ausfällen Notfallsysteme zeitnah in dieVersorgungsprozesse einbeziehen.
Ein Auto hat bereits viele tausend Kilometer hinter sichbevor es gebaut ist. Die Zulieferung der einzelnen Komponenten erfolgt „just in time“. Engpasssituationenwerden zeitnah ausgesteuert.
... und Bankabwicklungsprozesse ?
„... Andere steuern ihre Prozesse bereits, wir denken darüber nach ....“
9
Oberösterreichfh
Monitoring zeitkritischerEnpassfaktoren und
Transaktionsverfolgung
Transparenz über durchgängig dargestellte
Prozesse
Darstellung der Aus-wirkungen von System-
verfügbarkeiten und-störungen
Prozess- und system-verknüpftes Notfall- undStörungsmanagement
Überwachung der SLA-Einhaltung
Workflow-steuerung
Geschäfts-prozess-
monitoring
Steuerung und Überwachung von Prozessen ist ...
10
Oberösterreichfh
Bestätigung vornehmen
Zur Abrechnung
freigeben
Automatische Abrechnung
Meldewesen AbstimmungLieferungausführen
AutomatischeLieferung
Output-management
Prinzipiell sind manuelleProzesse dokumentiert.
Automatisierte (digitale) Fachprozesse sind nur technisch dokumentiert.
Das Problem fängt schon bei der Prozess- darstellung an !
Abwicklungsprozesse bestehen aus manuellen und automatisierten (digitalisierten) bankfachlichen
Prozessschritten
11
Oberösterreichfh
S986(Stückzins-
berechnung)
Bestätigungvornehmen
Abrechnungdurchführen
Belieferung ESSaus Orderbestand
(Ausführungsdaten)
zwischen ESS OLA und WABSYzwischen OLA und WABSY
TechnischeAbrechnungdurchführen
MERVA
Wenn nicht XontroFrankfurt und
nicht ECCP-fähig
WEBSYS
Wenn Xontro Frankfurtund WP ECCp-fähig
Bestätigung undGegenbestätigung
der Geschäftsdatenan den Kontrahenten
(nicht bei Retail)
HANSE HM(Auftrags-bestand)
MARCO MR6(HOA)
WABSY WG1(ZEO)
WABSY S987(ESS)
WABSY WG2(OLA)
RODEO
WABSY
AWVP
HANSE1 XY2(HOB)
Orderzugang
zwischen WABSY und AWVP
Versorgung AWVCompliance,TSY-DB etc.
Check, obstückzinsrelevant
und Rückinfo an WABSY
zwischen S986 Stückzinsberechnung und WABSY
WABSYOut-SSN
WHSWABSY
TreasuryDatenbank(TSY-DB)
TCAM
Bestätigung vornehmen
Abrechnung durchführen
Technische Abrechnung
ARIS-Prozessmodell Darstellung der digitalen Prozessschritte+
PASS: Prozess, Architektur, Strukturen und Standards
Systemabhängigkeitenund digitaler Ablauf der Abrechnungzu einzelnen manuellen Prozessen
Integration von manuellen Prozessen mit IT-Systemen, z.B. über das PASS-Portal* der HVB AG
12
Oberösterreichfh
Durchgängige Prozesskennzahlenfür Effizienz und Qualität (SLA)
Senso
r 2
Senso
r 1
Ganzheitlicher Abwicklungsprozess(manuelle und digitale Prozessschritte)
Geschäftsprozessmonitoring(Analyse der Prozess- und Systemperformance)
Frühwarnindikatoren überwachen
Trend-/ Schwankungsanalyse
Ursachenanalyse
SLA – Einhaltung nachweisen
Für Zusammenführung von Informationen sind Abgriffstellen in techn. Prozessen zu definieren
13
Oberösterreichfh
Bedenken von potentiellen Anwendern aus ersten Projekten 2005
...hoher monetärer Aufwand erforderlich ...kurzfristig nicht realisierbar
...hoher Programmieraufwand ...unkalkulierbare Nachfolgeaufwände
...Nutzen im frühen Stadium der Entwicklung schwer quantifizierbar
Entscheidung:
Suche nach erprobten und einfachen Lösungen verstärkenund Erfahrungen im Zuge von
Pilotprojekten sammeln
Vorgehen Step by Step
Proof of Concept am Beispiel „Workflow
Optionsscheinabwicklung“
...kein Standard-Tool auf dem Markt verfügbar
14
Oberösterreichfh
Prototypischer Workflow fokussiert Stufe 3
Beispiel: „EAI“ Referenzmodell eines AnwendersZwischen EAI und SOA wurde bisher nicht getrennt
15
Oberösterreichfh
Komplexe Prozess- und Systemwelt
HVB AG: ca. 2.500FMSB: ca. 700
Hohe Anzahl vonEinzelprozessen
(eEPKs)
Schnittstellen zwischen manuellen
und technischen Prozessen
und Organisations-einheiten
HVB AG: ca. 1.000FMSB: ca. 80
Vielzahl vonSystemkomponenten
Primäre Eigenent-wicklungen von Systemen und
Systemkomponenten(HOST / COBOL)
15 Mio Handels-Transaktionen p.a.
320.000 Geld- und Devisen-Transaktionen p.a.
820.000 Kunden-depots
Bearbeitungs-volumen der
FMSB
16
Oberösterreichfh
17
Oberösterreichfh
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!
ScreenScrape
ScreenScrape
ScreenScrape
ScreenScrape
MessageQueue
MessageQueue
MessageQueue
DownloadFile
DownloadFile
Download
File
TransactionFile
TransactionFile
TransactionFile
ORB
ORB
CICS Gateway
CICS Gateway
APPC
APPCRPC
RPC
TransactionFile
Sockets
Sockets
Message
Message
18
Oberösterreichfh
Service Bus
Das Ziel: Service Integration mit einem Enterprise Service Bus
Resources
Service Orchestration
Service Creation
BillingProcess
InventoryManagement
Process
Customer Management
Process
Purchase Order Management Process
Mainframe CRM ERP TradingPartners
People
Service Consumption
Customer Portal
Service Integration and Management
19
Oberösterreichfh
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 Enablement(WLI 9.x or WebSphere or …)
BillingProcess
InventoryManagement
Process
Customer Management
Process
Purchase Order Management Process
Mainframe CRM ERP TradingPartners
People
Service Bus Layer(SOPware or AquaLogic Service Bus or WebSphere …)
Messaging and Service Management
BPEL
Service Bus
BillingService
InventoryManagement
Service
Customer Management
ServiceBPELJ
Resources
Portals Composite Applications Mobile
20
Oberösterreichfh
Kontrollfallliegt vor
2,000000 Minute(n)
Kontrollfallbearbeiten FMS2WA
WHSTCAM
SOP202.20.02.15.01
TCAM-Kontrollfallbearbeiten
Geschäft kannautomatischabgerechnet
werden
0,990000
Geschäft mußmanuell abge-rechnet werden
0,100000 Minute(n)
Geschäftfreigeben FMS2WA
TCAM-Abrechnungdurchführen
0,150000 Minute(n)
Extra-Ticketdrucken FMS2WA
MaskeWHS TcamVerwaltenGeschäfte
WHSTCAM
MaskeWHS TcamVerwaltenGeschäfte
WHSTCAM
MaskeWHS TcamVerwaltenGeschäfte
Extra-TicketBackofficeFlag steht
auf ja
Kauf undVerkaufTCAM
Extra- bzw.Handelsticket
liegt vor
ZEOErfassung
0,010000
Drucker
Prozessdesign erfolgt mit dem ARIS-Toolset – Frage: Kann „Semantische Lücke“ zwischen Fach- und IT-Abteilungen mittels neuer IDE‘s geschlossen werden?
21
Oberösterreichfh
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!
22
Oberösterreichfh
• By inserting measuring points in the business process…
• Monitoring on business level
• Cockpit functions for the management
• Analyses in „Real Time“
But let’s start from behind:The new hype is BAM and Enterpise
Cockpits
23
Oberösterreichfh
Bringing Order to the Business Activity Monitoring Space06/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!
Requirements for BAM-Tools – still open topics of research
24
Oberösterreichfh
• alert you when the metrics get critical - like “low inventory”, or “retail website overload”.
• more advanced tools also give you rules that trigger on alerts and let you specify proactive repairs to your business
• 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
• various classes of BAM tools
• monitor events from the enterprise cloud in real-time
• metrics (often called Key Performance Indicators, KPIs)
• display them on a dashboard with fancy graphics
• discovering the patterns of events that are really significant. Connecting the dots in the event cloud is what BAM is really about
Requirements for BAM-Tools – still open topics of research
25
Oberösterreichfh
• 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
Requirements for BAM-Tools – still open topics of research
26
Oberösterreichfh
Requirements for BAM-Tools – current State of the Art
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.
Here’s a start at a BAM event processing checklist
27
Oberösterreichfh
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.
Requirements for BAM-Tools – still open topics of research
28
Oberösterreichfh
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.
Requirements for BAM-Tools – still open topics of research
29
Oberösterreichfh
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.
Requirements for BAM-Tools – still open topics of research
30
Oberösterreichfh
passwdchange
new auto payaccount login
account logindepositactivity history
withdrawal
logout
account login
account balance
transferdeposit new auto pay
enquiry
enquirylogout
passwdchange
new auto payaccount login
account logindeposit
activity history
withdrawal
logout
account login
transferdeposit new auto pay
enquiry
enquiry
logout
event cloud with thousands of events per sec…
…e.g. above a bank
The first 3 steps today starting withMonitoring Business Processes and
Activities
Senso
r 2
Senso
r 1
event patterns and complex event processing…
The first 3 steps: 1. Precise description of patterns of events2. Detecting patterns in the event cloud3. Abstraction of complex event pattern instances to higher level events
31
Oberösterreichfh
What we and our PhD-students will do in the future in cooperation with e.g. …
32
Oberösterreichfh
/* * * 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;
/* 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 */
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
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
In this bank there‘re about 20
variants of the account opening
process
70.000 LoCs per variant of process
33
Oberösterreichfh
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
= 5 m25 cm per process
34
Oberösterreichfh
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
25 cm per process
Billions of lines of Cobol code in the world (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
35
Oberösterreichfh
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
/* * * 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;
/* 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 */
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 * * 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;
/* 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 */
/* * * 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;
/* 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 */
36
Oberösterreichfh
Branch
Contact Center
Online, Service Terminals
Start SOA at the Business Processes,
e.g. Multi-Channel Sales in Banks
Initiative
Consulting Sales
After Sales
typical bank-customer process in Retail Banking
Problem: different processes behind each channel?!?!
Problem: reconciliation of data and processes takes ??? days?!?!
We can‘t do real time BAM!
37
Oberösterreichfh
Design horizontal and vertical coupling of services
Example: Consumer credit process In an SOA, the process is controlled by the service consumer.
Data is accessed via the service provider.
ServiceConsumer
ServiceProvider
ServiceProvider Accouting
System... Reporting
Consultation System
Credit Reporting Agency
Costing System
Loan Consulting
Credit Investigation
Loan Awarded
Value Date /Payment
Securities Management
Reporting
Credit Processing
Service providers can implement processes and also call services.
SOAP SOAP SOAP SOAP
SOAP SOAP SOAP
IIOP RMI SOAP RPC
SOAP SOAP RPC 1 way
Not all is „SOAP“ resp. „Simple“ in the real life!
38
Oberösterreichfh
New Approach in a Service Oriented Architecture (SOA)?
ServiceInterfaceMethod 1
...Method n
ComponentInterfaceMethod 1
...Method n
Object
InterfaceMethod 1
...Method n
ComponentInterfaceMethod 1
...Method n
Object
InterfaceMethod 1
...Method n
Object
InterfaceMethod 1
...Method n
How fine resp. coarse grained is an appropriate component or service???
5 – 200 classes in 1 component or service…(Peter Herzum/Oliver Sims 2000)
What do criteria like „Self contained“, „Reusability in other contexts“ mean…?!
39
Oberösterreichfh
Redundant functionality and data, their modeling in suitable general
components, and their reuse in one or several services
APSAPI
Method 1...
Method n
APSAPI
Method 1...
Method n
Portlet Portlet
FR FR
...
...
DR
DR
FR = Function RedundancyDR = Data Redundancy
ServiceInterfaceMethod 1
...Method n
Presentation
Data
Processes
Applications
40
Oberösterreichfh
What‘s the appropriate granularity for a service, e.g. „a
shopping cart“?
41
Oberösterreichfh
Example:Has this component/design pattern an appropriate granularity for
SOA?Patterns...
sind bewährte Lösungswege, die textuell nach einem bestimmten Verfahren beschrieben werden (z.B. Gamma et al. 95).
Shopping CartAuthor Martijn van Welie
Problem Users want to buy a product
Principle Metaphor (Conceptual Model)
Context 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.
Forces •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
Solution 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 task. Consider a Wizard to guide the user through these tasks while minimizing the number of web pages used.
http://www.welie.com/patterns/shopping-cart.html
42
Oberösterreichfh
passwdchange
new auto payaccount login
account logindepositactivity history
withdrawal
logout
account login
account balance
transferdeposit new auto pay
enquiry
enquirylogout
passwdchange
new auto payaccount login
account logindeposit
activity history
withdrawal
logout
account login
transferdeposit new auto pay
enquiry
enquiry
logout
event cloud with thousands of events per sec…
…e.g. above a bank
Now remember the whole picture and what it really means:
Monitoring Business Processes and Activities
Senso
r 2
Senso
r 1
event patterns and complex event processing…
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 events4. Detecting patterns in the event cloud5. Abstraction of complex event pattern instances to higher level events
43
Oberösterreichfh
WebServicesOrchestration
!= Workflow-Modeling
XLANGMS 2001
WSFLIBM 2001
BEA?
BPEL 1.12002/May 2003
eEPK IDS ARIS199x
WS-BPEL 2.0Draft June 2004, OASIS final approved ??? 2005
UML 2.0Activity DiagramOMG 2004/5
BPM-Systeme as Eclipse-plugins, just announced:
VIP Tool Petrinet-Model-Verif. R&D / Uni
JSR207 / BPEL-JJCP 2003
JPDBEA 2003
XPDL 1.0WfMC Aug. 2002
XPDL 2.0WfMC Sept. 2005
JSR207 / BPEL-JJCP ??? 2005
Abstract + Executable Workflows
Deficits(e.g. human interactions)
Standardization takes too much time, said BEA
BEA anticipated BPEL-J standard for beeing able to deliver a tool
platform
BEA
IBM
MS
et al.
e.g. Arc-Styler
IDS
iQgen
IDS
IDS
IDS
Nearly
all U
ML to
ols
Aut. migrated
WebLogic Workshop™ - 1. Java IDE vs. MS Visual Studio
BEA, IBM, Oracle, SAP, SeeBeyond…, open source
BAM-Tools, no standards presently for:
• generic BAM sensors
• classification schema for tools
??? BPEL-Extensions ???
??? No standards yet ???
• Common Base Event CBE
• Common Event Infrastructure CEI … etcpp …
The „standardized“ confusion:Why does it seem so bewildering for the
(early) adopters today?
JBoss
VisualStudio
Rational
WebSphere
ARISToolkit
Weblogic
ARIS PPMIBM Monitor
WSADIE
Workshop
IBM ProcessServer
And 50 moretools…
Coral8
StreamBaseApama
iSpheres
Tibco BE, …
Systar
CITT
reality labCITT
reality lab
44
Oberösterreichfh
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 2004Service-Oriented Architecture: Composite Applications, Web Services and Multichannel Applications
*(0,7 Wahrscheinlichkeit)
Oberösterreichfh
AppServer
Monitor / Analyze / Act
WorkflowModeler
EventModeler
Enterprise cockpit
EventStore
realize scenarioprocess instances
set parameters
analysehistory…
Low Level Event Streams
Adapterse.g. RFID, topics of Pub/Sub, …
Normalized events,build businesss level events
Workflow Enginebased on BPEL
Rules Engine
„special“ SQLresp. other languages
IF …AND …FOLLOWED BY…WITHIN…ACTION
Model ^=Scenario
e.g. credit offers (completed)e.g. payments calculate
pott, offer rates, profit…
workflows
The Technology Challenge and the Principle of BPM/BAM/CEP, e.g. for „Next Generation InstantCredit Systems“
46
Oberösterreichfh
Closing the gap between low level and business level monitoring tools
• 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
Ser
vice
App
licat
ion
Net
wor
k
Coc
kpit
Pro
cess
Fun
ctio
n
• ARIS PPM• ORACLE
BAM• IBM
Monitor• …
Eve
nt P
roce
ssin
gE
vent
Pro
cess
ing
• IBM Tivoli• HP OpenView• BMC• CA• …
47
Oberösterreichfh
Service Consumer
ServiceProvider
• Events when a message is processed by a participant
• Contain MessageID, MessageExchangeID, ParticipantID, time
Do we need an integrated, seamless BAM/SAM?Events in a SOA - Messaging
XML
XML
Events can be used to track the propagation of messages in a SOA
Source: Deutsche Post World Net
Overhead to implement event generation in each application =>Integrate event generation in ESB
ESB
ESB
Non-functional aspects can be monitored
• Exceeded response time triggers an event
48
Oberösterreichfh
Service Consumer
ServiceProvider
ESB
ESB
• Events when a message is processed by a participant
• Contain MessageID, MessageExchangeID, ParticipantID, time
SOA messaging events do not contain any business-related information
Source: Deutsche Post World Net
Possible sources for business content:Message headers (set by sender application)Message content (e.g., identified by xpath)
• Correlation events containMessageExchangeID and BusinessID
Do we need an integrated, seamless BAM/SAM?Events in a SOA – Business Content
Business content can provide valuable information:Correlation between technical and business events
XML
<?xml version="1.0"> <order id="1234“ > <name>Foo Inc.</name> <orderNo>42</orderNo> <value> 24000 </value> </order>
Header: Process#4711Process#4711
id=“1234”
24000
Business information as input for BAM
49
Oberösterreichfh
Network
ProductionSystem
SO
A A
dpt
.
Customer Data
SO
A A
dpt.
OrderManagementO
the
r
Do we need an integrated, seamless BAM/SAM?Events in a SOA – Complexity
Service calls can not be seen in isolation
Any service participant will interact with other systems
One service call will often cause others
CustomerSystem
SO
A A
dpt
.
Impl
. C
Legacy App
Database
Result: Event cloud
50
Oberösterreichfh
• SOA events from one business process
Concurrency is inherent in enterprise systems
Do we need an integrated, seamless BAM/SAM?Events in an SOA – Complexity
51
Oberösterreichfh
• SOA events from one business process
• plus SOA events from other business processes
• plus other infrastructure events
Do we need an integrated, seamless BAM/SAM?Events in a SOA – Complexity
Concurrency is inherent in enterprise systemsComplex events require adequate processing
52
Oberösterreichfh
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 Enablement(WLI 9.x or WebSphere or …)
BillingProcess
InventoryManagement
Process
Customer Management
Process
Purchase Order Management Process
Mainframe CRM ERP TradingPartners
People
Service Bus Layer(SOPware or AquaLogic Service Bus or WebSphere …)
Messaging and Service Management
BPEL
Service Bus
BillingService
InventoryManagement
Service
Customer Management
ServiceBPELJ
Resources
Portals Composite Applications Mobile
53
Oberösterreichfh
Thanks for your attention!
… Bin ich ein „First Mover“?Oder ein „Early Follower“?Oder sitzen wir es aus?!...
top related