Towards a More Scalable ESB Solution
Total Page:16
File Type:pdf, Size:1020Kb
Access Point Framework – towards a more scalable ESB solution SANJA JANKOLOVSKA BOSHKO ZHERAJIKJ Supervisor: Don Baldwin, CEO of Aurenav LLC. Examiner: Mihhail Matskin Degree project in Software Engineering of Distributed Systems Stockholm, Sweden 2012 Abstract The aim of this project was to investigate the potential issues of existing ESB products and present how the Access Point Framework (an Enterprise Application Integration Framework developed within Aurenav LLC.), mitigates these problems. For this purpose, the framework was compared with two existing ESB solutions- Mule ESB and BizTalk® ESB Toolkit. In order to be able to present the simplicity of integration with the Access Point Framework, first, it was moved to open source underlying technologies. The two most important ones were the Message Oriented Middleware products –ActiveMQ and RabbitMQ, both of which are interchangeable, depending on the user needs. Additionally, after having the framework fully functional, two simple applications were integrated to exemplify the ease of integration. Currently, the Access Point Framework is synchronous and single threaded, however, the necessary improvements are discussed throughout the paper. The steps described paved the way for carrying out the performance testing that was done on the framework. The project serves mainly as a comparison and evaluation document but also as a base point for moving the APF to an open source solution, while preserving the configurability in order to extend the functionality in later releases. Sammanfattning Målet med detta project var att undersöka eventuella problem med existerande ESB produkter och visa hur Access Point Framework (en Enterprise Application Integration Framework utvecklad av Aurenav LLC.), mildrar dessa problem. För detta ändamål jämfördes ramverket med två existerande ESB lösningar, Mule ESB och BizTalk® ESB Toolkit. För att kunna påvisa enkelheten i integrationen med Access Point Framework flyttades det först till open källkod underliggande teknologier. De två viktigaste var Message Oriented Middleware produkter –ActiveMQ och RabbitMQ, vilka bägge är utbytbara beroende på användarens behov. Efter att ha skapat ett fullt fungerande ramverk infogades två enkla tillämpningar för att exemplifiera enkelheten i integrationen. För närvarande är Access Point Framework synkront och enkeltrådigt men nödvändiga förbättringar diskuteras I hela arbetet. De steg som beskrivs jämnade vägen för den funktionstest som gjordes på ramverket. Arbetet skall I första hand ses som ett jämförelse och utvärderingsdokument men också som en utgångspunkt för flytt av APF till en open källkodslösning med bibehållna konfigurationsmöjligheter som möjliggör utökad funktionalitet I senare releaser. Acknowledgements We would like to thank our supervisor, Don Baldwin, for giving us the opportunity to work on this project within Aurenav LLC., as well as his guidance, knowledge and experience sharing. We would also like to thank our examiner, Professor Mihhail Matskin, for his contribution, guidance and collaboration throughout the development of this project. We are thankful to our parents and families for giving us the opportunity to reach this point of life where we complete the Master degree with this project. And last but not least, to our friends that have been with us, giving their constant support. Thank you all! Table of Contents 1. Introduction ...................................................................................................................... 1 2. Literature Review............................................................................................................. 2 2.1. Background ................................................................................................................. 2 2.2. Enterprise Application Integration (EAI) .................................................................... 2 2.3. Service Oriented Architecture (SOA) ......................................................................... 5 2.4. Enterprise Service Bus (ESB) ..................................................................................... 7 2.4.1. Basic Functionalities of an ESB .......................................................................... 7 2.4.2. Characteristics of an ESB .................................................................................... 8 2.5. Normative Data ......................................................................................................... 10 2.5.1. Canonical Model ................................................................................................ 10 2.5.2. Enterprise Data Model ....................................................................................... 12 2.6. Messaging Oriented Middleware (MOM)................................................................. 13 2.7. Related work ............................................................................................................. 16 2.8. Existing ESB Solutions ............................................................................................. 17 3. Problem Definition and Methodology ........................................................................... 19 3.1. Problems of existing integration solutions ................................................................ 19 3.2. Goals and Objectives ................................................................................................. 21 3.3. Methodology ............................................................................................................. 22 3.3.1. Research ............................................................................................................. 22 3.3.2. Investigating existing ESBs and MOMs ............................................................ 23 3.3.3. Choosing the ESB products ............................................................................... 23 3.3.4. Comparison Criteria for the ESBs ..................................................................... 24 3.3.5. Evaluating the APF ............................................................................................ 24 3.3.6. Choosing the MOMs .......................................................................................... 25 3.3.7. Feature evaluation for the MOMs ...................................................................... 26 3.3.8. Evaluating the MOMs ........................................................................................ 26 4. The Access Point Framework ........................................................................................ 27 4.1. Components of the APF ............................................................................................ 27 4.1.1. Application Integration Component – AIC........................................................ 27 4.1.2. Transformation and Validation Engine – TVE .................................................. 29 4.1.3. Messaging Platform Adapter Service – MPAS ................................................. 30 4.1.4. Repository Service – RS .................................................................................... 32 4.1.5. Base Components............................................................................................... 33 4.1.6. Access Point – AP .............................................................................................. 33 4.1.7. Message Warehouse – MW ............................................................................... 34 4.2. APF Architecture....................................................................................................... 35 4.3. Discussion ................................................................................................................. 39 5. Comparison with ESB Products..................................................................................... 41 5.1. Mule Architecture ..................................................................................................... 41 5.1.1. Similarities with APF ......................................................................................... 44 5.1.2. Differences with APF ........................................................................................ 48 5.2. BizTalk® ESB Toolkit Architecture ........................................................................ 52 5.2.1. Similarities among architectures ........................................................................ 57 5.2.2. Differences with the APF................................................................................... 59 6. Implementation .............................................................................................................. 65 6.1. Database Replacement .............................................................................................. 65 6.2. Messaging Middleware Replacement ....................................................................... 66 6.2.1. Feature Evaluation ............................................................................................. 66 6.2.1.1. ActiveMQ ................................................................................................... 66 6.2.1.2. RabbitMQ ................................................................................................... 67 6.2.2. Implementation of Messaging Functionality ..................................................... 69 6.2.2.1. ActiveMQ ..................................................................................................