bcf92c245cb26597278928a28a8db75d.ppt
- Количество слайдов: 38
l Be. JUG – Enterprise SOA’ 07 Conference l 09/10/2007 © BULL / IONA / 2007 l Belgium French Community goes SOA Open Source with Servicemix and BULL l Guillaume Nodet - IONA l Anne Noseda - BULL 1
l Speakers l 09/10/2007 © BULL / IONA / 2007 r Guillaume Nodet IONA Principal Engineer ● PMC Chair of the Apache Service. Mix project ● Involved in several Open Source projects (Apache Active. MQ, Apache CXF, Apache Ode, Apache Geronimo) ● Previously involved in XFire, Mule ● r Anne Noseda Bull Open Source BU ● Worked with OW 2 projects (Bonita and Orchestra) ● Technical Director of the Open Source ESB project at the French Community of Belgium ● 2
l Be. JUG – Enterprise SOA’ 07 Conference l 09/10/2007 © BULL / IONA / 2007 l First part : Apache Servicemix l Guillaume Nodet - IONA 3
l The Agile ESB l Apache Servicemix © BULL / IONA / 2007 Standards Based The Agile ESB Flexible Reliable Breadth of connectivity r Standards based r Flexible r Reliable r Breadth of Connectivity 4
l Java Business Integration l Apache Servicemix © BULL / IONA / 2007 u Standards Based Flexible Reliable Breadth of connectivity Java Business Integration Systems r Plug-In Components r WSDL r Decoupling r 5
l Java Business Integration l Apache Servicemix © BULL / IONA / 2007 u Standards Based Flexible Reliable JBI 1. 0: architecture Breadth of connectivity 6
l Java Business Integration l Apache Servicemix © BULL / IONA / 2007 u Standards Based JBI 1. 0: WSDL messaging model Flexible Reliable Breadth of connectivity Abstract model r Concrete model r Service providers r Service Consumers r 7
l Java Business Integration l Apache Servicemix © BULL / IONA / 2007 u Standards Based JBI 1. 0: Normalized Message Router Flexible Reliable Breadth of connectivity r Normalized Message r Runtime Endpoint Activation r Delivery Channel r Service Invocation using MEPs r Addressing Endpoints 8
l Java Business Integration l Apache Servicemix © BULL / IONA / 2007 u Standards Based Flexible Reliable Breadth of connectivity JBI 1. 0: Invocation example 9
l Java Business Integration l Apache Servicemix © BULL / IONA / 2007 u Standards Based JBI 1. 0: Packaging Flexible Reliable Breadth of connectivity r META-INF/jbi. xml r Components r Shared Libraries r Service Units r Service Assemblies 10
l Reliable l Apache Servicemix © BULL / IONA / 2007 Standards Based Reliable Flexible u Reliable Breadth of connectivity r Qo. S attributes ● ● Sync / Async Persistent Transactional Clustered 11 r Flows ● ● ST SEDA JMS JCA
l Breadth of Connectivity l Apache Servicemix © BULL / IONA / 2007 Standards Based Flexible Reliable u Breadth of connectivity Breadth of Connectivity r Binding Components ● ● ● r Service Engines ● r http (http/soap), jms (jms/soap) file, ftp, xmpp Email, RSS, Jabber… Bean, EIP, Camel, JAX-WS, Drools, Quartz, Saxon, Script, WSNotification Third Party Components ● ODE, CICS, Corba 12
l Roadmap l Apache Servicemix © BULL / IONA / 2007 Standards Based Roadmap Flexible Reliable Breadth of connectivity r Service. Mix 3. 1. 2 released in December r Service. Mix 3. 2 in October r Work has began on Service. Mix 4. 0 ● Simplified internal API ● Based on OSGi ● Built on top of Apache Camel 13
l Service. Mix 4. 0: routing DSL l Apache Servicemix © BULL / IONA / 2007 Standards Based Flexible Reliable Breadth of connectivity Service. Mix 4. 0: routing DSL from(“http: //localhost: 8080/requests/”). try. Block(). to(“activemq: queue: requests”). set. Out. Body(constant(“<ack/>”)). handle(Throwable. class). set. Fault. Body(constant(“<nack/>”)); from(“http: //localhost: 8080/requests/”). from((“activemq: queue: requests? transacted=true”). try. Block(). process(request. Transformer). to(“http: //host: 8080/Request”). to(“activemq: queue: requests”). filter(xpath(“//nack”)). process(nack. Transformer). set. Out. Body(constant(“<ack/>”)). to(“jdbc: store”); handle(Throwable. class). from(“http: //localhost: 8080/responses/”). try. Block(). to(“activemq: queue: responses”). set. Fault. Body(constant(“<nack/>”)); set. Out. Body(constant(“<ack/>”)). handle(Throwable. class). set. Fault. Body(constant(“<nack/>”)); from(“activemq: queue: responses? transacted=true”). process(response. Transformer). to(“jdbc: store”); from(“http: //localhost: 8080/pull/”). to(“jdbc: load”); 14
l Be. JUG – Enterprise SOA’ 07 Conference l 09/10/2007 © BULL / IONA / 2007 l Second part : Belgian Success Story l Anne Noseda - BULL 15
l Context of the project – Actors l Belgian Success Story © BULL / IONA / 2007 u Context Architecture Development Administration Stress Tests r Belgium’s French Community ● culture ● education ● research and training ● health (preventive) ● youth ● sports r ETNIC ● Information Technology agency of the Belgium’s French Community ● founded in 2002 ● 130 IT specialists ● budget of € 24 million 16
l Context of the project – Goals l Belgian Success Story © BULL / IONA / 2007 u Context Architecture r Goals Development ● Improve communication between Belgium’s French Community Administration and other actors Stress Tests ● Implement SOA r Use Case : pupils registration r Before : various communication ways (paper documents, mails, excel sheets, …) 17
l Context of the project – Difficulties l Belgian Success Story © BULL / IONA / 2007 u Context Architecture Development Administration Stress Tests Difficulties : r Different actors coordination ● 3, 500 schools ● PO ● Belgium’s French Community ● … r Different systems interoperability ● 8, 000 local applications ~ Delphi ~ . NET ~ Java ~ Access ~ … ● Enterprise internal flows ~ Cobol ~ FTP ~ Web Services ~ … 18
l Context of the project – Needs l Belgian Success Story © BULL / IONA / 2007 u Context Architecture Development Administration Stress Tests r 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 r Technical obligations ● ESB JBI standard ● BPEL engine ● WS-Security & X 509 Certificate Token ● WS-Addressing 19
l Context of the project – Timeline l Belgian Success Story © BULL / IONA / 2007 u Context r Project Timeline Architecture ● 3 steps Development Administration Stress Tests 2007 2006 01/10 01/07 01/01 POC Development of the solution 01/09 Tools + regular synchronisation points & testing with all the actors r Proof Of Concept ● performance Evolution of the architecture ● stability, robustness ● functionalities 20 time
l Architecture Context u Architecture Development l Belgian Success Story r General architecture of the solution ● Servicemix Centralized Authentication Service : security Administration ● Servicemix Work : business Stress Tests ● Broker JMS Active. MQ ● Servicemix tools (development & administration tools) 21 © BULL / IONA / 2007
l Components l Belgian Success Story © BULL / IONA / 2007 Context u Architecture Development Administration Stress Tests r 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 22
l Components l Belgian Success Story © BULL / IONA / 2007 Context u Architecture Development Administration Stress Tests r Components used ● SE / BC servicemix-jsr 181 ~ 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 23
l Asynchronous mode Context u Architecture Development Administration l Belgian Success Story r Asynchronous communication ● JMS between SMX-CAS and SMX-WORK ● polling to retrieve responses Stress Tests 24 © BULL / IONA / 2007
l Asynchronous mode - polling Context u Architecture Development Administration l Belgian Success Story © BULL / IONA / 2007 r Polling – correlation ● <wsa: Message. ID> ● <wsa: Relates. To> Stress Tests 25
l Synchronous mode Context u Architecture Development l Belgian Success Story r Synchronous communication ● same SMX-CAS Administration ● HTTP between SMX-CAS and SMX-WORK Stress Tests ● no Responses DB 26 © BULL / IONA / 2007
l JBI process development Context Architecture u Development l Belgian Success Story © BULL / IONA / 2007 r Cimero ● Open Source Administration ● plug-in Eclipse Stress Tests ● developed by BULL ● drag and drop 27
l JBI process development Context Architecture u Development l Belgian Success Story © BULL / IONA / 2007 r Cimero ● Properties (icons, colours) Administration ● Generic SU open Stress Tests ● xbean. xml generation ● ant task to rebuild SU & SA after xbean. xml modifications 28
l BPEL process development l Belgian Success Story © BULL / IONA / 2007 Context Architecture u Development Administration Stress Tests r Intalio Designer ● Open Source ● plug-in Eclipse ● drag and drop, mapper, data editor 29
l Administration tools l Belgian Success Story © BULL / IONA / 2007 Context Architecture Development u Administration Stress Tests r Servicemix administration ● Web application ● Installation, deployment, list, start, stop of components, SA, SU 30
l Administration tools l Belgian Success Story © BULL / IONA / 2007 Context Architecture Development u Administration Stress Tests r Active. MQ administration ● Web application ● Queues and topics administration (view, purge, …) ● Sending JMS messages 31
l Monitoring tools l Belgian Success Story © BULL / IONA / 2007 Context Architecture Development u Administration Stress Tests r Open. NMS ● Open Source ● 3 parts ~ Java web application – console ~ daemons (collecting data, …) ~ DB Postgre. SQL 32
l Audit tools l Belgian Success Story © BULL / IONA / 2007 Context Architecture Development u Administration Stress Tests r Spagic ● Open Source ● 4 parts ~ Console - Java web application ~ Listeners : collecting messages ~ Monitors : messages ~ Meta DB 33
l Audit tools l Belgian Success Story © BULL / IONA / 2007 Context Architecture Development u Administration Stress Tests r Spagic console ● Process instances ● Messages XML 34
l Stress Tests l Belgian Success Story © BULL / IONA / 2007 Context Architecture Development r Environment ● Linux Redhat Administration u Stress Tests ● Bi-processor quad core (8 CPU) ● Servicemix 3. 1. 1 r 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 r Stability & Reliability Tests ● 2, 300, 000 messages in 30 hours 35
l Conclusion l Belgian Success Story © BULL / IONA / 2007 r Solution : ● 100% Open Source ● Scalable r Apache Servicemix ● able to cover all needs ● high-performance ● robust r 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 36
l Questions ? © BULL / IONA / 2007 Guillaume Nodet • Blog: http: //gnodet. blogspot. com • Email: gnodet@gmail. com Anne Noseda • Email: noseda. anne@gmail. com 37
l Project's partners © BULL / IONA / 2007 38
bcf92c245cb26597278928a28a8db75d.ppt