Enterprise Integration Patterns z wykorzystaniem Apache Camel

Podobne dokumenty
Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus

Korporacyjna Magistrala Usług na przykładzie Oracle Service Bus

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Załącznik nr 1 do umowy CUI/ZP/PN/.../2017. Warsztaty grupowe

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Program szkolenia: Wzorce projektowe i ich implementacja w C# oraz testowanie automatyczne

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Program szkolenia: Wprowadzenie do Domain Driven Design dla biznesu (część 0)

Program szkolenia: Jenkins - Continuous Integration

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1

Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia

Dobre praktyki w doborze technologii rozwiązań informatycznych realizujących usługi publiczne

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Szczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Program szkolenia: REST i Microservices w PHP

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

PHP revisited - odświerzenie spojrzenia na programowanie w PHP

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

Program szkolenia: Continuous Integration i Git

Java Persistence API - zagadnienia zaawansowane

Receptury - niezbędnik projektanta i architekta

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

PureSystems zautomatyzowane środowisko aplikacyjne. Emilia Smółko Software IT Architect

Dodatkowo, w przypadku modułu dotyczącego integracji z systemami partnerów, Wykonawca będzie przeprowadzał testy integracyjne.

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

Projektowanie i implementacja wysokowydajnych aplikacji w języku

Szkolenie wycofane z oferty

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i

Tytuł szkolenia: Angular 4 - budowanie nowoczesnych i wydajnych aplikacji przeglądarkowych

Zaawansowane programowanie w języku C++

HP Service Anywhere Uproszczenie zarządzania usługami IT

SOA Web Services in Java

Program szkolenia: Test Driven Development (TDD) using Spock or JUnit 5

MONITOROWANIE DOSTĘPNOŚCI USŁUG IT

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

Szkolenie wycofane z oferty. Apache Cassandra - modelowanie, wydajność, analiza danych

Program szkolenia: Architektura aplikacji i systemów - Wzorce architektoniczne dla projektantów

IBM MobileFirst! Wprowadzenie do strategii IBM w zakresie rozwiązań mobilnych! Włodek Dymaczewski"

Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)

Feature Driven Development

Projektowanie obiektowe Wzorce projektowe. Gang of Four Wzorce rozszerzeń

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Wdrożenie technologii procesowej IBM BPM w EFL

Etapy życia oprogramowania

Tester oprogramowania 2014/15 Tematy prac dyplomowych

Projektowanie obiektowe Wzorce projektowe. Gang of Four Strukturalne wzorce projektowe (Wzorce interfejsów)

SVN. 10 października Instalacja. Wchodzimy na stronę i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Java Developers Day. Implementacja ESB przy użyciu Mule. ESB Mule Obsługa zamówień DEMO

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Dokumentacja kompilacji źródeł aplikacji 1.0

Program szkolenia: Zaawansowane programowanie w C++

Wymiana opisu procesów biznesowych pomiędzy środowiskiem Eclipse i EMC Documentum

Oracle Log Analytics Cloud Service

Program szkolenia: Wzorce projektowe w C++

Projektowanie systemów informatycznych. wykład 6

Audyt oprogramowania systemu B2B oprogramowanie umożliwiające zarządzanie informacjami o produktach:

Wykład 1 Inżynieria Oprogramowania

ISO w Banku Spółdzielczym - od decyzji do realizacji

Korporacyjna Magistrala Usług na przykładzie Mule ESB

ZAŁĄCZNIK Nr 2 do CZĘŚCI II SIWZ WYCIĄG ZE STANDARDÓW, ZASAD I WZORCÓW INTEGRACYJNYCH OBOWIĄZUJĄCYCH W PSE S.A.

Technologie sieciowe

Projektowanie Modeli Usług dla rozwiązań typu SOA

Komunikacja i wymiana danych

Przesłanki powstania książki... xvi Dla kogo przeznaczona jest ta książka?... xvi Co znajdziemy wewnątrz książki?... xvii

