Windows szerver AppFabric
Első adatok az alkalmazás segítségével a szolgáltatások egyre népszerűbb. Windows-on, ez gyakran azt jelenti végrehajtásának ilyen szolgáltatások alapján a Windows Communication Foundation (WCF). És annak a ténynek köszönhető, hogy a logika a szolgáltatások gyakran képviselteti magát a munkafolyamatot, akkor lehet megvalósítani WCF-szolgáltatások a Windows Workflow Foundation (WF).
De a kérdés az, ahol az összes ezeket a szolgáltatásokat kell futtatni? Sem WCF WF nincs szükség a jelenléte bizonyos fogadó folyamat, így a fejlesztők használhatják őket, mert ők látják. Létrehozása azonban hatékony és ellenőrzött gazdaszervezet nem könnyű feladat. Nem lenne sokkal egyszerűbb, ha a Windows Server többet kínál támogatást a tárhely és kezelése ezeket a szolgáltatásokat.
És pontosan ez az, amit a szolgáltatást kínál AppFabric hosting szolgáltatások. Annak érdekében, hogy jobban megértsük ezt a részét a Windows Server AppFabric hasznos lenne az első, hogy gyorsan végigmenni az alapvető technológiákat WCF és WF.
technológia alapjai
WCF egy közös utat a teremtés és fogyasztás szolgáltatásokat. WF támogatást nyújt létrehozása üzleti logika a munkafolyamatban. Mivel WF munkafolyamatok jellemzően szolgáltatásokat, hogy befolyásolja a külvilággal, akkor kezdődik a WCF a leírást a két technológia.
Szolgáltatások létrehozását: Windows Communication Foundation
WCF lehetővé teszi a fejlesztők és a különböző típusú szolgáltatások - SOAP, REST és mások - egy közös programozási modellt. Az 1. ábra mutatja az alapokat:
1. ábra. Scheme WCF-szolgáltatás
Segítségével a Visual Studio (vagy más eszköz), a fejlesztő végre egy szolgáltatás, amely képes nyújtani bármilyen funkciót. Ezt a szolgáltatást az ügyfelek egy vagy több végpont (végpontok). amelyek mindegyike egy specifikus interfésszel (szintén ismert, mint egy szerződés).
Szolgáltatás általában megosztja funkciókat számos műveletet, amelyek mindegyike felelős egy adott szempont az üzleti logika. Például, a szolgáltatás végrehajtja a kérelmet e-kereskedelmi tranzakciók lehet létrehozni egy kosarat, a tárgy hozzá a kosárhoz, tárgy eltávolítása, vásárlás fizetés, és így tovább. ezt a szolgáltatást, az ügyfél kéri az egyes műveletek szükség.
Munkafolyamatok létrehozása: Windows Workflow Foundation
Ahogy a fejlesztők végre kell hajtania a szolgáltatást? Bizonyos esetekben szolgáltatási műveleteket lehet egymástól független, például a szolgáltatás, amely hozzáférést biztosít a különböző adathalmazok. Más esetekben a szolgáltatás műveletek követik egymást formájában a folyamat, ami azt jelenti, hogy meg kell nevezni az adott sorrendben egy bizonyos ideig.
Potenciálisan, amelyek mindegyike jelentős időt igényel. Képzeljük el például, hogy a felhasználó hozott létre a kosarat, tettem hozzá egy pár példány, majd leállt a szolgáltatás bármikor. Lehet, hogy vissza néhány órán vagy napon, és elvárják a kosarat, és az árukat is vár rá.
Mivel ez a fajta logika kell végrehajtani? Ez valójában egy sor lépést a szabályokat, amelyek meghatározzák, hogy milyen sorrendben az alábbi lépéseket kell elvégezni. A végrehajtás is fenn kell tartania az állami - Basket - az egész folyamat, amely akár órákig, napokig, vagy még tovább. Különösen azokban az esetekben, ahol a cél az lesz skálázható építőipari alkalmazásokat, a végrehajtás, mint a logika, mint egy munkafolyamat alapján szerkesztettük WF a legelőnyösebb. Working WF áramlások célja, hogy egyszerűsítse a létrehozásának folyamatát, és lehet jó választás a fejlődést bizonyos típusú szolgáltatások.
WF egy egyszerű, alapvető részből áll: a tervező, hogy építsenek az üzleti logika és a végrehajtási környezet megvalósításához logikai blokkok alapú munkafolyamatokat. A 2. ábra szemlélteti a működését WF:
2. ábra. WF - létrehozásának alapját az üzleti logika protsessoorientirovannoy
Minden dolgozó patak WF keletkezik alapján a tevékenységek, amelyek mindegyike megvalósítja egyes részei üzleti logika folyamat. WF egy szabványos könyvtár Base Activity Library (BAL), egy sor tevékenység végrehajtására az alapvető funkciók, mint például, ha vagy közben. A fejlesztők szabadon létrehozhatják saját tevékenységét, hogy megfeleljen az igényeinek, az üzleti logika. Ahhoz, hogy hozzon létre egy munkafolyamat tervező használhat egy tervező dolgozik WF-flow, amely része a Visual Studio, terjeszteni tevékenységét. Függetlenül attól, hogy milyen tevékenységet fogják használni, ezek mindegyike által végrehajtott WF runtime végrehajtási környezet.
A munkafolyamat egy sor hasznos dolgot a fejlesztő, aki végrehajtja a folyamatot. Például, ha a művelet folyamat vár ki, mint például a kéréssel, hogy hozzáadni vagy eltávolítani egy elem kosár, WF runtime automatikusan el tudja menteni az állam a munkafolyamat és leereszti a memóriából. Amikor egy új kérelem érkezik, akkor a közepes állapot visszaálljon, és elindít egy szálat, hogy feldolgozza a kérést. Ez megkönnyíti, hogy dolgozzon skálázható alkalmazások munkafolyamatok nem fogyaszt memória rendszer menetek, vagy egyéb források, azokban a pillanatokban, amikor nem teljesül. runtime is nyilvántartást vezet minden végrehajtása munkafolyamat ismert nyomkövető, így a fejlesztő, hogy különböző hasznos elemeket, mint például amikor egy szálat kapcsolja be és ki az egyes tevékenységeket.
Létrehozása a szolgáltatás-alapú munkafolyamat
WF munkafolyamatok lehet használni, hogy végre egy meglehetősen nagy számú különböző típusú üzleti folyamatok - ezek nem korlátozódnak a szolgáltatások létrehozását. Azonban WCF-szolgáltatások, a logikája amelyet azért hoztak létre alapján a WF érdemel a saját nevét - a szolgáltatás alapú munkafolyamat. A 3. ábra ezt a megközelítést:
3. ábra. Service-alapú munkafolyamat
Képzeljünk el egy olyan fejlesztő, aki létrehoz egy szolgáltatás alapú munkafolyamatok vagy egyszerű WCF-szolgáltatás, amely nem használ WF. Sem WCF WF nem határozza meg egyértelműen a folyamat a fogadó, ahol a szolgáltatást meg kell kezdeni. Jó dolog ez, hogy a fejlesztő szabadon választhat, hogy milyen folyamat fogja használni - WCF és WF nem korlátozzák azt, hogy. Ez különösen fontos az ipari fejlődés, amikor a fő cél az, hogy az üzleti logika és az építőiparban a gazdafolyamata szolgáltatások extra munkát. A végén, ez a folyamat része az infrastruktúra és az infrastruktúrával kapcsolatos kérdéseket - a felelőssége, Windows Server. A megoldás, hogy minden tárhely szolgáltató kéri az infrastruktúra és az, ami segít AppFabric hosting szolgáltatások.
Bevezetés a AppFabric hosting szolgáltatások
AppFabric hosting szolgáltatások (kódneve „Dublin”) nem az a célja, hogy egyfajta teljesen új infrastruktúra. Éppen ellenkezőleg, ez épül, ami már által kínált IIS és a mechanizmus a Windows Process Activation Service (WAS). Ennek alapján alapítvány, AppFabric hosting szolgáltatások új funkciókkal egészíti futtatni és kezelni WCF-szolgáltatások, beleértve a szolgáltatásokat a munkafolyamat. 4. ábra szemlélteti ezt:
4. ábra. AppFabric hosting szolgáltatások megkönnyíti indítani és ellenőrzési szolgáltatások
Amint az ábrán látható, a WCF-szolgáltatások és munkafolyamatok alapján futnak munkafolyamatok szolgált IIS - ez azt jelenti, hogy AppFabric hosting szolgáltatások nem hoz létre néhány saját folyamatokat. Ez a technológia is használ WAS képességeket, amelyek lehetővé teszik, hogy futtassa a szolgáltatást az átvétel időpontjában a HTTP üzenet vagy egyéb protokollokat. AppFabric hosting szolgáltatások épül a meglévő infrastruktúra, hozzátéve képes futtatni bizonyos szolgáltatások után azonnal elhelyezést, anélkül, hogy arra vár, hogy megkapja az üzeneteket. Ez lehetővé teszi, hogy a szolgáltatás, hogy jobban reagál az ügyfelek számára. aki először jött neki, mert nem kell várni, amikor a szolgáltatás indulásakor.
Amint a 4. ábrán látható, AppFabric hosting szolgáltatások is kiterjeszti az IIS Manager új szolgáltatás-menedzsment eszközök. Ezzel a hosszabbító admin kezelhetjük a WCF konfiguráció, start és stop szolgáltatások, fedezze fel a szolgáltatási végpont szünet, újra, vagy megszüntetheti a konkrét esetekben alapuló szolgáltatások üzleti folyamatokat. Ugyanakkor AppFabric hosting szolgáltatások egy sor olyan PowerShell szolgáltatás menedzselés, amely lehetővé teszi a rendszergazdák számára, hogy saját szkripteket.
Annak érdekében, hogy megkönnyítsük a fejlesztők, Visual Studio kínál beépített projekt sablonok létrehozása és WCF- és WF-szolgáltatásokat. Services létrehozott alapján ezeket a sablonokat is azonnal bekerül az AppFabric hosting szolgáltatások - a fejlesztők nem kell tennie semmit extra. És miután a szolgáltatás telepítve van, akkor nem lehet használni számos különböző módon. Vegyük őket forgatókönyveket.
Forgatókönyv: Hosting szolgáltatás alapú munkafolyamatokat
Bár AppFabric hosting szolgáltatások lehet használni, hogy bármilyen WCF-szolgáltatásokat kínál kiegészítő támogatást a dob és kezelési szolgáltatásokat alapú munkafolyamatokat. Az 5. ábra néhány legfontosabb ilyen funkciók:
5. ábra. AppFabric hosting szolgáltatások további eszközöket
Mint korábban jeleztük, WF runtime automatikusan elmenti az állam a munkafolyamatot, amely adatokat vár bejegyzésre, majd visszaállítja azt, amikor az adatok vételére. De ha az állapot továbbra is fennáll? Ha WF külön mechanizmust, a fejlesztő, hogy manuálisan létrehozni és konfigurálni az adatbázis kitartás. Azonban, ahogy az 5. ábrán látható, AppFabric Hosting Services előre konfigurált állapotban tárolni. WF is lehetővé teszi, hogy nyomon a teljesítményt a munkafolyamat, amely lehetővé teszi a fejlesztő kapja meg automatikusan a részletes információkat a teljesítményt. Ismét WF önmagában nem határozza meg pontosan, hogy hol tárolják információk nyomon követését. Amint az 5. ábrán látható, AppFabric hosting szolgáltatások kínálnak beépített adatbázis ellenőrzésére. Meg kell tenni, hogy a tárolási körülményeket és a monitoring adatbázis elkülönül bármely adatbázis-alkalmazás, amely felhasználható a munkafolyamatban.
Mint minden más WCF-szolgáltatás munkafolyamat a meglévő felügyeleti és ellenőrzési mechanizmusokat. Együtt a korábban leírt szolgáltatás-ellenőrző elemeket AppFabric kiterjeszti az IIS-kezelő kiegészítő funkciók kizárólag a szolgáltatások alapján a munkafolyamatokat. Például egy pillantást az egyik kiterjesztés hívott AppFabric Portál képet 6. ábra.
6. ábra. Vezérlőpult AppFabric Portál
Amint az ábrán látható, AppFabric Portál biztosít vezérlőpanel AppFabric hosting szolgáltatások. Felülről látható az aktuális állapotát a WF-szolgáltatás, amely megjeleníti a szolgáltatások számát, amelyek a különböző államokban. Csak alul az ablakban a történelem legutóbbi hívások, kivételek, és így tovább. A Microsoft is kínál opcionális csomag Management Pack System Center Operations Manager, amely lehetővé teszi, hogy az események követése AppFabric hosting szolgáltatások szabványos Windows-eszközök. A célja az eszközöket, hogy világos tájékoztatást arról, hogy mi történik egy olyan környezetben hosting szolgáltatás az aktuális időt.
Forgatókönyv: Making szolgáltatások jobban méretezhető munkafolyamatok
WF képes automatikusan menteni és visszaállítani az állam a munkafolyamat lehetővé teszi a fejlesztők számára, skálázható üzleti logikát. AppFabric hosting szolgáltatások lehetővé teszi a fejlesztők alapuló szolgáltatások munkafolyamat még skálázható. A 7. ábra ezt a:
7. ábra. Skálázható architektúra alapú szolgáltatások munkafolyamatok
Ebben az esetben a három web szerver fut egy példánya azonos ASP.NET alkalmazás terhelés kiegyenlítésére. ASP.NET csak akkor kell használni, hogy létrehoz a felhasználói felület. Az üzleti logika az alkalmazás, akkor lehet, ez az üzlet kosár formájában valósul meg a szolgáltatás-alapú munkafolyamat (és a félreértések elkerülése végett: annak ellenére, hogy nem jelenik meg, mint általában, minden szolgáltatás alapján a munkafolyamat fut az IIS munkavégző folyamat) .
Az első felhasználó kérelmet küldött a felső web szerver (1. lépés). ASP.NET oldalt kapta ezt a kérelmet az első művelet, ha a munkafolyamat alapján, például a teremtés kosarat. Ezt a kérelmet küldött egy példányt a szolgáltatás fut egy külön szerver (2. lépés). Amint a művelet, és az eredményt vissza, a WF runtime automatikusan rögzíti a szolgáltatás állapota az adattár mellékelt AppFabric hosting szolgáltatások (3. lépés).
Ezután a felhasználó kérését elküldtük a terhelés kiegyenlítő másik webszerver (4. lépés). Ekkor ASP.NET oldalt, hogy feldolgozza a kérést, mint a hozzá egy elemet a kosárban, akkor küld egy kérést a szolgáltatás fut a szerveren eltér az első (5. lépés). Annak ellenére, hogy ez a második szolgáltatás kérelmet végrehajtjuk egy másik szerveren, WF futásidejű állam lehetővé teszi terhelések s munkafolyamat például a tárolás és feldolgozza a kérelmet (6. ábra).
Amint azt az alábbi példa, AppFabric hosting szolgáltatások lehetővé teszi az azonos alapján munkafolyamat működtetett különböző időpontokban különböző fizikai szerverek. Ez teszi szolgáltatások jobban skálázható, hiszen most már helyezni a számos közbenső szerverek kezelni bármilyen kérelmek száma. Csakúgy, mint az ASP.NET alkalmazás lehet méretezni egyszerű hozzáadásával webszerverek, valamint és az üzleti logika megvalósítása egy munkafolyamatot lehet méretezni további szervereket.