A Seam egy webes alkalmazás keretrendszer, melyet a JBoss, mint a Red Hat egy részlege fejlesztett ki.

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
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ás2.3.1 (stabil verzió, 2013. július 25.)[1]
Programozási nyelvJava
PlatformJava virtuális gép
KategóriaWeb alkalmazás keretrendszer
LicencLGPL
A Seam Keretrendszer weboldala

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

  1. Seam 2 Distribution Downloads