JBoss Seam
Seam Keretrendszer | |
Hatékony nyílt forráskódú fejlesztői platform, gazdag Internetes alkalmazások készítésének támogatására Java programozási nyelvre | |
Fejlesztő | JBoss, Red Hat Inc. részlege |
Legfrissebb stabil kiadás | 2.3.1 (stabil verzió, 2013. július 25.)[1] |
Programozási nyelv | Java |
Platform | Java virtuális gép |
Kategória | Web alkalmazás keretrendszer |
Licenc | LGPL |
A Seam Keretrendszer weboldala |
A Seam egy webes alkalmazás keretrendszer, melyet a JBoss, mint a Red Hat egy részlege fejlesztett ki.
Fejlesztés
[szerkesztés]A projekt 2005 szeptemberében kezdődött a JBoss-os Gavin King vezetésével. (King szintén kulcsszerepet játszott az objektum-relációs térképező keretrendszer megalkotásában Hibernate.) Azóta Pete Muir vette át a vezető pozíciót King távozásakor.
Működési elvek
[szerkesztés]A Seam, a Enterprise JavaBeans (EJB3) és JavaServer Faces (JSF) kombinálásán alapul. Habár, az egyszerű POJO is használható maradt back end ként. Kizárólag csak annotációk használatával képesek vagyunk, bármely EJB3 vagy POJO objektumot Seam komponensé alakítani. Miután egy objektumot Seam komponensé alakítottunk, lehetőségünk nyílik, hogy hozzáférjünk Java Server Faces vagy más üzleti logikát alkalmazó komponensekhez egységes módon. Így, akárki képes hozzáférni egy bármely back end-es EJB tárolóhoz a front end a Seam komponens nevének címzésével. Ennek a Java-s web keretrendszernek a szépségét az adja, hogy magába foglalta az olyannyira szükségessé vált személyazonosság kezelési lehetőségeket.
A Seam bevezette a bijekció fogalmát, a Springes dependency injection (magyar fordításban függőség befecskendezés) lehetőség alapján, amelyben az objektumok be- illetve kifecskendezhetőekké válnak a hozzárendelt változókból illetve azokba, az @In és @Out jelölők használatával.
A keretrendszer szintén kiterjesztette a contexts (szövegkörnyezet/kommunikációs környezet) fogalmát is. Minden Seam objektum egy kontextuson belül létezik. Az alapértelmezett kontextus a conversation (beszélgetés) mint hatókör kiterjedhet több oldalra is, és általában kiterjed a teljes üzleti folyamatra, az elejétől a végéig. A session context (ideiglenes kontextus) összegyűjti egy felhasználó összes cselekedetét addig, míg ki nem jelentkezik vagy be nem zárja a böngészőjét – még többszöri vissza-gomb használata után is.
Bárki képes generáltatni egy CRUD (létrehoz-olvas-frissít-töröl) web-alkalmazást egy létező adatbázisból egy parancssori eszköz használatával seam-gen
ami a keretrendszer részét képzi.
Megkönnyíti WYSIWYG (Azt kapod amit látsz) fejlesztési menetet a JBoss Tools használatával, a számos plug-innak a célja a Eclipse fejlesztői környezet alatti támogatásának elősegítése.
Magába foglal több kiszervezett RichFaces-es és ICEface-es Ajax könyvtárakat ugyanúgy, mint több más Ajax könyvtárat – anélkül hogy szükség lenne JavaScript kód írására.
Ezen kívül a Seam magába foglal PDF dokumentum létrehozásához szükséges eszközt, gráf készítőt és Microsoft Excel munkalapok létrehozását is támogatja.
A Seam kulcsfontosságú szerepet tölt be a Java CDI – Contexts and Dependency Injection (Kontextus és függőség befecskendezés) – (JSR-299 in the JCP) mögött. A 3.0-s Seam verzió nagyobb fejlettségűnek ígérkezik mivel erősen épít a legutóbbi CDIre más néven Weld – egy a WebBeans és a referencia implementációt felülbíráló JSR-299.
Bibliográfia
[szerkesztés]Practical JBoss Seam Projects [archivált változat], First, Apress, 229. o. (2007. július 20.). ISBN 1590598636. Hozzáférés ideje: 2011. április 25. [archiválás ideje: 2010. december 5.]
További információk
[szerkesztés]- Seam Product Page @ JBoss
- The official JBoss Seam reference documentation
- Article on JBoss Seam on InfoQ
- [1] @ JBoss Seam tutorials
- [2] Video casts about Seam