Vissza

Workflow és Szolgáltatásorientált architektúra (SOA)

Az alábbi tanulmány gyakorlati megközelítésben nézi meg a SOA vs. workflow automatizációt, és egy ilyen környezet megvalósításakor felmerülő valóságos problémákat vizsgál a módszerek bemutatása és az elérhető technológiák és szabványok összevetése révén

Az alábbi tanulmány gyakorlati megközelítésben nézi meg a SOA vs. workflow automatizációt, és egy ilyen környezet megvalósításakor felmerülő valóságos problémákat vizsgál a módszerek bemutatása és az elérhető technológiák és szabványok összevetése révén. A Workflow Management Coalition (WfMC) teljesjogú tagjaként az ADVANTYS közvetlenül vesz részt a workflow szabványok meghatározásában. A WorkflowGen munkafolyamat-tervező szoftver a legutóbbi szabványok alapján lett megtervezve, és egy SOA-val teljes mértékben összhangban lévő megoldást kínál.

SOA: újabb rövidítése egy új technológiának?

Az információs technológia minden eddiginél inkább saját jogon kezd tudománnyá válni, az információs rendszereket tervező új architektúra valódi matematikai formulákat használ, amelyek a kezdők számára nehezen érthetőek:

 SOA = (EDI EAI XML BPM) x WEB

Ugyanakkor a szervezetek által kifejezett igények rendkívül egyszerűek:
Hogyan szervezzük meg és optimalizáljuk üzleti folyamatainkat?

Még néhány évvel ezelőtt is a válasz erre a kérdésre nagyon egyszerű volt: Workflow.
Ma azonban ugyanerre a problémára számos megoldás jöhet szóba:

  • Sztenderdizáljuk a különböző információs rendszerek közötti információcserét EDI (Elekronikus adatcsere), az XML dokumentumok közöttit pedig EAI (alkalmazás integráció) megoldásokkal.
  • Automatizáljuk az információkeringést, és optimalizáljuk a feldolgozást BMP (üzleti folyamat menedzsment) eszközzel.
  • Építsük be ezeket a változásokat webes szabványokkal, mint például a HTTP protokol, és webes szolgáltatásokkal

Mintha ez nem adna elég gondolkodnivalót a cégek számára, jelenleg a cégek számára javasolt rendszer-archtektúrájukat „Szolgáltatás” formában átszervezni. Mitöbb, hogy ez a feladat még bonyolultabb legyen, több mint 20, többé-kevésbé versenyképes szabvány létezik...

Tízévnyi fáradságos vándorlás után az objektum-orientált alkalmazások és a három szintű artchitektúra felé, a cégeknek valóban nulláról kellene újrakezdeniük?

Az SOA és a Workflow egymás szinonímái, kiegészítik egymást, vagy versengenek egymással?

Hogyan lehet a folyamatok optimalizálására való igénynek azonnal megfelelni és egyidejűleg a legújabb technológiákat is beépíteni?

A SOA bemutatása

Egyszerűen fogalmazva a Szolgáltatásorientált architektúra egy olyan megközelítése az alkalmazások kivitelezésének, amely a „szolgáltatás” használatán alapul. A „szolgáltatás” egy újrafelhasználható alkotóelem, amely vagy az internetről vagy külső céghálózatról elérhető. Ez az alkotóelem webes szolgáltatás formájában létezik, ami azt jelenti, hogy teljesen moduláris lehet, független a szolgáltatásokat befogadó platformtól, valamint lehetővé teszi, hogy HTTP, XML vagy SOAP szabvány-alapú legyen.

Ennél fogva a webes szolgáltató könnyen felajánlhat a cég számára belső vagy külső, „fogyasztói” alkalmazásokat, az alkalmazások révén könnyen beépíthető funkcionalitásokkal, közvetítőtől függetlenül: gazdag kliens (Windows), vékony kliens (Web) vagy mobil kliens (PDA).

Az alkalmazás, amely webes szolgáltatást fogyaszt, „szemezgethet” az ellátó funkcionalitásaiból függetlenül attól, hogy azok hol vannak a hálózatban, illetve függetlenül a felhasznált technológiáktól és adatbázisoktól.

A webes szolgáltatások könyvtárainak ellátása azt jelenti, hogy az egyes igényeknek leginkább megfelelő szolgáltatások könnyen megtalálhatók.

