Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Podobne dokumenty
Wybrane działy Informatyki Stosowanej

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

ASP.NET MVC. Grzegorz Caban 20 stycznia 2009

Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

Szkolenie: Budowa aplikacji SOA/BPM na platformie Oracle SOA Suite 11g

Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio

EJB 3.0 (Enterprise JavaBeans 3.0)

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Wybrane działy Informatyki Stosowanej

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

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

Architektury usług internetowych. Tomasz Boiński Mariusz Matuszek

JAVA EE MODEL APLIKACJI. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Szkolenie wycofane z oferty

SOA Web Services in Java

JBoss: MetaMatrix, Mobicents, Seam, Rools, ESB

Java Enterprise Edition spotkanie nr 1. Sprawy organizacyjne, wprowadzenie

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

SOP System Obsługi Parkingów

Ekspert MS SQL Server Oferta nr 00/08

ZAŁOŻENIA TECHNICZNO-TECHNOLOGICZNE SYSTEMU BUDOWANEGO W RAMACH PROJEKTU

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego radmat radmat@math.uni.lodz.

ZARZĄDZANIE WYMAGANIAMI ARCHITEKTONICZNYMI

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

Aplikacja internetowa vs Strona Internetowa. Aplikacja internetowa, (ang.) web application zwana również aplikacją webową, to program komputerowy,

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Program szkolenia: REST i Microservices w PHP

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

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

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Stan zaawansowania prac dotyczących zamówienia na opracowanie i wdrożenie rdzenia systemu e Urząd.

KURS SPRING APLIKACJE WEBOWE

OSGi Agata Hejmej

MIGRACJA SYSTEMÓW INFORMATYCZNYCH DO TECHNOLOGII JAVA

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

Architektura nowoczesnych aplikacji internetowych

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

TECHNOLOGIA JSP W TWORZENIU APLIKACJI ROZPROSZONYCH NA PRZYKŁADZIE SYSTEMU ZARZĄDZANIA NIERUCHOMOŚCIAMI W GMINIE

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

edziennik Ustaw Opis architektury

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, Bydgoszcz

Paweł Rajba

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

1 Wprowadzenie do J2EE

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

Programowanie Komponentowe WebAPI

Korporacyjna Magistrala Usług na przykładzie Mule ESB

PomysL... i co dalej?

I. Opis przedmiotu zamówienia

Projektowanie architektury systemu internetowego

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Architektura systemów dla analityków. Dni: 3. Opis: Adresaci szkolenia:

Usługi danych przestrzennych w GEOPORTAL-u. Marek Szulc , Warszawa

Enterprise JavaBean 3.0

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2011/2012. Architektura zorientowana na usługi

PureSystems zautomatyzowane środowisko aplikacyjne. Emilia Smółko Software IT Architect

Zapytanie ofertowe. Pytania dot. zapytania ofertowego należy kierować pocztą, osobiście w siedzibie firmy bądź drogą mailową na adres:

Zapytanie ofertowe nr 01/TS/2013

POSTANOWIENIE. z dnia 20 sierpnia 2018 roku

Dobre praktyki w doborze technologii rozwiązań informatycznych realizujących usługi publiczne

Platforma Usług dla Obywateli - Microsoft Citizen Service Platform

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

Aplikacje WWW Wprowadzenie

Doradzamy, projektujemy, tworzymy, wdrażamy i utrzymujemy dedykowane rozwiązania i systemy informatyczne w oparciu o potrzeby zamawiającego.

Paweł Rajba

Jarosław Kuchta. Projektowanie Aplikacji Internetowych. Wprowadzenie

Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa,

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Virtual Grid Resource Management System with Virtualization Technology

Dodatkowo, w przypadku modułu dotyczącego integracji z systemami partnerów, Wykonawca będzie przeprowadzał testy integracyjne.

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

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

Systemy obiegu informacji i Protokół SWAP "CC"

PRZEWODNIK PO PRZEDMIOCIE

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Piotr Bubacz Cloud Computing

JAX-RS czyli REST w Javie. Adam Kędziora

Asseco dla Zdrowia r.

Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska

Historia zmian. Data wersja Opis Autor. 05/05/ Paweł Maćkowski. 31/05/ Paweł Maćkowski

Projekt architektury systemów informatycznych Uniwersytetu Warszawskiego w oparciu o metodykę TOGAF. Tomasz Turski

OFERTA SZKOLENIOWA PROGRESS SOFTWARE

Nowoczesne aplikacje internetowe oparte na Seam, JSF, EJB3, JPA, AJAX

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Oracle Application Express -

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL

Szczegółowy opis zamówienia:

Programowanie w Javie 2. Płock, 26 luty 2014 r.

Zagadnienia projektowania aplikacji J2EE

SZCZEGÓŁOWA INFORMACJA O PRZEDMIOCIE

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

Transkrypt:

Technologie dla aplikacji klasy enterprise Wprowadzenie Marek Wojciechowski

