Apache ServiceMix 4

Werbung
Integration durch JBI
und OSGi
Apache ServiceMix 4
Hello World!
Kristian Köhler
Diplom-Wirtschaftsinformatiker (BA)
Freiberuflicher Software Architekt, Berater und Trainer
Agenda
• Apache ServiceMix
– Java Business Integration (JBI)
– Architekturüberblick
– JBI Demo
• Apache ServiceMix Kernel (Apache Karaf)
– Shell, Deployment, Features
– Kernel Demo
Apache ServiceMix
• Open Source Enterprise Service Bus
– Apache Lizenz 2.0
– Unterstützt Java Business Integration (JBI)
• Aktuelle Version (April 2009)
– Version 3.3
– Version 4.0.0 (März 09)
• OSGi basiert
• http://servicemix.apache.org
Java Business Integration - JBI
• Durch JCP entwickelter Java Spezifikation
zum Erstellen von Integrationslösungen
– Java Specification Request (JSR) 208
– Momentan aktuell Version 1.0
• Plugin Architektur, deren Komponenten
über „Normalized Message Exchanges“
zusammen arbeiten
– Message Exchange Modell ist WSDL basiert
– Aber: JBI 2.0 nicht nur zwingend XML Daten
Quelle: http://servicemix.apache.org/5-jbi.data/jbi-architecture.png
ServiceMix JBI Komponenten
• Bean
• Camel
• CXF
• Drools
• EIP
• File
• FTP
• HTTP
• JMS
• Mail
• OSWorkflow
• Quartz
• Script
• SNMP
• Validation
•…
Liste unter
servicemix.apache.org
Neues in ServiceMix 4.0 (I)
• Umstellung auf OSGi Runtime
– Classloader Architektur
– Container Services, Registry
• Bessere Administration
– Shell Commands (remote SSH Support)
– JMX Unterstützung
• Verbesserte Provisioning Unterstützung
– Maven, Feature Hotdeployment...
Neues in ServiceMix 4.0 (II)
• Verbesserte Deployment Architektur
– Zusätzliche Deployment Möglichkeiten
• Web Archiven, Spring XML Config, Configs
• „Feature“ Definitionen
• „Exploded Archives“
• Verbesserte Spring Unterstützung
– „osgi/list“ Command zeigt z. B. Spring Status
• Container Level Locking
– Master/ Slave Deployment, Hot-Standby
ServiceMix/JBI DEMO
Apache Camel (Exkurs)
• OpenSource Integration Framework
– Apache Licence 2.0
• Umsetzung von Enterprise
Integration Patterns (EIP)
– Routing und Mediation Regeln
• Unterstützung mehrer „Sprachen“
– Java, Spring XML, Scala
Beispielkonfiguration
<bean id="myTransform"
class="org.apache.servicemix.examples.cxfcamel.MyTransform">
<property name="value">
<value><![CDATA[<soap:Envelope ...]]></value>
</property>
</bean>
<jaxws:endpoint id="helloWorld"
implementor="org.apache.servicemix.examples.cxfcamel.HelloWorldImpl"
address="nmr:HelloWorld" />
<camel-osgi:camelContext xmlns="http://activemq.apache.org/camel/schema/spring">
<!-- Route periodically sent events into the NMR -->
<route>
<from uri="timer://myTimer?fixedRate=true&period=5000..." />
<bean ref="myTransform" method="transform"/>
<to uri="nmr:HelloWorld"/>
<bean ref="myTransform" method="display" />
</route>
</camel-osgi:camelContext>
ServiceMix Deployer
Quelle: http://servicemix.apache.org/SMX4KNL/44-deployer.data/smx4-deployer.png
Apache ServiceMix 4 Architektur
Agenda
• Apache ServiceMix
– Java Business Integration (JBI)
– Architekturüberblick
– JBI Demo
• Apache ServiceMix Kernel (Apache Karaf)
– Shell, Deployment, Features
– Kernel Demo
ServiceMix Kernel/ Apache Karaf
• Wechsel von ServiceMix zu Apache Felix
– Apache Karaf
• Nicht auf Felix Runtime beschränkt
– Eventuell mehrere Distributionen
• Überlegungen zum Einsatz in
– Apache James
– Apache Directory
– Apache ActiveMQ
DEMO
ServiceMix Kernel Highlights
• Instanzverwaltung
• Features
• Shell
• Provisioning
• Deployment
• Logging
Vielen Dank für Ihre
Aufmerksamkeit
Kristian Köhler
http://www.kkoehler.com
Herunterladen