Architektura systemów (Java i integracja)

LICZBA DNI: 5 (40h)

KOD KURSU: J/ARCH

# architecture

# requirements

# quality

# uml

Autor szkolenia:
Michał Podbielski

O szkoleniu

DLA KOGO?

Szkolenie jest odpowiednie dla programistów, projektantów, analityków, jak również dla architektów chcących usystematyzować wiedzę i wymienić doświadczenia w grupie.

Dla osób, które chciałyby zapoznać się z praktycznymi aspektami tworzenia architektury.

Dla wszystkich, którzy chcą otworzyć przed sobą nowe możliwości w zakresie realizacji zadań związanych z kompetencjami architekta.

Dla osób pragnących podejmować lepsze decyzje poprzez osiągnięcie wyższej świadomości konsekwencji płynących z dobranych rozwiązań.

WYMAGANIA

Brak wymagań wstępnych.

ZALETY

Szkolenie kładzie duży nacisk na osiągnięcie wysokiej świadomości konsekwencji związanych z doborem rozwiązań, technologii, wzorców i innych decyzji architektonicznych.

Budujemy umiejętność podejmowania i weryfikacji decyzji architektonicznych, poruszając się w realiach nieklarownych wizji systemu i dużej ilości założeń architektonicznych.

Cele szkolenia

Zdobycie wiedzy niezbędnej do tworzenia i weryfikacji architektury oraz umiejętności rozpatrywania potencjalnych rozwiązań z punktu widzenia parametrów systemowych.

Poznanie języka UML w zakresie modelowania architektury i umiejętności tworzenia modeli architektonicznych.

Program

  • Czym jest architektura
  • Cele tworzenia architektury
  • Kim jest architekt i jaką pełni rolę
  • Proces architektoniczny
  • Dokumentacja architektoniczna
  • Zarządzanie ryzykiem
  • Czym są parametry systemowe
  • Jak poprawnie definiować wymagania niefunkcjonalne
  • Parametry systemowe:
    • Usability, Security, Performance,
    • Scalability, Availability, Reliability,
    • Extensibility, Reusability, Portablity, Flexibility,
    • Realizability, Planability, Testability,
    • Maintainability, Serviceability, Managebility
  • Wymiary systemu i ich wpływ na parametry systemu
  • Priorytetyzowanie parametrów systemowych
  • Wprowadzenie do wzorców
  • Problemy architektury komponentowej
  • Wzorce podziału odpowiedzialności:
    • MVC, Web-centric, Application-centric, Enterprise,
  • Architektura wielowarstwowa (Layers Pattern)
  • Wzorce EAI (Enterprise Application Integration):
    • SOA, ESB, MOM, Microsercvices
  • Wzorce infrastruktury:
    • Redundancja Ścieżek, Skalowanie poziome i pionowe,
    • Load Balancing, Clustering, HA, Failover, Forward Proxy Cache
  • Wzorce blokowania zasobów:
    • Optimistic, Pessimistic, Implicit i Coarse-Grained Lock
  • Inne wzorce architektoniczne:
    • Dependency Injection i Inversion, Stable Dependency Principle,
    • CQRS, Event Sourcing
  • Słów kilka o szablonach: POSA, PEAA, Core J2EE, EAI
  • Po co prototypować
  • Prototyp Proof of Concept
  • Prototyp ewolucyjny
  • Antywzorzec Lava Flow
  • Metodyka kaskadowa
  • USDP (UP) – Unified Software Development Process
  • RUP – Rational Unified Process
  • Metodyki Agile: XP, Scrum i pochodne
  • Podejście hybrydowe
  • Podział klientów: gruby, cienki, RIA
  • Przechowywanie sesji
  • Technologie klienta grubego: Swing, SWT, RCP
  • Klient gruby zanurzony w cienkim
  • Technologie klienta cienkiego:
    • HTML Statyczny i dynamiczny
    • Servlety + JSP + JSTL, JSF
    • Ajax i jego wsparcie (Java Script, Prototype, Ajax4JSF, PrimeFaces, GWT)
    • Podejście SPA/SPI (Angular, React, Vue)
    • WebSocket
  • Przetwarzanie rozproszone
  • Komunikacja zdalna a lokalna
  • Optymalizacja komunikacji sieciowej
  • Protokoły komunikacyjne:
    • CORBA i IIOP,
    • Web Services SOAP i REST
    • GraphQL, Sockets (własny protokół), RMI,
    • EJB i RMI-IIOP, inne rozwiązania na rynku
  • Serwery aplikacji i kryteria wyboru
  • Technologie utrwalania danych:
    • Bazy relacyjne (JDBC, JDO, JPA), hierarchiczne (LDAP), NoSQL
  • Komunikacja asynchroniczna (JMS, MDB EJB)
  • Systemy „Legacy”
  • Screen Scrapping
  • Jak wzorce projektowe wpływają na architekturę
  • Wybrane wzorce Core J2EE dla warstw prezentacji, biznesowej i integracji
  • Wybrane wzorce GOF:
    • Factory Method, Abstract Factory, Prototype,
    • Singleton, Façade, Command, Strategy, Adapter,
    • Mediator, Template Method , Memento, Flyweight,
    • Observer, Chain of responsibility, Proxy, Decorator
  • Czym jest modelowanie
  • Czym jest, a czym nie jest UML
  • Rozwój UML
  • Podstawowe elementy UML (kwalifikatory, relacje, diagramy)
  • Mechanizmy rozszerzania
  • Zastosowania UML
  • Diagram a model UML
  • Diagram komponentów
  • Diagram wdrożenia
  • Instancyjne diagramy wdrożenia
  • Niskopoziomowe diagramy wdrożenia
  • Szablony architektoniczne
  • Model wdrożenia na diagramach wdrożenia (artefakty)
  • Diagram pakietów
  • Warstwy i komponenty a realizacja projektu
  • Warstwy i komponenty a model projektowy
  • Uwzględnienie ograniczeń architektury w projekcie
  • Mechanizmy bezpieczeństwa
  • Bezpieczeństwo w Javie
  • Serwery SSO (Single Sign On)
  • Zarządzanie bezpieczeństwem
  • Podstawowe rodzaje ataków
  • ACID i BASE
  • CAP Theorem
  • Poziomy izolacji
  • Efekty uboczne obniżania poziomu izolacji
  • Wpływ transakcji na system
  • Transakcje rozproszone (JTA, 2PC)
  • Transakcje kompensacyjne
  • Kontrola obciążenia systemu transakcjami
  • Transakcje a EJB
  • Transakcje długoterminowe w WebService
  • Po co weryfikować?
  • Zespół weryfikujący
  • Techniki weryfikacji i oceny
  • Proces weryfikacji
  • Raport z weryfikacji

Nasi eksperci

POLITYKA COOKIES:

Korzystamy z plików cookies, by móc jak najlepiej dostosować stronę do Twoich potrzeb oraz wyświetlać Ci przydatne i adekwatnych dla Ciebie reklamy w serwisie i poza nim. Możesz kontrolować ustawienia ciasteczek w swoich ustawieniach swojej przeglądarki. Odwiedzając tę stronę, wyrażasz zgodę na wykorzystywanie przez nas plików cookies.