Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
JBoss SOA Platform
Dr. Szántó Iván
ULX Open Source Consulting & Distribution2011. május 9.
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
Áttenkintés
● Nyílt forráskódú Enterprise szoftverek ● A JBoss SOA Platform alapjai● A JBoss SOA Platform további szolgáltatásai● Elérhetőség
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
Fedora és Red Hat Enterprise Linux
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
Enterprise életciklus
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
Use case 1: üzenettranszformáció
JBoss ESB
JBoss PortalJBoss Portal JBoss Portal
Application 1
Application 2
Application 4
Application 3
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
Use case 2: adatintegráció
JBoss SOA-PESB
JBoss SOA-PESB
REST
WS
JDBC JDBC
JBossREM
JBossRules Engine
JBossRules Engine
RulesManagement
RulesManagement
WF editor
Rule LifecycleManagement
JBoss PortalJBoss Portal
InternetInternet
DB1DB1 DB2DB2Customer DB
Contract DB
Workflow EngineBPMN2
Workflow EngineBPMN2
WS-HTWS-HT
WF ConsoleServer
WF ConsoleServer
JBoss Enterprise SOA PlatformUser
felület 1.User
felület 2.
WFConsole
WFEditor
HTConsole
Sys.mgmt
Felhasználói portletekAdmin / Mgmt.
portletek
JDBC
DB nDB n...
Egyéb adatforrások, háttérrendszerek: pl. File,
Message Queue, Email, HTTP
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
L'aventure commence ...
SourceSystem
ASCII
File SystemFile System
ASCII
File SystemFile System
ASCII FTPFTP
FTPGET
MSG MQMQ
JMSListener
JDBC/ODBCSelectUpdate
SQLSQL
DataData SocketSocket
TCP/IPSocket
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
ReceivingSystem N
ASCII
File SystemFile System
ReceivingSystem N
ASCII
FTPFTP
ReceivingSystem N
JMSJMS
It's a chopper, baby!
ASCII
File SystemFile System
SourceSystem
ReceivingSystem 1
ReceivingSystem 2
ASCII
File SystemFile System
ReceivingSystem 3
XML
JMSJMS
XML
SOAPSOAP
JBoss ESB
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
JBoss SOA Platform alapok
● Enterprise Service Bus (chopper)● Service = action pipeline for messages● Message = Envelope + payload● Listeners and Gateways
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
Donde esta ...
ESB service deployment descriptor: jboss-esb.xml
<?xml version = "1.0" encoding = "UTF-8"?><jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" invmScope="GLOBAL">
<services> <service category="Retail" name="ShoeStore" description="Acme Shoe Store Service"> <actions> <action name="println" class="org.jboss.soa.esb.actions.SystemPrintln" /> </actions> </service> </services></jbossesb>
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
ESB hívás
ServiceInvoker invoker = new ServiceInvoker(“Retail”, “ShoeStore”);Message message = MessageFactory.getInstance().getMessage();
message.getBody().add(“Hi there!”);invoker.deliverAsync(message);
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
¿Donde está la zapatería? <providers> <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"> <jms-bus busid="shoeStoreJMSGateway"> <jms-message-filter dest-type="QUEUE" dest-name="queue/shoeStoreJMSGateway"/> </jms-bus> </jms-provider> </providers> <services> <service category="Retail" name="ShoeStore" invmScope="GLOBAL" description="Acme Shoe Store Service"> <listeners> <jms-listener name="shoeStoreJMSGateway" busidref="shoeStoreJMSGateway" is-gateway="true"/> </listeners> <actions> <action name="println" class="org.jboss.soa.esb.actions.SystemPrintln" /> </actions> </service> </services>
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
JBoss Developer Studio
DEMO
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
Action Pipeline (in a Service)
FTP Action Action Action ActionBusiness
LogicComponent
TransformationCSV to XML
TransformationXML to POJO
RoutingSplitter
orBPM
LoggingAuditTrail
My_Registered_Service
Business Logic:• POJO• EJB • WS• Rules• JCA with Adapters• Anything with Java API
Actions are reusable mediation components that can be chained together to form the capabilities of a registered service. Actions can be dynamically added/removed at runtime.
Action
BusinessLogic
Invocation
This box can also represent the ESB’s JVM – actions are “in VM”
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
Enterprise Integration Patterns
Aggregator
File Transfer
Translator/Transformer
Router/CBRChannel
Message
Recipient List
Splitter
Wire TapEnricher
Content Filter
Process Manager
Message Store
Message Filter
More information atwww.enterpriseintegrationpatterns.com
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
Transformation and Routing
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
Smooks -ESB Transformation Engine
• Validation• Enrichment• Inline transformations (Fragment based Processing)• Profile based XML/non-XML processing• Anything to Anything (XML, CSV, binary, X12, POJO)• Mix/Match transformers on a single message:
– Java– Groovy– StringTemplate – XSLT
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
Routing, Services & Actions
FTPASCIIXML
Binary
Action Action
SOAP
JMS
Action
Action
DB
DBPOJO
EJB
A_Service
B_Service
C_Service
JMS Action DBWS
D_Service
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
Content Based Routing
SOAP Action
DBPOJO
Platinum_Service
FTP
ASCIIXML
Binary
Action
Ordering_Service
Randomly grab orders for review – tracer andKeep a total of all orders flowing through the system
SOAP Action
Special_Handling
EJB
Orders over 12K or from Platinum customers
DB
Orders from customers in certain states/countries
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
Content Based Routing Engine
• Currently based on JBoss Rules – supports XPATH DSL• Access to the complete Header and Body/Contents for evaluation• Zero to many destinations
rule "Routing Rule using XPATH Greater" when xpathGreaterThan "/Order/@totalAmount", "50.0" then Log : "Really It's EXPRESS Shipping"; Destination : “express";end
rule "Routing Rule using XPATH Less" when xpathLessThan "/Order/@totalAmount", "50.0" then Log : "Really It's NORMAL Shipping"; Destination : “normal";end
Destination is determined by the jboss-esb.xml
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
JBoss SOA Platform további szolgáltatások
● UDDI● JMS: JBoss Messaging (JBM)● Web Services: JBossWS● Transactions: JBossTS● BPEL● JBPM● HTTP Gateway, SOAP Proxy, ...
I solve problems.
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
UDDI v3 újdonságok
● Publikáló entitás meghatározhatja a kulcsot ● korábban ez nem volt engedélyezett
● Több UDDI nyilvántartó együttműködőképessége● Fő (root) nyilvántartó és fiók nyilvántartók
● Digitális aláírás UDDI entitások számára● Biztonságos?
● Nemzetközi kódkészletek támogatása
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
Orchestrated/Composed Services
ExternalActor
ExternalActor
ExternalActor
Action DBPOJO
Pricing_Service
Action DBEJB
Order_Service
Action
Action DBDAO
Validation_Service
BPMJVM
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
Orchestration Designer
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
REST-es elérés a http gateway segítségével
● A JBossESB-t nem csak web service-ek és JMS üzenetek segítségével lehet meghívni, hanem sokféle listener definálható hozzá● Aszinkron, üzenetalapú● Szinkron, kérés-válasz alapú
● A REST-es elérés (GET, PUT, POST, DELETE) egyszerűsíti a szolgáltatás használatát, pl. scriptekből
● Be lehet állítani HTTP válaszkódokat is (pl. 404 v. 503)
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
SOAPProxy
● Külső web szolgáltatás (WS) publikálása saját szolgáltatásként
● Ennek előnyei:● Laza csatolás a kliens és a szolgáltatás között● A szolgáltatás verziózhatóvá válik● Bekapcsolható a komplex tartalom alapú route-
olásba● Automatikus WSDL transzformáció
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
ServiceRegistry Message
Store
Transformation Routing
Infrastructure Services
Security Management
DeclarativeOrchestration
Engine
jPDL
ProcessStore
EventNotificati
on
Pluggable Architecturefor integrating infrastructure mediation services
Web Services (Proxy)
EJB
POJOs
J2EE/Java EE 5
Business Servicesruns within a container or standalone
(S)FTP
File
JMS*
SOAP
Excel
Browser
EJB
Native(SI)
ASCIIXML
Binary
Transports
Seam
SQL
Event Listeners and Actionsprovide transport mediation
Socket
Hibernate
JCA/Inflow BAM
Drools
Spring
Groovy
4.2 4.3 Future
BPELUDDI v3
DataSourcesMetaMatrix
HTTP S
S
Improvements in 5.x
InVM
Jython
Beanshell
SeamJCA
Service Component Architecture
Service Data Object
JRuby
Business
Data
ESB
CEP
DSL
Decision Table
JMS* - JBoss Messaging, IBM WebsphereMQ, TIBCO EMS
5.0
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution
We are hiring!
Akinek van kedve ilyen témában dolgozni, kérem, keressen meg.
Dr. Szántó Ivá[email protected]