380 likes | 506 Views
Modelov ání a řízení podnikov ých procesů. Dílna Ensemble I. Cíle. Vývoj integrace aplikací Přehled Ensemble Komponenty Ensemble Co je podnikový proces ? Implementujeme podnikový proces Vytváříme podnikový proces pomocí BPL. Historie integrace aplikací. Historie integrace aplikací.
E N D
Modelování a řízení podnikových procesů Dílna Ensemble I.
Cíle • Vývoj integrace aplikací • Přehled Ensemble • Komponenty Ensemble • Co je podnikový proces? • Implementujeme podnikový proces • Vytváříme podnikový proces pomocí BPL
Historie integrace aplikací Propojeníaplikací Podnikový proces / tok práce Kompozitníaplikace Monitorovánípodnikových aktivit Nová generace integračních platforem
Co Ensemble děláPropojení • Adaptéry k: • Aplikacím • Technologiím • Datům • Součást instalace nebo vlastní (ADK) • Obecné funkce pro spolehlivé a spravovatelné operace • Služby SOAP mohou být použity jako adaptéry Framework pro konektory Konektory
Co Ensemble děláAbstrakce • Konsistentní, jednotný pohled na různorodou funkčnost a technologie • Federovaná databáze pro abstrakci dat • Vstupní & výstupní Abstrakční vrstva Konektory
Co Ensemble děláKoordinace • Synchronní a asynchrnonní integrace pro robustní volně spojená řešení • Mocný transakční systém směřování zpráv – dle obsahu, správa front, garantované doručení • Mocné a rozšiřitelné transformace dat – podporují programové i „klikací“ definice Koordinace Abstrakce Konektory
Co Ensemble děláDiriguje • Zprostředkovává integraci na úrovni podnikovýchch procesů • Definuje toky práce a informací se zřetelem na logické interakce, ne na nízké úrovni • Podporuje modelovací nástroje třetích stran Dirigování Koordinace Abstrakce Konektory
Dirigování Koordinace Abstrakce Konektory Uložiště Co Ensemble děláUložiště • Zabudovaná osvědčená, výkonná, vysoce dostupná transakční databáze • Ukládá metadata, zprávy, aplikační data, indexy • Podporuje objekty a SQL pro analýzy a reporty
Dirigování Koordinace Abstrakce Integrace & Vývoj Konektory Uložiště Co Ensemble děláIntegrace a vývoj • Plně funkční prostředí pro rychlý vývoj a integraci • Vývoj komponent • Vývoj kompozitních aplikací • Skriptovací jazyk Basic pro programátory znalé VB
Dirigování Koordinace Abstrakce Řízení Integrace & Vývoj Konektory Uložiště Co Ensemble děláŘízení • Kompletní vybavení pro konfigurování, řízení a monitorování integrovaných aplikací • Podporuje známé monitorovací nástroje a API třetích stran
Řešení* Adaptéry Vstupní Výstupní Transformace dat Zprávy Dotaz Odpověď Podnikové Služby Podnikové Procesy Podnikové Operace Komponenty Ensemble *Přesný překlad ve shodě s hudební terminologií Ensemble je představení
EnsembleŘešení • Třída definující konfiguraci celé integrované sady aplikací • Obsahuje: • Podnikové služby • Parametry vstupních adaptérů • Podnikové procesy • Podnikové operace • Parametry výstupních adaptérů
BPL / skript Vstupní Adaptér Výstupní Adaptér Podnikové Služby Podnikový proces Podnikové Operace X* Vstup dat volání Dotaz(Zprava) Odpověd(Zprava) Cil(proces/Operace) Dotaz(Zprava) Odpoved(Zprava) Vstup(Zprava) VystupZprava) Y* Volání procesu Dotaz (Zprava) Odpověd(Zprava) ostatní Název Procesu( Process) Vstup(Zprava) Vystup(Zprava) *Uživatelem definované metody provádějící konkrétní akce *Sync/Async EnsembleImplementace komponent Inicializuje výměnu zpráv mezi aplikacemi Převod mezi callrequest a request Převod mezi callrequest a request Převod mezi callresponse a response Převod mezi callresponse a response Kontext Posílá zprávu procesu pomocí správce front Kompozitníaplikace Federovaná databáze
EnsembleTřídy podnikových procesů • Operace • Obsahují metody jenž přistupují v externím aplikacím • Vyvolávají se z Ensemble • Procesy • Služby • Procesy • Koordinují jednu nebo více operací nebo procesy • Vyvolávají se z Ensemble • Služby • Služby • Vystavují funkce Ensemble • Vyvolávány externími aplikacemi
EnsembleAktéři (démoni) • Obsluhují podnikové procesy (BP) • Může jich být více (sada procesů – pool) • Mohou se střídat v průběhu života jednoho BP
Jak Ensemble startuje • Řídící proces načte definici řešení (production) • Vytvoří se všechny potřebné procesy: • Služby • Aktéři pro procesy • Operace
Ensemblepodnikové procesy • Zajišťuje vyvolání jedné nebo více podnikových operací k vykonání určité úlohy • Ensemble se stará o stav a schopnost rekonstrukce podnikových procesů • Synchronní / Asynchronní
Ensemblepodnikové procesy • Definice pomocí BPL (Business Processing Lanuage) • Graficky • XML formát • Programově pomocí skriptovacích jazyků Ensemble
Implementujeme podnikový proces • Průvodce implementací • Výběr - odvodíme ze třídy: • Ens.BusinessProcessBPL (BPL) • Ens.BusinessProcess (programový kód) • Parametr INVOCATION: • Queue • In-proc
Implementujeme podnikový proces - programově • OnRequest • Obdrží primární dotaz (zprávu) • Vyvoláme podnikový proces nebo operaci voláním metody SendRequestSync nebo SendRequestAsync • OnResponse • Ošetříme odpovědi (zprávy) vrácené asynchronním voláním podnikového procesu / operace
Implementujeme podnikový proces - BPL • Business Process Language (BPL) je jazyk používaný k popisu vykonavatelných podnikových procesů pomocí XML dokumentů • BPML • BPEL • Nejvýrazněji je jeho vliv vidět v Business Process Execution language for Web Services (BPEL4WS) standardu, používaném k automatizování komplexních podnikových procesů
Implementujeme podnikový proces - BPL • Podnikový proces se definuje pomocí XML • XData • Studio má rozhraní pro implementaci obchodního procesu pomocí grafické notace
Implementujeme podnikový proces - BPL <callname="Credit Rating" class="Demo.Loan.WebOperations" async="1"> <requesttype="Demo.Loan.Msg.CreditRatingRequest"> <assignproperty="callrequest.SSN" value='context.SSN'/> </request> <responsetype="Demo.Loan.Msg.CreditRatingResponse"> <assignproperty="context.PrimeRate" value="callresponse.Result"/> </response> </call>
BPL Elementy <call> — Předává požadavek na volání podnikové operace nbo jiného podnikového procesu. <assign> — Přiřadí hodnotu vlastnosti objektu context podnikového procesu. <sync> — Čeká na odpověď jedné(oho) nebo více asynchronně volaných operací / procesů. <trace> — Provede záznam do logovacího souboru Ensemble
Elementy Ensemble BPLProces • <processrequest="Demo.MyRequest" • response = "Demo.MyResponse" language="basic"> • <context> • … • </context> • <sequence> • … • </sequence> • </process>
Elementy Ensemble BPLprocess <processrequest="Demo.MyRequest" response="Demo.MyResponse" language="basic"> … </process> • Atributy: • request • response (volitelně) • language (volitelně) • objectscript (defaultně) • basic
Elementy Ensemble BPLcontext • <context> • <propertyname="BankName" type="%String"/> • <propertyname="Rates" type="%Numeric" collection= "list" /> • <propertyname="Best Rate" type="%Numeric" • initialexpression= "0" /> • </context> • Kontextové vlastnosti udržují informace o podnikovém procesu po celou dobu jeho trvání v Ensemble • context je persistentní třída • Vlasnostmi kontextu mohou být objekty
Elementy Ensemble BPLassign <assignproperty= "context.BankName" value= 'callresponse.Name'/> <assignproperty= "context.Rates" value= "4.5" action="append" /> <assignproperty= "response.Rate" value= "context.Rates.GetAt(1)" /> • atributy: • property: název přiřazované vlastnosti • value: přiřazovaný výraz • action: set (default), append, clear, insert, remove • key: pouze pro kolekční atributy
Elementy Ensemble BPLcall • <calltarget = "Demo.DecisionProcess" async= '1' > • <request> • <assignproperty = 'callrequest.Id' value = 'request.CustNo' /> • </request> • <response> • <assignproperty = 'response.Amt' value = 'callresponse.Cost' /> • </response> • </call> • atributy: • target: podnikový proces nebo operace • async: 0 nebo 1
Elementy Ensemble BPLsync • atributy: • calls: jména asynchronně volaných procesů/operací • type: all nebo any • timeout: maximální doba po níž / do kdy se čeká na odpovědi asynchronních volání <synccalls="BankAmerica,BankSoprano" type="all" timeout="10" / >
Elementy Ensemble BPLBPL objekty • context: objekt implementující kontext podnikového procesu • process: objekt představující podnikový proces • request: primární dotaz (zpráva) BP • response: primární odpověď BP • callrequest: vstupní dotaz volání <call>, k dispozici je pouze uvnitř kontejneru <call> • callrequest: odpověd volání <call>, k dispozici je pouze uvnitř kontejneru <call>
Jedna architektura Přístup Ensemble k integraci Vývoj Řízení jedendatový model jedno uložiště metadat jedno vývojové prostředí jedno řídící prostředí jeden proces učení Uložiště