ServiceMix future

Post on 22-Feb-2016

70 views 0 download

Tags:

description

ServiceMix future. Jean-Baptiste Onofré, Talend jbonofre@apache.org, 2011-11-10. Summary. SMX versions Current state: architecture and NMR features Short term: SMX 4.4 Middle term: SMX 5. My Background. Jean-Baptiste Onofré Software Architect at Talend ASF member - PowerPoint PPT Presentation

Transcript of ServiceMix future

ServiceMix future

Jean-Baptiste Onofré, Talendjbonofre@apache.org, 2011-11-10

Summary SMX versions Current state: architecture and NMR

features Short term: SMX 4.4 Middle term: SMX 5

My Background Jean-Baptiste Onofré Software Architect at Talend ASF member PMC for Karaf and ServiceMix Committer for ACE, Camel, Kalumet

ServiceMix ? Apache ESB Reliable messaging Routing/messaging/EIP WS/REST WS-BPEL Production ready feature (provisioning,

cluster, etc)

SMX 3: old stable

Spring

ActiveMQ

ServiceMix JBI ComponentsCamel CXF

Very popular in production Powered by Spring, and JBI oriented

SMX 4: current stable

Karaf

ActiveMQ

OSGi/Karaf powered NMR layer JBI backward compatible

Camel CXF

NMR JBI

ServiceMix JBI ComponentsCamel CXF

Pro/Cons

ServiceMix 3 ServoceMix 4

+ Great adoption + Very stable

+ Documentation - Poor documentation/website

- Only JBI and Spring +OSGi/Karaf, highly extendable

- Production tooling/features + Provisioning, failover, enterprise feature

Short term SMX JBI Components 2011.02:

dependencies upgrade (ActiveMQ 5.5.0, Camel 2.8.3, CXF 2.5.0)

SMX Specs 1.9.0 SMX Utils 1.5.0 SMX 3.4: last SMX3 release, just

dependencies upgrade

Short term: SMX 4.4

Dependencies upgrade: Karaf 2.2.4, ActiveMQ 5.5.0, Camel 2.8.3, CXF 2.4.4

Documentation/website Improvement on build and remove the

JBI layer by default Focus on the NMR 1.5.0 features

Current NMR status

NMR is a feature: core bus of SMX4 NMR is highly plug and play JBI is just a subset of the NMR

NMR security Users authentication Endpoint access authorization Exposed as OSGi services:

org.apache.servicemix.nmr.api.security.AuthenticationService org.apache.servicemix.nmr.api.security.AuthorizationService

Configured as service properties: endpoint, operation, type, roles, rank

NMR JNDI

Provide a JNDI context factory Expose OSGi service as JNDI using

osgi:services/<interfaces>[/filter]InitialContext context = new InitialContext();ExampleService = (ExampleService)

context.lookup("osgi:services/com.example.ExampleService");

NMR Interceptors

Intercept messages between NMR endpoints using:– NMR events (global)– Wires (specific from/to)

NMR Events API receiving notifications EndpointListenerpublic interface EndpointListener { void endpointRegistered(InternalEndpoint endpoint); void endpointUnregistered(InternalEndpoint endpoint);}

ExchangeListenerpublic interface ExchangeListener { void exchangeSent(Exchange exchange); void exchangeDelivered(Exchange exchange); void exchangeFailed(Exchange exchange);}

Registration as OSGi services

NMR Audit File or JBDC auditor Store all exchanges including mep,

status, role, properties, in (content and properties), out (content and properties), fault (content and properties)

Shell commands to manipulate the audit log:

audit/find “status: error”

SMX5, Karaf Karaf 3 with profiles, OSGi subsystem, etcKaraf Cellar cluster support (especially around DOSGi) Karaf Cave as default repository/registryProvide a complete pro console (leveraging the new Karaf WebConsole sub-project)

SMX5, from NMR to Camel

• Promote Camel as the premium solution for routing (replacement of the NMR)• Refactor most interesting NMR features to be Camel oriented (audit, events, tracing, etc)• Leverage Camel new features: support of async transactions, unified statistics, improvement of the ThreadPoolProfile for thread management, etc

SMX5, CXF

Leverage new CXF features:• Better OSGi/Karaf integration (new shell commands, etc), including config admin to configure CXF workqueues• Better management capabilities• Better performance especially around WS-Security• Security: STS, WS-Trust support, JAX-RS security (OAuth 2, SAML, etc)• Update to WS-RM 1.1• Update to use CXF WS-Notification

Sources Links– servicemix.apache.org– karaf.apache.org– camel.apache.org– cxf.apache.org– activemq.apache.org

Contact Jean-Baptiste (JB) Onofré

• jbonofre@apache.org• http://blog.nanthrax.net

Q&A