Guaraná DSL
Stabil frisättning | 1.4.0 beta |
---|---|
Skrivet i | Java |
Operativ system | Cross-plattform |
Typ | Enterprise Integration Patterns Domänspecifikt språk |
Hemsida | http://www.tdg-seville.info/rzfrantz/guarana |
Guaraná DSL är ett domänspecifikt språk (DSL) för att designa lösningar för företagsapplikationsintegration (EAI) på en hög abstraktionsnivå. De resulterande modellerna är plattformsoberoende, så ingenjörer behöver inte ha kunskaper om en lågnivåintegrationsteknik när de designar sina lösningar. Dessutom kan denna design återanvändas för att automatiskt generera körbara EAI-lösningar för olika målteknologier.
Funktionalitet och struktur för en EAI-lösning definieras helt genom att använda språkbyggstenar, portar, uppgifter, dekorator, slots och integrationslänkar. Guaranás uppgifter är baserade på Enterprise Integration Patterns (EIP) av Gregor Hohpe och Bobby Woolf. Det är möjligt att designa den interna strukturen för alla typer av byggstenar (omslag och integrationsprocesser) och dess kommunikationsportar (ingångsport, utgångsport, advokatport och svararport) med hjälp av uppgifter; det är också möjligt att skapa integrationsflöden som tillåter applikationer att samarbeta genom att koppla ihop dessa byggstenar med hjälp av integrationslänkar. Applikationer som deltar i integrationslösningen dokumenteras med hjälp av dekoratörer och dess lager används som kommunikationsgränssnitt.
Huvudkonstruktörer i Guaraná DSL
Nedan är en lista över huvudkonstruktören av Guaraná DSL.
Dekoratörer: att tillhandahålla visuell information om de deltagande applikationerna i EAI-lösningen och deras lager.
Processer: tjänar två syften, nämligen: det finns processer som gör det möjligt att slå in applikationer och processer som gör det möjligt att integrera dem. De förra är återanvändbara processer som ger en applikation ett meddelandeorienterat API som förenklar interaktion med den. Att implementera en sådan inpackningsprocess kan sträcka sig från att använda en JDBC-drivrutin för att interagera med en databas till att implementera en scrapper som emulerar beteendet hos en person som interagerar med ett användargränssnitt. Generellt sett är detta känt som att slå in en applikation i litteraturen. Integrationsprocesser, tvärtom, är avsedda att orkestrera interaktionerna med ett antal inpackningsprocesser och andra integrationsprocesser. Processer är beroende av uppgifter för att utföra sin inslagning eller sina orkestreringsaktiviteter. Enkelt uttryckt kan en process ses som en meddelandeprocessor.
Slots: är minnesbuffertar som används inom byggblock för intern kommunikation från port till uppgift och uppgift till uppgift.
Uppgifter: är meddelandebearbetningskonstruktörer och visas i processer och omslag. En uppgift läser meddelanden från inkommande luckor, bearbetar dem (t.ex. berikar, översätter, filtrerar, etc.) och sätter in resultatet i utfallsluckan. En del av dem är baserade på företagsintegrationsmönster som föreslagits av Gregor Hohpe och Bobby Woolf.
Portar: används för att kommunicera de interna byggstenarna i en EAI-lösning och EAI-lösningen med dess applikationer. Integrationslänkar: är kanaler som transporterar meddelanden mellan byggstenar. De används för att ansluta ingångs-/utgångsportarna som används av byggblock.
Ett exempel på EAI-lösning designad med Guaraná DSL:
Guaraná och andra tekniker
Studier som jämför Guaraná DSL med andra teknologier:
- Guaraná x Acceleo
- Guaraná x Camel, Mule, ServiceMix, SpringIntegration och BizTalk Server
Företag som använder Guaraná DSL
- i2Factory: Smart Innovation [1]
Akademiska publikationer
- Ett förslag för att upptäcka fel i Enterprise Application Integration Solutions, Journal of Systems and Software (JSS). Först publicerad på nätet. - http://www.guarana-project.net/rzfrantz/publications/jss-2011.pdf [ permanent död länk ]
- Mjukvaruutvecklingskit för att implementera integrationslösningar, i 27:e symposiumet om tillämpad datoranvändning (SAC). 2012. (Ska publiceras). - http://www.guarana-project.net/rzfrantz/publications/sac-2012.pdf
- En effektiv orkestreringsmotor för molnet , i 3:e IEEE International Conference on Coud Computing Technology and Science (CloudCom). 711-716. 2011. - http://www.guarana-project.net/rzfrantz/publications/cloud-com-2011.pdf
- A Domain-Specific Language to Design Enterprise Application Integration Solutions , International Journal of Cooperative Information Systems (IJCIS), Vol. 20, nr 2. (maj 2011), s. 143–176. - http://www.guarana-project.net/rzfrantz/publications/ijcis-2011.pdf
- En färdplan för att integrera applikationer och data på webben, i konferens om mjukvaruteknik och databaser (JISBD). 133-142. 2010. - http://www.guarana-project.net/rzfrantz/publications/jisbd-2010.pdf
- Om designen av ett domänspecifikt språk för lösningar för integration av företagsapplikationer i den andra internationella workshopen om modelldriven tjänsteteknik (MOSE i TOOLS). V608. 19-30. 2010. - http://www.guarana-project.net/rzfrantz/publications/mose-2010.pdf
- Mot automatisk kodgenerering för EAI-lösningar med hjälp av DSL-verktyg, i konferens om mjukvaruteknik och databaser (JISBD). 134-145. 2009. - http://www.guarana-project.net/rzfrantz/publications/jisbd-2009.pdf
- Mot en feltolerant arkitektur för integrationslösningar för företagsapplikationer , In On the Move Federated Conferences (OTM). 2009. http://www.guarana-project.net/rzfrantz/publications/iwssa-2009.pdf
- Una Comparación de ESBs desde la Perspectiva de la Integración de Aplicaciones , In Conference on Software Engineering and Databases (JISBD). 2008. (på spanska) - http://www.guarana-project.net/rzfrantz/publications/jisbd-2008.pdf
- Framsteg i en DSL för applikationsintegration , ZOCO, 54-66. 2008. - http://www.guarana-project.net/rzfrantz/publications/zoco-2008.pdf
Böcker
- Hohpe, Gregor; Bobby Woolf (2003). Enterprise Integration Patterns: Designa, bygga och distribuera meddelandelösningar . ISBN 0-321-20068-3 .