mgr inż. Michał Paluch

Podobne dokumenty
EJB 3.0 (Enterprise JavaBeans 3.0)

Enterprise JavaBeans

1 Wprowadzenie do J2EE

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

Java Enterprise Edition spotkanie nr 1. Sprawy organizacyjne, wprowadzenie

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

Wybrane działy Informatyki Stosowanej

Zaawansowane Aplikacje Internetowe

Enterprise Java Beans Narzędzia i Aplikacje Java EE

Wybrane działy Informatyki Stosowanej

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

Budowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG

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

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Podstawowe informacje o technologii Java EE 7

Programowanie komponentowe 5

Spring Framework - wprowadzenie i zagadnienia zaawansowane

SOP System Obsługi Parkingów

Tomasz Dobek.

Enterprise JavaBeans (EJB)

Podstawy frameworka Spring

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

Contexts and Dependency Injection (CDI) Autor wykładu: Marek Wojciechowski

Rola EJB na platformie Java EE. Enterprise JavaBeans (EJB)

Enterprise JavaBean 3.0

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

Enterprise Java Beans wykład 7 i 8

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

EJB 3.0 & JBoss Seam. 25 kwietnia 2007 Jacek Gerbszt 1

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

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

Wprowadzenie. Spring 2.5. Norbert Potocki. 3 lutego Norbert Potocki Spring 2.5

Wprowadzenie do J2EE. Maciej Zakrzewicz.

EJB 2.x oraz zmiany w standardzie dla EJB 3.0. Michał Stanek

Java wybrane technologie

Aplikacje internetowe i rozproszone - laboratorium

Komponenty sterowane komunikatami

Wprowadzenie do Enterprise JavaBeans 2.0

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

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

Platforma J2EE i EJB. Oprogramowanie systemów równoległych i rozproszonych Wykład 9. Rola EJB na platformie J2EE. Dr inż. Tomasz Olas olas@icis.pcz.

Aplikacje RMI

Zaawansowane aplikacje internetowe

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

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Protokoly w technologii obiektow rozproszonych - CORBA, RMI/IIOP, COM, SOAP. Paweł Kozioł p.koziol@students.mimuw.edu.pl

public interface TravelAgent { public void makereservation(int cruiseid, int cabinid, int customerid, double price); }

Tworzenie aplikacji internetowych z wykorzystaniem szkieletu Spring. Paweł Ociepa, Paweł Pierzchała

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Programowanie Komponentowe WebAPI

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

Pico. Wstęp do kontenerów IoC.

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

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

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

Budowa komponentów Enterprise JavaBeans

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

Zaawansowane aplikacje internetowe. Architektura Spring. wykład prowadzi Mikołaj Morzy. Architektura Spring

Komunikacja i wymiana danych

METODY PROGRAMOWANIA

Simple Object Access Protocol

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

Tworzenie aplikacji dla Oracle Application Server 10g R3 w technologii EJB 3.0

SPRING FRAMEWORK. dr inż. Jakub Chłapioski

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

Wykład 1 Inżynieria Oprogramowania

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

Java. Michał Wójcik.

Zagadnienia projektowania aplikacji J2EE

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

Usługa TimerService

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

Stanowe komponenty sesyjne

Program szkolenia: REST i Microservices w PHP

Modele komponentowe SCA, OSGi, Distributed OSGi i OSGi Enterprise a Java EE

JBoss: MetaMatrix, Mobicents, Seam, Rools, ESB

MIGRACJA SYSTEMÓW INFORMATYCZNYCH DO TECHNOLOGII JAVA

Wielowarstwowe aplikacje internetowe. Web Services. Autorzy wykładu: Maciej Zakrzewicz Marek Wojciechowski. Web Services

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

Programowanie komponentowe

Zagadnienia Programowania Obiektowego Agata Hejmej

Zaawansowane Aplikacje Internetowe

Web Tools Platform. Adam Kruszewski

Java Server Faces - wprowadzenie

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Aplikacje Internetowe, Servlety, JSP i JDBC

Enterprise JavaBeans (EJB)

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

Ekspert MS SQL Server Oferta nr 00/08

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

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

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

1. Model ACID. 2. Deklaratywne zarządzanie transakcjami, atrybuty transakcji. 3. Propagacja transakcji. transakcje rozproszone, propagacja kontekstu

Tworzenie aplikacji J2EE w oparciu o Spring Framework

PomysL... i co dalej?

Aplikacje RMI Lab4

Modelowanie systemów w architekturze J2EE z wykorzystaniem notacji UML

OpenLaszlo. OpenLaszlo

Transkrypt:

