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

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

BEAN VALIDATION. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

MIGRACJA SYSTEMÓW INFORMATYCZNYCH DO TECHNOLOGII JAVA

Szkolenie wycofane z oferty

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

Wprowadzenie. Narzędzia i środowiska programistyczne. Laboratorium 1. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2

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

Java. Michał Wójcik.

Java Server Faces narzędzie do implementacji w wy prezentacji

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

Enterprise Java Beans Narzędzia i Aplikacje Java EE

SOP System Obsługi Parkingów

CENNIK OPROGRAMOWANIE MEDIATOR/TERMINAL/TERMINAL GUI

CENNIK OPROGRAMOWANIE MEDIATOR/TERMINAL

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

CENNIK OPROGRAMOWANIE MEDIATOR/TERMINAL/TERMINAL GUI

EJB 3.0 (Enterprise JavaBeans 3.0)

JavaServer Faces (JSF)

JAVA NA SERWERZE SPRING. Waldemar Korłub. Platformy Technologiczne KASK ETI Politechnika Gdańska

Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

Architektury Usług Internetowych. Laboratorium 2 RESTful Web Services

Poznań Java User Group Java Server Faces. Wprowadzenie (Fakty i Mity)

Wybrane działy Informatyki Stosowanej

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

Nowoczesne aplikacje internetowe oparte o JEE7 (JSF2.2, EJB3.2, JPA2.1, CDI1.1, AJAX)

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

1 Wprowadzenie do J2EE

Aplikacje webowe z wykorzystaniem Node.js oraz Express

Program szkolenia: REST i Microservices w PHP

Enterprise JavaBean 3.0

Rozwiązania bazodanowe EnterpriseDB

Programowanie w Sieci Internet filtry oraz web.xml. Kraków, 11 stycznia 2013 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Wybrane działy Informatyki Stosowanej

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

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

Programowanie komponentowe 5

Zdalne logowanie do serwerów

Nowoczesne aplikacje internetowe oparte na JEE6 (JSF2, EJB3.1, JPA2, CDI, AJAX)

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

Java EE: JSF + EJB + JPA + CDI + BV

Architektury Usług Internetowych. Laboratorium 1 Servlety

L i f e r a y. Open Source Java Multiplatformowy

The current software tools for the JEE platform

Podstawowe informacje o technologii Java EE 7

Specyfikacja techniczna. mprofi Interfejs API

Enterprise JavaBeans

Komunikacja między serwletami

Integracja komunikatora opartego o protokół XMPP z dużym portalem internetowym

Java JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG

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

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4

Katalog książek cz. 3: Web Service

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

Wybrane działy Informatyki Stosowanej

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

KURS SPRING APLIKACJE WEBOWE

JAVA PERSISTENCE API CZĘŚĆ 2 ASPEKTY ZAAWANSOWANE. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak

JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008

dlibra 3.0 Marcin Heliński

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.

JUnit TESTY JEDNOSTKOWE. Waldemar Korłub. Platformy Technologiczne KASK ETI Politechnika Gdańska

ActiveXperts SMS Messaging Server

Programowanie współbieżne i rozproszone

Popularne dostępne rozwiązania. Najpopularniejsze środowiska programistyczne:

Pojęcie systemu baz danych

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

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

Zaawansowane Techniki Bazodanowe

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

Java Enterprise Edition spotkanie nr 1. Sprawy organizacyjne, wprowadzenie

Wywoływanie metod zdalnych

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

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

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

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

Dokument Detaliczny Projektu

Mapowanie obiektowo-relacyjne z wykorzystaniem Hibernate

Forum Client - Spring in Swing

Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz

JBoss Seam: framework nowej generacji. Copyright Piotr Kochański & Erudis,

IBM MobileFirst! Wprowadzenie do strategii IBM w zakresie rozwiązań mobilnych! Włodek Dymaczewski"

Zaawansowane Techniki WWW (HTML, CSS i NODE.JS)

Kolejkowanie wiadomości Standard MQ (JMS)

Wprowadzenie do Apache Spark. Jakub Toczek

Integracja systemów sterowania i sterowanie rozproszone 5 R

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

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

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

Wprowadzenie do projektu QualitySpy

Release Notes Process Data Flow ("PDF" )

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

Środowisko NetBeans. Paweł Boguszewski

AKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Elektroniki i Informatyki

Serwery LDAP w środowisku produktów w Oracle

Paweł Rajba

Platformy Programistyczne Zagadnienia sieciowe i wątki

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

POSTANOWIENIE. z dnia 20 sierpnia 2018 roku

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Transkrypt:

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

Java EE 8 Java EE 5 rok 2006 Java EE 6 rok 2009 Java EE 7 rok 2013 Java EE 8 rok 2017

Servlet 4.0 HTTP/2 Server push Programistyczne API do odczytywania mapowań servletów, np.: HttpServletMapping mapping = request.gethttpservletmapping(); String mapping = mapping.getmappingmatch().name(); String value = mapping.getmatchvalue(); String pattern = mapping.getpattern(); String servletname = mapping.getservletname();

