Enterprise Application Integration
and Process Modelling
Erik Perjons
DSV, KTH/SU
Why focusing on business processes?
• discover and adopt to changed customer demands
• automate the activities in business processes
• re-engineering the business processes to make them more effective/efficient
• easy to understand for non-technical people
Stove pipe problem
PurchaseMarket
Customerservice
Production
Management
$ $$
Purchasing
Receivingsupplier goods
Manufacturing
Warehouse
Board of Directors
Marketing
Deliver/Ship
Customer service
Packaging
Quality Assurance
Recieve orders
Shipment
Business processes cross departments
PurchaseMarket
Customerservice
Production ShipmentManagement
$ $$
Purchasing
Receivingsupplier goods
Manufacturing
Warehouse
Board of DirectorsMarketing
Deliver/Ship
Customer service
Packaging
Quality Assurance
Recieve orders
Solution: Integrated IT systems
PurchaseMarket
Customerservice
Production ShipmentManagement
$ $$
Purchasing
Receivingsupplier goods
Manufacturing
Warehouse
Board of DirectorsMarketing
Deliver/Ship
Customer service
Packaging
Quality Assurance
Recieve orders
Why problem integrating IT systems?
• Different platforms, programming languages, and formats
• No interfaces
• Legacy systems with no documentation
• Different semantics in the systems (different meanings of e.g. ”customer”, ”region”, ”product”)
• Need of a routing mechanism
Problem: Constantly changing business processes
Purchase
MarketCustomerservice
ProductionManagement
$ $$
PurchasingReceiving
supplier goods
Manufacturing
Warehouse
Board of DirectorsMarketing
Deliver/Ship
Customer service
Packaging
Quality Assurance
Recieve orders
Planningproduction
Integration solutions
• ERP and Enterprise systems - replace existing IT systems with a new one
• EAI middleware- integrate existing IT systems
• Electronic collaboration solutions (B2B solutions) - integrate the suppliers’ and customers’ systems
• Data warehousing- extract some data from existing IT systems and load it into a new system for decision support
ERP systems/Enterprise systems
Purchase
MarketCustomerservice
Production ShipmentManagement
$ $$
PurchasingReceiving
supplier goods
Manufacturing
Board of DirectorsMarketing
Deliver/Ship
Customer service
Packaging
Quality Assurance
Recieve orders
Planningproduction
Integration solutions
• ERP and Enterprise systems - replace existing IT systems with a new one
• EAI middleware- integrate existing IT systems (RPC, CORBA, XML, Message Broker, BPMS)
• Electronic collaboration solutions (B2B solutions) - integrate the suppliers’ and customers’ systems
• Data warehousing- extract some data from existing IT systems and load it into a new system for decision support
EAI: Point-to-Point solutions
Purchase
MarketCustomerservice
Production ShipmentManagement
$ $$
PurchasingReceiving
supplier goods
Manufacturing
Warehouse
Board of DirectorsMarketing
Deliver/Ship
Customer service
Packaging
Quality Assurance
Recieve orders
Planningproduction
EAI: Many-to-Many solutions
Purchase
MarketCustomerservice
ProductionManagement
$ $$
PurchasingReceiving
supplier goods
Manufacturing
Warehouse
Board of DirectorsMarketing
Deliver/Ship
Customer service
Packaging
Quality Assurance
Recieve orders
Planningproduction
Message Brokers and BPMS
Application A Application B
Application C
BPMS
Person A
Many-to-many- BPMS
Message Broker
Application A
Application B
Application CApplication D
Many-to-many- Message Brokers
Application A
Application B
Application C
Application AApplication D
Point-to-point
Business Process Management Systems (BPMS)
also called Process Brokers, Process Automation Systems, Workflow Management
Systems
- directly executable businessmodels
- support process design (modelling), execution, analysis, simulation and optimisation of business processes
- automate the business processes, or the information flow
Categorisation of Business Process Modelling Languages
• Static-oriented languages -visualise the input and output from activities, but not the logical order/time, e.g. IDEF0, data flow diagram
• Activity-oriented languages-decribes which activities follows and precede another in a process, e.g EPC, UML activity diagram
• State-oriented languages-describes which states follow and precede another in a process, e.g UML state diagram
• Communication oriented languages- focus on the interaction between prople and systems, and between systems, e.g UML sequence diagram, BML, SDL
Basic process language concepts
A time point is an instant in time, not further decomposible
An event is an noteworthy occurence
A state shows the condition of a process and can be represented in several way, e.g. as a set of attribute values
A activity is something that is performed in a process
Four basic process language concepts, which have the following intuitive meaning:
Different meaning of basic terms
Time points Time points
Even
t
Even
t
ActivityActivity
State State State StateState State
Two examples (there are more):
Meta models and reference meta model
Capturerequirement
Require-ment
occured
Check materialon stock
Material ison stock
Require-ment
captured
Material isnot on stock
X
Capturerequirement
Check materialon stock
Requirement[captured]
Requirements[checked]
Precedes
Succeeds
Precedes/succeeds
Succeeds
Function Event State
Precedes
Activity
Transform-ation
Event
State
Succeeds
Precedes
consists of consists ofMeta ModelLevel
-referencemeta model
Meta ModelLevel
-modellingtechniques
Model Level
UML Activity DiagramEPC
[Rosemann&Green, 2002]
Data flow diagram
Beställningsmottagande
Katalog-kontroll
Budgetkontroll
Bokinfo Budgetinfo
An-ställd
Bok-handel
Beställningsrutin
Lev.info
UML Activity DiagramFind
Beverage
Put Coffeein Filter
GetCups
Add Waterto Reservoir
Put Filterin Machine
Turn onmachine
BrewCoffee
Get Canof Cola
DrinkBeverage
PourCoffee
[found coffee]
[no coffee] [no cola]
[found cola]
[Fowler&Scott, 1997]
UML State Diagram
Waiting
Dispatching
do/initiatedelivery
Checking
do/check item
Delivered
[all itemsavailable]
[not all itemschecked]
[all itemschecked&some
items not in stock]
[all itemschecked&all
items available]
[Fowler&Scott, 1997]
EndO rderO rder
answ er=O K
O rderupdate
U pdateansw er
W ait forEvent 1
Tim erT1
Tim erT1 O rder
answ er=N ot O K
End
A pp Adoes notansw er
C u sto m e r
App A O p e ra to r
Business Modelling Language (BML)
EndO rderO rder
answ er=O K
O rderupdate
U pdateansw er
W ait forEvent 1
Tim erT1
Tim erT1 O rder
answ er=N ot O K
End
A pp Adoes notansw er
C u sto m er
App A O p era to r
Business Modelling Language (BML)
C u sto m er
App A O p era to r
Order BIA
Business Modelling Language (BML)
Process Broker project
The purpose of the project is to investige BPMS (Process Brokers), in particular:
• business process modelling languages
• method for application and process integration
Process Broker project - Telecom caseBeställare
M obil-användare
Prepay system
Autom atisktKundmöte
M obileSwitchCenter
Betala_hjälp
Hom eLocationRegistry
(HLR) M obilSvar
Dafa
Nr-databas
Adress-kontroll
Pris-db
Postadressfråga
¤Fyll_på_epeng_fråga(408, 410)¤Fyll_på_giropeng-påpekande (421, 423)¤Betala-kvittens (440)¤ In fo (411)
¤Epeng_fylls_på
¤Hjälp_kund(412, 424)
¤Info ¤Nyttjarm obilte lefon
¤Hjälp_kund_betala
¤Kund-datasvar¤Felsöksvar
¤Beställn ing¤Ändra_beställn ing¤Fyll_på_epeng_begäran
M obil-användare
Tryckeri
Postadressvar
¤Nr-begäran1-svar¤Nr-begäran2-svar
¤Kund-datafråga¤Felsök
SMS
AUC
Postgiro
Bankgiro
PCR
M obil-användare
¤SIM -kort_beställn ing
PRE-BESTÄLLNING
Pre-Ny_beställ
Pre-Ändra_beställ
Beställ OCR-blankett
Statistik
Kundinfo-sökare
Kort-databas
SM CC
NR-HANTERINGSläpp_nr
Nr-sök
¤SIM -kort_stor_leverans
¤Batch-beställn ing_SIM -kort
¤Debiterings-underlag
¤Nr-begäran1-svar(un ik/nr-förslag)¤Nr-begäran2-svarun ik/nr-förslag)¤Boka_nr_svar¤Ta_bort_nr_svar¤Släpp_nr_O K
BESTÄLLNING
Ändra_beställningNy_beställning
Uppdatera_O pen_VoiceUppdatera_PPSUppdatera_HLR
HLR_borttag
PPS_borttag
Kundstatus_borttag
AUC_borttag
Uppdatera_AUC
KUNDINFOKundstatus
Felsök
PERIODISK_BETALNING
Beräkna_periodsum m a
Dra_från_IN-konto
BETALABetalning_via_giro
Välj_betal-ningssätt
Betalning_via_konto
Spontanbetalning_giro
G odkändatransaktioner
Fyll_på_IN_konto
Euroline_betalning
Kortdb-hantering
Efter-debitering
Statistik
¤Pris-listafråga (601)
¤Pris-listasvar (602)
¤Epeng-period-betaln ing_O K ( 606)¤Debitera_tjänst_svar
¤Epeng-period-betaln ing(604)¤Debitera_tjänst
¤Epeng_fylls_på ( 435)
¤Fyll_på_epeng_begäran (401)¤Epeng_fylls_på_O K (438)
¤Fyll_på_epeng_begäran (402)
¤Starta_period isk_betaln ing (501)
¤Betalasätt-svar(404, 431)¤G iltig t_kort-svar
¤Ny_kund-data (407, 413, 415, 420, 425, 437, 439)¤Betalasätt-fråga (403, 430)¤G iltig t-kort_fråga
¤Fyll_på_epeng_svar(409)
¤Trans-in fo
¤Trans-in fo
¤Transinfo
¤Kunddatafråga (506)¤Saldofråga (502)
¤Kunddata-svar(509)¤Saldo-svar (503)
¤Beställn ing_O K( 312)¤Ändra_beställn ing_O K (342)¤Ta_bort_in lagd_data_O K( 333)
¤Beställ-n ing ( 303)¤Ändra_beställ-n ing (340)¤Ta_bort_in lagd_data (331)
¤Kund-data-fråga(505)
¤Ta-bort_nr-bok-n ing
¤Beställn ing (304)¤Ändra_beställ-n ing (337)¤Ta_bort-in lagd_data (328)
¤Beställ-n ing_O K (336)¤Ta_bort_in lagd_data_O K
¤Beställ-n ing (334)¤Ta_bort_in lagd_data
¤Ta_bort_in lagd_data (351)¤ In fo_tjänster (371, 372,373,374, 375)
¤Beställn ing_in itierad¤Ändra_beställn ing_in itierad¤Ta_bort_in lagd_data_O K (353)
¤Beställn ing_O K (313)¤Ändra_beställ-n ing_O K (339)¤Ta_bort-in -lagd_data_O K(330)
¤Kunddata-svar(510)
¤Kunddata-fråga(507)
¤Kund-data-svar (504)¤Info (511,513, 514)
¤Beställn ing¤Ändra_beställ-n ing (340)¤Ta_bort_in lagd_data (331)
EurolineM obil-telefon-
försäljare
M obil-användare
¤Rekvirera_epeng (417)¤Batch_capture
¤PG _fylls_på
¤Kortkontro ll
¤BG _fylls_på
¤Kortkontro ll-svar
¤Kort-kontro ll-svar
¤Skicka_nya_O CR-blanketter
¤Skicka_nya_O CR-b lanketter
¤Fordran
¤SIM -korts-in fo
¤SIM -korts-in fo
¤SIM -korts_in fo_m ed_adress
¤Kortkontro ll-fråga
¤Nr-begäran1(un ik/nr-förslag)¤Nr-begäran2(un ik/fö rslag)¤Avbryt¤Boka_nr¤Släpp_nr¤Ta_bort_nr
¤SIM -kort_leverans
¤Beställn ing_in itierad¤Ändra_beställn ing_in itierad
¤Prebe-ställ-n ing_in fo
¤Boka_nr¤Ta-bort_nr
Ta_bort_nr
Boka_nr
¤Boka_nr_svar¤Ta_bort_nr_svar
¤SIM -kort_beställn ing_O K
¤Beställn ing_in itierad¤Ändra_beställn ing_in itierad
¤Kunddatafråga (115)¤Felsök (116)
¤Beställ-n ing_O K¤Ändra_be-ställn ing_O K¤Ta_bort_in lagd_data_O K
BPI-operatör
¤Felin fo( ¤Felin fo
(
¤Felin fo(512)
BPI-operatör
¤Felin fo(309, 321,329, 332,335, 338,341, 352)
¤Felin fo(419, 436)
¤Felin fo(605)
¤Skicka_nya_O CR-b lanketter
¤Beställin fo(310,320,323, 360)
¤Nr-begäran1¤Nr-begäran2¤Avbryt
Fordrings-konto
¤Kunddatafråga (115)¤Felsök (116)
¤Kund-data-svar (508)
KUNDINFOKundstatus
Felsök KUNDINFO
Kundstatus
Felsök
Beställning_kundinfo
Vita Nova project
The purpose of the project is to investige the potential of BPMS in Health and Medical Services
DSV’s assignment is to develop a framework for evaluating business processes models, BPMS and methods for integrating business processes
Loosely-Structured Business Processes project
The purpose of the project is to investige BPMS for loosely-structured business processes
• focused on goal and state modelling
• try to define patterns for such business processes
• case studies: decision-making and lobbying
ebXML and EC4 project
- ebXML is a global standard developed by UN/CEFACT and OASIS
- EC4 stands for Electronic Commerce and Collaboration Center
- aims at disseminate knowledge about electronic commerce and collaboration among researchers, students and SME
Integration solutions
• ERP and Enterprise systems - replace existing IT systems with a new one
• EAI middleware- integrate existing IT systems
• Electronic collaboration solutions (B2B solutions) - integrate the suppliers’ and customers’ systems
• Data warehousing- extract some data from existing IT systems and load it into a new system for decision support
B2B - Electronic CollaborationIntegration
Purchase
MarketProduction
Management$ $
$
Purchasing
Receivingsupplier goods
Manufacturing
Warehouse
Board of Directors
Marketing
Deliver/Ship
Customer service
Quality Assurance
Customerservice
Shipment
Packaging
SuppliersRecieve orders
Customers
Business Processes spanning several organisations
Company 3Company 2
Company 1
P1.1
P1.4P1.2
P1.3
ebXML Electronic CollaborationIntegration Levels
Business Domain View
Business Requirements View
Business Transaction View
Business Service View
Implementation Function View
Business Area
Process Area (supply-chain)
Business Process REA
Business Collaboration
Business Transaction
Business Service
MessageServiceHandler
SOAP (WebServices)
HTTP SMTP MIME ...
TCP/ IP...
SOA
Web services and CORBA are different implementations of Service Oriented Architecture (SOA)
Service Requestor
Service Broker
Service Provider
Find
Request & Bind
PublishPublish and provide service
Register and Store
Find, request and bind service
Integration solutions
• ERP and Enterprise systems - replace existing IT systems with a new one
• EAI middleware- integrate existing IT systems
• Electronic collaboration solutions (B2B solutions) - integrate the suppliers’ and customers’ systems
• Data warehousing- extract some data from existing IT systems and load it into a new system for decision support
Data warehousing architecture
Query/Reporting
ExtractTransformLoad(ETL)
Serve
External sources
Data warehouse
Data marts
BI/Analysis/OLAP
Falö aöldfflaöd aklödfalö alksdf
Data mining
Productt Time1 Value1 Value11
Product2 Time2 Value2 Value21
Product3 Time3 Value3 Value31
Product4 Time4 Value4 Value41
Operational DBs/OLTPs/TPSs
Front end toolsEnd user applications
Back end toolsData staging area
”The data warehouse”OLAP servers
The back room The front room
Data sources Legacy systemsOLTP/TP systems
Data warehousing definition
”Data warehousing is a collection of decision support technologies, aimed at enabling the knowledge worker (executive, manager, analyst) to make better and faster decisions.”
[Chaundhuri&Dayal, 1997]