Programowanie warstwy klienta w aplikacji Java EE



Podobne dokumenty
SPRING FRAMEWORK. dr inż. Jakub Chłapioski

Programowanie warstwy klienta w aplikacji Java EE

Efektywne wspieranie procesu projektowego

MODELOWANIE W UML DO OPISU BIZNESU, CZY SYSTEMÓW?

Wymagania techniczne aplikacji LSI

Wymagania edukacyjne z przedmiotu Pracownia aplikacji internetowych dla klasy 3iA Nauczyciel: Kornel Barteczko Rok szkolny: 2015/2016

MIGRACJA SYSTEMÓW INFORMATYCZNYCH DO TECHNOLOGII JAVA

MAS dr. Inż. Mariusz Trzaska. Wykład 1

Baza Aktów Własnych Opis produktu. Zastosowanie, Wykaz funkcjonalności, Cennik.

Oznaczenie CE. Ocena ryzyka. Rozwiązanie programowe dla oznakowania

Administracja Publiczna 2.0

Zapytanie ofertowe. Stworzenie inteligentnych narzędzi do generacji i zarządzania stron internetowych (SaaS+WEB2.0),

Chmura obliczeniowa. Rozwiązania dla biznesu.

Załącznik nr 1. do Zaproszenia do złożenia oferty

ciowy z kategorii Health 2.0 dla Benhauer

Krok3: Nawiercenie w murze otworu o średnicy 6,0 mm

Warszawska Wyższa Szkoła Informatyki Pracownia Bez Barier - opis wyposażenia

Podstawy Programowania

AgroColumbus unikalny system oświetlenia kurników

stworzyliśmy najlepsze rozwiązania do projektowania organizacji ruchu Dołącz do naszych zadowolonych użytkowników!

TECHNOLOGIA EJB I JPA KOD: EJBJPA

Elektroniczny Urząd oczami Comarch Nowoczesna administracja oczami Comarch

Standardy proceduralne i dokumentacyjne

Załącznik nr 3 do SIWZ

Partner projektu F5 Konsulting Sp. z o.o. ul. Składowa 5, Poznań T: F:

Kliknij przycisk Start > Panel sterowania > Konta użytkowników > Poczta (w widoku

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

Oświadczenie o przygotowaniu systemu Comarch ERP Optima wersja do wymagań RODO

SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA

WSTĘP. Greg DAY, analityk ds. bezpieczeństwa w firmie McAfee

SENTE CMS zarządzanie treścią witryny internetowej

PL

Nowe funkcje w module Repozytorium Dokumentów

CIEPŁA RAMKA, PSI ( Ψ ) I OKNA ENERGOOSZCZĘDNE

amjam 2015 Regulamin

Wybrane działy Informatyki Stosowanej

Obsługa Rejestracji Wydarzeń. Light Code Register

Raport Wykaz autorów. Generowanie raportu przez redaktora jednostki.

WYMAGANIA EDUKACYJNE Z PRZEDMIOTU PRACOWNIA URZĄDZEŃ TECHNIKI KOMPUTEROWEJ. dla klasy 1ia. Rok szkolny 2015/2016 Nauczyciel: Agnieszka Wdowiak

Moduł korekty podatku dochodowego

odkryj swój biznes na nowo

TWORZENIE I TESTOWANIE TEST-DRIVEN DEVELOPMENT APLIKACJI Z UŻYCIEM KOD: TDD

Ogólnouczelniana platforma TAH

Wybrane działy Informatyki Stosowanej

Ekspertyza w zakresie oszacowania kosztów zaprojektowania i wykonania systemu identyfikacji i rejestracji zwierząt towarzyszących

Inżynieria Oprogramowania 2013/14. Testy integracyjne

CERTO program komputerowy zgodny z wytycznymi programu dopłat z NFOŚiGW do budownictwa energooszczędnego

WYMAGANIA EDUKACYJNE Z INFORMATYKI

Wprowadzenie do Internetu zajęcia 1

System B2B automatyzujący zamówienia u producentów i dostawy do odbiorców asortymentu medycznego.

Notatka ze spotkania Lp. Imię i nazwisko Organizacja

PV-RPDVR. Oznaczenia przykładowego rejestratora RP16400H:

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

Kluczowe przesłania. III Europejska Konferencja Wodna. Bruksela, maja Centrum Konferencyjne Charlemagne w Brukseli. Sala Alcide de Gasperi

Wykrywanie i usuwanie uszkodzeń w sieci

PROGRAM SZKOLENIA DLA SPECJALISTÓW RYNKU PRACY Z UŻYTKOWANIA OPROGRAMOWANIA EIPD

Wymagania edukacyjne z przedmiotu Witryny i aplikacje internetowe dla klasy 3iA Nauczyciel: Mariusz Walendzewicz Rok szkolny: 2015/2016

Baza aktywności e-learningowej uczelni

REGULAMIN OGÓLNOPOLSKIEGO KONKURSU POPRAWY WARUNKÓW PRACY

PROTOTYP C4 CACTUS AIRFLOW 2L: TYLKO 2L/100 KM

Instrukcja obsługi Panelu Sklep

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

Pompy ciepła typu powietrze / woda Podgrzewanie ciepłej wody użytkowej, wody basenowej i ogrzewanie budynku

ZESPÓŁ LABORATORIÓW TELEMATYKI TRANSPORTU ZAKŁAD TELEKOMUNIKACJI W TRANSPORCIE WYDZIAŁ TRANSPORTU POLITECHNIKI WARSZAWSKIEJ

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

Projekt Con ten t Managment S ys tem Profilow a nie

Aplikacje WWW Wprowadzenie

Dane kontaktowe. 1. Zamówienia należy składać za pośrednictwem strony internetowej

Programowanie w internecie nazwa przedmiotu SYLABUS A. Informacje ogólne

FORDATA Virtual Data Room. Możliwości zastosowania

ZESPÓŁ OPIEKI ZDROWOTNEJ. w Świętochłowicach sp. z o.o.

Nawiewnik z filtrem absolutnym NAF

Automatyzacja pracy w magazynie tylko na bazie standardowo zakodowanych informacji!

Wstęp. 2. Definicje. 3. Warunki zawarcia umowy

Wybrane działy Informatyki Stosowanej

NARODOWE CENTRUM BADAŃ I ROZWOJU

Instrukcja dla użytkownika Płockiej Platformy Teleinformatycznej E - Urząd

Prezentacja firmy Royal Solutions Sp. z o.o.

Wymagania edukacyjne z przedmiotu Systemy baz danych dla klasy 3iA Nauczyciel: Kornel Barteczko Rok szkolny: 2015/2016

Kadry i Płace. Moduł Płace i Kadry składa się z siedmiu działów:

BIZNES PLAN. dla Wnioskodawców ubiegających się o dofinansowanie projektu w ramach. Programu Operacyjnego Innowacyjna Gospodarka

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Uwarunkowania rozwoju energetyki wiatrowej na Podkarpaciu. Piotr Pawelec Podkarpacka Agencja Energetyczna Sp. z o.o.

Ogłoszenie o zamówieniu BZP - postępowanie nr A /14/PJ

Konkurs dotacyjny na wydarzenie edukacyjno informacyjne pn. Festiwal recyklingu w ramach kampanii Nowe prawo odpadowe nowy styl życia Dolnoślązaków.

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

Cennik. Szkolenia zintegrowane. Java

Fundacja Rozwoju Systemu Edukacji Narodowa Agencja Programu Uczenie się przez całe życie

Współpraca programów WINBUD Kosztorys i Symfonia Handel premium I Informacje ogólne

Szkolenie BIM dla menedżerów

Warunki usług międzynarodowych. Aktualizacja - 25 października 2015 r.

Temat: Konfiguracja ekranu. Konfiguracja kart dźwiękowych. Konfiguracja napędów CD i CD-RW.

e Policja w służbie społeczeństw u województwa śląskiego DZIAŁANIE ROZW ÓJ ELEKTRONICZN YCH USŁUG PUBLICZNYCH

"Zarządzanie kompetencjami w realizacji strategii firmy"

Instrukcja użytkownika

Konkurs dotacyjny na wydarzenie edukacyjno informacyjne pn. Festiwal recyklingu w ramach kampanii Nowe prawo odpadowe nowy styl życia Dolnoślązaków.

Nowe funkcje w programie Symfonia e-dokumenty w wersji Spis treści:

Transkrypt:

Prgramwanie warstwy klienta w aplikacji Java EE Katedra Mikrelektrniki i Technik Infrmatycznych Plitechniki Łódzkiej ul. Wólczanska 221/223 budynek B18, 90-924 Łódź mgr inż. Rbert Ritter

1. Wprwadzenie C t jest aplikacja internetwa? C t jest szkielet aplikacyjny? Platfrmy d aplikacji internetwych Najppularniejsze szkielety aplikacyjne Jak wybrać dpwiednią platfrmę/szkielet d danej aplikacji internetwej? Jakie są zalety platfrmy JavaEE?

C t jest aplikacja internetwa? 3 mgr inż. Rbert Ritter, ritter@dmcs.pl Prgram architekturze klient serwer Kmunikacja pmiędzy klientem a serwerem pprzez prtkół HTTP (HTTPS) Interfejs użytkwnika wyknany w standardzie HTML (XHTML) dstępny przy użyciu przeglądarki internetwej

C t jest szkielet aplikacyjny (framewrk)? 4 mgr inż. Rbert Ritter, ritter@dmcs.pl Oprgramwanie udstępniające zestaw kmpnentów implementujących najczęściej wykrzystywane w budwaniu aplikacji elementy Zawiera elementy charakterze uniwersalnym dla większści aplikacji, nadające się przy niewielkim nakładzie pracy d wielkrtneg wykrzystania, np.: Mechanizmy sesji, kntynuacji, itd. Mechanizmy dstępu d źródeł danych Szkielet wzrca prjektweg Mdel-View-Cntrller lub Mdel-Presenter- Cntrller Mechanizmy uwierzytelniania i bezpieczeństwa Za załżenia ma ułatwiać implementwanie raz utrzymanie aplikacji Zasada wielkrtneg wykrzystywania kdu (cde reuse) Sprecyzwanie reguł prjektwania aplikacji upraszcza utrzymanie kdu Szkielety aplikacyjne mgą wspierać większść lub tylk wybrane aspekty implementacji i bardz częst stsuje się kilka szkieletów d jednej aplikacji

Platfrmy dla aplikacji internetwych 5 mgr inż. Rbert Ritter, ritter@dmcs.pl D implementacji aplikacji internetwej mżna zastswać cały szereg technlgii (platfrm), wykrzystujących różne języki prgramwania PHP JavaEE (Java) ASP.NET (C#, VisualBasic) Perl Pythn Ruby CldFusin (CFML)

Najppularniejsze szkielety aplikacyjne 6 mgr inż. Rbert Ritter, ritter@dmcs.pl Nie mżna jednznacznie kreślić który szkielet aplikacyjny lub która platfrma jest najppularniejsza. Pewne pjęcie ppularnści daneg rzwiązania daje liczba wyszukań w wyszukiwarkach, liczba dnśników d strny prezentującej dane rzwiązanie, liczba pbrań kdu itd. Według różnych źródeł najczęściej stswane platfrmy t PHP, ASP.NET, Ruby, Java (JavaEE) Ważną pzycję na rynku psiada również Adbe Flex N Framewrk Language Ppularity scre 1 ASP.NET C# 99 2 Ruby On Rails Ruby 88 3 Flask Pythn 87 4 Djang Pythn 82 5 Yii PHP 82 6 CakePHP PHP 82 7 Zend PHP 82 8 Spring Java 79 9 Symfny PHP 78 10 FUSE PHP 77 Źródł: www.htframewrks.cm z dnia 2013-02-24

Najppularniejsze szkielety aplikacyjne (2) 7 mgr inż. Rbert Ritter, ritter@dmcs.pl Dla platfrmy JavaEE najppularniejsze szkielety aplikacyjne t Spring, Turbine raz Vaadin Dużą ppularnścią cieszy się również JSF (wg niektórych źródeł największą) Ppularnść pzstałych wymieninych szkieletów jest jednak bardz zbliżna, wyniki niezależnych rankingów różnią się bardz znacząc N Framewrk Language Ppularity scre 1 Spring Java 79 2 Turbine Java 70 3 Vaadin Java 60 4 Seam Java 44 5 Play Java 40 6 Rma Java 39 7 Restlet Java 37 8 HybridJava Java 37 9 Stripes Java 35 10 PureMVC Java 34 Źródł: www.htframewrks.cm z dnia 2013-02-24

Wybór szkieletu aplikacyjneg 8 mgr inż. Rbert Ritter, ritter@dmcs.pl Z reguły przy wybrze szkieletu aplikacyjneg lub platfrmy architekci muszą dpwiedzieć sbie na kilka pytań: Zastswanie któreg szkieletu/platfrmy umżliwi zrealizwanie wszystkich załżeń aplikacji? Jaki szkielet/platfrma pzwli zaimplementwać daną aplikację najmniejszym ksztem? Jaki jest kszt wdrżenia zespłu prgramistów d stswania danej technlgii? Jaka jest dstępnść raz jakść dkumentacji? Czy dana technlgia jest nadal aktywnie rzwijana? Jaki jest kszt (licencja) sameg szkieletu/platfrmy? Jaki jest kszt sprzętu niezbędneg d spełnienia wymagań wydajnściwych aplikacji? Jakie są mżliwści skalwania (wydajnść) kreślnej platfrmy/szkieletu?

Wybór szkieletu aplikacyjneg (2) 9 mgr inż. Rbert Ritter, ritter@dmcs.pl Zastswanie któreg szkieletu/platfrmy umżliwi zrealizwanie wszystkich załżeń aplikacji? Mżna zaryzykwać stwierdzenie, iż wszystkie rzwiązania umżliwiają zaimplementwanie dwlnej funkcjnalnści, ile jest t tylk mżliwe wbec graniczeń sameg prtkłu kmunikacji HTTP, mżliwści przeglądarek itd. Niektóre funkcjnalnści są lepiej lub grzej wspierane przez różne szkielety aplikacyjne (np. kntynuacja, uwierzytelnianie, itd.) Wnisek najlepiej jest wybrać rzwiązanie które najlepiej wspiera najtrudniejsze (najbardziej ksztwne) d zaimplementwania funkcjnalnści danej aplikacji

Wybór szkieletu aplikacyjneg (3) 10 mgr inż. Rbert Ritter, ritter@dmcs.pl Jaki szkielet/platfrma pzwli zaimplementwać daną aplikację najmniejszym ksztem? Najczęściej dminującą składwą całkwiteg ksztu są nakłady ptrzebne na płacenie zespłu analityków, architektów, prgramistów raz testerów Aby graniczyć kszt należy c d zasady wybierać rzwiązania już sprawdzne i znane w zesple Należy unikać rzwiązań przestarzałych i nie rzwijanych lub nie psiadających dbrze zredagwanej i kmpletnej dkumentacji W przypadku mniejszych aplikacji cena licencji na technlgie raz narzędzia (np. ASP.NET wraz z Windws Server raz Visual Studi) mże zniechęcać d ich wykrzystania, jednak w dużych aplikacjach najczęściej kszt ten nie ma dużeg znaczenia

Wybór szkieletu aplikacyjneg (4) 11 mgr inż. Rbert Ritter, ritter@dmcs.pl Jakie są mżliwści skalwania (wydajnść) kreślnej platfrmy/szkieletu? Ppularne platfrmy i szkielety ferują dść zbliżną wydajnść, trudn wskazać tutaj jednznaczneg lidera Pewne technlgie ułatwiają implementację niektórych funkcjnalnści ksztem wydajnści (np. JSF feruje przeciętnie kł 3-krtnie grszą wydajnść niż JSP), jednak zmniejszenie ksztu implementacji bardz częst przewyższa kszt zakupu wydajniejszeg serwera który pzwli spełnić załżne nrmy jakściwe. Skalwalnść aplikacji t sztuka sama w sbie, którą realizuje się pprzez zaprjektwanie dpwiedniej architektury aplikacji, a nie pprzez wykrzystanie knkretnej platfrmy lub szkieletu aplikacyjneg. Mżna w uprszczeniu załżyć, iż żadna platfrma/szkielet nie skaluje się grzej d pzstałych.

2. Platfrma JavaEE Zalety platfrmy JavaEE Przegląd wybranych szkieletów aplikacyjnych dla JavaEE

Zalety platfrmy JavaEE 13 mgr inż. Rbert Ritter, ritter@dmcs.pl Prstta i ppularnść języka Java Bardz dbre wsparcie dla najczęściej wykrzystywanych algrytmów raz struktur danych Mżliwść stswania adntacji w kdzie Java Metaprgramwanie dzięki Java Reflectin API Prgramwanie aspektwe Darmwe narzędzia bardz bgatych mżliwściach d prjektwania i implementacji aplikacji internetwych Eclipse IDE fr Java EE Develpers (www.eclipse.rg) NetBeans IDE (www.netbeans.rg) Dstępnść platfrmy na wszystkich ppularnych systemach peracyjnych

Zalety platfrmy JavaEE (2) 14 mgr inż. Rbert Ritter, ritter@dmcs.pl Dstępnść darmwych, intensywnie rzwijanych technlgii raz szkieletów aplikacyjnych d zrealizwania i wdrżenia kmpletnej aplikacji internetwej Serwer aplikacji (servlet-ów) (Tmcat, JBss, Glassfish) Kntener dwrócneg sterwania (Spring) Dstęp d baz danych (JDBC) Mapwanie relacyjn-biektwe (Hibernate) Generwanie dynamicznych widków HTML (JSP, JSF) Generwanie raprtów (JasperReprts) Wzrzec Mdel-View-Cntrller (Spring MVC, Struts 2) Wsparcie dla testów jednstkwych (JUnit) i wiele innych...