Ez az elgondolás nem új, az „object broker” DCOM és CORBA már felkínálja ezeket a szolgáltatásokat. A SOA szélekörű felhasználhatósága az XML és a webes szolgáltatások szabványait használó szoftver megoldások használatának köszönhető, ezek a technológiák pedig lehetővé tették teljes alkalmazások létrehozását. A SOA célja tehát a cégek informatikai architektúrájának szisztematikus jellemzőjévé tegyék a webes szolgáltatások létrehozását és fogyasztását.

Ajánlatos a szolgáltatásokat egyenként feldolgozni, hogy újrafelhasználhatóságuk javuljon, más, összetetteb munkafolyamatokban, vagy másnéven üzleti folyamatokban.  

Ezért fontos minden szükséges eszköz és szabvány beszerzése, hogy a különböző szolgáltatások végrehajtását gyorsan lehessen modellezni és szervezni.

Ezáltal el is érkezünk a probléma lényegéhez:

A SOA a Workflow egy újabb változata?

Marketing szempontból azt mondhatjuk, hogy a webes szolgáltatások „hangszerelésének” koncepciója kissé túl elvont a cégek számára, az üzleti folyamatok optimalizálása ennél sokkal egyértelműbb dolog. Az XML és a webes szolgáltatások felé orientálódó EAI szoftver tervezők természetes módon fordultak a SOA-hoz, hogy világos válaszuk legyen a fogyasztói igényekre. Ugyanakkor ezeknek a szoftvereknek a többsége még mindig az automatikus folyamatok workflow-jára specializálódott: teljesen automatikus szinkron és aszinkron folyamatokat használnak. Így aztán még mindig az EAI birodalmában járunk.

 Gyakorlati szempontból kijelenthetjük, hogy a SOA figyelemre méltó platform a workflow szoftverek számára. Valójában a legtöbb BMP megoldás képes webes szolgáltatásokat „fogyasztani” az automatikus folyamatok végrehajtásához. Másfelől nézve viszont a problémát, a egy workflow motor által menedzselt folyamat egy másik alkalmazás számára aszinkron webes szolgáltatásként értelmeződhet. Ezeket a funkcionalitásokat WFMC és OASIS szabványok használatával engedélyezik, mint például az ASAP és a WF-XML 2.0.

Ebből kifolyólag egy szervezet, amely szolgáltatásorientált architektúrát valósít meg, nagymértékben tudja optimalizálni a workflow megoldással menedzselt folyamatait.   

Kell-e alkalmazni SOA-t egy workflow megoldás használata előtt?

Ez nem szükséges, sőt valójában nem is ajánlatos. A Workflow projekt tulajdonképpen lehetővé teszi a cég folyamatainak pontos modellezését, és az automatikus folyamatokra is hangsúlyt fektet, ami az Ön SOA-jának webes szolgáltatásainak a jövője.

A workflow szoftver létrehozása egy természetes lépés az Ön információs rendszerének a SOA irányába való fejlesztésében.

Ezenkívül a végfelhasználó szempontjából a webes szolgáltatás továbbra is nehezen megragadható dolog marad. Ezért időben sorban haladva válaszolhat a folyamatainak optimalizációjával kapcsolatosan felmerülő az azonnali igényekre workflow motor alkalmazásával, és később optimalizálhatja automatikus folyamatait SOA kiépítésével.
 
soa

Workflow projekt kezelése a SOA észbentartásával

Nincs még itt az ideje, hogy teljesen automatizált munkafolyamatok kivitelezéséről gondolkodjunk. Az igazság az, hogy a kollaborációs projektmenedzsment is és az outsourcing is jelentős mennyiségű emberi művelet végrehajtásával jár együtt (különös tekintettel a jóváhagyásokra).

A legtöbb adminisztrációs folyamatban a webes szolgáltatások formájában előforduló automatizálható folyamatok még mindig ritka kivételnek számítanak. Ennek ellenére a legjelentősebb termelékenységi növekedések pont ezeknek a műveleteknek a hatására fognak megjelenni. Például egy workflow rendszer alkalmazása egy beszerzési folyamat validálásának folyamatában nagymértékű növekedéshez fog vezetni a termelékenységben. Vagy egy művelet automatizációja egy beszerzési folyamat nyilvántartásba vételéhez, amelyet az ERP-ben validáltak webes szolgáltatást használva, még több értékes időt takarít meg, valamint a bevitelkor keletkező hibák esélyét is kizárja.

 Végezetül, az érzékenység kulcselem, a folyamatoknak ezért adaptálhatóknak kell lenniük a szervezetnél bekövetkező külső vagy belső változások szerint.

