A JBoss kibocsátotta a nyílt forráskódú BPEL projektjének, a Riftsaw-nak a 2.0-ás verzióját. Ennek kapcsán beszélgetett a DZone a Riftsaw két fejlesztőjével, Gary Brownnal és Kurt Stammel. A Riftsaw projekt célja egy WS-BPEL motor előállítása volt. A motor alapként szolgál SOA környzetek BPEL orkesztrációval történő fejlesztéséhez. A motor JBoss alkalmazásszerver-konténerben történő futtatáshoz lett optimalizálva, az Apache Ode-ra épül, illetve azt ki is bővíti. A Riftsaw 2.0 a projekt által kibocsátott első stabil verzió.
A Riftsaw hogyan illeszkedik bele a JBoss projektek, Apache projektek illetve más projektek által használt technológiák ekorendszerébe?
A JBoss eddig az alkalmazásszerveréről, a Hibernate-ról, illetve újabban a SOA Platformjának alapját képező ESB-jéről volt ismert. Az Enterprise Service Bus (vállalati szolgáltatássín; ESB) fő célja, hogy elősegítse az alkalmazáskomponensek, illetve a szolgáltatások közötti összekapcsolhatóságot, ami azért fontos, mert a komponensek gyakran eltérő üzenetformátumokat vagy technológiákat használnak. Az ESB a szállítási protokollok közötti mediációt, üzenettranszformációt, útvonalválasztást és orkesztrációt kínál a különféle szolgáltatási technológiák közötti interoperabilitás megteremtése érdekében.
jboss.org Application Server = Enterprise Application Platform
jboss.org ESB = Enterprise SOA Platform
Bár az ESB-nek nincsen általánosan elfogadott definíciója, az szintén elterjedt nézet, hogy egy ESB-nek szabványokon alapuló orkesztrációs képességet kell nyújtania a WS-BPEL folyamatnyelv alapján. Bár a jBPM projekt kínál folyamatorkesztrációs képességet, amelyet sikerrel be is vetettek ilyen céllal az ESB számos telepítésében, a jBPM mégis inkább a JPDL és POJO orkesztrációval foglalkozott elsősorban, és nem annyira a WS-BPEL-lel, és a webszolgáltatásokkal vagy az XML-lel.
Ezért úgy határoztunk, hogy a JBoss ESB-nek WS-BPEL-alapú orkesztrációs megoldásra van szüksége. Ez vezetett ahhoz a döntéshez, hogy a széleskörben használt Apache ODE BPEL motort a SOA Platformba integráljuk. Így született meg a RiftSaw. A félreértések elkerülése végett meg kell jegyeznünk, hogy a RiftSaw az Apache ODE JBoss platformokba való integrálásra szolgáló projekt, nem pedig egy újabb nyílt forráskódú BPEL motor.
Ami az Apache technológiák szélesebb ekorendszerét illeti, a JBoss az Apache CXF, a jUDDI és a Tomcat projektekben is aktívan közreműködik.
Mitől új és egyedi a Riftsaw?
Az Apache ODE egy WS-BPEL motor remek minőségű nyílt forráskódú kivitelezése. Ugyanakkor, JBoss Enterprise Application Platformon és SOA Platformon alapuló üzemeltetési környezetben történő futtatás esetén, bizonyos területeken hiányosságai ütköznek ki. Ezen hiányosságok orvoslására hivatott a RiftSaw projekt.
Az első ilyen hiányosság akkor merül fel, ha egy JBoss platformon belül kívánjuk telepíteni az Apache ODE-t. A RiftSaw előtti időkben ehhez meg kellett változtatni a JBoss és az Apache ODE környezeteket, mert csak így tudott a két alkalmazás gördülékenyen együtt működni.
Egy további terület a JBoss ESB projekttel való szoros integráció, amely lehetővé tette BPEL folyamatok (futásközbeni) gyorstelepítését egy ESB konfiguráció részeként.
Az Apache ODE jelenleg két szállítási protokoll opciót kínál, az egyik a webszolgáltatásokhoz kapcsolódó Axis2, a másik a JBI. A RiftSaw projekt az Axis2 integrációt JAX-WS támogatással helyettesítette. Ennek eredményeként egy JAX-WS-nek megfelelő szállítási réteg jött létre, úgy, hogy lehetőség van az Apache CXF-et üzenetküldési rétegként használni. Azon leszünk, hogy kiderítsük, hogyan lehetne a lehető legjobban visszavezetni ezt a további szállítási réteget az Apache ODE projektbe.
A többi érintett terület a RiftSaw projekt jövőbeni csapásirányaihoz kapcsolódik. Az ODE-hoz tartozó alapkonzolt egy GWT-alapú konzolra cseréltük le. A jelenlegi kiadásban ez ugyan nem kínál további funkcionalitást, viszont olyan erős alapot nyújt, amelyre a jövőben BAM (Business Activity Monitoring) képességeket építhetünk.
Egy további terület még a klaszterelés és a failover támogatás. Bár jelenleg még nem támogatjuk ezeket, a jövőben ezekre a területekre is kíván összpontosítani a RiftSaw.
Máris hozzájárultunk a Maven build támogatásához, amely az esetleges hozzájárulók szélesebb köre számára nyitja meg az Apache ODE közösségben való részvételt.
Milyen módokon lehet a Riftsaw-t telepíteni?
Amikor a RiftSaw projektet útjára indítottuk, az elsődleges célunk az volt, hogy szabványalapú orkesztrációs támogatást nyújtsunk a JBoss ESB részeként, hogy alkalmazzuk a motort és az új folyamatmeghatározásokat egy JBoss tárolón belül – és hogy ezáltal optimalizáljuk az Apache ODE-t a JBoss végfelhasználói számára.
Így, bár szoros integráció áll fenn az ESB-vel, ahhoz, hogy az ESB szolgáltatások közvetlenül együttműködjenek a BPEL folyamatokkal a SOAP felesleges használata nélkül, a RiftSaw a JBoss konténeren belül önállóan is futtatható.
Mely technológiákhoz hasonlítható a Riftsaw?
Talán szerencsésebb lenne úgy feltenni ezt a kérdést, hogy mely más technológiák hasonlítanak az Apache ODE-hez.
Nyílt forráskódú WS-BPEL 2.0 támogatásnak ott van az Apache ODE, az OW2 Orchestra és egy, a Sun által szponzorált projekt, amely az OpenESB-t és a Glassfish-t támogatja. Ezen kívül még számtalan kereskedelmi gyártó is van, akik a termékeik részeként WS-BPEL képességeket is kínálnak.
Jelenleg milyen szakaszban fut a projekt? Milyen célok elérését tűztétek ki a projekt számára? Sokan használták már a RiftSaw-t?
A projekt keretében kiadtuk az első stabil verziót. Ez a verzió jó alapot kínál egy olyan SOA fejlesztéséhez, amely a BPEL orkesztráció számára beépített támogatást kínáló JBoss technológiákat használ.
Miután ezt a verziót kibocsátottuk, elsődlegesen arra fogunk összpontosítani, hogy további telepítési képességeket kínáljunk, illetve, hogy javítsuk a konzolról elérhető funkcionalitást.
Arra a kérdésre, hogy hányan használták már a RiftSaw-t nehéz válaszolni, egy nyílt forráskódú projekt esetében ugyanis sosem könnyű megbecsülni, hogy vajon hányan használják. De visszatérve a projekt céljára, mivel a JBoss környezetbe integráljuk az ODE-t, ezért bárkit, aki az ODE-t egy másik alkalmazásszerverről használja, csupán egy rövid migrációs út választja el attól, hogy BPEL folyamatát a JBoss platformján használhassa.
A BPMS mozgalmat az utóbbi években a JBoss és az Intalio vezette. Hogyan illeszkedik be a Riftsaw ebbe a mozgalomba?
Bár a JBoss is jelen volt a BPMS küzdőterén a jBPM projekt révén, mi mégis az Intalio jelentős hozzájárulását emelnénk ki, amelyet a szabványalapú nyílt forráskódú BPMS területén fejtett ki az Apache ODE projekthez kapcsolódóan, illetve más hasonló projektekkel kapcsolatban (lásd pl. az Eclipse BPMN modellező), valamint a BMN2 továbbfejlesztése kapcsán.
Mi, a RiftSaw csapat tagjai nagyon szeretnénk aktívan hozzájárulni ezeknek a projekteknek a sikeréhez, és több olyan csapatunk is van, amelyek olyan különböző területeken dolgoznak, amelyek remélhetőleg a jövőben majd az ODE projekt részeivé válnak. Egyébként a közelmúltban az egyik csapattagunk, Jeff Yu az ODE projekt hozzájárulója lett, ezúton is gratulálunk neki!
Jeff első hozzájárulása committerként többek között a következőeket nyújtotta: egy maven build struktúra felállítása a jelenlegi építési struktúra alternatívájaként, illetve az perzisztencia réteg teljes JPA megfelelőséghez való átalakításán is dolgozott, így lehetővé téve a JPA szolgáltatók közötti választást (legyen ez akár OpenJPA, Hibernate vagy egy másik kivitelezés).
A Riftsaw 2.0 jelenleg a következő jellemzőket támogatja:
A Red Hat Runtimes for Spring Boot a Red Hat egyik termékcsomagja, ami Spring Boot keretrendszer-támogatást nyújt fejlesztők számára. A Spring Boot egy népszerű keretrendszer a Java alkalmazások fejlesztéséhez, amelyet a könnyűsúlyú és gyors prototípuskészítés, valamint az alkalmazások egyszerű konfigurációja jellemzi. A Red Hat Runtimes for Spring Boot segítségével a fejlesztők hatékony eszközöket és környezetet kapnak a Spring Boot alapú alkalmazásaik futtatásához és menedzseléséhez.
A Red Hat Runtimes for Spring Boot az alábbi előnyöket kínálja:
A Red Hat JBoss Enterprise Application Platform (JBoss EAP) egy nyílt forráskódú alkalmazásfejlesztési és alkalmazásüzemeltetési platform. Az EAP egy teljeskörű Java Platform, Enterprise Edition (Java EE) kompatibilis alkalmazás-szerver, amely kifejezetten vállalati környezetekben történő használatra lett tervezve. A platformot a Red Hat fejleszti és támogatja, és az egyik meghatározó megoldás a vállalati környezetekben történő Java alkalmazásfejlesztés és futtatás terén.
A JBoss EAP alapvető jellemzői:
Java EE Kompatibilitás: A JBoss EAP teljes körűen támogatja a Java Platform, Enterprise Edition (Java EE) specifikációt. Ez magában foglalja a Servletek, JSP-k, EJB-k (Enterprise Java Beans), JMS-t (Java Message Service), JPA-t (Java Persistence API) és számos más Java EE technológiát.
Moduláris Architektúra: Az EAP moduláris architektúrával rendelkezik, amely lehetővé teszi, hogy csak azokat a komponenseket használd, amelyekre szükséged van, ezáltal csökkentve az erőforrásigényt és javítva a teljesítményt.
Adminisztrációs eszközök: Az EAP kiterjedt adminisztrációs eszközöket és vezérlőfelületeket nyújt az alkalmazások konfigurálásához, kezeléséhez és felügyeletéhez.
Üzleti támogatás: A JBoss EAP hosszú távú támogatást nyújt vállalati ügyfelek számára, biztosítva a biztonsági frissítéseket és a hibajavításokat.
Klaszterezés: Az EAP támogatja a klaszterezést, ami lehetővé teszi az alkalmazások horizontális skálázását és a nagyobb rendelkezésre állást.
Könnyű integráció: Az EAP könnyen integrálható más Red Hat termékekkel és megoldásokkal, például a Red Hat JBoss Data Grid-del és a Red Hat JBoss Fuse szolgáltatás-buszrendszerrel.
Az EAP-t különféle alkalmazások fejlesztésére és futtatására használják, ideértve a webalkalmazásokat, az üzleti alkalmazásokat és a mikroszolgáltatásokat. A Red Hat JBoss EAP által nyújtott megbízhatóság és teljesítmény miatt sok vállalat választja ezt a platformot vállalati szintű Java alapú alkalmazásokhoz.
A Red Hat JBoss Web Server egy nyílt forráskódú webkiszolgáló szoftver, ami a Red Hat middleware portfóliójának a része. A JBoss Web Server az Apache Tomcat és az Apache HTTP Server komponensekre épül, és lehetővé teszi pehelysúlyú, hatékony és biztonságos webalkalmazások futtatását.
A Red Hat JBoss Web Server főbb jellemzői:
Apache Tomcat: A Red Hat JBoss Web Server meghatározó eleme az Apache Tomcat szoftverkomponens, ami egy nyílt forráskódú Java Servlet és JavaServer Pages (JSP) konténer. A Tomcat lehetővé teszi Java-alapú webalkalmazások futtatását és kezelését.
Apache HTTP Server: Az Apache HTTP Server a világ egyik legelterjedtebb webkiszolgáló szoftvere, az internet jelentős részén használják. A Red Hat JBoss Web Server az Apache HTTP Serverre épül, ahhoz kiegészítő funkciókat és teljesítményjavításokat biztosít.
Java Web Container: A Red Hat JBoss Web Server olyan webes konténerként működik, amely támogatja a Java Servlet API-t és a JavaServer Pages (JSP) technológiát. Ez lehetővé teszi a Java alapú webalkalmazások könnyű futtatását és kezelését.
Egyszerű telepítés és konfiguráció: A Red Hat JBoss Web Server egyszerű telepítést és konfigurációt biztosít, segítségével gyorsan készíthetünk olyan webkiszolgálót, amely képes webalkalmazások futtatására.
Biztonság: A Red Hat JBoss Web Server számos már alapértelmezetten is olyan előre definiált biztonsági beállításokkal rendelkezik, amelyek védelmet biztosítanak a legelterjedtebb webbiztonsági fenyegetésekkel szemben.
A Red Hat JBoss Web Servert gyakran használják olyan környezetekben, ahol egyszerűen szeretnének Java alapú webalkalmazásokat futtatni és ahol fontos a megbízhatóság és a biztonság. Az Apache Tomcat és az Apache HTTP Server együttes használata révén a JBoss Web Server a vállalati igényeket is maximálisan kielégíti mind teljesítmény, mind funkcionalitás szempontjából.
A Red Hat Data Grid egy elosztott, in-memory (memóriában működő) gyorsítótár és NoSQL adatbáziskezelő megoldás a Red Hattől. A Red Hat Data Grid biztosítja, hogy az alkalmazások a jellemzően nagyságrendekkel gyorsabb memóriában tárolják és kezeljék a gyakran használt adatokat, jelentősen növelve azok teljesítményét és skálázhatóságát.
A Red Hat Data Grid főbb jellemzői:
In-memory adattárolás: A Red Hat Data Grid az alkalmazások számára biztosít memóriában működő adattárolást, ami gyors és alacsony válaszidőt eredményez.
Elosztott architektúra: A Red Hat Data Grid elosztott architektúrával rendelkezik, ami lehetővé teszi az adatok elosztott tárolását és kezelését több szerveren átívelően. Ez növeli a rendelkezésre állást és skálázhatóságot.
Cache funkciók: A Red Hat Data Grid támogatja a gyorsítótás (cache) funkciókat, így az alkalmazások a gyakran használt adatokat memóriában tárolhatják, csökkentve a késleltetést és az adatbázis terhelését.
Tranzakciós támogatás: A Red Hat Data Grid támogatja a tranzakciókat, így biztosítva az adatok konzisztens és atomi módosítását.
Keretrendszerfüggetlen: A Red Hat Data Grid olyan platformfüggetlen megoldás, amely támogatja például a Java, .a NET, Node.js és más programozási keretrendszereket, nyelveket.
Integráció a Red Hat termékekkel: A Data Grid jól integrálható más Red Hat termékekkel, például a JBoss Enterprise Application Platform (JBoss EAP) és a Red Hat JBoss Middleware szoftverekkel.
A Red Hat Data Grid-t gyakran olyan alkalmazások fejlesztéséhez és futtatásához használják, ahol fontos a magas teljesítmény és skálázhatóság. Ilyenek például webalkalmazások, mikroszolgáltatások, adatelemzési alkalmazások és real-time alkalmazások.
A Red Hat AMQ a Red Hat által kínált üzenetküldő szoftvermegoldás, illetve megoldások, hiszen két meghatározó technológiára, az Apache ActiveMQ-ra és az Apache Kafkára épül.
A Red Hat AMQ egy rugalmas és megbízható messaging platform, célja az üzenetek hatékony és biztonságos továbbítása alkalmazások között, függetlenül attól, hogy azok melyik platformon futnak vagy milyen programozási nyelvet használnak.
A Red Hat AMQ főbb jellemzői és szolgáltatásai:
Üzenetküldés és -fogadás: Az AMQ lehetővé teszi az alkalmazások számára, hogy üzeneteket küldjenek és fogadjanak egymás között. Az üzenetek lehetnek egyszerű szöveges üzenetek, bináris adatok vagy akár strukturált formátumok is.
Queue-k és topicok: Az AMQ támogatja mind a queue-k, mind a topicok használatát. A queue-k esetén az üzeneteket több címzett között osztják meg, míg a topicok lehetővé teszik, hogy az üzeneteket több feliratkozó (subscriber) kapja meg.
Késeknek támogatása: Az AMQ támogatja a Java Message Service (JMS) és az Advanced Message Queuing Protocol (AMQP) szabványokat, amelyek együttműködést (kommunikációt) tesznek lehetővé különböző rendszerek között, függetlenül azok implementációs részleteitől és az azok létrehozására használt nyelvektől, keretrendszerektől.
Elosztott architektúra: Az AMQ elosztott architektúrával rendelkezik, így több üzenetkiszolgáló (broker) között oszthatja meg az üzeneteket, ami javítja a rendelkezésre állást és skálázhatóságot.
Állapotmentes (stateless) működés: Az AMQ szerverek állapotfüggetlenek, ami lehetővé teszi a könnyű bővítést és a megbízható működést.
Üzenetszűrők és transzformációk: Az AMQ lehetővé teszi az üzenetek szűrését és átalakítását, amely rugalmasságot és könnyű integrációt biztosít más rendszerekkel.
Klienskönyvtárak: Az AMQ-hez számos klienskönyvtár áll rendelkezésre különböző programozási nyelvekhez, mint például Java, Python, .NET, stb.
Az AMQ-t gyakran használják olyan alkalmazások és rendszerek fejlesztéséhez, ahol fontos a megbízható és skálázható üzenetküldés, például a mikroszolgáltatások közötti kommunikáció, az integrált alkalmazások közötti adatcsere, és a hálózaton átívelő kommunikációhoz. Az AMQ lehetővé teszi a fejlesztők és az üzemeltetők számára, hogy könnyedén kezeljék az üzeneteket és biztosítsák az alkalmazások hatékony és megbízható kommunikációját.
A Red Hat Single Sign-On (SSO) egy nyílt forráskódú, szabványos és biztonságos azonosítási és hitelesítési megoldás, amely lehetővé teszi, hogy a felhasználók egyetlen bejelentkezési folyamatot (Single Sign-On) használva férjenek hozzá több különböző alkalmazáshoz és szolgáltatáshoz.
Az SSO olyan technológia, amely biztosítja, hogy a felhasználónak csak egyszer kelljen bejelentkeznie egy rendszerbe, és ezt követően az azonosítása automatikusan továbbítódik más alkalmazásokhoz anélkül, hogy újra meg kellene adni a bejelentkezési adatokat. Ez nem csak a felhasználók számára kényelmesebbé teszi az alkalmazások használatát, hanem csökkenti az (adminisztratív) overheadet és növeli az informatikai biztonságot.
A Red Hat SSO a következő fő jellemzőkkel rendelkezik:
Azonosítási és hitelesítési szabványok támogatása: Az SSO támogatja a modern azonosítási és hitelesítési protokollokat, például SAML (Security Assertion Markup Language), OAuth és OpenID Connect, amelyek lehetővé teszik a biztonságos és szabványos bejelentkezési folyamatokat.
Központosított felhasználó- és hozzáféréskezelés: Az SSO lehetővé teszi a felhasználók központi kezelését és az egységes hozzáférési jogosultságokat több alkalmazáshoz.
Klienskönyvtárak és API-k: A Red Hat SSO klienskönyvtárakkal és API-kkal rendelkezik, amelyek egyszerűvé teszik az SSO integrációját a meglévő alkalmazásokkal és szolgáltatásokkal.
Többfaktoros azonosítás (MFA): Az SSO támogatja a többfaktoros azonosítást, ami tovább növeli az alkalmazások biztonságát.
Skálázhatóság és megbízhatóság: A Red Hat SSO architektúrája lehetővé teszi a nagy terhelések kezelését és a megbízható működést.
A Red Hat SSO-t gyakran vállalati környezetekben alkalmazzák, ahol fontos az egyszerű és biztonságos azonosítás és hozzáféréskezelés a számos alkalmazáshoz és szolgáltatáshoz. Az SSO segít az informatikai csapatoknak egyszerűsíteni az üzemeltetést és növelni az adatbiztonságot, miközben a felhasználók kényelmét is javítja.