Download presentation
Presentation is loading. Please wait.
1
© BULL / IONA / 2007 1 l Belgium French Community goes SOA Open Source with Servicemix and BULL l Anne Noseda - BULL l Guillaume Nodet - IONA l 09/10/2007 l BeJUG – Enterprise SOA’07 Conference
2
© BULL / IONA / 2007 2 l Speakers 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 l 09/10/2007
3
© BULL / IONA / 2007 3 l First part : Apache Servicemix l Guillaume Nodet - IONA l 09/10/2007 l BeJUG – Enterprise SOA’07 Conference
4
© BULL / IONA / 2007 4 l Apache Servicemix l The Agile ESB Standards Based Flexible Reliable Breadth of connectivity Standards based Flexible Reliable Breadth of Connectivity The Agile ESB
5
© BULL / IONA / 2007 5 l Apache Servicemix l Java Business Integration Standards Based Flexible Reliable Breadth of connectivity Integration Systems Plug-In Components WSDL Decoupling Java Business Integration
6
© BULL / IONA / 2007 6 l Apache Servicemix l Java Business Integration JBI 1.0: architecture Standards Based Flexible Reliable Breadth of connectivity
7
© BULL / IONA / 2007 7 l Apache Servicemix l Java Business Integration JBI 1.0: WSDL messaging model Abstract model Concrete model Service providers Service Consumers Standards Based Flexible Reliable Breadth of connectivity
8
© BULL / IONA / 2007 8 l Apache Servicemix l Java Business Integration JBI 1.0: Normalized Message Router Normalized Message Runtime Endpoint Activation Delivery Channel Service Invocation using MEPs Addressing Endpoints Standards Based Flexible Reliable Breadth of connectivity
9
© BULL / IONA / 2007 9 l Apache Servicemix l Java Business Integration JBI 1.0: Invocation example Standards Based Flexible Reliable Breadth of connectivity
10
© BULL / IONA / 2007 10 l Apache Servicemix l Java Business Integration JBI 1.0: Packaging META-INF/jbi.xml Components Shared Libraries Service Units Service Assemblies Standards Based Flexible Reliable Breadth of connectivity
11
© BULL / IONA / 2007 11 l Apache Servicemix l Reliable Standards Based Flexible Reliable Breadth of connectivity QoS attributes ● Sync / Async ● Persistent ● Transactional ● Clustered Reliable Flows ● ST ● SEDA ● JMS ● JCA
12
© BULL / IONA / 2007 12 l Apache Servicemix l Breadth of Connectivity Standards Based Flexible Reliable Breadth of connectivity 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 Breadth of Connectivity
13
© BULL / IONA / 2007 13 l Apache Servicemix l Roadmap Standards Based Flexible Reliable Breadth of connectivity 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 Roadmap
14
© BULL / IONA / 2007 14 l Apache Servicemix l ServiceMix 4.0: routing DSL Standards Based Flexible Reliable Breadth of connectivity ServiceMix 4.0: routing DSL from(“http://localhost:8080/requests/”). tryBlock(). to(“activemq:queue:requests”). setOutBody(constant(“ ”)). handle(Throwable.class). setFaultBody(constant(“ ”)); 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(“ ”)). handle(Throwable.class). setFaultBody(constant(“ ”)); 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(“ ”)). handle(Throwable.class). setFaultBody(constant(“ ”));
15
© BULL / IONA / 2007 15 l Second part : Belgian Success Story l Anne Noseda - BULL l 09/10/2007 l BeJUG – Enterprise SOA’07 Conference
16
© BULL / IONA / 2007 16 l Belgian Success Story l Context of the project – Actors 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 Context Architecture Development Administration Stress Tests
17
© BULL / IONA / 2007 17 l Belgian Success Story l Context of the project – Goals 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, …) Context Architecture Development Administration Stress Tests
18
© BULL / IONA / 2007 18 l Belgian Success Story l Context of the project – Difficulties 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 ~ … Context Architecture Development Administration Stress Tests
19
© BULL / IONA / 2007 19 l Belgian Success Story l Context of the project – Needs 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 Context Architecture Development Administration Stress Tests
20
© BULL / IONA / 2007 20 l Belgian Success Story l Context of the project – Timeline time 2006 2007 01/10 POC Development of the solution 01/01 01/07 01/09 Tools Project Timeline ● 3 steps Proof Of Concept ● performance ● stability, robustness ● functionalities Context Architecture Development Administration Stress Tests + regular synchronisation points & testing with all the actors Evolution of the architecture
21
© BULL / IONA / 2007 21 l Architecture l Belgian Success Story General architecture of the solution ● Servicemix Centralized Authentication Service : security ● Servicemix Work : business ● Broker JMS ActiveMQ ● Servicemix tools (development & administration tools) Context Architecture Development Administration Stress Tests
22
© BULL / IONA / 2007 22 l Components l Belgian Success Story 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 Context Architecture Development Administration Stress Tests
23
© BULL / IONA / 2007 23 l Components l Belgian Success Story 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 Context Architecture Development Administration Stress Tests
24
© BULL / IONA / 2007 24 l Asynchronous mode l Belgian Success Story Asynchronous communication ● JMS between SMX-CAS and SMX-WORK ● polling to retrieve responses Context Architecture Development Administration Stress Tests
25
© BULL / IONA / 2007 25 l Asynchronous mode - polling l Belgian Success Story Polling – correlation ● Context Architecture Development Administration Stress Tests
26
© BULL / IONA / 2007 26 l Synchronous mode l Belgian Success Story Synchronous communication ● same SMX-CAS ● HTTP between SMX-CAS and SMX-WORK ● no Responses DB Context Architecture Development Administration Stress Tests
27
© BULL / IONA / 2007 27 l JBI process development l Belgian Success Story Cimero ● Open Source ● plug-in Eclipse ● developed by BULL ● drag and drop Context Architecture Development Administration Stress Tests
28
© BULL / IONA / 2007 28 l JBI process development l Belgian Success Story Cimero ● Properties (icons, colours) ● Generic SU open ● xbean.xml generation ● ant task to rebuild SU & SA after xbean.xml modifications Context Architecture Development Administration Stress Tests
29
© BULL / IONA / 2007 29 l BPEL process development l Belgian Success Story Intalio Designer ● Open Source ● plug-in Eclipse ● drag and drop, mapper, data editor Context Architecture Development Administration Stress Tests
30
© BULL / IONA / 2007 30 l Administration tools l Belgian Success Story Servicemix administration ● Web application ● Installation, deployment, list, start, stop of components, SA, SU Context Architecture Development Administration Stress Tests
31
© BULL / IONA / 2007 31 l Administration tools l Belgian Success Story ActiveMQ administration ● Web application ● Queues and topics administration (view, purge, …) ● Sending JMS messages Context Architecture Development Administration Stress Tests
32
© BULL / IONA / 2007 32 l Monitoring tools l Belgian Success Story OpenNMS ● Open Source ● 3 parts ~ Java web application – console ~ daemons (collecting data, …) ~ DB PostgreSQL Context Architecture Development Administration Stress Tests
33
© BULL / IONA / 2007 33 l Audit tools l Belgian Success Story Spagic ● Open Source ● 4 parts ~ Console - Java web application ~ Listeners : collecting messages ~ Monitors : messages ~ Meta DB Context Architecture Development Administration Stress Tests
34
© BULL / IONA / 2007 34 l Audit tools l Belgian Success Story Spagic console ● Process instances ● Messages XML Context Architecture Development Administration Stress Tests
35
© BULL / IONA / 2007 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
36
© BULL / IONA / 2007 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
© BULL / IONA / 2007 37 l Questions ? Guillaume Nodet Blog: http://gnodet.blogspot.comhttp://gnodet.blogspot.com Email: gnodet@gmail.comgnodet@gmail.com Anne Noseda Email: noseda.anne@gmail.comnoseda.anne@gmail.com
38
© BULL / IONA / 2007 38 l Project's partners
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.