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