Architektura systemów dla analityków

LICZBA DNI: 3 (24h)

KOD KURSU: J/ARCH/ANA

Powiadom
o kolejnych terminach

# architecture

# requirements

# quality

# uml

Autor szkolenia:
Michał Podbielski

O szkoleniu

DLA KOGO?

Szkolenie przeznaczone jest dla analityków biznesowych chcących zapoznać się z architekturą systemów, w celu zrozumienia stosowanych rozwiązań oraz usprawnienia komunikacji z architektami. Pozwala to lepiej definiować wymagania niefunkcjonalne oraz wykrywać aspekty istotne dla architektury (ograniczenia, ryzyka, potencjalne rozwiązania).

WYMAGANIA

Wprowadzamy do zagadnień architektury od podstaw, zatem brak wymagań wstępnych.

ZALETY

Duży nacisk kładziony jest na osiągnięcie wysokiej świadomości konsekwencji doboru poszczególnych rozwiązań, technologii, wzorców czy innych decyzji architektonicznych.

Podczas ćwiczeń budowana jest umiejętność doboru rozwiązan w warunkach nieklarownych wizji systemu czy dużej ilości założeń. Rozwiązania rozpatrujemy z poziomu konsekwencji (wady i zalety) dla poszczególnych parametrów systemu.

Cele szkolenia

Celem szkolenia jest nabycie wiedzy koniecznej do wykrywania zagrożeń architektonicznych, dzięki czemu analityk biznesowy już w trakcie wywiadów z klientem będzie w stanie dokonywać pierwszych założeń architektonicznych, co z kolei pozwoli na zgłębienie kluczowych aspektów. Aby to osiągnąć konieczne jest zrozumienie nie tylko rozwiązań architektonicznych, ale również celów do osiągnięcia. Jest to wiedza przydatna nie tylko podczas tworzenia nowych systemów, gdyż zrozumienie aktualnej budowy systemu i osiąganych dzięki temu parametrów systemowych ułatwi ustalanie szczegółów podczas rozwoju istniejących systemów.

Poznanie wybranych technologii wspierających złożone architektury z podziałem na warstwy, w tym specyfikacje z JEE. Uczestnicy poznają główne cechy wybranych technologii oraz klasy rozwiązań, co ułatwia dalsze poszukiwania, gdyby ograniczenia obecnej architektury wymagały innego środowiska.

Omówienie diagramów architektonicznych w UML na poziomie wystarczającym do zrozumienia budowy systemu. Ponieważ adresatami szkolenia są analitycy, a nie architekci, jedynie zapoznajemy się z modelami architektonicznymi i nie rozwijamy umiejętności ich tworzenia (zajmujemy się tym w wersji pięciodniowej dla architektów).

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
  • 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
  • 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

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.