BizTalk megoldások előállítása fejlesztésorientált megközelítésben Előadó: Molnár Szabolcs, Hewlett-Packard Magyarország Szabolcs.Molnar@hp.com
Nagyvállalati Microsoft Megoldások Rövid bemutatkozás Csoportunk a HP konzultációs üzletágának része; Nagyvállalati Microsoft Megoldások Alaptevékenységek: Projekt-alapú működésmód Fókuszban a Microsoft termékek / megoldások Infrastruktúra-jellegű munkák – levelezés, menedzsment, nagy rendelkezésre-állású rendszerek, migrációs tevékenységek Alkalmazás-Integráció
Egy fejlesztési projekt kihívásai Célok, elvárt szolgáltatások meghatározása, A technológiai igényrendszer pontos felállítása, fejlesztési prioritásokkal való ellátása A projektben résztvevő fejlesztők és tervezők munkájának összehangolása A fejlesztési munkák teljes életciklus követése A fejlesztési időszak alatt változó igények követése A fejlesztési környezet hatékony használása a munkálatok során Az időzített roll-out időszakhoz való alkalmazkodás (Stabilizációs fázis!)
A konkrét projekt kihívásai Indirekt feladatspecifikáció a megbízó és megvalósító között A megvalósítandó feladatokra vonatkozólag több esetben csak feltételezett információt kaptunk, amik a projekt előrehaladtával konkretizálódtak A tervezett adatmennyiségek csak nagyságrendbeli méretezést tettek lehetővé Újonnan épített környezet A fejlesztés mellett az éles futtató környezet méretezése és kialakítása is feladat volt Előremutató, bővíthető környezet kialakítása szükséges a még nem ismert folyamatok támogatására A kapcsolódó környezetek összehangolása Számos háttér rendszerrel való kapcsolódás megoldása szükséges volt, azonban azok véglegesítése is a projekt idejére volt ütemezve Minta értékű rendszer kerül kialakításra, ami alapját képezi a vállalati hosszú távú Middleware stratégiájának
A konkrét projekt részét nem képező feladatok A környezet üzemeltetésének kérdése nem a projekt feladata A folyamatok üzemeltetésének módja kulcs fontosságú egy nagyobb és összetettebb rendszerben. A jelen fejlesztési projekt üzemeltetésben ketté válik környezet és üzleti folyamat üzemeltetése. Tesztelési és fejlesztési környezet kialakítása nem a projekt feladata ennek hiányában körülményes a tesztelés végrehajtása A folyamatok kidolgozása során teljes integrációs és felhasználói tesztsorok előállítása szükséges. A tesztek egyik lépése a kidolgozott telepítési eljárás ellenőrzése az üzemeltetők által
A környezet méretezése Építsünk egy több szerveres rendszert, és használjuk ki a Biztalk által nyújtott logikai csoportosítás lehetőségét, ami egyben terhelés-elosztást és adatbiztonságot is nyújt A funkciók szétosztását és a rendszer terhelhetőségét vizsgáljuk meg licencelési szempontok alapján is A központi adatbázis kiszolgáló legyen magas rendelkezésre állású és ugyan akkor tegyen eleget a nagy adatforgalmú igényeknek Fürtözött kialakítás Több processzoros kiszolgáló Skálázhatóság (további tervezést igényel az Biztalk adatbázisok terén)
A környezet bővíthetősége A Biztalk logikai csoportosításával elhagyjuk a fizikai kiszolgálói szintet, a továbbiakban csak „erőforrásokkal” dolgozunk A logikai csoportok hatékony kihasználását a tervezésnél kialakított BT funkciók elosztásával támogatjuk A logikai csoportokat funkció és jogosultsági igények alapján rendszerezzük Skálázhatóság a kiszolgálói kialakításban További erőforrást újabb kiszolgálók beiktatásával adhatunk a későbbiekben a rendszerhez, vagy meglévő kiszolgálók szabad kapacitását használjuk fel a csoportok átszervezésével
Teszt- és fejlesztői környezet (1) A megoldás tesztelésének minden vonatkozását el kell tudni végezni a környezetben telepítési tesztek integrációs tesztek üzemelési tesztek Az előző teszteken túlmenően a teszt környezet szolgál az üzemeltetői csapat felkészítésére
Teszt és fejlesztési környezet (2) A környezetnek nem feladata a terheléses tesztek futtatása Bár teljes funkcionalitással bír, csak a minimálisan szükséges kiszolgálók vannak leképezve Az éles környezetben kialakított hardver elemek töredékéből épül fel A teszt környezetet egy virtuális környezetben (MS Virtual Server 2005) célszerű kialakítani Egyszerű a helyreállítása egy teszt eset előtt (mentésből) Könnyen képezhetők párhuzamos teszt környezetek Költséghatékony az éles környezethez képest
A megoldásra vonatkozó nagyvonalú kritériumok (1) A fejlesztett megoldás szolgál egyfajta Proof-of-Concept alapnak a későbbi fejlesztésekben alkalmazott technikákhoz A megoldás üzemeltethetőségét növeljük azzal, hogy egységes konfigurációs felületet biztosítunk Biztalk Fogadó port-ban definiáljuk a futási paramétereket, tárolt eljárás hívások paramétereit, időzítéseket, üzemablakokat Kód-változtatás nélkül lehessen áthelyezni a megoldást Teszt, és éles környezetekhez ne kelljen külön kód verziót tartani
A megoldásra vonatkozó nagyvonalú kritériumok (2) A megoldás sehol ne hivatkozzon „beégetett” paraméterekre, értékekre Külső konfigurációs állományt használjunk a változtatható értékekhez pl. email címek, útvonalak A konfigurációs állomány felhasználása natív módon történjen a megoldásban, és ne kelljen „körülményes hívásokat” indítani Használjuk a környezet adta lehetőségeket, ahelyett, hogy saját megoldásokat fejlesztünk ki Pl. alkalmazzunk WebService-t a külső adatkapcsolatokhoz/emberi beavatkozások vezérléséhez A megoldásban alkalmazott technikák feleslegesen ne emésszenek fel erőforrást Kódoljunk hatékony megoldást, és ne csak a feladat elvégzése legyen a cél
A fejlesztés témája összefoglalva A Microsoft BizTalk szerver környezettel egy olyan rendszer kerül kifejlesztése, ami adat kommunikációt képez le számos háttér-rendszer között, egységes felületet nyújtva A BizTalk Messaging réteg használatával olyan kommunikációs felületet kell biztosítani a rendszerek között, amely nem pont-pont kapcsolaton keresztül végez adatszinkronizációt, és további fejlesztés nélkül kibővíthető újabb rendszerek felé Cél-folyamatok üzleti logikájának leképezése
Tapasztalt nehézségek A fejlesztés menete a hibajavítási ágon „időrabló”-vá válhat külső eszközök alkalmazása nélkül Kódolás, fordítás, telepítés (deploy), összerendelés (bind), tesztelés, hibafelderítés, leállítás (unbind), visszaszedés (undeploy), javítás Ezt a ciklust minden fejlesztő többször végigcsinálja és ennek automatizálása nem egyértelműen működik egy gombnyomásra A BizTalk dokumentáció hiányossága vezethet nem várt akadályokhoz is A környezet adta lehetőségek száma szinte korlátlan (nem lehet minden működési együttállást előre, pontosan ismerni) Funkciók működésének ellenőrzése csak „POC labor” jelleggel képezhetőek le, ami jelentős időigénnyel bír Funkciók hibás, vagy nem várt módon történő működése a tervezésig visszaléptethetik az egyes fejlesztési munkálatokat
A fejlesztést segítő eszközök Visual Studio MAP validátor & teszter Schema validátor & instance generátor Explorer Biztalk Server Add-on XML & XSLT editor A Visual Studio-t kiegészítendő XSLT szerkesztő és validátor Biztalk Health & Activity Tracking Messaging tracker Orchestration tracker Debugger Debug Viewer Kódból generált bejegyzések Event Viewer Kódból generált események
A fejlesztést segítő eszközök folyt. MSDN Biztalk Server referencia XML referencia .NET referencia A BizTalk community által gyűjtött anyagok, blog-ok Blogger’s Guide to Biztalk gyűjtemény RSS olvasók http://www.gotdotnet.com http://www.webservertalk.com http://geekswithblogs.net BizTalk témájú fejlesztési könyvek
Demó: egyik fejlesztésünk részterméke Egy nyomkövetési folyamat BizTalk orchesztrációban végzi el az üzletileg szükséges adat-átalakításokat WebService-t használ a külső felhasználói párbeszédhez Jól demonstrálja a környezeti elemek együttműködését
Demó
Köszönjük a figyelmüket! Szabolcs.Molnar@hp.com