Tomasz Grześ. Systemy zarządzania treścią

Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

GLOBAL4NET Agencja interaktywna

Zwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)

Oceny z prezentacji INKU011S. Zofia Kruczkiewicz

Program szkolenia: Receptury testowania automatycznego - problemy, strategie, taktyki, techniki, narzędzia

Departament Zakupów Centralnych ul. Żaryna 2A, Warszawa tel. (22) DZC/AS/708/12. Warszawa, dn. 27 listopada 2012 r.

Analiza mikroserwisów. Warszawa,

BIM jako techniczna platforma Zintegrowanej Realizacji Przedsięwzięcia (IPD - Integrated Project Delivery)

JBoss: MetaMatrix, Mobicents, Seam, Rools, ESB

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK

Omówienie wzorców wykorzystywanych w Prism 5.0. Dominika Różycka

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Architektura oprogramowania w praktyce. Wydanie II.

OD MONOLITU DO MIKROUSŁUGI MICROSERVICES

Programowanie zespołowe

KIERUNKOWE EFEKTY KSZTAŁCENIA KIERUNEK STUDIÓW INFORMATYCZNE TECHNIKI ZARZĄDZANIA

Warsztaty FRAME. Sygnatura warsztatu: W1 (W3) Czas trwania: 3 dni

Analiza i częściowa implementacja systemu elektronicznej wymiany danych na przykładzie e-faktury

ZARZĄDZANIE STRATEGICZNE OPRACOWANIE

KARTA PRZEDMIOTU. Warsztaty z Ruby on Rails. Ruby on Rails Workshop

Full Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

Program szkolenia: Tworzenie aplikacji w Ruby on Rails z wykorzystaniem zwinnych metodyk

ZAPYTANIE OFERTOWE. z dnia 20 grudnia 2013r.

Opis metodyki i procesu produkcji oprogramowania

Transkrypt:

Program szkolenia: Enterprise Integration Patterns z wykorzystaniem Apache Camel Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Enterprise Integration Patterns z wykorzystaniem Apache Camel EIP-Camel Integracja systemów Architekci, Projektanci, programiści 3 dni 60% wykłady / 40% warsztaty Żyjemy w czasach gdy tworzone aplikacje nie powstają już w wyizolowanych środowiskach na potrzeby zamkniętych systemów. Dzięki rozwojowi Internetu mamy dostęp do nieprzebranej ilości danych i usług dostarczanych przez dostawców. Narodziny idei programmable web wymusiły powstanie narzędzi i metod służących integracji usług. Jednocześnie ilość dostępnych protokołów i modeli komunikacji, czyni integrację aplikacji jednym z najważniejszych i najtrudniejszych wyzwań stojących przed naszą branżą. Kolejnym wyzwaniem jest integracja istniejących systemów, które powstały w czasach gdy idea ogólno dostępnej sieci ciągle była w strefie marzeń. Dziś potrzebujemy narzędzi, które pozwolą nam otworzyć te zamknięte niegdyś systemy na świat zewnętrzny, poprzez integracje z Internetem. Problemy tej klasy próbuje opisać zestaw wzorców projektowych, znanych pod nazwą Enterprise Integration Patterns (EIP). Celem szkolenia jest zaznajomienie uczestników z wzorcami EIP, na przykładzie Apache Camel, projektu rozwijanego przez społeczność Apache. Podczas szkolenie zostaną przedstawione metody realizacji poszczególnych wzorców EIP przy pomocy Apache Camel. Zalety szkolenia: Zastosowanie sprawdzonych wzorców - Dobór podejścia do problemu Prezentacja praktycznych rozwiązań oraz najczęściej pojawiających się sytuacji i problemów Panel dyskusyjny z doświadczonym trenerem Strona: 1/5