Emiatt különösen fontos beépíteni ezeket a paramétereket a workflow kivitelezési módszerébe, miközben a SOA architektúra kiépítését is szem előtt kell tartani.

Alább következik néhány fontosabb lépés, ami egy ilyen típusú projekt sikerességét biztosítja:

Készítsen leltárt a folyamatairól

Az esetek többségében egy workflow projektj a folyamatok kivitelezéséig tart. Azonban nem érdektelen összes projektjét objektíven is megnéznie (osztály, terület stb szerint). Ezzel a lépéssel azonosítani tudja az automatikus feldolgozású műveleteket, amelyek közösek a különböző folyamatokban. Ennél fogva, amikor a „szolgáltatásokat” hozza létre, meg tudja becsülni újrafelhasználhatóságukat, és ezáltal elkerülni az olyan helyzeteket, ahol például túlságosan specializáltak lennének a fogyasztói folyamat szempontjából.

Dolgozzon a folyamat verziója szerint

Egyes esetekben a webes szolgáltatás létrehozása fontos al-projektet jelenthet az Ön workflow-jában. Ez észrevehetően megnövelheti a workflow létrehozási folyamatát, például a webes szolgáltatások elemzésének és fejlesztésének forrásaival kapcsolatos problémák miatt. Egy folyamat automatizálása workflow motorral jelentős növekedéshez vezethet a termelékenységben és a szolgáltatás minőségében.

Ezért ahol csak lehet, célszerű egy 1-es verziót elindítani (például egy kísérleti projekt részeként) egyszerű webes szolgáltatásokkal. Ebben az 1-es verzióban szerepelhet bármely fejlesztés vagy változtatás is a kezdeti webes szolgáltatás terveihez képest.

Tervezzen egy SOA kezelőt

A webes szolgáltatások száma meredeken emelkedni fog a fogyasztók számával összhangban. Az adatbázisok szempontjából fontos, hogy webes szolgáltatásainak „könyvtára” hatékonyan legyen szervezve. Először is, egy személyt ki meg kell bízni az elérhető webes szolgáltatások könyvtárának frissítésével (leírás,verzió, biztonság stb.), beleértve a cég számára belülről és lehetőleg kívülről is elérhető szolgáltatások használatát. Ez egyben alkalmat szolgáltat a minőségbiztosítás egy szintjének biztosítására, különösen a szabványügyi paraméterek, teljesítmény, biztonság és elérhetőség tekintetében.

Összefoglalva az új technológiák ezen gyakorlati megközelítése lehetővé teszi az Ön számára, hogy a workflow terén elérje céljait, miközben egyúttal egy SOA forgatókönyv megvalósítása felé halad. A SOA hatékony megvalósítása megkíván bizonyos vállalati érettséget a cégfolyamatok automatizálásával szemben. A jelen helyzetben azonban az összes feladat egyidejű elvégzése egyetlen eszközzel és ugyanazon fejlesztői profilok használatával különösen nehéz feladatnak bizonyulna. 

SOA szabványok vagy workflow szabványok: mi a legjobb?

Mint ahogy fentebb már esett róla szó, a szolgáltatásorientált architektúra különösen nagyteljesítményű platformot képez ezen Workflow-k kezelésének gyorsítására és optimalizálására.

Itt a modellálás és végrehajtás különböző szintjeiről van szó. Ugyanakkor számos közös pont, sőt átfedés van a BMP/Workflow és a SOA között. 

A problémát jelenleg a különböző szabványügyi szervezetek között folyó viszonylagos versengés jelenti. A webes szolgáltatások szabványai, az XML, az EAI és az EDI valójában kifejezetten a BMP-hez és a workflow-hoz közelítenek.

Történelmi szempontból a WFMC tekinthető ezen a területen előfutárának, különös tekintettel az XPDL-re, amely folyamatokat határozott meg, és az alkalmazások közötti cserét szabályozó WF-XML-re. Az együttműködés az OASIS-szal az ASAP protokoll létrehozására átmenetet képez az egyéb webes szolgáltatás típusú szabványok felé. 

A BMP területén egyre nehezebben érthető a „szabvány készlet”. Jó példa errre a BPEL pozícionálása az XPDL-hez vagy a BPML-hez képest.