HTTP/2 (maj 2015) Problemy z HTTP 1.1 (1999 rok): Obsługa potoków żądań (ang. pipelining) w ramach jednego połączenia TCP, ale nie równoległej obsługi n Jeśli jedno żądanie wymaga długiej obsługi, dalsze czekają w kolejce n Aby uzyskać zrównoleglenie konieczne jest otworzenie wielu połączeń TCP n Dodatkowe obciążenie dla klienta i serwera Kompresja dostępna dla ciała żądań/odpowiedzi, ale nie dla nagłówków Streaming tylko w jednym kierunku

HTTP/2 Jedno połączenie TCP dla każdego klienta W ramach połączenie mogą występować niezależne strumienie Strumienie obsługiwane równolegle Dwukierunkowa komunikacja w ramach strumienia Możliwość priorytetyzacji strumieni w ramach połączenia Kompresja kompletnych wiadomości łącznie z nagłówkami Obsługa dwukierunkowego streamingu

HTTP/2

Bean Validation 2.0 Nowe walidatory w standardzie: @Email @Positive, @PositiveOrZero, @Negative, @NegativeOrZero, @PastOrPresent, @FutureOrPresent, @NotEmpty, @NotBlank Walidacja elementów w kolekcjach, np.: @Size(min=1) Map<@Size(min=3) String, @Valid Book> bookbyauthor;

CDI 2.0 Możliwość użycia adnotacji @Priority w celu określenia kolejności wywoływania obserwatorów, np.: public void receive(@observes @Priority(10) BookEvent event) { } // Zdarzenia asynchroniczne W CDI 1.1 wszystkie zdarzenia wywoływane są synchroniczne

CDI 2.0 asynchroniczne zdarzenia Producent: @Inject Event<BookEvent> event; // event.fireasync(bookevent); Obserwator: public void receive(@observesasync BookEvent event) { } //

JAX-RS 2.1 Obsługa mechanizmu Server Sent Events API (SSE) Reaktywne API dla klas klienckich Pełna obsługa specyfikacji JSON-P oraz JSON-B

JSF 2.3 Lepsza integracja z CDI Wstrzykiwanie w konwerterach i walidatorach! Wstrzykiwanie standardowych artefaktów JSF, np.: @Inject ExternalContext context; Adnotacje komponentów @ManagedBean i ich zasięgów oznaczone jako deprecated n Na rzecz komponentów i zasięgów z CDI Integracja z mechanizmem WebSocket: Widok: <f:websocket channel="mychannel" onmessage="..." /> Backing bean: @Inject @Push private PushContext mychannel;

JSF 2.3 Wprowadzono do standardu wiele elementów z biblioteki OmniFaces, m.in.: <f:validatewholebean> <h:commandscript> SelectItemsConverter <f:importconstants>

JSON Binding API (JSON-B) API do mapowania danych z obiektów na format JSON (i z powrotem) Podobne do JAX-B Przykładowe użycie: String json = JsonbBuilder.create().toJson(book); Book book = JsonbBuilder.create().fromJson(json, Book.class);

Rozwój Javy EE

Rozwój Javy EE Do 2009 roku Java EE była rozwijana pod pieczą firmy Sun Microsystems W 2010 roku firma Oracle wykupiła Sun Microsystems za 5,6 miliarda dolarów Większość przychodów Sun Microsystems pochodziła ze sprzedaży sprzętu Serwery klasy enterprise oparte na architekturze Sparc Oracle było firmą wytwarzającą oprogramowanie Oprogramowanie bazodanowe Oracla + serwery bazodanowe Suna = idealne połączenie Istotną motywacją zakupu było również przejęcie Javy Oraz przejęcie dotychczasowych klientów korporacyjnych Suna

Open source odziedziczony po Sun W wyniku zakupu firma Oracle przejęła opiekę nad szeregiem innych projektów którymi nie była specjalnie zainteresowana Sun Microsystems było firmą otwartą na społeczność Opieka nad wieloma projektami open source, m.in.: n OpenOffice n MySQL n Hudson n OpenSolaris n VirtualBox Java Community Process

Open source odziedziczony po Sun Oracle preferuje korporacyjną kulturę pracy Część projektów open source podjęło decyzję o rozpoczęciu forka pod inną nazwą OpenOffice à LibreOffice MySQL à MariaDB Hudson à Jenkins Inne projekty firma Oracle przekształciła w projekty wewnętrzne (już nie open source), np.: n OpenSolaris à Oracle Solaris n Sun Grid Engine à Oracle Grid Engine Jeszcze inne projekty po prostu zamknięto

Przyszłość Javy EE Współpraca z firmą Oracle powoduje tarcia w społeczności Po wydaniu Javy EE 8 Oracle zdecydowało o przekazaniu pieczy nad Javą EE fundacji Eclipse Rozpoczęto projekt Eclipse Enterprise for Java (EE4J) Fundacja Eclipse jest już autorem Microprofile Plany odnośnie zmiany cyklu wydawniczego Stały cykl wydawniczy + wydania LTS

Pytania?