92,46% pozytywnych ocen poprzednich realizacji szkolenia

Szkolenie niezbędne
dla każdego architekta.

W ramach szkolenia nabycie umiejętności tworzenia modeli architektonicznych w języku UML.

Adresaci szkolenia:

Szkolenie adresowane jest do osób, które chciałyby zapoznać się z praktycznymi aspektami tworzenia architektury. Dla osób, które chcą otworzyć przed sobą nowe możliwości w zakresie realizacji zadań związanych z wyższymi kompetencjami architekta lub pragną osiągnąć wyższą świadomość konsekwencji płynących z dobieranych rozwiązań, w celu podejmowania lepszych decyzji.

Szkolenie jest odpowiednie zarówno dla programistów jak i projektantów, analityków, ale także dla architektów chcących usystematyzować wiedzę i wymienić doświadczenia.

Cel szkolenia:

Celem szkolenia jest zdobycie wiedzy niezbędnej do tworzenia i weryfikacji architektury oraz umiejętności rozpatrywania potencjalnych rozwiązań z punktu widzenia parametrów systemowych. W ramach szkolenia uczestnicy  poznają język UML, w zakresie modelowania architektury i umiejętności tworzenia modeli architektonicznych.

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. W oparciu o tę świadomość ćwiczymy i 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. Omawiamy decyzje z punktu widzenia korzyści i wad, oraz omawiając sposoby weryfikacji zarówno decyzji jak i założeń.

Szerokim tematem szkolenia są również wzorce oraz modelowanie w UML, gdzie poznanie języka UML jest tylko środkiem, a jako cel wyznaczone jest nabycie umiejętności tworzenia modeli architektonicznych bazując na wymaganiach klienta.

Wymagania:

Szkolenie wprowadza do zagadnień architektury od podstaw. Zarówno w tematyce samej architektury, wzorców, technologii, jak i UML. W związku z tym szkolenie nie posiada żadnych wymagań wstępnych stawianych uczestnikom.

Parametry szkolenia:

4*8 lub 5*8 godzin (4*7 lub 5*7 godzin netto) wykładów i warsztatów (z wyraźną przewagą warsztatów). Proporcje warsztatów różnią się w zależności od aktualnej tematyki (wyższe przy UML, niższe przy technologiach poszczególnych warstw aplikacji).

Wielkość grupy: maks. 8-10 osób.

