Wybrane działy Informatyki Stosowanej

Podobne dokumenty
Wybrane działy Informatyki Stosowanej

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

1 Wprowadzenie do J2EE

Wybrane działy Informatyki Stosowanej

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

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

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Programowanie Komponentowe WebAPI

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

EJB 3.0 (Enterprise JavaBeans 3.0)

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

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

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

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

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

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

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

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

Java Enterprise Edition spotkanie nr 1. Sprawy organizacyjne, wprowadzenie

OpenLaszlo. OpenLaszlo

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

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Ekspert MS SQL Server Oferta nr 00/08

edziennik Ustaw Opis architektury

Web Services. Wojciech Mazur. 17 marca Politechnika Wrocławska Wydział Informatyki i Zarządzania

Aplikacje WWW Wprowadzenie

Enterprise Java Beans wykład 7 i 8

SOP System Obsługi Parkingów

Serwery Aplikacji "CC" Grzegorz Blinowski. tel (22) ; faks (22)

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

PRZEWODNIK PO PRZEDMIOCIE

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

Podstawowe informacje o technologii Java EE 7

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

Wybrane działy Informatyki Stosowanej

Wprowadzenie do J2EE. Maciej Zakrzewicz.

System Obsługi Wniosków

ASP.NET MVC. Grzegorz Caban 20 stycznia 2009

Aplikacje internetowe - opis przedmiotu

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Programowanie. Dodatek - uzupełnienie wiadomości. mgr inż. Krzysztof Szwarc. Sosnowiec,

Nowe mechanizmy w wersji 3 Java Card. Mateusz LESZEK (138775)

Zagadnienia projektowania aplikacji J2EE

MIGRACJA SYSTEMÓW INFORMATYCZNYCH DO TECHNOLOGII JAVA

Programowanie komponentowe 5

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

Technologia informacyjna

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

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

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

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

Komunikacja i wymiana danych

Wprowadzenie SYSTEMY SIECIOWE. Michał Simiński

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

Budowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG

Wybrane działy Informatyki Stosowanej

Programowanie komponentowe

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

TIN Techniki Internetowe zima

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Usługi sieciowe REST. Instytut Informatyki Politechnika Poznańska

SOA Web Services in Java

egroupware czy phpgroupware jest też mniej stabilny.

World Wide Web? rkijanka

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Oracle JDeveloper Suite 2.0 jako wydajne środowisko do tworzenia aplikacji intra- i internetowych, na przykładzie sklepu elektronicznego

Aplikacje Internetowe, Servlety, JSP i JDBC

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

Wybrane działy Informatyki Stosowanej

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

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

Język Java i technologie Web - opis przedmiotu

5.14 JSP - Przykład z obiektami sesji Podsumowanie Słownik Zadanie... 86

1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)

Zaawansowane aplikacje internetowe. Wykład 6. Wprowadzenie do Web Services. wykład prowadzi: Maciej Zakrzewicz. Web Services

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Adres IP

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

Enterprise JavaBeans (EJB)

Architektura CORBA. Przegląd technologii dla komponentowych,, rozproszonych aplikacji internetowych J2EE

Web Services w połączeniu z aplikacjami uruchamianymi na urządzeniach mobilnych

Web Services / Gridy

SiR_13 Systemy SCADA: sterowanie nadrzędne; wizualizacja procesów. MES - Manufacturing Execution System System Realizacji Produkcji

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Plan prezentacji. Budowa aplikacji w technologii Enterprise JavaBeans. Przegląd architektur: CORBA. Cele budowy aplikacji rozproszonych

Enterprise JavaBean 3.0

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

JBoss: MetaMatrix, Mobicents, Seam, Rools, ESB

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

Systemy obiegu informacji i Protokół SWAP "CC"

Enterprise JavaBeans

Systemy internetowe Wykład 6 Architektura WWW - cd

Modelowanie systemów w architekturze J2EE z wykorzystaniem notacji UML

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

Web Tools Platform. Adam Kruszewski

Dostęp do komponentów EJB przez usługi Web Services

Transkrypt:

Wybrane działy Informatyki Stosowanej Java Enterprise Edition WebServices Serwer aplikacji GlassFish Dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki

Aplikacje rozproszone Rozproszone dane Rozproszeni użytkownicy Rozproszone obliczenia

Rozproszone dane Wrocław Warszawa Kraków Dane mogą znajdować się na wielu serwerach Dane mogą być heterogeniczne (różnorodne)

Rozproszeni użytkownicy System informatyczny Użytkownicy łączą się zdalnie z zasobami i korzystają z usług rozproszonych

Rozproszone obliczenia Serwery mogą udostępniać swoją moc obliczeniową w zależności od potrzeb użytkowników lub aplikacji Strona WWW Aplikacja desktop Servlet Usługa sieciowa WebService

Cechy aplikacji rozproszonych

Platforma Java Enterprise Edition Platforma do tworzenia współczesnych skalowalnych rozproszonych wieloplatformowych aplikacji biznesowych Wykorzystuje język Java jako podstawowy Celem powstania platformy była integracja usług programowych oraz ułatwienie budowy skomplikowanych aplikacji sieciowych Dawniej znana jako plaftorma J2EE

Architektura Java EE

Warstwa klienta (Client tier) Aplikacje pracujące na komputerze klienta Aplikacje desktopowe Aplikacje WWW działające w przeglądarce internetowej (HTML + JavaScript + Aplety + etc.) Realizowana funkcjonalność: Interfejs użytkownika GUI Komunikacja z warstwą serwera: zlecanie zadań oraz pobieranie wyników przetwarzania danych Brak bezpośredniej komunikacji z bazą danych Nie są przechowywane / przetwarzane dane poufne

Warstwa serwera: Java EE Server Aplikacje dynamiczne działające na serwerze: Aplikacje typu serwlet Dynamiczne strony JSP Strony JSF (połączenie JSP + serwletów) Komponenty EJB (Enterprise Java Beans) klasy obiektów w Javie, które mogą być wykorzystywane w aplikacjach rozproszonych Warstwa realizuje algorytmy przetwarzania danych (tzw. logika biznesowa aplikacji )

Warstwa danych: Database server Oprogramowanie realizujące funkcje przechowania danych, ich przetwarzania oraz utrwalania w pamięci zewnętrznej Najczęściej tę rolę pełni relacyjna baza danych: Dane są przechowywane w tabelach Język programowania SQL Interfejs JDBC (Java Database Connectivity) Pośrednictwo w komunikacji pomiędzy BD a kodem w warstwie biznesowej

Idea programowania komponentowego Aplikacje klasyczne (lokalne) Program Aplikacje sieciowe Program metoda() Biblioteka Biblioteka Biblioteka metoda() Usługa Komponent Komponent

Idea programowania komponentowego (c.d.) Funkcjonalność aplikacji sieciowych może wykorzystywać komponenty zdalne Są one umieszczane na serwerach aplikacji w sieci Internet Aplikacja może wykorzystywać komponenty (klasy) lub wołać zdalne metody (usługi) Zagadnienia: Opis komponentów Opis metod, parametrów oraz zwracanego wyniku Mechanizm zdalnego wywołania metody (RPC) Format wymiany danych

Komponenty aplikacji Java EE Komponent jednostka realizująca określone zadanie oraz będąca w stanie komunikować się z innymi komponentami Komponenty JEE: Aplikacje klienckie oraz aplety Serwlety, Strony dynamiczne JSP, JSF WebServices Komponenty Java Beans (EJB) Wszystkie komponenty są wykonywane na serwerze Java Server

Technologia Enterprise Java Beans EJB technologia komponentów pracujących po stronie serwera Komponenty (ang. Beans) są samodzielnymi klockami z których można budować złożone aplikacje Komponenty wymagają tzw. środowiska uruchomieniowego (kontenera) tj. aplikacji zewnętrznej: Dostarczającej interfejs wejścia wyjścia Zapewniająca bezpieczeństwo, komunikacje oraz transakcje

Rodzaje ziaren EJB Bezstanowe: Stan sesji nie jest zapamiętywany Obsługa anonimowych klientów Wysoka skalowalność Stanowe Każdy klient jest obsługiwany osobno Dane klienta są przechowywane na serwerze

