29
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 & Distribution 2011. május 9. [email protected]

JBoss SOA Platform - inf.mit.bme.hu · 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

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: JBoss SOA Platform - inf.mit.bme.hu · 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

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.

[email protected]

Page 2: JBoss SOA Platform - inf.mit.bme.hu · 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

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

Page 3: JBoss SOA Platform - inf.mit.bme.hu · 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

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

Page 4: JBoss SOA Platform - inf.mit.bme.hu · 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

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

Page 5: JBoss SOA Platform - inf.mit.bme.hu · 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

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

Page 6: JBoss SOA Platform - inf.mit.bme.hu · 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

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

Page 7: JBoss SOA Platform - inf.mit.bme.hu · 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

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

Page 8: JBoss SOA Platform - inf.mit.bme.hu · 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

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

Page 9: JBoss SOA Platform - inf.mit.bme.hu · 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

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

Page 10: JBoss SOA Platform - inf.mit.bme.hu · 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

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>

Page 11: JBoss SOA Platform - inf.mit.bme.hu · 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

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);

Page 12: JBoss SOA Platform - inf.mit.bme.hu · 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

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>

Page 13: JBoss SOA Platform - inf.mit.bme.hu · 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

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

Page 14: JBoss SOA Platform - inf.mit.bme.hu · 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

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”

Page 15: JBoss SOA Platform - inf.mit.bme.hu · 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

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

Page 16: JBoss SOA Platform - inf.mit.bme.hu · 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

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

Page 17: JBoss SOA Platform - inf.mit.bme.hu · 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

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

Page 18: JBoss SOA Platform - inf.mit.bme.hu · 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

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

Page 19: JBoss SOA Platform - inf.mit.bme.hu · 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

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

Page 20: JBoss SOA Platform - inf.mit.bme.hu · 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

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

Page 21: JBoss SOA Platform - inf.mit.bme.hu · 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

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.

Page 22: JBoss SOA Platform - inf.mit.bme.hu · 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

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

Page 23: JBoss SOA Platform - inf.mit.bme.hu · 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

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

Page 24: JBoss SOA Platform - inf.mit.bme.hu · 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

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

Page 25: JBoss SOA Platform - inf.mit.bme.hu · 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

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)

Page 26: JBoss SOA Platform - inf.mit.bme.hu · 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

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ó

Page 27: JBoss SOA Platform - inf.mit.bme.hu · 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

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*

Email

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

Page 28: JBoss SOA Platform - inf.mit.bme.hu · 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

Szolgáltatásintegráció, vendégelőadás, BME-MIT, 2011. május 9.Dr. Szántó Iván, ULX Open Source Consulting & Distribution

Page 29: JBoss SOA Platform - inf.mit.bme.hu · 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

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]