Korporacyjna Magistrala Usług na przykładzie JBoss Fuse i Fabric8
LICZBA DNI: 3 (24h)
KOD KURSU: ESB/F
O szkoleniu
DLA KOGO?
Szkolenie adresowane jest do programistów Java, analityków systemowych oraz architektów pragnących poznać techniki budowy korporacyjnej magistrali usług (ESB, Enterprise Service Bus)
WYMAGANIA
Od uczestników wymagana jest przynajmniej podstawowa umiejętność programowania w języku Java, przynajmniej podstawowa znajomość usług Web Service oraz technologii przetwarzania XML
Zalecana jest również znajomość podstaw Java EE
ZALETY
Szkolenie jest realizowane w kilku wariantach – dla programistów, dla analityków systemowych, architektów. W zależności od grupy szkoleniowej, główny nacisk położony jest na kwestie teoretyczne lub na praktyczne i implementację rozwiązań integracyjnych
Cele szkolenia
Zapoznanie uczestników z podstawowymi pojęciami oraz standardami związanymi z integracją systemów i szyną ESB
Przedstawienie dobrych i złych praktyk integracji, dostępnych na rynku narzędzi
Zapoznanie z wzorcami integracyjnymi i metodami realizacji tych wzorców na szynie ESB
Zdobycie praktycznych umiejętności związanych z produktem JBoss Fuse/Fabric8
Program
Podstawy integracji aplikacji korporacyjnych
- Przedstawienie podstawowych pojęć i koncepcji związanych z szeroko pojętą integracją: silos, SOA, EIP, MEP, EAI, ESB, szyna usług, szyna danych, ETL, EDA, CMD, MOM, broker i adapter integracyjny, orkiestracja, integracja synchroniczna/asynchroniczna/offline, JBI, SCA, WS-* itd.
- Prezentacja różnic pomiędzy szyną usług, platformą integracyjną, brokerem integracyjnym, serwerem kolejek itd.
- Przesłanki za i przeciw wdrażaniu platformy integracyjnej, cel wdrażania platformy integracyjnej w przedsiębiorstwie, migracja istniejących systemów „na szynę usług”
Cechy i funkcjonalności platformy ESB
- Pomijalność lokalizacji
- Konwersja protokołów transportowych
- Konwersja protokołów transportowych
- Transformacja wiadomości
- Routing wiadomości
- Uwydatnienie wiadomości
- Zabezpieczenia na szynie usług
- Monitorowanie i zarządzanie
- Wydajność
- Interoperacyjność
- Standaryzacja
Przegląd i porównanie dostępnych na rynku narzędzi i technologii
- Komercyjne i niekomercyjne
- W oparciu o stos Java EE, .NET, inne
- Dojrzałe i rozwijające się
- Bardziej i mniej popularne
- Wg. pozostałych kryteriów
Omówienie platformy JBoss Fuse
- Podstawowe składowe i architektura
- Apache Karaf (kontener OSGi – modularność, wersjonowanie, runtime)
- Apache Camel (framework integracyjny - routing, transformacja, konfiguracja)
- Apache CXF (framework web service – SOAP i REST)
- Apache A-MQ (serwer JMS)
- Fuse Fabric (narzędzie rozproszonych deploymentów)
- Pojęcia i terminologia podstawowa dla Fuse Fabric
- Fabric, Fuse Application Bundle
- Fabric Agent, Fabric Container, Fabric Profile
- Fabric Ensemble, Fabric Server
- Fabric Registry
- Pojęcia i terminologia podstawowa dla Apache Camel
- Routes
- Endpoint
- Camel Context
- Camel Component
- Message, Exchange
- Processor
- DSL’s: Java DSL, Spring DSL
- Jakość realizacji usług przez JBoss Fuse (mechanizmy realizacji: wysokiej dostępności, odporności na awarie, równoważenia obciążenia, persystencji, transakcyjności i bezpieczeństwa)
- Podobieństwa i różnice względem innych platform ESB. W tym odniesienie i porównanie do projektów powiązanych
- JBoss Enterprise SOA Platform 5.x i JBoss ESB
- JBoss Fuse Service Works
- FuseSource ESB
- Apache ServiceMix
- Środowisko programistyczne - Red Hat JBoss Developer Studio
- Omówienie różnic pomiędzy wersją komercyjną (JBoss Fuse), a darmową (Fabric8)
- Monitorowanie i administracja poprzez konsolę webową Hawt.io
Najczęściej stosowane wzorce integracyjne (EIP – Enterprise Integration Patterns) oraz ich sposób realizacji przy użyciu platformy JBoss Fuse
- Kanał
- Wiadomość
- Usługa
- Filtr
- Router
- Transformator
- Endpoint
- Omówienie pozostałych popularnych wzorców
Praca z obsługą komunikatów
- Struktura komunikatu
- Typy i formaty komunikatów
- Transformacja i konwersja komunikatów
- Walidacja komunikatów
- Persystencja komunikatów
Praca z usługami
- Konstrukcja usługi
- Typy usług
- Kontrakt usługi
- Konfigurowanie usług
Aranżacja usług i routing wiadomości na szynie
- Rejestry i repozytoria usług
- Routing na szynie ESB
- Routing ze względu na treść (CBR - Content Based Routing)
- Notyfikacje
Jakość realizacji usług
- Replikacja usług
- Klastrowanie na poziomie usług i protokołów transportowych
- Ponawianie komunikatów
- Monitorowanie i zarządzanie usługami
- Wdrażanie zmian (hot deployment)
- Pozostałe
Zabezpieczanie usług
- Bezpieczne usługi na szynie JBoss Fuse
- Uwierzytelnianie i autoryzacja
- Szyfrowanie danych na szynie
Obsługa błędów i sytuacji wyjątkowych
- Ponawianie
- Kompensacja
- Wycofywanie
- Przetwarzanie transakcyjne
Wydajność
- Strojenie (tuning) parametrów usług (protokół transportowy, ilość wątków, itp.)
- Cache
- Strojenie parametrów środowiska uruchomieniowego (Java, serwer aplikacyjny, serwer kolejek, baza danych, itp.)
Testowanie usług na szynie ESB
- Metody i narzędzia wspomagające testowanie usług (automatyzacja)
Zaawansowane usługi na szynie ESB
- Różnica pomiędzy przepływem integracyjnym, orkiestracją usług (BPEL), a procesem biznesowym (BPM)
- Wsparcie dla procesów biznesowych (BPM) i orkiestracji usług (BPEL)
- Wsparcie dla reguł biznesowych (BRMS)
- Wsparcie dla przetwarzania strumieni zdarzeń (CEP)
Przegląd najczęściej stosowanych adapterów integracyjnych
Dobre i złe praktyki budowy rozwiązań integracyjnych w oparciu o szyny ESB
- Często spotykane praktyki
- Zalecane wzorce projektowe oraz anty-wzorce których należy unikać
- Zalecane protokoły komunikacyjne
