Transcript
Page 1: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

Oberösterreichfh

From Business Process Analysis

up to Business Activity Monitoring

Rainer von [email protected]

www.citt-online.com

Page 2: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

2

Oberösterreichfh

University Projects/PhD‘s and TeachingGermany University Regensburg

Page 3: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

3

Oberösterreichfh

… about 50 Students for the Course „Distributed Systems“

Page 4: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

4

Oberösterreichfh

… about 80 Diploma Students Austria Software Park

Hagenberg/Linz

Page 5: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 6: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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…

Page 7: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 8: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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 ....“

Page 9: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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 ...

Page 10: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 11: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 12: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 13: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 14: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

14

Oberösterreichfh

Prototypischer Workflow fokussiert Stufe 3

Beispiel: „EAI“ Referenzmodell eines AnwendersZwischen EAI und SOA wurde bisher nicht getrennt

Page 15: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 16: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

16

Oberösterreichfh

Page 17: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 18: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 19: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 20: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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?

Page 21: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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!

Page 22: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 23: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 24: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 25: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 26: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 27: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 28: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 29: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 30: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 31: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

31

Oberösterreichfh

What we and our PhD-students will do in the future in cooperation with e.g. …

Page 32: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 33: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 34: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 35: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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 */

Page 36: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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!

Page 37: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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!

Page 38: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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…?!

Page 39: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 40: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

40

Oberösterreichfh

What‘s the appropriate granularity for a service, e.g. „a

shopping cart“?

Page 41: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 42: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 43: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 44: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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)

Page 45: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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“

Page 46: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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• …

Page 47: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 48: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 49: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 50: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 51: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 52: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

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

Page 53: Oberösterreich From Business Process Analysis up to Business Activity Monitoring Rainer von Ammon rainer.ammon@citt-online.com

53

Oberösterreichfh

Thanks for your attention!

… Bin ich ein „First Mover“?Oder ein „Early Follower“?Oder sitzen wir es aus?!...