1 / 38

l Belgium French Community goes SOA Open Source with Servicemix and BULL

l BeJUG – Enterprise SOA’07 Conference. l 09/10/2007. l Belgium French Community goes SOA Open Source with Servicemix and BULL. l Guillaume Nodet - IONA. l Anne Noseda - BULL. l Speakers. l 09/10/2007. Guillaume Nodet IONA Principal Engineer

Download Presentation

l Belgium French Community goes SOA Open Source with Servicemix and BULL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. l BeJUG – Enterprise SOA’07 Conference l 09/10/2007 l Belgium French Community goes SOA Open Source with Servicemix and BULL l Guillaume Nodet - IONA l Anne Noseda - BULL

  2. l Speakers l 09/10/2007 • Guillaume Nodet • IONA Principal Engineer • PMC Chair of the Apache ServiceMix project • Involved in several Open Source projects (Apache ActiveMQ, Apache CXF, Apache Ode, Apache Geronimo) • Previously involved in XFire, Mule • Anne Noseda • Bull Open Source BU • Worked with OW2 projects (Bonita and Orchestra) • Technical Director of the Open Source ESB project at the French Community of Belgium

  3. l BeJUG – Enterprise SOA’07 Conference l 09/10/2007 l First part : Apache Servicemix l Guillaume Nodet - IONA

  4. l The Agile ESB l Apache Servicemix Standards Based Flexible Reliable Breadth of connectivity The Agile ESB • Standards based • Flexible • Reliable • Breadth of Connectivity

  5. l Java Business Integration l Apache Servicemix u Standards Based Flexible Reliable Breadth of connectivity • Java Business Integration • Integration Systems • Plug-In Components • WSDL • Decoupling

  6. l Java Business Integration l Apache Servicemix u Standards Based Flexible Reliable Breadth of connectivity • JBI 1.0: architecture

  7. l Java Business Integration l Apache Servicemix u Standards Based Flexible Reliable Breadth of connectivity • JBI 1.0: WSDL messaging model • Abstract model • Concrete model • Service providers • Service Consumers

  8. l Java Business Integration l Apache Servicemix u Standards Based Flexible Reliable Breadth of connectivity • JBI 1.0: Normalized Message Router • Normalized Message • Runtime Endpoint Activation • Delivery Channel • Service Invocation using MEPs • Addressing Endpoints

  9. l Java Business Integration l Apache Servicemix u Standards Based Flexible Reliable Breadth of connectivity • JBI 1.0: Invocation example

  10. l Java Business Integration l Apache Servicemix u Standards Based Flexible Reliable Breadth of connectivity • JBI 1.0: Packaging • META-INF/jbi.xml • Components • Shared Libraries • Service Units • Service Assemblies

  11. l Reliable l Apache Servicemix Standards Based Flexible Reliable Breadth of connectivity • Reliable u • Flows • ST • SEDA • JMS • JCA • QoS attributes • Sync / Async • Persistent • Transactional • Clustered

  12. l Breadth of Connectivity l Apache Servicemix Standards Based Flexible Reliable Breadth of connectivity • Breadth of Connectivity u • Binding Components • http (http/soap), jms (jms/soap) • file, ftp, xmpp • Email, RSS, Jabber… • Service Engines • Bean, EIP, Camel, JAX-WS, Drools, Quartz, Saxon, Script, WS-Notification • Third Party Components • ODE, CICS, Corba

  13. l Roadmap l Apache Servicemix Standards Based Flexible Reliable Breadth of connectivity • Roadmap • ServiceMix 3.1.2 released in December • ServiceMix 3.2 in October • Work has began on ServiceMix 4.0 • Simplified internal API • Based on OSGi • Built on top of Apache Camel

  14. l ServiceMix 4.0: routing DSL l Apache Servicemix Standards Based Flexible Reliable Breadth of connectivity • ServiceMix 4.0:routing DSL from(“http://localhost:8080/requests/”). tryBlock(). to(“activemq:queue:requests”). setOutBody(constant(“<ack/>”)). handle(Throwable.class). setFaultBody(constant(“<nack/>”)); from((“activemq:queue:requests?transacted=true”). process(requestTransformer). to(“http://host:8080/Request”). filter(xpath(“//nack”)). process(nackTransformer). to(“jdbc:store”); from(“http://localhost:8080/responses/”). tryBlock(). to(“activemq:queue:responses”). setOutBody(constant(“<ack/>”)). handle(Throwable.class). setFaultBody(constant(“<nack/>”)); from(“activemq:queue:responses?transacted=true”). process(responseTransformer). to(“jdbc:store”); from(“http://localhost:8080/pull/”). to(“jdbc:load”); from(“http://localhost:8080/requests/”). tryBlock(). to(“activemq:queue:requests”). setOutBody(constant(“<ack/>”)). handle(Throwable.class). setFaultBody(constant(“<nack/>”));

  15. l BeJUG – Enterprise SOA’07 Conference l 09/10/2007 l Second part : Belgian Success Story l Anne Noseda - BULL

  16. l Context of the project – Actors l Belgian Success Story Context Architecture Development Administration Stress Tests • Belgium’s French Community • culture • education • research and training • health (preventive) • youth • sports • ETNIC • Information Technology agency of the Belgium’s French Community • founded in 2002 • 130 IT specialists • budget of  € 24 million u

  17. l Context of the project – Goals l Belgian Success Story Context Architecture Development Administration Stress Tests • Goals • Improve communication between Belgium’s French Community and other actors • Implement SOA • Use Case : pupils registration • Before : various communication ways (paper documents, mails, excel sheets, …) u

  18. l Context of the project – Difficulties l Belgian Success Story Context Architecture Development Administration Stress Tests Difficulties : • Different actors  coordination • 3,500 schools • PO • Belgium’s French Community • … • Different systems  interoperability • 8,000 local applications • Delphi • .NET • Java • Access • … • Enterprise internal flows • Cobol • FTP • Web Services • … u

  19. l Context of the project – Needs l Belgian Success Story Context Architecture Development Administration Stress Tests • Needs • Loose coupling, transport of messages, interoperability  ESB • Security (authentication & authorisation) • Synchronous & asynchronous mode • Good performance (20 transactions / second) • Robustness • Overall management of errors • Development tools • Administration, monitoring and audit tools • Technical obligations • ESB JBI standard • BPEL engine • WS-Security & X509 Certificate Token • WS-Addressing u

  20. l Context of the project – Timeline l Belgian Success Story Context Architecture Development Administration Stress Tests • Project Timeline • 3 steps u 2007 2006 time 01/09 01/10 01/07 01/01 Tools Development of the solution POC + regular synchronisation points & testing with all the actors  Evolution of the architecture • Proof Of Concept • performance • stability, robustness • functionalities

  21. l Architecture l Belgian Success Story Context Architecture Development Administration Stress Tests • General architecture of the solution • Servicemix Centralized Authentication Service : security • Servicemix Work : business • Broker JMS ActiveMQ • Servicemix tools (development & administration tools) u

  22. l Components l Belgian Success Story Context Architecture Development Administration Stress Tests • Components used • BC servicemix-http • ws-addressing • ws-security • specific security module • BC servicemix-jms • transaction • SE servicemix-eip • pipeline for MEP transformation • SE / BC servicemix-bean • specific needs  java development • JBI concerns • id generation, orchestration, schema validation, polling u

  23. l Components l Belgian Success Story Context Architecture Development Administration Stress Tests • Components used • SE / BC servicemix-jsr181 • specific needs  java development • no JBI concerns (XFire) • security enricher, response writer, fault handler • SE Apache ODE • BPEL engine • SMX-WORK orchestration • heart of loose coupling u

  24. l Asynchronous mode l Belgian Success Story Context Architecture Development Administration Stress Tests • Asynchronous communication • JMS between SMX-CAS and SMX-WORK • polling to retrieve responses u

  25. l Asynchronous mode - polling l Belgian Success Story Context Architecture Development Administration Stress Tests • Polling – correlation • <wsa:MessageID> • <wsa:RelatesTo> u

  26. l Synchronous mode l Belgian Success Story Context Architecture Development Administration Stress Tests • Synchronous communication • same SMX-CAS • HTTP between SMX-CAS and SMX-WORK • no Responses DB u

  27. l JBI process development l Belgian Success Story Context Architecture Development Administration Stress Tests • Cimero • Open Source • plug-in Eclipse • developed by BULL • drag and drop u

  28. l JBI process development l Belgian Success Story Context Architecture Development Administration Stress Tests • Cimero • Properties (icons, colours) • Generic SU  open • xbean.xml generation • ant task to rebuild SU & SA after xbean.xml modifications u

  29. l BPEL process development l Belgian Success Story Context Architecture Development Administration Stress Tests • Intalio Designer • Open Source • plug-in Eclipse • drag and drop, mapper, data editor u

  30. l Administration tools l Belgian Success Story Context Architecture Development Administration Stress Tests • Servicemix administration • Web application • Installation, deployment, list, start, stop of components, SA, SU u

  31. l Administration tools l Belgian Success Story Context Architecture Development Administration Stress Tests • ActiveMQ administration • Web application • Queues and topics administration (view, purge, …) • Sending JMS messages u

  32. l Monitoring tools l Belgian Success Story Context Architecture Development Administration Stress Tests • OpenNMS • Open Source • 3 parts • Java web application – console • daemons (collecting data, …) • DB PostgreSQL u

  33. l Audit tools l Belgian Success Story Context Architecture Development Administration Stress Tests • Spagic • Open Source • 4 parts • Console - Java web application • Listeners : collecting messages • Monitors : messages • Meta DB u

  34. l Audit tools l Belgian Success Story Context Architecture Development Administration Stress Tests • Spagic console • Process instances • Messages XML u

  35. l Stress Tests l Belgian Success Story Context Architecture Development Administration Stress Tests • Environment • Linux Redhat • Bi-processor quad core (8 CPU) • Servicemix 3.1.1 • Stress Tests • 1 to 1,000 threads • 100 to 100,000 messages • throughput SMX-CAS : 40 to 75 msg/s • throughput SMX-WORK : 20 msg/s • Stability & Reliability Tests • 2,300,000 messages in 30 hours u

  36. l Conclusion l Belgian Success Story • Solution : • 100% Open Source • Scalable • Apache Servicemix • able to cover all needs • high-performance • robust • Future at ETNIC • ESB and SOA will be a standard • solution will be extended to all communications between Belgium’s French Community and other actors

  37. l Questions ? Guillaume Nodet • Blog: http://gnodet.blogspot.com • Email: gnodet@gmail.com Anne Noseda • Email: noseda.anne@gmail.com

  38. l Project's partners

More Related