integracja systemów it / enterprise service bus / projekt mule

30
Integracja systemów IT / Enterprise Service Bus / Projekt Mule Adam Siemion

Upload: adam-siemion

Post on 06-Jun-2015

447 views

Category:

Documents


0 download

DESCRIPTION

Prezentacja z przedmiotu KOR, PJWSTK 2007

TRANSCRIPT

Page 1: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Integracja systemów IT /Enterprise Service Bus /

Projekt Mule

Adam Siemion

Page 2: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Plan prezentacji

Integracja systemów IT Enterprise Integration Patterns Enterprise Service Bus Projekt Mule Przykład

Page 3: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Integracja ?

Przedsiębiorstwa posiadają setki systemów, napisanych w różnych językach programowania, działających na różnych systemach operacyjnych, wymagających różnych systemów zewnętrznych.

Nie ma aplikacji, która obsługuje całą firmę. Możliwość wyboru aplikacji, która lepiej

realizuje pewną funkcjonalność.

Page 4: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Loose coupling

Minimalizacja założeń o uczestnikach Wydajność kontra elastyczność Trudne integracyjne pytania RPC:

– Co jeśli serwis jest niedostępny ?– Jak długo czekać ?– Co jeśli sygnatura metody się zmieniła ?– Jak uchronić się przed „podsłuchiwaniem” ?– Co jeśli wywołanie metody się nie uda, ponowić

próbę ?

Page 5: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Style integracji

File transfer Wspólna baza danych Remote Procedure Invocation Messaging

Page 6: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

System wykorzystujący komunikaty

Page 7: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Enterprise Integration Patterns

Kanał wiadomości Komunikat Message endpoint Ruter komunikatów Translator komunikatów Splitter i Aggregator Content Enricher ...

Page 8: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Komunikat

Page 9: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Kanał wiadomości

Page 10: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Message endpoint

Page 11: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Ruter komunikatów

Page 12: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Translator komunikatów

Page 13: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Enterprise Service Bus

Rozproszona architektura do integracji oparta o service-oriented approach.

Zbiór kontenerów usług, połączonych niezawodną szyną do przesyłania komunikatów (messaging bus).

Kontenery usług wykorzystują standardy oparte na XML.

ESB udostępnia usługi transformacji i rutowania komunikatów oraz możliwość centralnego zarządzania całym rozproszonym systemem.

Page 14: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Kontenery usług ESB (Sonic ESB)

Page 15: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Kontenery usług ESB (Sonic ESB)

Sonic Orchestration Server– Rozszerza mechanizm inteligentnego rutowania o możliwość

modelowania, automatyzacji i zarządzania złożonymi stanowymi procesami biznesowymi

Sonic XML Server– Przetwarzanie dokumentów XML– Operacyjny cache– Usługa agregacji

Sonic Database Service– Dostęp do bazy danych jak do usługi (wykonywanie zapytań,

updateów i składowanych procedur)– Automatyczne tworzenie zapytań SQL na podstawie

przychodzącego komunikatu oraz transformacja rezultatów do komunikatu.

Page 16: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Sonic Workbench

Page 17: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Projekt Mule

Open Source Enterprise Service Bus (ESB)– Routing, transformation, security, WS support,

logging

Wspierane protokoły i technologie:– JMS, VM, JDBC, TCP, UDP, Multicast, HTTP,

Servlet, Email, File, XMPP, FTP, EJB, VFS ...– BPEL, JBI, Axis, Spring, JSR-223 Scripting, JBoss

Page 18: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Więcej o Mule

Rozpoczęty w 2003 roku Zbudowany w oparciu o doświadczenia z

dużego finansowego projektu ESB 10 deweloperów Używany przez: HP, Sony, Deutsche Bank,

CitiBank and Atos Origin Wsparcie komercyjne oferowane przez firmę

SymphonySoft

Page 19: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Enterprise Service Bus (Mule)

Page 20: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Architektura Mule

Page 21: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Endpoints

Używane do łączenia komponentów i zewnętrznych systemów

<mule-descriptor name=“Component name"inboundEndpoint="jms://in.queue"outboundEndpoint="vm://internal.queue"implementation=“org.jp.Concrete"/>

Page 22: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Transformers

Konwertują dane pomiędzy formatami

<transformer name="LoanQuoteRequestToCreditProfileArgs" className="org.mule.samples....LoanQuoteRequestToCreditProfileArgs"/>

<endpoint remoteSync="true" transformers="LoanQuoteRequestToCreditProfileArgs„responseTransformers="CreditProfileXmlToCreditProfile" address="CreditAgency"/>

Page 23: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Rutery

Kontrolują w jaki sposób zdarzenia są odbierane i wysyłane przez system.

Inbound: SelectiveConsumer, Aggregator Outbound: FilteringOutboundRouter,

RecipientList

<router className="org.mule.routing.outbound.ChainingRouter"> <endpoint remoteSync="true" address="LenderService"/> <endpoint address="BankingGateway"/>

</router>

Page 24: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Obsługa błędów

Obsługa wyjątków– Definicje na poziomie komponentów i połączeń– Możliwość rozróżniania typu wyjątku

Strategie połączeń– Kontroluje jak kontektory łączą się do zasobów– Możliwość konfiguracji polityki ponowień– Powiadamianie o nieudanych połączeniach– Możliwość zmiany ścieżek routowania w przypadku

nieudanych połączeń

Page 25: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Loan Broker

Klient pyta różne banki o najlepszą ofertę kredytową.

Bank pyta klienta o jego dane i analizuje zdolność kredytową klienta.

Każdy z banków odsyła ofertę. Klient wybiera najlepszą dla niego ofertę.

Page 26: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Loan Broker Design

Page 27: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Opis komunikacji 1/2

Klient wysyła żądanie do LoanBroker – komunikat CustomerQuoteRequest.

LoanBroker tworzy komunikat LoanQuoteRequest (JMS) i przesyła do Credit Agency Gateway.

Gateway odczytuje komunikat i komunikuje się z Credit Agency Service (EJB), odpowiedź – CreditProfile dołącza do LoanQuoteRequest i przesyła do Lender Gateway.

Gateway komunikuje się z Lender Service, odpowiedź przekazuje do Banking Gateway.

Page 28: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Opis komunikacji 2/2

Gateway odbiera komunikat i przesyła go do jednego lub kilku banków.

Każdy z banków dołącza swoją odpowiedź i przesyła komunikat do Loan Brokera (na adres ReplyTo).

Loan Broker odczytuje komunikaty, wybiera bank o najniższym oprocentowaniu kredytu i przesyła odpowiedź do klienta.

Page 29: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Kompontenty 1/2

Loan Broker Service (HTTP/REST)– Odbiera LoanRequests– Agreguje LoanQuotes w odpowiedź na żądanie

klienta

Credit Agency Service (EJB)– Zewnętrzna usługa sprawdzająca zdolność

kredytową klienta

Credit Agency Gateway (JMS)– Przekazuje dane między szyną komunikatów a

Credit Agency Service

Page 30: Integracja systemów IT / Enterprise Service Bus / Projekt Mule

Kompontenty 2/2

Lender Service (VM/POJO)– Na podstawie danych o kliencie i kredycie wybierze

banki do których skierować żądanie LoanQuote.

Lender Gateway (JMS)– Przekazuje dane między szyną komunikatów a

Lender Service.

Banking Gateway (JMS, SOAP)– Przekazuje żądania LoanRequest do jednego lub

wielu banków.