Co oznacza enterprise-ready? Bezpieczeństwo Skalowalność Stabilność Kompatybilność wstecz Wsparcie Dokumentacja Łatwość integracji z istniejącymi systemami Dojrzałe narzędzia do tworzenia, testowania, dostarczania i monitorowania aplikacji Ale również: Komplikacja Zasobożerność Wysoka cena Mało ekscytujące

Trendy w świecie aplikacji klasy enterprise Tradycyjnie aplikacje te wykorzystywały model wielowarstwowy + wzorzec architektoniczny MVC Dziś aplikacje wielowarstwowe często określane mianem monolitycznych i konfrontowane z mikroserwisami Tradycyjnie aplikacje te były instalowane na serwerze aplikacji Dziś często praktykuje się rozwiązanie, w którym aplikacja zawiera w sobie potrzebne elementy serwera aplikacji Tradycyjnie nacisk był na logikę biznesową, a front-end miał charakter drugorzędny i istotna była łatwość jego implementacji, a nie funkcjonalność Dziś oczekiwany jest bogaty interfejs użytkownika również w aplikacjach tej klasy

Technologie pozycjonowane jako rozwiązania dla aplikacji klasy enterprise Java Enterprise Edition (Java EE) Microsoft.NET Angular (?) Rozwiązania klasy middleware Serwery aplikacji Message-oriented middleware Szyny usługowe

Architektura 3-warstwowa Architektura wielowarstwowa to architektura, w której logika prezentacji, logika biznesowa i zarządzanie danymi są logicznie odseparowanymi procesami Najczęściej występuje podział na 3 warstwy: warstwa prezentacji warstwa logiki biznesowej (warstwa aplikacji) warstwa danych Termin używany w odniesieniu do struktury oprogramowania jak i infrastruktury systemu layer warstwa logiczna tier warstwa fizyczna

Zadania warstw aplikacji/systemu Warstwa prezentacji Interfejs użytkownika Prezentacja zadań i ich wyników w sposób zrozumiały dla użytkownika Warstwa logiki biznesowej Decyzje i ewaluacja Obliczenia Przesyłanie danych między otaczającymi warstwami Warstwa danych Składowanie i pobieranie danych z bazy danych (lub innego repozytorium informacji) Przekazywanie danych do warstwy logiki biznesowej celem ich przetworzenia

Architektura wielowarstwowa a architektura (wzorzec) MVC Architektura wielowarstwowa jest liniowa komunikacja między warstwą prezentacji i danych zawsze poprzez warstwę pośrednią Architektura Model-View-Controller (MVC) zakłada wzajemne interakcje między trzema typami komponentów aplikacji

Middleware Oprogramowanie łączące komponenty oprogramowania lub aplikacje Podstawowe zadanie: integracja aplikacji, szczególnie w środowisku rozproszonym Wykorzystywane technologie: XML, SOAP, Web Services, Service Oriented Architecture (SOA) REST, JSON, microservices Oprogramowanie określane mianem middleware: serwery aplikacji systemy wymiany wiadomości (Message-Oriented Middleware MOM) szyny usługowe (Enterprise Service Bus ESB)

Wady (monolitycznych) aplikacji wielowarstwowych Duża pojedyncza baza kodowa Zespoły odpowiedzialne za poszczególne funkcje pracują na jednej bazie kodowej Wysoki próg wejścia dla nowych deweloperów Skalowalność dotyczy całości systemu Brak możliwości indywidualnego skalowania poszczególnych funkcjonalności Złożony i czasochłonny proces dostarczania oprogramowania (deployment / continuous integration) Problematyczna zmiana technologii implementacji poszczególnych funkcjonalności systemu Dyskusyjne dopasowanie do nowoczesnych architektur chmurowych i kontenerów (Docker)

Mikroserwisy (ang. microservices) (1/2) Architektura, ale też kultura pracy Zalety: Modularyzacja, gdzie każda usługa jest niezależnie: tworzona, instalowana, testowana i skalowana Małe zespoły deweloperów odpowiadające od początku do końca za dany podsystem Standardowa komunikacja między usługami (HTTP, REST, JSON) Możliwość współdzielenia bazy danych przez usługi lub wykorzystywania dedykowanych, odpowiednich dla konkretnej usługi baz danych

Mikroserwisy (ang. microservices) (2/2) Wady: Podział funkcjonalności na mikroserwisy nie musi być oczywisty Wymagane kompetencje DevOps członków zespołu Komplikacja charakterystyczna dla systemów rozproszonych Narzuty komunikacyjne Trudne debugowanie

Plan przedmiotu Aplikacje na platformie Java EE technologie: JSF, EJB, CDI, JPA frameworki: Spring, Oracle ADF (?) Aplikacje na platformie.net warstwy: prezentacji, BLL i DAL technologie: ASP.NET, LINQ, Entity Framework JavaScript po stronie przeglądarki model Ajax, model SPA, frameworki JavaScript Rozwiązania klasy middleware: wprowadzenie do Web Services Message-Oriented Middleware