Devclub Servicemix Jevgeni Holodkov 23 04 09

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Devclub Servicemix Jevgeni Holodkov 23 04 09 - Presentation Transcript

    1. Servicemix 3.х Сервисная шина ESB Евгений Холодков devclub.eu 23.04.09
    2. Servicemix глазами клиентов
    3. Servicemix глазами архитектора
    4. Java Business Integration (JBI)
    5. Servicemix глазами разработчика • XML • Java <beans xmlns:jms=\"http://servicemix.apache.org/jms/1.0\" public class InsuranceJMSMarshaler extends DefaultConsumerMarshaler { xmlns:esb=\"http://esbinaction.com/insurance\"> <classpath> protected void populateMessage(Message message, <location>.</location> NormalizedMessage normalizedMessage) throws Exception { ...... if (message instanceof ObjectMessage) { <location>wstx-asl.jar</location> ObjectMessage objectMessage = (ObjectMessage) message; <location>xpp3.jar</location> Object payload = objectMessage.getObject(); </classpath> Source source = JiBXUtil.marshalDocument(payload, \"UTF-8\"); <jms:consumer service=\"esb:insuranceReceiver\" normalizedMessage.setContent(source); endpoint=\"jmsEndpoint“ targetService=\"esb:insuranceDSLRouter\" } else { destinationName=\"insurance.in“ throw new UnsupportedOperationException(\"JMS message is not a connectionFactory=\"#connectionFactory\" ObjectMessage\"); marshaler=\"#InsuranceJMSMarshaler\"/> } <bean id=\"InsuranceJMSMarshaler\" } class=\"esb.dzone.servicemix.util.InsuranceJMSMarshaler\"/> } <bean id=\"connectionFactory\" class=\"org.apache.activemq.ActiveMQConnectionFactory\"> <property name=\"brokerURL\" value=\"tcp://localhost:61616\" /> </bean> </beans>
    6. Mvn генерирует/управляет кодом mvn archetype:create -DarchetypeGroupId=org.apache.servicemix.tooling -DarchetypeArtifactId=servicemix-http-provider-service-unit -DgroupId=org.apache.servicemix.samples -DartifactId=servicemix-example
    7. Бизнес-процесс (1/2)
    8. Бизнес-процесс (2/2)
    9. Процесс в servicemix-e
    10. Еще один пример
    11. Servicemix-http компонент Consumer Provider <http:endpoint <http:endpoint service=\"test:MyProviderService\" service=\"test:MyConsumerService\" endpoint=\"myProvider\" targetService=\"test:MyServiceRoutin role=\"provider\" gSlip\" locationURI=\"http://localhost:8080/ endpoint=\"myConsumer“ MyService\" role=\"consumer\" soapVersion=\"1.1\" /> locationURI=\"http://localhost:8192/S ervice/\" defaultMep=\"http://www.w3.org/20 04/08/wsdl/in-out\" soapVersion=\"1.1\" wsdlResource=\"classpath:MyService. wsdl\" />
    12. Servicemix-saxon компонент <beans xmlns:saxon=\"http://servicemix.apache.org/saxon/1.0\" xmlns:test=\"http://www.mycompany.com/1.0\"> <saxon:xslt service=\"test:myTransform\" endpoint=\"myEndpoint\" resource=\"classpath:transform.xsl\" /> </beans>
    13. Servicemix-EIP компонент • Content-Based Router • Message Filter • Pipeline • Static Recipient List • Static Routing Slip • Wire Tap • XPath Splitter • Aggregator • Content Enricher • Resequencer • AsyncBridge
    14. Паттерн content-based routing <eip:content-based-router service=\"test:router\" endpoint=\"endpoint\"> <eip:rules> <eip:routing-rule> <eip:predicate> <eip:xpath-predicate xpath=\"count(/test:echo) = 1\" namespaceContext=\"#nsContext\" /> </eip:predicate> <eip:target> <eip:exchange-target uri=\"endpoint:http://test/pipeline/endpoint\" /> </eip:target> </eip:routing-rule> <eip:routing-rule> <!-- there is no predicate, so this is the default destination --> <eip:target> <eip:exchange-target service=\"test:recipients\" /> </eip:target> </eip:routing-rule> </eip:rules> </eip:content-based-router>
    15. Паттерн routing-slip <eip:static-routing-slip service=\"test:routingSlip\" endpoint=\"endpoint\"> <eip:targets> <eip:exchange-target service=\"test:transformRequest\" /> <eip:exchange-target service=\"test:myProvider\" /> <eip:exchange-target service=\"test: transformResponse\" /> </eip:targets> </eip:static-routing-slip>
    16. Servicemix-camel компонент <!-- the JBI container --> <sm:container id=\"jbiContainer\" embedded=\"true\"> <sm:components> <ref id=\"jbi\" /> </sm:components> <sm:endpoints> <bean:endpoint service=\"myproject:tracker\" endpoint=\"tracker\" bean=\"#tracker\" /> </sm:endpoints> </sm:container> <bean id=\"jbi\" class=\"org.apache.servicemix.camel.CamelJbiComponent\" /> <camelContext id=\"camelContext\" useJmx=\"true\" xmlns=\"http://activemq.apache.org/camel/schema/spring\"> <package>my.project.routeBuilders</package> </camelContext>
    17. Интеграционное тестирование • Wire Tap • SoapUI
    18. Развертывание • SA = jar файл • Standalone vs web application
    19. Итог • Активно развивающийся ESB с открытым кодом • Использует модульную JBI архитектуру • Активно использует Maven 2 • Интегрирован со Spring-ом • Содержит много готовых компонентов

    + helggeisthelggeist, 8 months ago

    custom

    265 views, 0 favs, 1 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 265
      • 241 on SlideShare
      • 24 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 3
    Most viewed embeds
    • 24 views on http://www.devclub.eu

    more

    All embeds
    • 24 views on http://www.devclub.eu

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Tags