A szabványoknak ez a felszaporodása (BP.., WS..), amelyek SOA, Workflow vagy BMP szabványként kerülnek bemutatásra, igencsak megnehezíti egy szabvány, vagy inkább szabványok kombinációjának kiválasztását egy cég folyamatainak menedzselésére kiépített technikai megoldására. Hosszútávon a nagyobb szereplők érkezése a piacra a gyakorlatban is megoldást kínál majd erre a problémára.

Ezidőalatt azonban a folyamatok automatizációjára jelentkező növekvő igényt kell kielégíteni. A konzervatív megközelítés alapján a SOA és a Workflow „központi” szabványit kell használni, vagyis a WFMC által meghatározott workflow modellt és  webes szolgáltatásokat SOAP-on keresztül.

Részletesebben, a SOAP az alkalmazások közötti kommunikációra, XPDL a folyamatok meghatározására, BPEL a webes szolgáltatások szervezésére, és ASAP az aszinkron webes szolgáltatások kezelésére azok a szabványok, amelyek megkönnyítik a munkafolyamatok kivitelezésének integrálását egy SOA architektúrába.

Szakmai kihívások a SOA-nál

A legfőbb probléma a SOA-nál a szolgáltatások szintje a webes szolgáltatások esetében. A SOA egyszerre túl egyszerű és túl bonyolult.

Túl egyszerű a biztonsági, címzési és elérhetőség problémák kezeléséhez, viszont túl bonyolult ahhoz, hogy gyorsan kivitelezhető legyen.

Ennél fogva két különböző trendet lehet azonosítani: az új előírások és szabványok (WS..) bőségét a SOA-ból hiányzó funkcionális elemek pótlására, illetve az egyszerűbb megoldások megjelenését, mint például a REST.

Arra a következtetésre kell tehát jutnunk, hogy ez az architektúra még gyerekcipőben jár?

Elméletben nem, hiszen a kollaborációs és megosztott alkalmazások létrehozása a mai információs rendszerek valóságára kínál megoldást. A technológiák és webes szabványok használata tagadhatatlanul növekszik. Gyakorlati szempontból kijelenthetjük, hogy a szabványoknak előrecsomagolt megoldások jelennek meg, amelyek még fejlesztés alatt állnak. A legjobb módja a kiválasztással kapcsolatos jövőbeli problémák elkerülésére a SOA projekt újraszervezése egy funkcionális kereten belül, vagyis az üzleti folyamatok optimalizálása workflow projekttel.

A jelenlegi workflow megoldások számos előrecsomagolt, stabil funkcionalitással rendelkeznek a folyamatok automatizálására. Lehetővé teszik az automatikus folyamatok lefolytatására használható webes szolgáltatások azonnali használatát anélkül, hogy további eszközökre lenne szükség.

Következtetés

Egyértelmű, hogy a szolgáltatásorientált architektúra a megoldás az információs rendszerek szervezésére, mert különböző szinteken képes válasszal szolgálni az alkalmazások új fejlesztéseinek és a kommunikációjának kihívásaira.

A legtöbb cégnél a rendszerek migrációja során elvégzendő munka és az ennek a migrációnak a befolyásolására legalkalmasabb időpont kiválasztása a legfőbb akadálya a gyors kivitelezésnek.

A SOA megvalósításának leszűkítése egyetlen technikai migrációs projektre egyrészt akadályozná a SOA elfogadhatóságát költségvetési szempontokból, másrészt annak a veszélyét is magában hordozná, hogy rosszul választunk a még kezdeti stádiumban lévő megoldások közül.

Ugyanakkor a webes szolgáltatások beépítése a Workflow projektekbe automatikus folyamatok végrehajtására a leggyakorlatiasabb megoldás a SOA fokozatos és hatékony megvalósítása a megtérülés tekintetében.

A WFMC szaktudásával és munkájával nagymértékben hozzájárult ehhez a szakterülethez. A más szabványügyi szervezetekkel való együttműködés révén minden funkcionális és technikai vonatkozást sikerült beépíteni.

A verseny új formái azonban nem szabad, hogy a hasonló szabványok számának csökkenéséhez vezessenek kiszorítva őket a piacról.

A Workflow, a BMP és a SOA tehát nem egymás riválisai, hanem a marketing túlburjánzásai, az folyamatokat automatizációját körülvevő eljárások pedig olyan természetűek, hogy megoldásaik különösen nehezen érthetők a kliens szemszögéből.

Ebben a helyzetben azok a megoldások, amelyek a legkönnyebben kivitelezhető és használható eszközöket kínálják, szinte biztos, hogy a legnagyobb sikert könyvelhetik el.

English Site