Hirdetés
 

Web Dynpro ABAP vs. Web Dynpro Java

PDF
Nyomtatás

A Web Dynpro az SAP standard UI technológiája web-alapú üzleti alkalmazások fejlesztésére. A Web Dynpro futtatási környezetből, valamint az ABAP vagy Java környezetbe integrált fejlesztési környezetből áll. Magáról a Web Dynprorol itt tudtok bővebben olvasni: http://www.tudasmorzsak.hu/dev-cikkek/38-dev/64-webdynpro-bevezetes Ez a cikk elsősorban az ABAP WD és a Java WD közti hasonlóságokra és különbségekre koncentrál.

Lássuk először, mi a Web Dynpro for ABAP. A WDA olyan UI technológia, amelynek mind a futtatása, mind a fejlesztése ABAP fejlesztési környezetbe van beágyazva. Ez az integráció lehetővé teszi a közvetlen hozzáférést az ABAP adatokhoz, az üzleti logikához és a Data dictionary Search helpjeihez. Az ERP UI fejlesztésének támogatására az úgynevezett Floorplan Manager (FPM) is elérhető a WDA framework számára. Az FPM különféle UI kialakításokhoz szolgáltat implementációt, valamint eszközöket biztosít az ügyfeleknek az alkalmazások adaptálásához és konfigurálásához. A WDA 2005 októbere óta elérhető (SAP NW 7.0 - SAP Web Application Server 7.0). SAP Business Suite alkalmazásokhoz széleskörűen használt és a továbbiakban is ez lesz a fő UI technológia a BS alkalmazások fejlesztéséhez. Az FPM a WDA 7.0 SP13 óta érhető el.

A Web Dynpro for Java - akárcsak a WDA - az SAP standard UI technológiája web alkalmazás UI-ok fejlesztésére Java környezetben. Futtatókörnyezete a Java/JEE, a fejlesztőkörnyezet pedig egy Eclipse alapú alkalmazás, az SAP NetWeaver Developer Studio. Ez az open-source keretrendszer web service eszközöket is biztosít a nyílt szabványokon alapuló kapcsolódásokhoz és Java dictionaryt az adatstruktúra menedzsmenthez. A WDJ 2004 eleje óta elérhető (SAP NW 2004 - Web Application Server 6.40) és az SAP-n belül széleskörűen használják robosztus és jól skálázható J2EE alkalmazások fejlesztésére.

A WDJ és WDA számos hasonlóság és különbség fedezhető fel. Az alábbi ábrák ezekről nyújtanak áttekintést, a felsőn láthatóak a tervezési, míg az alsón a futási időbeli különbségek.

wda2.jpg

Amint a fenti ábrán látható, mindkét eszköz web-alapú üzleti alkalmazások készítését teszi lehetővé, valamint Model-View-Controller architektúrát használ a megjelenítés és az üzleti logika szétválasztására. Ezen felül mindkettő támogatja - az EhP1-től kezdve - a más UI technológiákkal -, mint a Flash Islands vagy az Ajax - való integrációt. Természetesen vannak különbségek is, amelyek főként abból adódnak, hogy a WDJ Javaban van implementálva és egy Eclipse-alapú fejlesztőkörnyezetet használ, míg a WDA része az ABAP stacknek. A WDJ segítségével a fejlesztők különböző adatforrásokat - mint például az EJB vagy az enterprise services - használó alkalmazásokat képesek készíteni. Másfelől viszont, WDA-t használva sokkal könnyebben elérhető az SAP rendszerben található üzleti logika és a benne található adatok. Ráadásul a WDA-ban található MIME repository a különféle objektumok - mint például az ikonok és képek - menedzselésére és használatára. Az alkalmazások futásidőben teljesen hasonlóan néznek ki mindkét esetben. Ez azért van, mert a UI renderelését mind WDA, mind pedig a WDJ esetén ugyanaz az egységes renderelési réteg (Unified Rendering Layer) végzi el. Ez a megközelítés biztosítja a nyelvtől függetlenül az egységes UI-t, valamint egyéb szolgáltatásokat is biztosít, mint például a perszonalizáció vagy a jobbról balra történő renderelés. Mindazonáltal van néhány UI control, amely csak a WDA-ban (AcfExecute, AcfUpDownload) vagy csak a WDJ-ben (Naptár, Oszlop layout) található meg.

