integracja systemów it / enterprise service bus / projekt mule
DESCRIPTION
Prezentacja z przedmiotu KOR, PJWSTK 2007TRANSCRIPT
![Page 1: Integracja systemów IT / Enterprise Service Bus / Projekt Mule](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/1.jpg)
Integracja systemów IT /Enterprise Service Bus /
Projekt Mule
Adam Siemion
![Page 2: Integracja systemów IT / Enterprise Service Bus / Projekt Mule](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/5.jpg)
Style integracji
File transfer Wspólna baza danych Remote Procedure Invocation Messaging
![Page 6: Integracja systemów IT / Enterprise Service Bus / Projekt Mule](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/6.jpg)
System wykorzystujący komunikaty
![Page 7: Integracja systemów IT / Enterprise Service Bus / Projekt Mule](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/8.jpg)
Komunikat
![Page 9: Integracja systemów IT / Enterprise Service Bus / Projekt Mule](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/9.jpg)
Kanał wiadomości
![Page 10: Integracja systemów IT / Enterprise Service Bus / Projekt Mule](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/10.jpg)
Message endpoint
![Page 11: Integracja systemów IT / Enterprise Service Bus / Projekt Mule](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/11.jpg)
Ruter komunikatów
![Page 12: Integracja systemów IT / Enterprise Service Bus / Projekt Mule](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/12.jpg)
Translator komunikatów
![Page 13: Integracja systemów IT / Enterprise Service Bus / Projekt Mule](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/14.jpg)
Kontenery usług ESB (Sonic ESB)
![Page 15: Integracja systemów IT / Enterprise Service Bus / Projekt Mule](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/16.jpg)
Sonic Workbench
![Page 17: Integracja systemów IT / Enterprise Service Bus / Projekt Mule](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/19.jpg)
Enterprise Service Bus (Mule)
![Page 20: Integracja systemów IT / Enterprise Service Bus / Projekt Mule](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/20.jpg)
Architektura Mule
![Page 21: Integracja systemów IT / Enterprise Service Bus / Projekt Mule](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/26.jpg)
Loan Broker Design
![Page 27: Integracja systemów IT / Enterprise Service Bus / Projekt Mule](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022051820/5571f19d49795947648b69e0/html5/thumbnails/30.jpg)
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.