Towards Distributed Information Access Possibilities and Implementation Victor de Graaff November 18 th  2009
Master thesis defense <ul><li>Towards Distributed Information Access </li></ul><ul><li>Possibilities and Implementation </...
Introduction Introduction Motivation Objectives Approach Overview  Requirements Comparison of Integration Technologies App...
What is an information broker? Introduction Motivation Objectives Approach Overview  Requirements Comparison of Integratio...
What is an information broker? Introduction Motivation Objectives Approach Overview  Requirements Comparison of Integratio...
Current situation Introduction Motivation Objectives Approach Overview  Requirements Comparison of Integration Technologie...
What is an information broker? Introduction Motivation Objectives Approach Overview  Requirements Comparison of Integratio...
Main objective Introduction Motivation Objectives Approach Overview  Requirements Comparison of Integration Technologies A...
Sub-objectives Introduction Motivation Objectives Approach Overview  Requirements Comparison of Integration Technologies A...
Approach Introduction Motivation Objectives Approach Overview  Requirements Comparison of Integration Technologies Applica...
Overview Introduction Motivation Objectives Approach Overview   Requirements Comparison of Integration Technologies Applic...
Requirements Introduction Requirements Approach Stakeholders Use cases Functional  requirements Non-functional requirement...
Approach (1) Introduction Requirements Approach Stakeholders Use cases Functional  requirements Non-functional requirement...
Approach (2) Introduction Requirements Approach Stakeholders Use cases Functional  requirements Non-functional requirement...
Stakeholders Introduction Requirements Approach Stakeholders Use cases Functional  requirements Non-functional requirement...
Use cases Introduction Requirements Approach Stakeholders Use cases Functional  requirements Non-functional requirements W...
Functional requirements Introduction Requirements Approach Stakeholders Use cases Functional  requirements Non-functional ...
Non-functional requirements Introduction Requirements Approach Stakeholders Use cases Functional  requirements Non-functio...
Weighting factors (1) Introduction Requirements Approach Stakeholders Use cases Functional  requirements Non-functional re...
Weighting factors (2) Introduction Requirements Approach Stakeholders Use cases Functional  requirements Non-functional re...
Comparison of Integration Technologies Introduction Requirements Comparison of Integration Technologies  Approach Point-to...
Introduction Requirements Comparison of Integration Technologies   Approach Point-to-Point  Hub-and-Spoke EMB ESB Conclusi...
Introduction Requirements Comparison of Integration Technologies  Approach Point-to-Point  Hub-and-Spoke EMB ESB Conclusio...
Introduction Requirements Comparison of Integration Technologies  Approach Point-to-Point  Hub-and-  Spoke EMB ESB Conclus...
Introduction Requirements Comparison of Integration Technologies  Approach Point-to-Point  Hub-and-  Spoke EMB ESB Conclus...
Introduction Requirements Comparison of Integration Technologies  Approach Point-to-Point  Hub-and-Spoke EMB ESB Conclusio...
IC IC Introduction Requirements Comparison of Integration Technologies  Approach Point-to-Point  Hub-and-Spoke EMB ESB Con...
Introduction Requirements Comparison of Integration Technologies  Approach Point-to-Point  Hub-and-Spoke EMB ESB Conclusio...
Application Integration Architectures Introduction Requirements Comparison of Integration Technologies Application Integra...
Consumer B Consumer C Consumer A Consumers Producer A Producer B Producer C Producers Introduction Requirements Comparison...
Consumer B Consumer C Consumer A Consumers Introduction Requirements Comparison of Integration Technologies Application In...
Enterprise Message Bus Producer A Producer B Producer C Consumer B Consumer C Consumer A Consumers Producers Information B...
Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Hub-and-Spoke EMB E...
Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Hub-and-Spoke EMB E...
Enterprise Service Bus Introduction Requirements Comparison of Integration Technologies Application Integration Architectu...
Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Hub-and-Spoke EMB E...
Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Hub-and-Spoke EMB E...
Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Hub-and-Spoke EMB E...
Choosing an Implementation Introduction Requirements Comparison of Integration Technologies Application Integration Archit...
Approach Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing a...
Mule Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Im...
ServiceMix Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing...
OpenESB Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an...
Comparison Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing...
Proof of Concept Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Ch...
Problem situation (1) Introduction Requirements Comparison of Integration Technologies Application Integration Architectur...
Problem situation (2) Introduction Requirements Comparison of Integration Technologies Application Integration Architectur...
Basics of Mule (1) Introduction Requirements Comparison of Integration Technologies Application Integration Architectures ...
Basics of Mule (2) Introduction Requirements Comparison of Integration Technologies Application Integration Architectures ...
Basics of Mule (3) Introduction Requirements Comparison of Integration Technologies Application Integration Architectures ...
Configuring Mule (1) Introduction Requirements Comparison of Integration Technologies Application Integration Architecture...
Configuring Mule (2) Introduction Requirements Comparison of Integration Technologies Application Integration Architecture...
Testing environment Introduction Requirements Comparison of Integration Technologies Application Integration Architectures...
Conclusion Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing...
Final Remarks Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choos...
Conclusions Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosin...
Future research Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Cho...
Questions
Upcoming SlideShare
Loading in …5
×