Program szkolenia

  1. Podstawy Architektury
    1. Czym jest architektura
      1. Architektura a projekt
      2. Cele tworzenia architektury
    2. Kim jest architekt i jaką pełni rolę
      1. Kim jest architekt - różne poziomy
        1. Technolog
        2. Strateg
        3. Polityk
      2. Co robi architekt
      3. Potrzeba istnienia architekta a skala projektu
    3. Proces architektoniczny
    4. Dokumentacja architektoniczna
    5. Zarządzanie ryzykiem
  2. Parametry systemowe
    1. Czym są parametry systemowe
    2. Jak poprawnie definiować wymagania niefunkcjonalne
    3. Parametry systemowe
      1. Wygoda użytkownika (Usability)
      2. Bezpieczeństwo (Security)
      3. Wydajność (Performance)
        1. Przepustowość (Throughput)
        2. Czas odpowiedzi (Response Time)
        3. Czas reakcji (Responsivness)
      4. Dostępność (Availability)
      5. Niezawodność (Reliability)
      6. Skalowalność (Scalability)
      7. Różne wymiary elastyczności systemu
        1. Rozszerzalność (Extensibility)
        2. Reużywalność (Reusability)
        3. Przenaszalność (Portablity)
        4. Elastyczność (Flexibility)
      8. Realizowalność (Realizability)
      9. Planowalność (Planability)
      10. Testowalność (Testability)
      11. Utrzymanie (Maintainability)
      12. Serwisowalność (Serviceability)
      13. Zarządzalność (Managebility)
    4. Wymiary systemu
      1. Wymiary związane z infrastrukturą
        1. Pojemność (Capacity)
        2. Redundantność/Replikacja (Redundancy)
        3. Modułowość (Modularity)
      2. Wpływ wymiarów na parametry systemu
      3. Inne wymiary systemu
        1. Tolerancja (Tolerance)
        2. Obciążenie (Workload)
        3. Niejednorodność/Jednorodność (Homo/Heterogenity)
    5. Priorytety parametrów systemu
      1. Skąd wynikają priorytety?
      2. Problemy priorytetowania
  3. Wzorce architektoniczne
    1. Wprowadzenie do wzorców
      1. Definicja wzorca
      2. Cechy i zalety wzorców
      3. Rodzaje wzorców
    2. Wzorce architektoniczne
      1. Problemy architektury komponentowej
      2. Wzorce podziału odpowiedzialności
        1. MVC (Model View Controll)
        2. Web-centric
        3. Application-centric
        4. Enterprise
          1. Wymagania systemów Enterprise
          2. Architektura Enterprise w JEE
        5. Architektura wielowarstwowa (Layers Pattern)
          1. Architektura wielowarstwowa w JEE
      3. Wzorce EAI (Enterprise Application Integration)
        1. SOA (Service Oriented Architecture)
        2. ESB (Enterprise Service Bus; Szyna Danych; Broker Integracyjny)
        3. MOM (Message Oriented Middleware)
        4. Microservices
          1. Założenia
          2. Monolit a Microservices
          3. DB w monolicie a w Microservices
          4. Dlaczego Microservices?
          5. Problemy z microsercives
      4. Wzorce infrastruktury
        1. Redundancja Ścieżek
        2. Skalowanie pionowe
        3. Skalowanie poziome (Replikacja)
        4. Równoważenie obciążenia (Load Balancing)
        5. Klastry (Clustering)
          1. HA (High Availability)
          2. Failover
        6. Forward Proxy Cache
      5. Wzorce blokowania zasobów
        1. Blokowanie optymistyczne (Optimistic Lock)
        2. Blokowanie pesymistyczne (Pessimistic Lock)
          1. Blokada domyślna (Implicit Lock)
          2. Blokowanie gruboziarniste (Coarse-Grained Lock)
      6. Inne wzorce architektoniczne
        1. Dependency Injection
        2. Dependency Inversion
        3. Stable Dependency Principle
        4. CQRS
        5. Event Sourcing
        6. Szablon wzorców POSA
        7. Szablon wzorców PEAA
        8. Szablon wzorców Core J2ee
        9. Szablon wzorców EAI (wzorce JMS)
  4. Prototypowanie
    1. Po co prototypować
    2. Prototyp Proof of Concept
    3. Prototyp ewolucyjny
    4. Antywzorzec Lava Flow
  5. Metodyki wytwarzania oprogramowania a architektura
    1. Metodyka kaskadowa
    2. USDP (UP) – Unified Software Development Process
      1. Założenia
      2. Wymiary
      3. Fazy
        1. Rozpoczęcie (Inception)
        2. Opracowanie (Elaboration)
        3. Budowa (Construction)
        4. Wdrożenie (Transition)
    3. RUP – Rational Unified Process
    4. SynTone Architecture Metodology
    5. Metodyki Agile
      1. Extreme Programming (XP)
      2. Scrum
    6. Podejście hybrydowe
  6. Architektura warstwy klienta i prezentacji
    1. Podział klientów
      1. Klient gruby
      2. Klient Cienki
        1. RIA
    2. Przechowywanie sesji
    3. Technologie klienta grubego
      1. Swing
      2. SWT
      3. RCP
    4. Klient gruby zanurzony w kliencie cienkim
      1. Applet
      2. Java Web Start
      3. Java FX
    5. Technologie klienta cienkiego
      1. HTML Statyczny
      2. HTML Dynamiczny
        1. Servlety + JSP + JSTL
        2. Portlety
        3. JSF (Java Server Faces)
        4. Ajax
          1. Java Script
          2. Prototype
          3. Ajax4JSF
          4. RichFaces
          5. GWT
        5. Wsparcie JavaScript
          1. JSON
          2. jQuery
  7. Architektura warstwy biznesowej
    1. Przetwarzanie rozproszone
    2. Komunikacja zdalna a lokalna
    3. Optymalizacja komunikacji sieciowej
    4. Protokoły komunikacyjne
      1. CORA i IIOP
      2. Web Services
        1. SOAP i REST
        2. WSDL
        3. Repozytoria usług: UDDI, ebXML
        4. Specyfikacje JEE
          1. JAX-P (Java API for XML Processing)
          2. SAAJ (SOAP with Attachments API for Java)
          3. JAX-B (Java API for XML Binding)
          4. JAX-R (Java API for XML Registries)
          5. JAX-WS (Java API for XML Web Services)
        5. Web Service Orchestration (wsparcie procesów biznesowych)
      3. Sockets (własny protokół)
      4. RMI (Remote Method Invocation)
      5. EJB i RMI-IIOP
        1. Serwer aplikacji
        2. Usługi serwera aplikacji
        3. Kryteria wyboru serwera
    5. Rodzaje komponentów EJB
      1. Sesyjne
        1. Statefull
        2. Stateless
        3. Singleton (od EJB3.1 – JEE6)
      2. MDB
      3. Encyjne (do EJB2.x)
    6. Porównanie implementacji i komunikacji EJB 2.x a EJB 3.x
    7. JNDI
  8. Architektura warstwy integracji i zasobów
    1. Technologie utrwalania danych
      1. Bazy relacyjne
        1. JDBC
        2. Entity EJB
        3. JDO (także bazy obiektowe i inne)
        4. JPA
      2. LDAP (bazy hierarchiczne)
      3. JCR – Java Content Repository (systemy CMS)
      4. JCA – Java Connector Architecture (systemy EIS)
      5. Wzorzec DAO
      6. Wzorzec Domain Store
    2. Komunikacja asynchroniczna
      1. JMS (Java Message Service)
        1. Topic
        2. Queue
      2. MDB EJB (Message Driven Bean)
    3. Systemy „Legacy”
    4. Screen Scrapping
  9. Wzorce projektowe a architektura (tylko wersja 5cio dniowa)
    1. Jak wzorce projektowe mogą wpływać na architekturę
    2. Wybrane wzorce Core J2EE
      1. Warstwa Prezentacji
        1. Intercepting Filter (flexibility)
        2. Context Object (maintenance, flexibility)
        3. Composite View (flexibility)
        4. Service To Worker (flexibility)
      2. Warstwa Biznesowa
        1. Business Delegate (maintenance)
        2. Service Locator (maintenance)
        3. Session Façade (performance, flexibility)
        4. Transfer Object (performance)
        5. Value List Handler (performance, scalability)
        6. Application Service (flexibility, maintenance)
        7. Business Object (flexibility, maintenance)
      3. Warstwa Integracji
        1. DAO (flexibility)
        2. Domain Store (flexibility)
    3. Wybrane wzorce GOF
      1. Factory Method (flexibility)
      2. Abstract Factory (reliability, flexibility)
      3. Builder (reliability, flexibility)
      4. Prototype (performance)
      5. Singleton (performance)
      6. Façade (performance, flexibility)
      7. Command (flexibility)
      8. Strategy (flexibility)
      9. Adapter (flexibility)
      10. Mediator (flexibility)
      11. Observer (performance, flexibility)
      12. Template Method (reliability, flexibility)
      13. Bridge (reliability, flexibility)
      14. Memento (reliability)
      15. Visitor (flexibility)
      16. Flyweight (memory performance)
      17. Chain of responsibility (flexibility)
      18. Proxy (flexibility, performance)
      19. Decorator (flexibility)
  10. Wprowadzenie do UML
    1. Czym jest modelowanie
    2. Czym jest a czym nie jest UML
    3. Rozwój UML
    4. Podstawowe elementy UML
      1. Podstawowe kwalifikatory
        1. Klasa (Class)
        2. Interfejs (Interface)
        3. Obiekt (Object)
        4. Aktor (Actor)
        5. Przypadek Użycia (Use Case)
        6. Komponent (Component)
        7. Węzeł (Node)
      2. Relacje (Relationships)
        1. Asocjacja (Association)
        2. Asocjacja (Association)
        3. Zależność (Dependency)
        4. Realizacja (Realization)
      3. Diagramy (Diagrams)
      4. Komentarze (Note)
      5. Mechanizmy rozszerzenia
        1. Stereotypy (Stereotype)
        2. Etykiety (Tagged Values)
        3. Ograniczenia (Constraints)
    5. Diagram a model UML
    6. Zastosowania UML
  11. Modelowanie architektury w UML
    1. Diagram komponentów (component diagram)
      1. Komponent (component)
      2. Komponenty zagnieżdżone
      3. Interfejs (interface)
        1. Interfejs wymagany (required interface)
        2. Interfejs dostarczany (provided interface)
      4. Złączenie (assembly)
    2. Diagram wdrożenia (deployment diagrram)
      1. Węzeł (node)
      2. Łącze (communication path)
        1. Łącze kierunkowe
        2. Liczność łącza
  12. Zaawansowane aspekty modelowania architektury w UML
    1. Zaawansowane elementy diagramu komponentów (component diagram)
      1. Porty
      2. Konektory
      3. Realizacja komponentu
    2. Zaawansowane elementy diagramu wdrożenia (deployment diagram)
      1. Instancyjne diagramy wdrożenia
      2. Niskopoziomowe diagramy wdrożenia
      3. Szablony architektoniczne
      4. Model wdrożenia na diagramach wdrożenia
        1. Po do model wdrożenia
        2. Artefakt
        3. Stereotypy artefaktów
          1. <<file>>
          2. <<document>>
          3. <<library>>
          4. <<executable>>
          5. <<script>>
          6. <<source>>
        4. Specyfikacja konfiguracji (deployment specification)
        5. Relacje między artefaktami
          1. Kompozycji (composition)
          2. Zależności (dependency)
        6. Instalacja artefaktów (deployment) <<deploy>>
        7. Manifestacja (manifestation) <<manifest>>
      5. Diagram pakietów (package diagram)
        1. Pakiet
        2. Zagnieżdżanie (nest, nesting)
        3. Przestrzeń nazw
        4. Importowanie (package import)
          1. <<import>>
          2. <<access>>
        5. Łączenie (merge)
        6. Diagramy pakietów i modelowanie warstw architektury
          1. Przecięcie warstw i poziomów
  13. Przejście z architektury do projektu
    1. Warstwy i komponenty a realizacja projektu
    2. Warstwy i komponenty a model projektowy
    3. Uwzględnienie ograniczeń architektury w projekcie
      1. Na modelu statycznym
      2. Na modelu dynamicznym
  14. Bezpieczeństwo
    1. Mechanizmy bezpieczeństwa
      1. Uwierzytelnianie (Authentication)
      2. Autoryzacja (Authorization)
      3. Kontrola dostępu (Access Control)
      4. Logowanie
      5. Audyt
      6. Szyfrowanie danych
      7. Szyfrowanie transmisji
      8. Integralność i przywracanie danych (backup)
      9. Certyfikaty
    2. Bezpieczeństwo w Javie
      1. JAAS
      2. Servlety
      3. Spring ACEGI
      4. EJB
    3. Serwery SSO (Single Sign On)
    4. Zarządzanie bezpieczeństwem
    5. Podstawowe rodzaje ataków
      1. DOS i DDOS
      2. SQL Injection
      3. Cross Site Scripting (XSS)
      4. Cross Site Request Forgery
  15. Transakcje
    1. ACID
    2. BASE i CAP Theorem
    3. Poziomy izolacji
      1. SERIALIZABLE
      2. REPETABLE_READ
      3. READ_COMMITED
      4. READ_UNCOMMITED
    4. Efekty uboczne obniżania poziomu izolacji
      1. Fantomy (Phantoms)
      2. Niepowtarzalny odczyt (Unrepetable read)
      3. Brudny odczyt (Dirty read)
    5. Wpływ transakcji na system
    6. Transakcje rozproszone (JTA, 2PC)
    7. Transakcje kompensacyjne
      1. Na czym polega kompensacja
      2. 3PC
    8. Kontrola obciążenia systemu transakcjami
      1. Zasięg i rozmiar transakcji
      2. Transakcje biznesowe a systemowe
      3. Unikanie transakcji
        1. Kompensacja
        2. Memento
        3. Rezygnacja z transakcji biznesowych
          1. Konflikty zapisu danych
            1. Blokowanie optymistyczne
            2. Blokowanie pesymistyczne
        4. Buforowanie danych
    9. Transakcje a EJB
      1. Container Managed Transaction
        1. Required
        2. Requires new
        3. Mandatory
        4. Supports
        5. Not supported
        6. Never
      2. Bean Managed Transaction
      3. Client Managed Transaction
    10. Transakcje długoterminowe w WebService
  16. Weryfikacja i ocena architektury
    1. Po co weryfikować?
    2. Zespół weryfikujący
    3. Techniki weryfikacji i oceny
    4. Proces weryfikacji
    5. Raport z weryfikcji

Pytania?

* Wymagane.
** Szczegóły promocji w Regulaminie.


Konsultant on-line
Skorzystaj z usług naszego konsultanta on-line.
Naciśnij przycisk ‘Skorzystaj’ aby przejść do okienka czatu
Kontakt
ul. Nowogrodzka 62c
02-002 Warszawa
Telefon +48 22 2035600
Fax +48 22 2035601
Email