1.1.15. fejezet, Pilot program egy iratkezelő rendszerhez (Java EE)
Bevezetés
Ez a könyv egy elektronikus iratkezelő program készítése közben született. A könyv nem etalon az iratkezelés programozásához, hanem egy pilot rendszer programozása közben összegyűjtött tapasztalatokat tartalmazza. A pilot program a felhasznált komponensek okán GPL licensz alatt elérhető.
A Java EE fejlesztés 2007 júniusában kezdődött. A program egy egyszerű iratkezelő rendszernek indult, MSSQL adatbázissal a háttérben, majd az igények bővülésével kiteljesedett egy átfogó XML kiszolgálóvá és a hozzá tartozó objektum orientált kliens oldallal egy komplex web 2.0 alkalmazássá. Az AJAX kommunikáció, a JQuery DOM fa manipulációt végző JavaScript könyvtár, a böngésző oldali XSLT és a szerver oldali JavaScript kitapasztalása a tanulmány megszerkesztése közben komoly kihívásokat jelentet. Alapkövetelmény volt az Internet Explorer 6.0 és annál nagyobb verziószámú böngésző támogatása, amit kiegészítettem a Mozilla Firefox 1.5-ös és annál nagyobb verziószámú böngészők támogatásával.
A rendszer fejlesztése közben az alábbi irányelveket követtem:
-
Verzióváltás és újraindítás nélküli módosíthatóság (konfiguráció adatbázisban tárolása, felhasználói csoportok verzióhasználatának szabályozása)
-
Fejlesztés közben az újrafordítási igény csökkentése (opcionális szerver oldali JavaScript eseménykezelő osztályok, lehetőleg XSL template mechanizmus)
-
Egyéb rendszerekkel könnyű kommunikáció (lehetőleg XML szerver)
Tervező és fejlesztőeszközök
Az első választása az IBM Software Architect 7.0-ra esett, amivel a rendszerleírás alapján az UML diagrammok készültek. Az UML modellek jó áttekintést adnak a készülő rendszerről a szervezőnek és a programozónak. Segít összehangolni a tervet a készülő programmal, a készülő dokumentációba jól szemlélteti a felhasználó számára a vásárolt program működését. Az Architect az Eclipe keretrendszerre épül, és támogatja ezt a modellezést, a modellekből Java kódot képes generálni, és visszafelé is működik, azaz Java kódból modellt állít elő. Fejlesztési szempont a RUP (Rational Unified Process) model követése, és ez az eszköz igéretesnek tűnt minden szempontból.
Az UML vizuális megjelenítése az Architect-ben gyöngének mutatkozott. Nagyításnál-kicsinyítésnél szétcsúsztak a kapcsolatokat mutató vonalak, így a 100%-os nagyításnál maradtam végig, és inkább görgettem a tervezőfelületet. Egy hibajavító csomagot megvártam, de a legközelebbi 885 MB-os csomag nem tartalmazta ennek a javítását. A hibát tetézte, hogy az egyik SDO alapú JSF mintaprogramot a help-ben leírt módon elkészívte sikertelenül próbáltam futtatni, és az MS-SQL adatbázissal összekapcsolni. Ezen felül a WebSphare szerver indulása egy DualCore 1.8 GHz 1GB-os gépen fél percnél tovább tartott, ami lassította volna a fejlesztést. Így jutottam odáig, hogy kipróbáltam az egyszerű Eclipse IDE for Java EE developers fejlesztőeszközt egy Apache Tomcat 5.5-el. Az Architect szintén Eclipse alapú, és korábban dolgoztam egy 3.2-es változattal, könnyű volt a váltás. A JDBC kapcsolattal sikerült MS-SQL és MySQL adatbázisokra csatlakozni, és a Tomcat is gyorsan elindult ill. újraindult, ha kellett. Az MS-SQL Express Edition kezelőfelülete, a Microsoft SQL Server Manager Studio Express szintén lassú volt, a MySQL-hez alkalmazható phpMyAdmin-hoz képest. Ez utóbbit a WAMP szerver tartalmazza, egy Apache szerver és a rajta futó PHP mellett. Ezek szintén jól használható programok, nem utolsósorban gyorsak. Az UML modellezéshez, kód generáláshoz, tervezéshez a Visual Paradigm VP Suite programja szintén jó választás lehet, az Eclipse integrációval mindenképpen jobb tervezni és kivitelezni.
Az első fejezetben az alkalmazott technika kiválasztásának indoklásáról, a JSP-ről, a JSF-ről, az MVC-ről és a MOD2X-ről, az XML-ről, az XSLT-ről, és a kliens majd a szerver architektúra tervezéséről írok. A második fejezetben a megvalósítás közbeni kihívásokat, azok megoldását ismertetem, így válik "recept gyűjteménnyé" a könyv. További jó olvasást kíván a szerző:
Papp Zoltán
- A hozzászóláshoz be kell jelentkezni