Wybrane działy Informatyki Stosowanej

Podobne dokumenty
Wybrane działy Informatyki Stosowanej

1 Wprowadzenie do J2EE

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

Wybrane działy Informatyki Stosowanej

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

EJB 3.0 (Enterprise JavaBeans 3.0)

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

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

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

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

Wybrane działy Informatyki Stosowanej

OpenLaszlo. OpenLaszlo

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

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

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

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

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

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

Java Enterprise Edition spotkanie nr 1. Sprawy organizacyjne, wprowadzenie

Ekspert MS SQL Server Oferta nr 00/08

Aplikacje Internetowe, Servlety, JSP i JDBC

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

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

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

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

Programowanie Komponentowe WebAPI

Wprowadzenie do J2EE. Maciej Zakrzewicz.

SOP System Obsługi Parkingów

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

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

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

Enterprise JavaBeans

Komunikacja i wymiana danych

Programowanie obiektowe

Wybrane działy Informatyki Stosowanej

Enterprise Java Beans wykład 7 i 8

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

Wykład 1 Inżynieria Oprogramowania

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

Budowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG

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

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych

Wybrane działy Informatyki Stosowanej

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

SOA Web Services in Java

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Wprowadzenie SYSTEMY SIECIOWE. Michał Simiński

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

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

Wybrane działy Informatyki Stosowanej

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

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

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

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

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

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

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

Enterprise JavaBeans. 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss.

PRZEWODNIK PO PRZEDMIOCIE

Programowanie współbieżne i rozproszone

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

Programowanie komponentowe 5

Podstawowe informacje o technologii Java EE 7

Wybrane działy Informatyki Stosowanej

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

INFORMATYKA Pytania ogólne na egzamin dyplomowy

edziennik Ustaw Opis architektury

Web Tools Platform. Adam Kruszewski

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

Język Java i technologie Web - opis przedmiotu

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

Zaawansowane narzędzia programowania rozproszonego

Technologia informacyjna

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Enterprise JavaBean 3.0

System Obsługi Wniosków

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

egroupware czy phpgroupware jest też mniej stabilny.

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

MIGRACJA SYSTEMÓW INFORMATYCZNYCH DO TECHNOLOGII JAVA

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Aplikacje WWW Wprowadzenie

PomysL... i co dalej?

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Aplikacje internetowe - opis przedmiotu

STUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe

TIN Techniki Internetowe zima

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

Rozproszone systemy internetowe. Wprowadzenie. Koncepcja zdalnego wywołania procedury

Ministerstwo Finansów

Tworzenie i wykorzystanie usług sieciowych

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

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

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

Wykład I. Wprowadzenie do baz danych

mgr inż. Michał Paluch

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Aplikacje WWW i PHP - opis przedmiotu

Enterprise JavaBeans (EJB)

Transkrypt:

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

Aplikacje rozproszone Rozproszone dane Rozproszone obliczenia Rozproszeni użytkownicy

Aplikacje rozproszone (c.d.) Rozproszenie danych Dane mogą znajdować się na wielu serwerach Dane mogą być heterogeniczne (różnorodne) Rozproszenie obliczeń Serwery mogą udostępniać swoją moc obliczeniową w zależności od potrzeb użytkowników lub aplikacji Rozproszenie użytkowników Użytkownicy łączą się zdalnie z zasobami i korzystają z usług rozproszonych

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 Znana również jako J2EE (nazwa jest przestarzała) W roku 2017 planowana jest wersja Java EE 8

Składniki JEE

Architektura Java EE

Architektura Java EE (inny przekrój)

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

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, JPS, JSF Komponenty Java Beans (EJB) Wszystkie komponenty są wykonywane na serwerze Java Server

Technologia Enterprise Java Beans EJB realizuje logikę biznesową aplikacji Logika prezentacji musi być zrealizowana przez zewnętrzne komponenty

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

Koncepcja działania EJB Aplikacja Bilet online Komponent PKP Komponent ZTM Komponent MZA Bank

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

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

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

Interfejs pomocniczy tłumaczy obiekt na opis uniwersalny Serwer odbiorcy usług Protokół Serwer dostawcy usług Usługa Object Request Broker organizuje komunikację pomiędzy serwerami

Porównanie EJB z innymi technologiami rozproszonych obiektów

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 HighAvailability, 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

Rejestr usług UDDI

Rejestr UDDI Specjalizowana baza danych przechowująca informacje o WS dostępnych w sieci

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

Język XML extensible Markup Language uniwersalny niezależny od platformy strukturalny język reprezentacji dokumentów lub danych Uniwersalny: może być stosowany do wymiany danych pomiędzy dowolnymi aplikacjami Strukturalny: zawiera dane oraz jednocześnie opisuje ich strukturę Niezależny od platformy: jest stosowany w różnych systemach operacyjnych

Przykładowy dokument XML

Ogólna struktura dokumentu XML <xml> <obiekt param1="value1" param2="value2" > <obiekt_włożony> </obiekt_włożony> </obiekt> </xml>

Schemat dokumentu XML Dokument XML może posiadać tzw. schemat opis pól oraz ich typów Schemat XSD Walidacja Błąd walidacji Dokument XML Sukces

Zastosowanie XML Opis zasobów Uniwersalny sposób na konfigurację aplikacji komputerowej, usługi sieciowej, etc. Przykład: plik Web.XML serwera Apache, lub pliki WSDL konfiguracji usług sieciowych WebService Elektroniczna wymiana danych (EDI) Format przekazywania danych pomiędzy systemami B2B, np. deklaracje podatkowe Protokoły komunikacyjne Ściśle sformalizowane podzbiory XML stosowane do przekazywania komunikatów pomiędzy elementami rozproszonego systemu informatycznego, np. SOAP Etc. etc.

Obsługa formatu XML w aplikacjach komputerowych Zapis pliku XML jest prostym zadaniem dla programisty Odczyt pliku XML jest bardziej złożonym zadaniem Aplikacja Aplikacja? Przesłanie dokumentu

Biblioteka JAXB Java Architecture for XML Binding standardowa (od v. 6) biblioteka Javy do przetwarzania dokumentów XML Podstawowe pojęcia: Marshalling zapis obiektu do XML Unmarshalling odczyt obiektu z XML Referencje: import javax.xml.bind.annotation.xmlattribute; import javax.xml.bind.annotation.xmlelement; import javax.xml.bind.annotation.xmlrootelement;

Stosowanie atrybutów JAXB Konstruktor bez parametrów

Zapis obiektu do pliku XML

Odczyt obiektu z pliku XML

Document Object Model (DOM) DOM uniwersalny standard modelowania dokumentów XML w pamięci komputera Znaczniki XML są reprezentowane w postaci wierzchołków drzewa Hierarchia znaczników XML jest reprezentowana za pomocą krawędzi drzewa DOM API biblioteka wspomagająca tworzenie oraz przeszukiwanie drzew DOM XPath język do wykonania zaawansowanych zapytań w DOM