Flexible Solutions on Oracle Middleware
  • Teljeskörű üzleti megoldások
  • Intelligens távközlési szolgáltatások
  • Területi megoldáscsomagok
Számítástechnika   |   2004-06-22
Előtérben a szolgáltatás

A szoftverfejlesztési technológia folyamatosan változik. Új eszközök jelennek meg, amelyek új módszerek és szoftverarchitektúrák kialakulását teszik lehetővé. Némelyek ezek közül divatossá válnak, és szélesebb körben elterjednek, míg mások nem tesznek szert különösebb szakmai népszerűségre

Az elosztott komponensek interakciójára alapuló architektúrák azonban az elmúlt évtized során teljesen általánosakká váltak, és széles körben alkalmazzák elsősorban szerver oldali szoftverek készítésére. Az elosztott komponensek tényleges implementációja és kommunikációja azonban diverzifikált: RPC, CORBA, DCOM, EJB, XML/HTTP. A HTTP csatornákon keresztül küldött XML dokumentumokra alapuló Web Services elosztott komponenstechnológia csak néhány éve jelent meg. Koncepciójába semmi újat nem hozott a szoftvertársadalomnak, implementációs megoldásának egyszerűsége azonban általánosan elfogadottá tette, és végre befejeződhetett az elosztott komponenstechnológiák harca, Ezzel lehetővé vált az egymással kommunikálni képes szolgáltatásokra orientált szoftverek fejlesztésének kialakulása.

A Web Services látványos sikerének három fontos alkotóeleme van:

  • a kérés és válaszüzenetek jól kezelhető, egyszerű szöveges XML dokumentumokként való megformálása.
  • a hálózaton legjobban támogatott (tűzfalak, terheléselosztók, proxyk) protokoll, a HTTP alkalmazása az XML formátumú üzenetek küldésére és fogadására.
  • a jó terheléselosztást lehetővé tévő egyszerű, eredendően állapotmentes kérés-válasz kommunikációjú komponensek alkalmazása.

A web services kifejezés, tehát az XML/HTTP protokollal kommunikáló szerverek implementációs technológiáját jelöli. A web service egy tényleges Web Services technlógiával készült szervert vagy annak egy eljárását jelenti. Egy szoftverrendszer vagy alrendszer web szervice-eken át teszi elérhetővé szolgáltatásait más (al)rendszerek számára. Mivel egy web service HTTP protokollal kommunikál, a szokásos http://web.hely.com/szolgaltatas/ módon címezhető meg. Az üzenetek formátumát XSD (XML Schema Definition) nyelven írják le, ami az XML dokumentumok leírására korábban használt DTD (Document Type Definition) nyelvet váltotta fel. Egy adott címen elérhető eljárásokat és azok XML üzenetekkel való kommunikációját WSDL (Web Services Description Language) formában írják le. Az üzenetek küldésére a SOAP (Simple Object Access Protocol) protokoll használatos, amely gyakorlatilag a HTTPnek a Web Services technológia számára való adaptációja. Számos feladat számára az egymást követő üzenetek egymáshoz kapcsolódnak és így az eredendően állapotmentes HTTP kommunikációra alapozva kommunikációs állapotot kezelő megoldásokat vezettek be (beszélgetés azonosító). Az adattitkosítás a Web Services esetén normálisan azt jelenti, hogy az XML üzenetek a HTTP/SSL csatornát használják. Vannak azonban olyan esetek, amikor magát az XML üzenetet kívánatos titkosítani, amire a SOAP lehetőséget ad.

Az XML/HTTP technológia eredendően egyszerű volt, de mint látható, mára már a használhatóság és a komponensek egymás közötti kommunikációja hatékonyságának növelése érdekében a WebServices technológia kibővült olyan eszközökkel, amik programozása magas szinten integrált fejlesztőeszközök használatát igényli. A Java szerverek egyik legjelentősebb szállítója, a BEA (www.bea.com) cég, fő termékét, a WebLogic szervert minden eszközzel ellátta, hogy a "Web Services orientált" szoftverrendszereknek hatékony környezetet adjon. A web service-k fejlesztése leghatékonyabban a WebLogic Workshoppal valósítható meg. A Workshop lehetővé teszi különféle típusú EJB-k fejlesztését, beleértve a komplex konténer menedzselt perzisztenciájú (CMP) entity beanek készítését is. Az EJB-kre alapuló architektúrák azonban a legtöbb alkalmazás és projektbüdzsé számára túl bonyolultak és erőforrás-igényesek.
A BEA az EJB-k komplexitásából eredő problémák opcionális orvoslására új eszközöket vezetett be: a szerver oldali különféle Java Controlokat és Web Services komponenseket. A Database Java Control objektumok jelentősen leegyszerűsítik az SQL adatbázisok programozását, könnyebben használható alternatívát kínálva, mint az (entity) EJB-kre alapuló adatbázis-interfészek. A Custom Java Control objektumok segítségével több Database Java Control vagy más EJB, web service, JMS, integrációs adapter, stb. objektum eljárásainak hívását foghatjuk össze nagyobb tranzakciós egységekbe. A WebServices objektumok közvetlenül használhatják a Database, Custom vagy más típusú Java Control objektumokat. Sok profitorientált szoftverműhely még ma is idegenkedik a J2EE alkalmazásától annak komplexitása miatt. A WebLogic Workshop olyan Web Services technológiát alkalmazó komponens alapú fejlesztőkörnyezetet ad, ami nem készteti a fejlesztőket "réteghegyek" bevezetésére ahhoz, hogy alkalmazásaikat hatékonyan valósítsák meg.
A WebLogic szerver Workshop frameworkjével a fejlesztés olyan hatékonnyá tehető, hogy akár normális programozók is képesek komplex funkcionalitású szoftvert készíteni, mivel idejük nagy részét nem az infrastruktúra bonyolultságának megértésével töltik, hanem a megoldandó feladatokra figyelhetnek. Ugyanakkor a Workshoppal létrehozott költséghatékony alkalmazások olyan modern architektúrával készülhetnek, amelyek a legutóbbi szilikon-völgyi divatnak is megfelelnek.

A BEA WebLogic Workshop framework két legjelentősebb szolgáltatása: a felhasználói felületek programozását jelentősen leegyszerűsítő Java Page Flow, és a Java Controlokban implementált (vagy újrafelhasznált) üzleti logikát elérhetővé tevő Web Services technológia. Mindkettő olyan fejlesztői hatékonyságnövelő eszköz, hogy ezek alkalmazásával lehet csak igazán kiaknázni egy olyan komplex és drága szoftver szolgáltatásait, mint a BEA WebLogic szerver.

Németh Miklós