+ All Categories
Home > Documents > l Belgium French Community goes SOA Open Source with Servicemix and BULL

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

Date post: 02-Jan-2016
Category:
Upload: stephen-best
View: 20 times
Download: 1 times
Share this document with a friend
Description:
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 - PowerPoint PPT Presentation
38
© 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
Transcript

© 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/2007l BeJUG – Enterprise SOA’07 Conference

© 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

© BULL / IONA / 2007

3

l First part : Apache Servicemix

l Guillaume Nodet - IONA

l 09/10/2007l BeJUG – Enterprise SOA’07 Conference

© BULL / IONA / 2007

4

l Apache Servicemixl The Agile ESB

Standards Based

Flexible

Reliable

Breadth of connectivity

Standards based

Flexible

Reliable

Breadth of

Connectivity

The Agile ESB

© 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

© BULL / IONA / 2007

6

l Apache Servicemixl Java Business Integration

JBI 1.0: architecture Standards Based

Flexible

Reliable

Breadth of connectivity

© BULL / IONA / 2007

7

l Apache Servicemixl Java Business Integration

JBI 1.0: WSDL messaging model

Abstract model Concrete model

Service providers Service Consumers

Standards Based

Flexible

Reliable

Breadth of connectivity

© BULL / IONA / 2007

8

l Apache Servicemixl 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

© BULL / IONA / 2007

9

l Apache Servicemixl Java Business Integration

JBI 1.0: Invocation example

Standards Based

Flexible

Reliable

Breadth of connectivity

© BULL / IONA / 2007

10

l Apache Servicemixl 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

© 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

© 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

© BULL / IONA / 2007

13

l Apache Servicemixl 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

© BULL / IONA / 2007

14

l Apache Servicemixl 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(“<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/>”));

© BULL / IONA / 2007

15

l Second part : Belgian Success Story

l Anne Noseda - BULL

l 09/10/2007l BeJUG – Enterprise SOA’07 Conference

© BULL / IONA / 2007

16

l Belgian Success Storyl 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

© BULL / IONA / 2007

17

l Belgian Success Storyl 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

© BULL / IONA / 2007

18

l Belgian Success Storyl 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

© BULL / IONA / 2007

19

l Belgian Success Storyl 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

© BULL / IONA / 2007

20

l Belgian Success Storyl 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

© 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

© 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

© 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

© 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

© BULL / IONA / 2007

25

l Asynchronous mode - polling l Belgian Success Story

Polling – correlation● <wsa:MessageID>

● <wsa:RelatesTo>

Context

Architecture

Development

Administration

Stress Tests

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© BULL / IONA / 2007

34

l Audit tools l Belgian Success Story

Spagic console

● Process instances

● Messages XML

Context

Architecture

Development

Administration

Stress Tests

© 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

© 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

© BULL / IONA / 2007

37

l Questions ?

Guillaume Nodet• Blog: http://gnodet.blogspot.com• Email: [email protected] Noseda• Email: [email protected]

© BULL / IONA / 2007

38

l Project's partners


Recommended