Program szkolenia: 1. Wprowadzenie do integracji aplikacji - W tym module zostaną zaprezentowane podstawowe pojęcia z zakresu integracji aplikacji. Skupimy się na wadach i zaletach poszczególnych metod integracji, jakie kryteria wpływają na wybór poszczególnych metod, oraz ich wpływ na stabilność i skalowalność końcowego projektu integracji aplikacji. 1.1. Podstawowe pojęcia z dziedziny integracji aplikacji 1.2. Wzorce wymiany wiadomości 1.2.1. Request reply 1.2.2. Publish subscribe 1.2.3. Push pull 1.3. Metody integracji 1.3.1. Transfer plików 1.3.2. Współdzielona baza danych 1.3.3. Zdalne wywołanie procedur 1.3.4. Systemy kolejek wiadomości 1.4. Topologie integracji 1.4.1. Point to point 1.4.2. Bus 1.4.3. Star 1.4.4. Ring 1.4.5. Mesh 2. Implementacja wzorców integracji aplikacji na przykładzie Apache Camel - W tej sekcji zapoznamy się z podstawowymi komponentami Apache Camel, ich rolą w budowaniu integracji oraz sposobami tworzenia aplikacji z wykorzystaniem Apache Camel oraz technikami konfiguracji z wykorzystaniem XML. 2.1. Apache Camel w aplikacjach, podstawowe komponenty 2.1.1. Wiadomość i jej struktura Strona: 2/5

2.1.2. Kanał 2.1.3. Punkty integracji 2.1.3.1. Transfomer 2.1.3.2. Filter 2.1.3.3. Splitter 2.1.3.4. Aggregator 2.1.3.5. Adapter 2.1.3.6. Usługi 3. Podstawowe klasy wzorców integracji wraz z ich implementacja na przykładzie Apache Camel - W tej sekcji rozpoczniemy naszą wędrówkę poprzez katalog wzorców EIP i zapoznamy się z sposobami ich implementacji z wykorzystaniem Apache Camel. Każdy wzorzec zostanie przedstawiony w kontekscie stosowalności wzorca dla danego typu problemów, jakie ryzyka niesie ze sobą nieproprawne dobranie wzorców a także jak w efektywny sposób wykorzystywać techniki kompozycji by projektować integracje, poprzez wykorzystywanie istniejących w Apache Camel komponentów. 3.1. Kanały 3.1.1. Point2Point Channel 3.1.2. Publish-Subscribe Channel 3.1.3. Datatype Channel 3.1.4. Guaranteed Delivery 3.1.5. Messaging Bridge 3.1.6. Message Bus 3.2. Routery - Routery umożliwiają oddzielenie źródła wiadomości od ich ostatecznego miejsca przeznaczenia. Dzięki tej separacji możemy tworzyć elastyczne rozwiązania, które będą w przyszłości umożliwiały łatwe rozszerzanie funkcjonalności aplikacji. Dobre zrozumienie zasad działania poszczególnych wzorców z tej kategorii pozwoli nam również uniknąć pułapki tworzenia własnych wzroców i kosztownej ich implemtentacji, dzięki możliwości kompozycji routerów w łańcuchy wywołań. Zrozumienie natury tych wzrorców, szczególnie Splitter oraz Aggregator, jest krytyczne dla tworzenia skalowalnych integracji z wykorzystaniem mechanizmów asynchronicznej komunikacji. 3.2.1. Content-Based Router 3.2.2. Message Filter 3.2.3. Dynamic Router Strona: 3/5

