Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 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.

Similar presentations


Presentation on theme: "© 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."— Presentation transcript:

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


Download ppt "© 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."

Similar presentations


Ads by Google