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

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

Wzorce projektowe i architektura dla platformy Java EE

Receptury - niezbędnik projektanta i architekta

Program szkolenia: Wzorce projektowe i architektoniczne oraz efektywne techniki Object Oriented Design dla projektantów systemów

Spring Framework - wprowadzenie i zagadnienia zaawansowane

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

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

Implementacja Domain Driven Design - wzorce architektoniczne (część

Java Persistence API - zagadnienia zaawansowane

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

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

Program szkolenia: Wzorce projektowe w C++

Domain Driven Design - projektowanie modeli złożonych domen (część

Domain Driven Design - projektowanie modeli złożonych domen (część

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

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

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

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

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

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

Szkolenie wycofane z oferty

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

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

DDD : dla architektów oprogramowania / Vaughn Vernon. Gliwice, cop Spis treści

Tworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2

Podstawy frameworka Spring

Zaawansowane programowanie w języku C++

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

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Program szkolenia: REST i Microservices w PHP

Techniki efektywnego testowania kodu dla programistów Java (Spock

Domain Driven Design krok po kroku

Spis treúci. Księgarnia PWN: Robert A. Maksimchuk, Eric J. Naiburg - UML dla zwykłych śmiertelników. Wstęp Podziękowania...

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Pod dwóch wprowadzających w koncepcję DDD częściach,

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

Korporacyjna Magistrala Usług na przykładzie Mule ESB

Paweł Rajba

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

Projektowanie i implementacja wysokowydajnych aplikacji w języku

Architektura mikroserwisów na platformie Spring IO

Program szkolenia: Continuous Integration i Git

SOA Web Services in Java

Enterprise Integration Patterns z wykorzystaniem Apache Camel

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.

Program szkolenia: JavaScript Craftsmanship

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

Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (2) Wykład 10 Inversion of Control Wiktor Zychla 2013

ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH

Program szkolenia: Jenkins - Continuous Integration

Ewolucyjna architektura

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

Michał Sierzputowski. Zautomatyzuj swoje testy automatyczne oparte o Selenium

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

SZKOLENIE TWORZENIE SYSTEMÓW

Programowanie Zespołowe

Szczegółowy harmonogram rzeczowy realizacji prac systemu B2B

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

Inżynieria Oprogramowania w Praktyce

Analiza biznesowa a metody agile owe

INŻYNIERIA OPROGRAMOWANIA

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Budowanie aplikacji biznesowych przy użyciu. Presentation Foundation i wzorca MVVM

AUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7

INŻYNIERIA OPROGRAMOWANIA

Projektowanie Zorientowane na Dziedzinę. ang. Domain Driven Design

EJB 3.0 (Enterprise JavaBeans 3.0)

Dni: 3. Opis: Adresaci szkolenia

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Informatyzacja przedsiębiorstw

Domain Driven Design krok po kroku

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i

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

OFERTA SZKOLENIOWA PROGRESS SOFTWARE

Architektura oprogramowania w praktyce. Wydanie II.

Elektroniczna Księga Wieczysta

Projektowanie oprogramowania

PHP revisited - odświerzenie spojrzenia na programowanie w PHP

NAJLEPSZE STRATEGIE SKUTECZNYCH PROGRAMISTÓW. TECHNIKI PRACY Z KODEM KOD: NSKOD

Założenia projektowe dla zapytania ofertowego EAK_ZA_01/2015

Adaptywny kod : zwinne programowanie, wzorce projektowe i SOLID-ne zasady / Gary McLean Hall. Gliwice, cop Spis treści

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Spis treúci. 1. Wprowadzenie... 13

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2011/2012

Web frameworks do budowy aplikacji zgodnych z J2EE

Scala - programowanie obiektowo-funkcyjne

Projektowanie obiektowe Wzorce projektowe. Wprowadzenie do wzorców projektowych

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

Programowanie współbieżne i rozproszone

Program szkolenia: Zaawansowane programowanie w C++

Modelowanie procesów biznesowych, przepływu pracy i wdrażanie aplikacji w oparciu o Jboss jbpm lub Activiti

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

Piotr Bubacz Cloud Computing

Podstawy programowania III WYKŁAD 4

Receptury projektowe niezbędnik początkującego architekta

Wykład 1 Inżynieria Oprogramowania

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Wykład 4. Projektowanie. MIS n Inżynieria oprogramowania Październik 2014

Transkrypt:

Program szkolenia: Architektura aplikacji i systemów - Wzorce architektoniczne dla Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Architektura aplikacji i systemów - Wzorce architektoniczne dla arch-patterns-arch-patterns Wzorce architektoniczne architekci 3 dni 50% wykłady / 50% warsztaty Szkolenie prezentuje wybrane Wzorce Projektowe i Architektoncizne w praktycznym i niepodręcznikowym ujęciu osadzonym w kontekście projektowania aplikacji Webowych, platform, systemów i frameworków. Podczas szkolenia prezentowane są przykłady praktycznego zastosowania zaczerpnięte z rzeczywistych systemów klas: ERP, narzędzia wizualne, systemy rozproszone, serwery. Podczas szkolenia uczestnicy nabędą zintegrowaną wiedzę na temat zdobyczy nowoczesnej inżynierii oprogramowania pozwalającą im na tworzenie zaawansowanych systemów. Omawiane zagadnienia leżą u podstaw nowoczesnych frameworków i technologii co zwiększa poziom ich zrozumienia i pozwala na świadome korzystanie. Przedstawiamy techniki łączenie wzorców w struktury wyższego rzędu. Szkolenie przeznaczone dla i architektów pragnących poszerzyć swe kompetencje w zakresie standardowych styli architektonicznych. Program jest ogólną ramą merytoryczną. Jego realizacja wykracza poza 3 dni. W trakcie analizy przedszkoleniowej wybieramy wzorce, które będą przydatne dla zespołu i skupiamy się tylko na nich w trakcie szkolenie. W ciągu 3 dni zwykle jesteśmy w stanie zaadresować ok 70% wymienionych wzorców. Zalety szkolenia: Nowoczesne architektury (CqRS - wspierająca DDD) Możliwość oparcia przykładów o Kafka Dobór klasy rozwiązania do klasy problemu Strona: 1/7

Szczegółowy program: 1. Dokumentowanie architektury w podejściu 4C - Context, Containers, Components, Classes 1.1. Context 1.1.1. Kontekst w jakim będzie działał system 1.1.2. Główni aktorzy 1.1.3. Procesy na poziomie organizacji w które zaangażowany jest system 1.1.4. Rola innych systemów 1.2. Containers 1.2.1. Kontenery techniczne w jakich będzie rozmieszczony system 1.2.2. Wzorce integracji 1.2.3. Protokoły komunikacji 1.3. Components 1.3.1. Komponenty i Serwisy w ujęciu SOA 1.3.2. Dane kanoniczne wymieniane pomiędzy Serwisami 1.3.3. Projektowanie API 1.3.4. Zasada jednego źródła prawdy 1.4. Classes 1.4.1. Wstęp do technik i wzorców projektowania na poziomie klas 2. Architektura systemu - przegląd podejść 2.1. Modularyzacja 2.1.1. Poziomy separacji 2.1.2. Techniki integracji modułów 2.2. Architektura Micro Kernel 2.3. Command + Command Handler Strona: 2/7

2.4. Ports and Adapters 2.5. Restful 2.5.1. 4 poziomy dojrzałości 2.5.2. Rest jako protokół aplikacyjny a nie transportowy 2.6. Event Driven Architecture 2.6.1. Architektury oparte o zdarzenia 2.6.1.1. Events broker 2.6.1.2. Events Bus 2.6.1.3. Eventual Consistency 2.6.2. Zależności czasowe pomiędzy zdarzeniami 2.6.3. Sagi orkiestracja zdarzeń 3. Architektury aplikacji 3.1. Podejście warstwowe 3.1.1. Różnice pomiędzy Layer a Tier 3.1.2. Podział na logikę aplikacji i logikę domenową 3.1.2.1. Logika aplikacji 3.1.2.2. Modelowanie Use Case/User Story 3.1.2.3. Stanowo czy bezstanowo 3.1.2.4. Problemy projektowania API modułu 3.1.2.5. Logika domenowa i Techniki Domain Driven Design - Building Blocks 3.1.2.6. Agregaty 3.1.2.7. Encje 3.1.2.8. Value Objects 3.1.2.9. Serwisy Domenowe 3.1.2.10. Polityki Strona: 3/7

3.1.2.11. Specyfikacje 3.1.2.12. Fabryki 3.1.2.13. Repozytoria 3.1.2.14. Modelowanie niezmienników 3.1.2.15. Poziomy modelu: Capacity, Operations, Policy dostrajanie modelu, Decission Support 3.1.3. Strategiczne testowanie warstw ogólny przegląd podejścia 3.1.3.1. Problem eksplozji kombinatorycznej przypadków testowych 3.1.3.2. Testowanie górnych warstw w podejściu end2end 3.1.3.3. Testowanie dolnych warstw w podejściu jednostkowym 3.2. Praktyczne wykorzystanie technik Inversion of Control (DI, Events, AOP) 3.2.1. Dependency Injection podstawowa technika IoC 3.2.1.1. Wykorzystanie zamiast wzorców fabrykujących 3.2.1.2. Budowanie konkretnych Strategii, Dekoratorów itd. w zależności od stanu aplikacji (kontekst, konfiguracja) 3.2.1.3. Otwartość na rozbudowę dzięki wzorcom Strategii 3.2.2. Systemy sterowane zdarzeniami silniejsza technika IoC 3.2.2.1. Użycie do tworzenie rozszerzalnych architektur opartych o pluginy 3.2.2.2. Użycie do tworzenia skalowalnych systemów wysokiej wydajności (wykorzystanie kolejek, np. JMS) 3.2.2.3. Sagi - Modelowanie złożonych procesów zdarzeniowych 3.2.3. Aspect Oriented Programming 3.2.3.1. Wstęp do AOP 3.2.3.2. Techniki Interceptorów 3.2.3.3. Przykłady zastosowania AOP 3.3. Projektowanie systemów otwartych na rozbudowę 3.3.1. pluginy Strona: 4/7

3.3.2. listenery 3.3.3. wstrzykiwanie rozszerzeń 3.3.4. podejście aspektowe 3.4. Wzorce warstwy dostępu do danych 3.4.1. DAO 3.4.2. Repository 3.4.3. Active Record 3.4.4. Object-relational Mapping - na przykładzie Java Persistence API (Hibernate) 3.4.5. Problemy ORM 3.4.5.1. Niezgodność paradygmatów 3.4.5.2. Mapowanie granic obiektów 3.4.5.3. Kompozycja czy agregacja - mapowanie 3.4.5.4. 3 podejścia do blokowania optymistycznego 3.4.5.5. Wersjonowanie 3.4.5.6. Blokowanie obiektów na podstawie których tworzymy inne obiekty (READ) 3.4.5.7. Blokowanie spójności grafów obiektów poprzez ich korzeń (WRITE) 4. Modularyzacja 4.1. Sepracja Bounded Context 4.1.1. Techniki wyznaczania granic modułów 4.1.2. Techniki hermetyzacji modułów 4.1.2.1. API 4.1.2.2. DTO 4.2. Integracja modułów - podejścia 4.2.1. Zdarzenia Strona: 5/7

4.2.2. Wywołania API 4.2.3. Silniki procesów biznesowych 5. Command-query Responsibility Segregation rozszerzona architektura warstwowa 5.1. Wsparcie dla Domain Driven Design 5.2. Rozwiązanie problemów z niedopasowaniem ORM do przeglądu danych w Gridach 5.3. Zorientowanie na skalowanie i rozszerzalność 5.4. Tworzenie dedykowanych modeli: do odczytu, do operacji biznesowych 5.4.1. Rozwiązanie problemów z wydajnością 5.4.2. Architektura zewnętrznego indeksu z użyciem nosql 6. nosql 6.1. Zastosowania 6.2. Rodzaje baz - dobór do problemu 7. Testability projektowanie architektur aplikacji zorientowanych na testy 7.1. Strategiczne testowanie 7.1.1. Problem eksplozji kombinatorycznej przypadków testowych 7.1.2. Mapowanie warstw aplikacji na piramidę testów 7.1.3. Strategia 7.1.3.1. Warstwa domenowa - testowanie jednostkowe 7.1.3.2. Warstwa serwisów - testowanie end2end 7.2. Dążenie do uruchamiania logiki poza serwerem zwiększanie produktywności, redukcja czasu używanego na redeploy 7.3. Zagadnienia podatności architektury na testy: problemy i pułapki 7.4. Techniki testowania jednostkowego: dummy, fake, stub, mock 7.5. Narzędzia testowania jednostkowego i integracyjnego (JUnit, Mockito) 7.6. 3 poziomy testów 7.6.1. Specification by Example - cele biznesowe Strona: 6/7

7.6.2. Flow - User Story 7.6.3. Automatyzacja interakcji z UI - Agenty będące abstrakcją nad skryptem testowym Strona: 7/7