Presentation Master thesis defense

1,678 views

Published on

Sorry, SlideShare shows some of the bullet points and numbering elements different from what they should be.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,678
On SlideShare
0
From Embeds
0
Number of Embeds
40
Actions
Shares
0
Downloads
39
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Black and white to illustrate out of date
  • Presentation Master thesis defense

    1. 1. Towards Distributed Information Access Possibilities and Implementation Victor de Graaff November 18 th 2009
    2. 2. Master thesis defense <ul><li>Towards Distributed Information Access </li></ul><ul><li>Possibilities and Implementation </li></ul>Victor de Graaff University of Twente Computer Science Software Engineering dr. Luís Ferreira Pires dr. ir. Marten van Sinderen ing. Gerke Stam, TSi Solutions Student: University: Master: Track: Graduation Committee:
    3. 3. Introduction Introduction Motivation Objectives Approach Overview Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks <ul><ul><li>Motivation </li></ul></ul><ul><ul><li>Objectives </li></ul></ul><ul><ul><li>Approach </li></ul></ul><ul><ul><li>Overview </li></ul></ul>
    4. 4. What is an information broker? Introduction Motivation Objectives Approach Overview Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks
    5. 5. What is an information broker? Introduction Motivation Objectives Approach Overview Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks
    6. 6. Current situation Introduction Motivation Objectives Approach Overview Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks
    7. 7. What is an information broker? Introduction Motivation Objectives Approach Overview Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks
    8. 8. Main objective Introduction Motivation Objectives Approach Overview Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks To determine the most suitable architecture and technology to realize distributed access on real-time to information on products. Architecture Structure of the system. Technology Software to support that structure. Distributed Information comes from different places. Real-time Information comes at the time it is needed.
    9. 9. Sub-objectives Introduction Motivation Objectives Approach Overview Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks <ul><li>To reach our main objective: </li></ul><ul><ul><li>To provide an overview of existing integration technologies ; </li></ul></ul><ul><ul><li>To provide an overview of architectural options to use these integration technologies. </li></ul></ul><ul><li>To validate our main objective: </li></ul><ul><ul><li>To provide an overview of existing implementations of the integration technologies and determine the most suitable one; </li></ul></ul><ul><ul><li>To create and test a prototype which provides an example implementation for the proposed architecture. </li></ul></ul>
    10. 10. Approach Introduction Motivation Objectives Approach Overview Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks <ul><li>Step-by-step: </li></ul><ul><li>Requirements analysis </li></ul><ul><li>Literature survey of existing technologies </li></ul><ul><li>Identification of possible architectures </li></ul><ul><li>Comparison of possible architectures </li></ul><ul><li>Literature survey of existing implementations </li></ul><ul><li>Selection of the best implementation for this purpose </li></ul><ul><li>Implementation and testing </li></ul>
    11. 11. Overview Introduction Motivation Objectives Approach Overview Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks
    12. 12. Requirements Introduction Requirements Approach Stakeholders Use cases Functional requirements Non-functional requirements Weighting factors Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks <ul><ul><li>Approach </li></ul></ul><ul><ul><li>Stakeholders </li></ul></ul><ul><ul><li>Use cases </li></ul></ul><ul><ul><li>Functional requirements </li></ul></ul><ul><ul><li>Non-functional requirements </li></ul></ul><ul><ul><li>Weighting factors </li></ul></ul>
    13. 13. Approach (1) Introduction Requirements Approach Stakeholders Use cases Functional requirements Non-functional requirements Weighting factors Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks <ul><li>Input from three sources: </li></ul><ul><li>Information broker analysis </li></ul><ul><li>Questionnaire </li></ul><ul><ul><li>CTO </li></ul></ul><ul><ul><li>System architects </li></ul></ul><ul><ul><li>Developers </li></ul></ul><ul><li>Discussions </li></ul>
    14. 14. Approach (2) Introduction Requirements Approach Stakeholders Use cases Functional requirements Non-functional requirements Weighting factors Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks <ul><li>Four steps: </li></ul><ul><li>Identification of stakeholders </li></ul><ul><li>Identification of use cases </li></ul><ul><li>Identification of requirements </li></ul><ul><ul><li>Functional </li></ul></ul><ul><ul><li>Non-functional </li></ul></ul><ul><li>Assignment of weight factors </li></ul>
    15. 15. Stakeholders Introduction Requirements Approach Stakeholders Use cases Functional requirements Non-functional requirements Weighting factors Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks <ul><li>Consumers </li></ul><ul><ul><li>Travel Agencies </li></ul></ul><ul><ul><li>Website developers </li></ul></ul><ul><li>Information broker </li></ul><ul><ul><li>Project leaders </li></ul></ul><ul><ul><li>System architects </li></ul></ul><ul><ul><li>Developers </li></ul></ul><ul><ul><li>System administrators </li></ul></ul><ul><li>Producers </li></ul><ul><ul><li>Tour operators </li></ul></ul><ul><ul><li>Insurance companies </li></ul></ul><ul><ul><li>Payment service providers </li></ul></ul><ul><ul><li>etc. </li></ul></ul>
    16. 16. Use cases Introduction Requirements Approach Stakeholders Use cases Functional requirements Non-functional requirements Weighting factors Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks retrieve available products for one provider Information Broker retrieve available information on products for several providers purchase/cancel (combined) product configure which producers are available configure which consumers are allowed to use/offer products retrieve information on previous product purchase Producer Consumer request info request info provide info initiate direct to corresponding producer(s) handle purchase/cancellation configure configure request info request info provide/enrich info
    17. 17. Functional requirements Introduction Requirements Approach Stakeholders Use cases Functional requirements Non-functional requirements Weighting factors Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks <ul><li>Generic transportation of messages </li></ul><ul><ul><li>Support to multiple transports </li></ul></ul><ul><ul><li>Support to multiple protocols </li></ul></ul><ul><ul><li>Transparent message exchange </li></ul></ul><ul><li>Add existing applications easily </li></ul><ul><ul><li>External applications </li></ul></ul><ul><ul><li>In-house applications </li></ul></ul><ul><li>Routing </li></ul><ul><li>Global configuration </li></ul><ul><li>Security </li></ul>
    18. 18. Non-functional requirements Introduction Requirements Approach Stakeholders Use cases Functional requirements Non-functional requirements Weighting factors Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks <ul><li>Open source </li></ul><ul><li>Ability to scale out </li></ul><ul><li>Ability to upgrade the system without a complete shutdown </li></ul><ul><li>Reliable messaging </li></ul><ul><li>Independent of implementation language </li></ul><ul><li>Operation time </li></ul><ul><li>Message speed </li></ul><ul><li>Fail fast adequacy </li></ul>
    19. 19. Weighting factors (1) Introduction Requirements Approach Stakeholders Use cases Functional requirements Non-functional requirements Weighting factors Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks <ul><li>Generic transportation of messages </li></ul><ul><ul><li>Support to multiple transports </li></ul></ul><ul><ul><li>Support to multiple protocols </li></ul></ul><ul><ul><li>Transparent message exchange </li></ul></ul><ul><li>Add existing applications easily </li></ul><ul><ul><li>External applications </li></ul></ul><ul><ul><li>In-house applications </li></ul></ul><ul><li>Routing </li></ul><ul><li>Global configuration </li></ul><ul><li>Security </li></ul>4 4 4 5 3 4 1 5
    20. 20. Weighting factors (2) Introduction Requirements Approach Stakeholders Use cases Functional requirements Non-functional requirements Weighting factors Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks <ul><li>Open source </li></ul><ul><li>Scale out </li></ul><ul><li>Upgrade without a complete shutdown </li></ul><ul><li>Reliable messaging </li></ul><ul><li>Independent of impl. language </li></ul><ul><li>Operation time </li></ul><ul><li>Message speed </li></ul><ul><li>Fail fast adequacy </li></ul>4 5 4 3 5 4 4 3
    21. 21. Comparison of Integration Technologies Introduction Requirements Comparison of Integration Technologies Approach Point-to-Point Hub-and-Spoke EMB ESB Conclusion Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks <ul><ul><li>Approach </li></ul></ul><ul><ul><li>Point-to-Point </li></ul></ul><ul><ul><li>Hub-and-Spoke </li></ul></ul><ul><ul><li>Enterprise Message Bus </li></ul></ul><ul><ul><li>Enterprise Service Bus </li></ul></ul><ul><ul><li>Conclusion </li></ul></ul>
    22. 22. Introduction Requirements Comparison of Integration Technologies Approach Point-to-Point Hub-and-Spoke EMB ESB Conclusion Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks Approach C2 C1 B2 B1 A2 A1
    23. 23. Introduction Requirements Comparison of Integration Technologies Approach Point-to-Point Hub-and-Spoke EMB ESB Conclusion Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks Point-to-Point integration C2 C1 B2 B1 A2 A1
    24. 24. Introduction Requirements Comparison of Integration Technologies Approach Point-to-Point Hub-and- Spoke EMB ESB Conclusion Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks Single hub Hub-and-Spoke N C2 C1 B2 B1 A2 A1
    25. 25. Introduction Requirements Comparison of Integration Technologies Approach Point-to-Point Hub-and- Spoke EMB ESB Conclusion Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks Multi hub Hub-and-Spoke C2 C1 B2 B1 A2 A1
    26. 26. Introduction Requirements Comparison of Integration Technologies Approach Point-to-Point Hub-and-Spoke EMB ESB Conclusion Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks Enterprise Message Bus EMB Adapter A A A A A A A A C2 C1 B2 B1 A2 A1
    27. 27. IC IC Introduction Requirements Comparison of Integration Technologies Approach Point-to-Point Hub-and-Spoke EMB ESB Conclusion Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks Enterprise Service Bus ESB IC Intelligent Connector IC IC IC IC IC IC IC IC IC IC C2 C1 B2 B1 A2 A1
    28. 28. Introduction Requirements Comparison of Integration Technologies Approach Point-to-Point Hub-and-Spoke EMB ESB Conclusion Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks Conclusion N EMB A A A A A A ESB Enterprise Message Bus Enterprise Service Bus Point-to-Point Hub-and-Spoke IC IC IC IC IC IC C2 C1 B2 B1 A2 A1 C2 C1 B2 B1 A2 A1 C2 C1 B2 B1 A2 A1 C2 C1 B2 B1 A2 A1
    29. 29. Application Integration Architectures Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Hub-and-Spoke EMB ESB Conclusion Choosing an Implementation Proof of Concept Final Remarks <ul><ul><li>Hub-and-Spoke Architecture </li></ul></ul><ul><ul><li>EMB Architectures </li></ul></ul><ul><ul><li>ESB Architectures </li></ul></ul><ul><ul><li>Conclusion </li></ul></ul>
    30. 30. Consumer B Consumer C Consumer A Consumers Producer A Producer B Producer C Producers Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Hub-and- Spoke EMB ESB Conclusion Choosing an Implementation Proof of Concept Final Remarks Hub-and-Spoke Architecture Information Broker Services
    31. 31. Consumer B Consumer C Consumer A Consumers Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Hub-and-Spoke EMB ESB Conclusion Choosing an Implementation Proof of Concept Final Remarks EMB Architectures (1) Load Balancer Services Producer A Producer B Producer C EMB in combination with a load balancer: Enterprise Message Bus Producers Information Broker
    32. 32. Enterprise Message Bus Producer A Producer B Producer C Consumer B Consumer C Consumer A Consumers Producers Information Broker Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Hub-and-Spoke EMB ESB Conclusion Choosing an Implementation Proof of Concept Final Remarks EMB Architectures (2) Service 3 Service 2 Service 1 Two EMBs: Enterprise Message Bus
    33. 33. Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Hub-and-Spoke EMB ESB Conclusion Choosing an Implementation Proof of Concept Final Remarks EMB Architectures (3) Producers Information Broker Producer A Producer B Producer C Consumer A Consumer B Consumer C Consumers Service 1 Service 2 Service 3 One EMB: Enterprise Message Bus
    34. 34. Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Hub-and-Spoke EMB ESB Conclusion Choosing an Implementation Proof of Concept Final Remarks ESB Architectures (1) Consumer B Consumer C Consumer A Consumers Load Balancer Services Producer A Producer B Producer C Enterprise Service Bus Producers Information Broker ESB in combination with a load balancer:
    35. 35. Enterprise Service Bus Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Hub-and-Spoke EMB ESB Conclusion Choosing an Implementation Proof of Concept Final Remarks ESB Architectures (2) Producer A Producer B Producer C Consumer B Consumer C Consumer A Consumers Producers Information Broker Service 3 Service 2 Service 1 Enterprise Service Bus Two ESBs:
    36. 36. Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Hub-and-Spoke EMB ESB Conclusion Choosing an Implementation Proof of Concept Final Remarks ESB Architectures (3) Producers Information Broker Producer A Producer B Producer C Consumer A Consumer B Consumer C Consumers Service 1 Service 2 Service 3 Enterprise Service Bus One ESB:
    37. 37. Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Hub-and-Spoke EMB ESB Conclusion Choosing an Implementation Proof of Concept Final Remarks <ul><li>ESB with one bus. </li></ul><ul><li>Advantages over EMB: </li></ul><ul><li>Transparent message exchange </li></ul><ul><li>Easy addition of external applications </li></ul><ul><li>Resilience to changes </li></ul><ul><li>Additional advantages over hub-and-spoke: </li></ul><ul><li>Active open source projects </li></ul><ul><li>Scaling out capabilities </li></ul><ul><li>Upgrading of system without shutdown </li></ul>Conclusion (1)
    38. 38. Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Hub-and-Spoke EMB ESB Conclusion Choosing an Implementation Proof of Concept Final Remarks Conclusion (2) <ul><li>ESB with one bus. </li></ul><ul><li>Advantage over ESB with two buses: </li></ul><ul><li>Easy addition of internal applications </li></ul><ul><li>Advantage over ESB with a load balancer: </li></ul><ul><li>Easy addition of external applications </li></ul>
    39. 39. Choosing an Implementation Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Approach Mule ServiceMix OpenESB Comparison Proof of Concept Final Remarks <ul><ul><li>Approach </li></ul></ul><ul><ul><li>Mule </li></ul></ul><ul><ul><li>ServiceMix </li></ul></ul><ul><ul><li>OpenESB </li></ul></ul><ul><ul><li>Comparison </li></ul></ul>
    40. 40. Approach Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Approach Mule ServiceMix OpenESB Comparison Proof of Concept Final Remarks <ul><li>Analysis of three ESB implementations: </li></ul><ul><li>Tool support </li></ul><ul><li>Components </li></ul><ul><li>Hello World example </li></ul><ul><li>Open requirements: </li></ul><ul><ul><li>Global configuration </li></ul></ul><ul><ul><li>Message speed </li></ul></ul><ul><ul><li>Fail fast adequacy </li></ul></ul>
    41. 41. Mule Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Approach Mule ServiceMix OpenESB Comparison Proof of Concept Final Remarks <ul><li>Decent tool support </li></ul><ul><ul><li>Mule IDE 2.0 </li></ul></ul><ul><ul><li>Use of XML Schemas </li></ul></ul><ul><ul><li>Lack of visual tools </li></ul></ul><ul><li>More than sufficient components </li></ul><ul><li>Simple to create Hello World example </li></ul><ul><li>Open requirements: </li></ul><ul><ul><li>Global configuration through Mule Galaxy </li></ul></ul><ul><ul><li>Claimed to perform better than other ESBs </li></ul></ul><ul><ul><li>Failure behaviour can be configured </li></ul></ul>
    42. 42. ServiceMix Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Approach Mule ServiceMix OpenESB Comparison Proof of Concept Final Remarks <ul><li>No specific tool support </li></ul><ul><ul><ul><li>Use of standards </li></ul></ul></ul><ul><li>More than sufficient components </li></ul><ul><li>Very hard to create Hello World example </li></ul><ul><ul><li>Extensive use of Maven </li></ul></ul><ul><ul><li>Examples in standard distribution </li></ul></ul><ul><li>Open requirements: </li></ul><ul><ul><li>No global configuration application </li></ul></ul><ul><ul><li>Worst performance of the three </li></ul></ul><ul><ul><li>Apache Camel for process orchestration </li></ul></ul>
    43. 43. OpenESB Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Approach Mule ServiceMix OpenESB Comparison Proof of Concept Final Remarks <ul><li>Very good tool support </li></ul><ul><ul><li>NetBeans </li></ul></ul><ul><ul><li>Use of standards </li></ul></ul><ul><ul><li>Graphical editor for configuration files </li></ul></ul><ul><li>More than sufficient components </li></ul><ul><li>Many steps to create Hello World example </li></ul><ul><li>Open requirements: </li></ul><ul><ul><li>GlassFish Admin Console </li></ul></ul><ul><ul><li>Better performance than ServiceMix </li></ul></ul><ul><ul><li>Apache Camel for process orchestration </li></ul></ul>
    44. 44. Comparison Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Approach Mule ServiceMix OpenESB Comparison Proof of Concept Final Remarks Requirement Weight Mule ServiceMix OpenESB Global configuration 1 2 0 2 Message speed 4 2 0 1 Fail fast adequacy 3 2 2 2 Total 16 6 12
    45. 45. Proof of Concept Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Problem situation Basics of Mule Configuring Mule Testing environment Conclusion Final Remarks <ul><ul><li>Problem situation </li></ul></ul><ul><ul><li>Basics of Mule </li></ul></ul><ul><ul><li>Configuring Mule </li></ul></ul><ul><ul><li>Testing environment </li></ul></ul><ul><ul><li>Conclusion </li></ul></ul>
    46. 46. Problem situation (1) Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Problem situation Basics of Mule Configuring Mule Testing environment Conclusion Final Remarks <ul><li>TSi's TravelSearch: </li></ul><ul><li>Offers search functionality to consumers </li></ul><ul><li>Searches TSi's own database </li></ul><ul><li>Database is updated at steady intervals </li></ul>
    47. 47. Problem situation (2) Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Problem situation Basics of Mule Configuring Mule Testing environment Conclusion Final Remarks <ul><li>Drill-down search functionality: </li></ul><ul><li>Possible search criteria </li></ul><ul><li>Collection of search results </li></ul><ul><li>Specific information of one result </li></ul><ul><li>Booking code </li></ul>
    48. 48. Basics of Mule (1) Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Problem situation Basics of Mule Configuring Mule Testing environment Conclusion Final Remarks Service Transport Inbound router Component Outbound router Transport Exception listener
    49. 49. Basics of Mule (2) Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Problem situation Basics of Mule Configuring Mule Testing environment Conclusion Final Remarks <<Endpoint>> HTTP <<Endpoint>> JMS <<Component>> POJO Application or component T T T Inbound router Outbound router The component's response is sent to the outbound router for endpoint dispatching An inbound event gets routed to the component's entry point through transformers The component's response can be returned to the caller if the endpoint is synchronous Application or component
    50. 50. Basics of Mule (3) Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Problem situation Basics of Mule Configuring Mule Testing environment Conclusion Final Remarks <<Endpoint>> HTTP <<Endpoint>> JMS <<Component>> POJO Application or component Application or component T T T Inbound router Outbound router Service Transport Inbound router Component Outbound router Transport
    51. 51. Configuring Mule (1) Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Problem situation Basics of Mule Configuring Mule Testing environment Conclusion Final Remarks <<Endpoint>> HTTP <<Endpoint>> dtsRequests VM <<Component>> WSProxyService POJO Consumer External Services <<Endpoint>> dtsResponses VM <<Component>> DTSResponseAgg POJO T T Main service:
    52. 52. Configuring Mule (2) Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Problem situation Basics of Mule Configuring Mule Testing environment Conclusion Final Remarks <<Endpoint>> dtsRequests VM <<Endpoint>> externalWebservice HTTP VM Message T <<Endpoint>> dtsResponses VM T External service:
    53. 53. Testing environment Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Problem situation Basics of Mule Configuring Mule Testing environment Conclusion Final Remarks <ul><li>Main service supported by: </li></ul><ul><li>Java transformation SOAP to XML </li></ul><ul><li>Java response aggregator </li></ul><ul><li>External service supported by: </li></ul><ul><li>XSLT transformations </li></ul><ul><ul><li>XML to provider request </li></ul></ul><ul><ul><li>Provider response to XML </li></ul></ul>
    54. 54. Conclusion Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Problem situation Basics of Mule Configuring Mule Testing environment Conclusion Final Remarks
    55. 55. Final Remarks Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks Conclusions Future research <ul><ul><li>Conclusions </li></ul></ul><ul><ul><li>Future research </li></ul></ul>
    56. 56. Conclusions Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks Conclusions Future research <ul><li>To determine the most suitable architecture and technology to realize distributed access on real-time to information on products. </li></ul><ul><li>Requirements </li></ul><ul><li>Four integration technologies </li></ul><ul><li>Seven possible architectures </li></ul><ul><li>ESB with one bus </li></ul><ul><li>Mule </li></ul><ul><li>Prototype </li></ul>
    57. 57. Future research Introduction Requirements Comparison of Integration Technologies Application Integration Architectures Choosing an Implementation Proof of Concept Final Remarks Conclusions Future research <ul><li>Validation under more realistic circumstances </li></ul><ul><li>Transformation optimization </li></ul><ul><li>ESB performance comparison </li></ul>
    58. 58. Questions

    ×