Végezetül néhány meggondolás, amit érdemes figyelembe venni, mielőtt eldöntjük, melyik UI keretrendszerben fejlesztünk.
Míg mindkét Web Dynpro megoldás architektúrája hasonló, fejlesztésük a programozási nyelvben eltér. Ahhoz, hogy hatékony, robosztus és jó minőségű alkalmazásokat fejlesszünk, azt nyelvet kell választanunk, amelyhez jobban értünk, illetve a csapatunk jobban ért. Az alkalmazások minősége főként a programozók képességeitől és tapasztalatától függ.

Figyelembe kell venni azt is, milyen üzleti logikát és szolgáltatásokat használunk az alkalmazásunkban, mert a két technológia között alapvető különbség az adathozzáférés támogatása. Míg a WDA-ból közvetlenül elérhetőek az ABAP-szolgáltatások, addig WDJ-ben ezeket csak távoli eljáráshívásként (RFC) tudjuk meghívni és használni. Másfelől, ha EJB-t vagy más Java entitásokat szeretnénk használni, érdemesebb a WDJ-t választani, mivel WDA-ból ezeket csak web service-ként tudjuk elérni.

A választás során az sem mindegy, hogy új alkalmazást fejlesztünk vagy egy már létezőt bővítünk ki. A nem strukturált változtatások a kódban vagy a UI-ban konfliktusokat okozhatnak, amikor egy újabb változata a programnak bekerül a rendszerbe. Az ilyen konfliktusok elkerülésére a WDA független fejlesztési objektumokat hoz létre a változtatások tárolásához, amelyek az eredetiektől szeparáltan kezelhetőek. Az eredeti objektumokat így nem érintik a bővítések, ezért verzióváltáskor általában probléma nélkül frissíthetőek.

A rendszer felépítése is szempont kell legyen. Minden WDA komponens és alkalmazás része a standard CTS rendszer, tehát egy rendszerben fejleszthetőek és később transzportálhatóak más rendszerekbe, mint minden más ABAP-objektum. Így a standard ABAP életút koncepció alkalmazható a WDA objektumokra is. A JDA objektumok életútjának menedzseléséhez az SAP NetWeaver Development Infrastructure (NWDI) környezet szükséges, amely a következőkből áll: Design Time Repository (DTR), a Component Based Build (CBS), valamint a Change Management Systems (CMS). Ez utóbbi felel az objektumok életútjának menedzseléséért. Ahhoz, hogy ezt megvalósítsuk, illetve hogy a WDJ-t egyáltalán használhassuk, szükséges egy NWDI instance telepítése a rendszerbe. Az életút menedzselés ezután hasonló a WDA-ban használthoz.

A Web Dynpro általában a kliens független, így a WD-ban fejlesztett alkalmazások különböző platformokon (böngészők, mobil eszközök stb.) futhatnak. Mindazonáltal az erőforrások és release ütemezés miatt a WDA nem támogatja a mobil eszközökkel való integrációt, sem pedig az új Business Process Modeling eszközt.

Végül, de nem utolsó sorban figyelembe kell venni, milyen UI elemeket szeretnénk a képernyőn elhelyezni, mert nem pontosan ugyanazokat támogatja mindkét technológia. Alább röviden felsorolom, melyek azok a UI controlok, amelyeket vagy csak az egyik vagy csak a másik támogat.

Csak a WDJ által támogatott UI elemek és funkciók:

  • Naptár elem, amely az év, hónap, nap megjelenítést támogatja
  • Analytics Chart
  • Column Layout
  • Component modeler
  • Improved data modeler kibővített layout opciókkal
  • Olyan View designer, amely biztosítja, hogy különböző platformokon és megjelenítőkön is ugyanúgy nézzen ki a képernyő
  • Drag and drop lehetőség (WDA EhP1-től elérhető lesz)

Csak a WDA által támogatott UI elemek és funkciók:

  • Mime repository
  • Data dictionary
  • Search help
  • Select-Options
  • ACFExecute
  • ACFUpDownload
Forrás: http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/e0e4940c-035c-2b10-0b9d-eb8f99674f4e?QuickLink=index&overridelayout=true

 


Nincs hozzászólása.
A téma megvitatása a fórumon. (0 hozzászólás)