Koncepcja działania EJB Użytkownik Aplikacja Bilet online Komponent wyszukiwarka połączeń Komponent e-bilet Komponent konto użytkownika Komponent rozliczenia Warstwa prezentacji Warstwa logiki aplikacji

Osadzanie EJB na serwerze Komponenty EJB są osadzane wewnątrz kontenerów Kontener jest częścią platformy JEE i działa na JEE Server

Kiedy EJB ma zastosowanie Głównym atutem technologii jest skalowalność aplikacji: Przy zwiększeniu obciążenia łatwo można dodać kolejny serwer do systemu i umieścić na nim część komponentów Kosztem takiego rozwiązania jest wzmożona komunikacja sieciowa Kiedy klienci aplikacji rozproszonej są różnorodni: Przeglądarki internetowe Aplikacje desktopowe Inne usługi internetowe

Server aplikacji GlassFish Serwer aplikacji platforma zapewniająca funkcjonowanie, programowanie, dystrybucję oraz wspieranie sieciowych aplikacji przemysłowych GlassFish Open Source Server wersja niekomercyjna otwarta GlassFish Enterprise Server wsparcie przez producenta, większa skalowalność

Funkcjonalność GlassFish Wsparcie języków programowania: Java, Ruby, PHP, Python etc. Modułowa struktura Skalowalność aplikacji Wsparcie wirtualizacji Obsługa baz danych JDBC Rozproszone przetwarzanie danych: Klastry serwerów, Replikacja, zapewnienie High Availability, wsparcie Application Deployment

Panel administrowania GlassFish

Klastry GlassFish

WebServices usługi sieciowe WS współczesna technologia realizacji rozproszonych usług sieciowych Założenia: WS - samodzielny komponent programowy WS potrafi się samodokumentować tj. programista nie musi deklarować osobno kodu a interfejsu usługi WS jest rejestrowane w rejestrze usług Aplikacja konsumencka odkrywa w sieci komponent WS i może korzystać z jego usług w trybie zdalnego wywołania

Składniki technologii WebServices UDDI rejestr usług XML format przekazy wania danych SOAP protokół wymiany danych WSDL opis usług

Rejestr usług UDDI

Rejestr UDDI Universal Description, Discovery, and Integration Specjalizowana baza danych przechowująca informacje o WS dostępnych w sieci UDDI Komponent Klient

Protokół SOAP SOAP protokół oparty na języku XML SOAP służy od przekazywania wywołań zdalnych komponentów WS: Przekazywanie żądania zdalnego wywołania usługi Przekazywanie wyników wywołania usługi SOAP współpracuje z wieloma protokołami transportowymi (najczęściej HTTP)

Przykładowe żądanie SOAP

Przykładowa odpowiedź SOAP

Język WSDL (Web Service Description Language)

Przykład dokumentu WSDL

Interfejsy REST REST (ang. Representational State Transfer) współczesny standard tworzenia usług sieciowych Oparty jest o koncepcję wykonania operacji na danych w postaci linków URL Zasób (ang. Resource) - obiekt w usłudze sieciowej Np. Bilet, Pasażer, Pojazd, Rozkład, Miasto etc. Operacje na zasobach są wykonywane za pomocą poleceń HTTP: GET, POST, PUT, DELETE

Interfejsy REST (c.d.) Operacja Wywołanie Opis POST POST /Ticket/12345 Utworzenie nowego biletu GET GET /Ticket/12345 Pobranie biletu o identyfikatorze 12345 PUT PUT /Ticket/12345 Edycja biletu o identyfikatorze 12345 DELETE DELETE /Ticket/12345 Usunięcie biletu

Interfejsy REST (c.d.) Obecnie stanowią jedną z najbardziej popularnych technologii tworzenia rozproszonych usług sieciowych Są nowoczesną technologią, która nie pociąga za sobą konieczności korzystania z przestarzałych protokołów i nie posiada historycznych ograniczeń Szybkie i lakoniczne protokoły Prostsze programowanie Bardzo szybko się rozwijają