Technologie JAVA Java Platform Standard Edition JSE Java Platform Enterprise Edition JEE Java Platform Micro Edition Wersje Różnice

Java Enterprise Edition Java EE to platforma umożliwiająca tworzenie oraz uruchamiania rozproszonych aplikacji wielowarstwowych, wykorzystywanych w Internecie Java EE składa się z: zbioru bibliotek standardowych zbioru zasad projektowania, implementowania i instalowania aplikacji Java EE serwera aplikacji Java EE, stanowiący środowisko uruchomieniowe dla aplikacji Java EE

Struktura warstwowa JEE Źródło: http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.html

Komponenty w JEE Aplikacje klienckie i aplety Komponenty technologii Java Servlet, JSF, JSP EJB

Klienci JEE Klient przeglądarkowy Aplikacje klienckie Aplety

Komunikacja z serwerem JEE Źródło: http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.html

Komponenty Webowe Źródło: http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.html

Komponenty Biznesowe oraz Warstwa Danych Źródło: http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.html

Kontenery JEE Źródło: http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.html

Budowanie i wdrażanie aplikacji Źródło: http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.html

SOAP Simple Object Access Protocol Oparty na XML, protokół komunikacyjny Struktura komunikatu składa się z: - <Envelope> - <Header> - <Body> - <Fault> Tryby wywołań - RPC - dokumentowy

Przykład żądania wysłanego protokołem SOAP <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/soapenvelope" soap:encodingstyle="http://www.w3.org/2001/12/soapencoding"> <soap:body xmlns:d= test"> <d:divide> <d:val1>4</d:val1> <d:val2>2</d:val2> </d:divide> </soap:body> </soap:envelope>

Przykład odpowiedzi <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/soapenvelope" soap:encodingstyle="http://www.w3.org/2001/12/soapencoding"> <soap:body xmlns:d= test"> <d:divideresponse> <d:val1>2</d:val1> </d:divideresponse> </soap:body> </soap:envelope>

WSDL Web Services Description Language Służy do opisywania usług sieciowych Struktura dokumentu: <d e f i n i t i o n s> <t y p e s>..........</ t y p e s> <mes s a ge>..........</ mes s a ge> <p o r tty pe>..........</ p o r tty pe> <b i n d i n g>..........</ b i n d i n g> </ d e f i n i t i o n s>

EJB Enterprise JavaBeans Komponenty zarządzane przez kontener serwera aplikacji Realizują logikę biznesową aplikacji Są wykorzystywane do budowy złożonych aplikacji Obsługują lokalnych i zdalnych klientów Klientami mogą być zarówno aplikacje jak serwlety, strony JSP

Typy komponentów EJB Sesyjne: - bezstanowe, - stanowe, - singleton; sterowane komunikatami (message-driven)

Sesyjny komponent EJB Posiada odpowiednią adnotację Posiada publiczny, bezparametrowy konstruktor Klasa jest publiczna i nie może być abstrakcyjna ani finalna, Klasa nie jest abstrakcyjna, ani finalna Implementuje metody biznesowe,

Przykład Komponentu Sesyjnego (min. 2 pliki) package com.my.lecture; import javax.ejb.localbean; import javax.ejb.stateless; @Stateless @LocalBean public class Calc implements CalculatorRemote, CalculatorLocal { public float add(int a, int b) { return a + b; } public float subtract(int a, int b) { return a - b; } } { } public interface CalculatorLocal public float add(int a, int b); public float subtract(int a, int b);

Komponent sterowane komunikatami Nie posiadają stanu Wykorzystują Java Message Service (JMS) Składa się wyłącznie z klasy beana Umożliwia asynchroniczne przetwarzanie komunikatów

Interfejsy EJB Sesyjne EJB mogą udostępniać dwa rodzaje interfejsów: - Lokalny, który może zostać zadeklarowany jako interfejs Javy lub być w postaci publicznej metody implementacji EJB. Klienci w takim wypadku muszą znajdować się na tej samej maszynie - Zdalny, mogą z niego korzystać inne komponenty EJB, aplikacje webowe lub oddzielne aplikacje klienckie. W tym przypadku klienci nie muszą znajdować się na tej samej maszynie

Komponent EJB Składa się z: - Klasy implementującej funkcjonalność - Interfejsu biznesowego - Remote - Local - Opcjonalnych deskryptorów

Transakcje w JEE Czym jest transakcja? Cechy transakcji. Rodzaje transakcji: - Zarządzane przez komponent - Zarządzane przez kontener

Atrybuty Transakcji Required RequiresNew, Mandatory, NotSupported, Supports, Never

