IONA Making Software Work Together

Reviews
Shared by: vivi07
Stats
views:
8
rating:
not rated
reviews:
0
posted:
11/5/2009
language:
ENGLISH
pages:
0
Apache ServiceMix 4.0 The Next Generation ESB Guillaume Nodet About the author Guillaume Nodet Open Source PMC Chair of the Apache ServiceMix project Involved in Apache Geronimo, Apache ActiveMQ, Apache ODE, Apache CXF, Jencks Previously involved in XFire, Mule IONA Principal Engineer Since LogicBlaze acquisition in April 2007 Schedule JBI 1.0 Overview Architecture Building blocks OSGi as a platform Spring for configuration Intuitive EIP router High performance message broker Easy to use Services Framework WSDL Messaging Model Normalized Message Router Lessons learned Apache ServiceMix 4.0 Goal Standard based Simplified API Around the container Eclipse tooling Long term JBI 2.0, SCA Demo JBI 1.0: what is JBI? Integration Systems Plug-in Components Normalized exchanges WSDL Decoupling JBI 1.0: architecture JBI 1.0: WSDL messaging model Abstract model Concrete model Service providers Service consumers JBI 1.0: WSDL messaging model Abstract model Message type Normal Faults Operation Qualified name Message Exchange Pattern Message types Interface Qualified name Operations Extended interfaces JBI 1.0: WSDL messaging model Concrete model Binding type Endpoint Endpoint name Binding type Service Qualified name Interface name Endpoints JBI 1.0: Normalized Message Router Consumers and providers Normalized Message Delivery Channel Run-time Endpoint Activation Service invocation and MEPs Message Exchange Endpoints JBI 1.0: Normalized Message Router Consumers and providers Normalized Message Delivery Channel Run-time Endpoint Consumers and Activation Service invocationWSDL description and MEPs Abstract model Message Exchange Endpoints Decoupled providers JBI 1.0: Normalized Message Router Consumers and providers Normalized Message Delivery Channel Run-time Endpoint Normalized Activation Service invocationXML payload and MEPs Properties Message Exchange Endpoints Attachments Message JBI 1.0: Normalized Message Router Consumers and providers Normalized Message Delivery Channel Run-time Endpoint Delivery Channel Activation Service invocationCommunication between a and MEPs component and the NMR Message Exchange Endpoints JBI 1.0: Normalized Message Router Consumers and providers Normalized Message Delivery Channel Run-time Endpoint Endpoint activation Activation Service invocationDeclaring Service endpoint and MEPs Providing metadata Message Exchange Endpoints JBI 1.0: Normalized Message Router Consumers and providers Normalized Message Delivery Channel Run-time Endpoint Service invocation Activation Service invocationIn-Only and MEPs Robust-In-Only Message Exchange Endpoints In-Out and MEP In-Optional-Out JBI 1.0: Normalized Message Router Consumers and providers Normalized Message Delivery Channel Run-time Endpoint Endpoints Activation Service invocationExternal and MEPs Internal Message Exchange Addressing Endpoints Implicit Explicit Dynamic JBI 1.0: Lessons learned Pros Normalized exchanges Normalized Message Router Cons Classloader architecture JBI packaging Writing components is complex Role of the component ? ServiceMix 4.0: Goal Enterprise OSGi Container Lightweight ESB and SOA container Ease of use ServiceMix 4.0: Standard based Short Term JBI 1.0 On the long term JBI 2.0 support SCA JAX-WS, WS-* IONA Support Involved in JBI 2.0 EG, OSGi Alliance (leading OSGi Enterprise Edition EG), SCA ServiceMix 4.0: Simplified API No more components Deployment / Classloader is delegated to OSGi Bundles as the packaging and extension mechanism Leverages OSGi architecture Leverage spring-osgi (optionally) Endpoints as first-class citizens Endpoint are activated when registered in the OSGi registry Channel is now on the Endpoint Endpoints use push delivery rather than pulling the channel Building blocks Avoid reinventing the wheel Framework: OSGi (Apache Felix) SOAP support: Apache CXF JMS broker: Apache ActiveMQ Routing Engine: Apache Camel Apache Camel Java DSL for EIP 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”); Apache Camel Java DSL for EIP from(“http://localhost:8080/requests/”). tryBlock(). to(“activemq:queue:requests”). setOutBody(constant(“”)). handle(Throwable.class). setFaultBody(constant(“”)); from((“activemq:queue:requests?transacted=true”). from(“http://localhost:8080/requests/”). process(requestTransformer). to(“http://host:8080/Request”). tryBlock(). filter(xpath(“//nack”)). process(nackTransformer). to(“activemq:queue:requests”). to(“jdbc:store”); setOutBody(constant(“”)). from(“http://localhost:8080/responses/”). tryBlock(). handle(Throwable.class). to(“activemq:queue:responses”). setOutBody(constant(“”)). setFaultBody(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”); Apache Camel Java DSL for EIP from(request). tryBlock(). to(requestStorage). setOutBody(constant(ack)). handle(Throwable.class). setFaultBody(constant(nack)); from(requestStorage). from(request). process(requestTransformer). to(requestProvider). tryBlock(). filter(isNack). process(nackTransformer). to(requestStorage). to(dbStorer); setOutBody(constant(ack)). from(responseConsumer). tryBlock(). handle(Throwable.class). to(responseStorage). setOutBody(constant(ack)). setFaultBody(constant(nack)); handle(Throwable.class). setFaultBody(constant(nack)); from(responseStorage). process(responseTransformer). to(dbStorer); from(response). to(dbLoader); Apache Camel Java DSL for EIP 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(“”)); java.lang.Throwable from(“activemq:queue:responses?transacted=true”). process(responseTransformer). to(“jdbc:store”); from(“http://localhost:8080/pull/”). to(“jdbc:load”); Tooling Cimero Tooling Cimero Contributed to Eclipse STP by Bull Currently under IP process at Eclipse Extend to provide support for Camel Roundtrip with Camel Roadmap ServiceMix 3.1.2 being release (first official release after graduation) ServiceMix 3.2 following (beginning of October) ServiceMix 4.0-m1 in october Milestones every month or so until 4.0 final (Q1 2008) Contributors are welcome! Questions ? Guillaume Nodet Blog: http://gnodet.blogspot.com Email: gnodet@gmail.com

Related docs
iona 2005biogwps
Views: 6  |  Downloads: 0
IONA and Open Source
Views: 91  |  Downloads: 0
the iona community
Views: 0  |  Downloads: 0
Iona_Community
Views: 1  |  Downloads: 0
Yankee_IONA_report
Views: 170  |  Downloads: 0
Iona College Department of Chemistry
Views: 8  |  Downloads: 1
Iona_Brown
Views: 0  |  Downloads: 0
Iona Book Form
Views: 0  |  Downloads: 0
IONA COLLEGE SUMMER DAY CAMP POLICY AGREEMENT
Views: 0  |  Downloads: 0
IONA College Operations Management MBA-540
Views: 0  |  Downloads: 0
Iona 2009 Press release v.2
Views: 0  |  Downloads: 0
premium docs
Other docs by vivi07
高考资源网
Views: 210  |  Downloads: 1
英语阅读理解(五年)
Views: 92  |  Downloads: 0
英语试题集锦
Views: 222  |  Downloads: 0
英語 - 蘆洲心蘆中情
Views: 208  |  Downloads: 1
美国万花筒-广播杂志
Views: 20  |  Downloads: 0
第Ⅰ卷
Views: 14  |  Downloads: 0
本资料来源于《七彩教育网》httpwww
Views: 21  |  Downloads: 0
同步测控优化训练_二_
Views: 17  |  Downloads: 0
人教版必修2单元过关试题
Views: 65  |  Downloads: 0