3.2.4. Splitter 3.2.5. Aggregator 3.2.6. Composed Message Processor 3.2.7. Process Manager 3.2.8. Routing Slip 3.3. Transformacje - Transformacje to zbiór wzorców, które pomagają nam podczas projektowania i realizacji integracji, które wykorzystują różne formaty danych, takie jak XML, JSON, EDIFACT oraz wiele innych. W rzeczywistym świecie, rzadko mamy do czynienia z jednym wspólnym formatem danych w projektach integracyjnych. W tej sekcji przedyskutujemy dobre praktyki stosowane podczas realizacji projektów, w których będziemy musieli dokonywać transformacji formatu wiadomości. Odpowiemy na pytanie kiedy normalizacja formatu wiadomości przynosi korzyści, a kiedy należy korzystać z wzorca Envelope Wrapper. A także jaki wpływ na wydajność systemu ma niewłaściwy dobór wzorców transformacji. 3.3.1. Envelope Wrapper 3.3.2. Content Enricher 3.3.3. Claim Check 3.3.4. Normalizer 3.4. Punkty integracji - Wzorce z tej kategorii opisują techniki integracji z zewnętrznymi systemami. Ich dobór jest uzależniony od typów protokołów i usług udostępnianych przez zewnętrzne systemy z którymi zachodzi integracja. Dobór punktów integracji jest pierwszym krokiem podczas projektowania systemów tej klasy. W tej sekcji zapoznamy się technikami doboru wzorców, ich wpływu na kształ końcowy projektu aplikacji, oraz przedyskutujemy typowe pułapki związane z niepoprawnym doborem punktów integracji. Wybór punktów integracji ma krytyczny wpływ na zakres stosowalności innych wzorców integracji, gdyż nie wszystkie z nich w sposób łatwy i transparentny współpracują z pozostałymi. Niewłaściwy dobór punktów integracj, często zawęża zakres stosowalnośc pozostałych wzroców, co w tej sekcji zostanie zaprezentowane, na przykładzie rzeczywistych projektów. 3.4.1. Messaging Gateway 3.4.2. Polling Consumer 3.4.3. Event-Driven Consumer 3.4.4. Competing Consumer 3.4.5. Message Dispatcher 3.4.6. Service Activator 3.5. System Management Patterns - Jest to najczęsciej pomijany typ wzorców, który jest jednak krytyczny dla końcowych kosztów utrzymania i analizy systemów integracji. Ze Strona: 4/5

względu na złożoność systemów integracji ich analiza, w tym analiza przepływu wiadomości i procesów biznesowych, może być najbardziej kosztownym elementem utrzymania systemu. W tej sekcji zapoznamy się z technikami, które wprowadzone w wczesnej fazie projektowania aplikacji, umożliwią nam łatwe śledzenie i analizę problemów. W związku z wysoce rozproszoną naturą takich systemów, pomijanie tego strategicznego elementu systemu często ma kluczowy wpływ na końcowe koszty i jakość rozwiązania. Wzorce z tej kategorii mają też kluczowy wpływ na czas i koszt fazy projektowania i tworzenia rozwiązania, gdyż umożliwiają śledzenie przepływu widomości przez system. 3.5.1. Detour 3.5.2. Wire Tap 3.5.3. Control Bus 3.5.4. Smart Proxy 4. Techniki modelowania integracji z wykorzystaniem przedstawionych wzorców - W tej części szkolenia przejdziemy do zagadnień modelowania i projektowania integracji, omawiając klika rzeczywistych przykładów i problemów, z którymi spotkać się można podczas tworzenia tego typu rozwiązań. Bazując na doświadczeniach trenera zdobytych podczas realizacji projektów integracyjnych, zostaną omówione problemy z zakresu wydajności i skalowalności oraz monitorowania i analizowania przepływu procesów biznesowych. 4.1. Orkiestracja kontra choreografia 4.2. Wiadomości znormalizowane 4.3. Poprawne wykorzystanie typów wiadomości 4.3.1. Command message 4.3.2. Document message 4.3.3. Event message 4.4. Techniki agregacji wiadomości z wykorzystaniem identyfikatora korelacji 4.5. Techniki zachowania kolejności wiadomości 4.6. Techniki testowania i monitorowania integracji aplikacji 5. Panel dyskusyjny Strona: 5/5