Czym jest Framework? Zestaw narzędzi, sprawdzonych rozwiązań, szkielet do budowy aplikacji. Definiuje strukturę oraz ogólny mechanizm działania aplikacji. Narzuca przepływ sterowania. Poszczególne komponenty Frameworka są rozszerzalne przez programistę.

Ciężkie Frameworki Technologie, których aplikacje wymagają serwera aplikacyjnego jako środowiska do działania. Można do nich zaliczyć m.in.: - Apache Geronimo - JBoss Application Server - JOnAS - Oracle WebLogic Server - IBM Websphere Application Server - Oracle AS

Lekkie Frameworki Mniejsze wymagania sprzętowe wobec serwera. Możliwość wykonywania testów jednostkowych, bez wdrożenia aplikacji na serwer. Możliwość uruchomienia aplikacji na kontenerze webowym Możliwość wykorzystania frameworka w aplikacjach desktopowych.

Spring Framework Wielowarstwowy szkielet aplikacji Java/Java EE Lekki kontener komponentów JavaBean Obsługa JDBC Integracja z Hibernate Obsługa transakcji Programowanie aspektowego Model MVC Integracja ze Struts Integracja z technologiami szablonów JSP, JSF

Architektura Spring Framework Źródło: http://www.springbyexample.org/examples

Inversion of Control (IoC) Źródło: http://www.springbyexample.org/examples

Wstrzykiwanie zależności Przykład Źródło: http://www.springbyexample.org/examples

Przykład 2 Wstrzykiwanie przez konstruktor Źródło: http://www.springbyexample.org/examples

Przykład 3 Setter injection Źródło: http://www.springbyexample.org/examples

Przykład 4 Wstrzykiwanie przez referencję Źródło: http://www.springbyexample.org/examples

Spring AOP Czym jest aspekt? Celem jest integracja AOP wewnątrz Spring IoC Wywołanie metody jest jedynym punktem złączenia Konfiguracja poprzez kontener

Spring AOP Umożliwia modularyzację kodu na szerszą skalę. Likwidacja nakładających się problemów przekrojowych Aspekty mogą modyfikować zachowanie kodu Podstawowe pojęcia AOP: - aspect problem przekrojowy - advice dodatkowa czynność, która zostanie wykonana w punkcie złączenia - join point punkt w aplikacji w którym zostanie zastosowana rada(advice)

Rodzaje rad w Spring AOP around advice: wykonywany jest przed i po punkcie styku, ma możliwość przerwania przepływu kontroli programu poprzez zwrócenie własnej wartości lub wyjątku, before advice: wykonuje się przed punktem styku, nie może zablokować przepływu kontroli programu, after returning advice: wykonywany jest po poprawnym wykonaniu operacji. throws advice: wykonywany jest w momencie zgłoszenia wyjątku

Deklaracja aspektu oraz punktu przecięcia Źródło: http://www.springbyexample.org/examples

Deklaracja rady Źródło: http://www.springbyexample.org/examples

Praktyczny przykład cz.1 package com.test.spring; public class ObslugaKina { public void zajmijmiejsca() { System.out.println("Obsluga wpuszcza kinomaniakow na sale."); } public void uruchomprojektor() { System.out.println("Obsluga kina uruchamia projektor i przewija reklamy!"); } }

Praktyczny przykład cz.2 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <bean id="obslugakina" class="com.test.spring.obslugakina"/> <aop:config> <aop:aspect ref="obslugakina"> <aop:pointcut id="seans" expression="execution(* com.test.spring.seans.start())"/> <aop:before pointcut="seans" method=zajmijmiejsca()/> </aop:aspect> </aop:config>

Praktyczny przykład cz.3 public class Seans { ObslugaKina pracuj = new ObslugaKina(); public void start() { pracuj.uruchomprojektor(); } }

Fabryki komponentów BeanFactory ApplicationContext obsługa zdarzeń, komunikatów ApplicationContext context = new ClassPathXmlApplicationContext("applicati on-config.xml"); ObslugaKina pracuj = (ObslugaKina) context.getbean("obslugakina");

Fabryki komponentów Dostarczają mechanizm zarządzania cyklem życia komponentu - InitializingBean - DisposableBean Oferują dwa tryby tworzenia komponentów: - singleton - prototype

Plan kolejnego wykładu Utrwalanie i dostęp do danych z wykorzystaniem Spring Hibernate Zarządzanie transakcjami Spring MVC Spring Web Flow Bezpieczeństwo Obsługa komunikatów w Springu

MATERIAŁY http://docs.oracle.com/javaee/6/tutorial/d oc/bnafd.html http://www.oracle.com/technetwork/java/ javaee/jsp/index.html http://www.tutorialspoint.com/spring/inde x.htm

Dziękuję za uwagę