Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

L o g o Java Enterprise Ed. vs Spring Framework SDM-1 Agnieszka Brejnak.

Podobne prezentacje


Prezentacja na temat: "L o g o Java Enterprise Ed. vs Spring Framework SDM-1 Agnieszka Brejnak."— Zapis prezentacji:

1 L o g o Java Enterprise Ed. vs Spring Framework SDM-1 Agnieszka Brejnak

2 L o g o Plan prezentacji Cel pracy magisterskiej Java EE Spring Framework Bezpieczeństwo Eclipse IDE i Plugin-Development Environment

3 L o g o Cel pracy magisterskiej Przedstawienie mechanizmów bezpieczeństwa w Java EE 5 oraz Spring Security 2.0 Identyfikacja problemów w obydwu rozwiązaniach Stworzenie wtyczki do Eclipse IDE dla Spring Security

4 L o g o Java EE: FAQ Co to jest Java Enterprise Edition? Czym się różni Java EE od Java SE? Czy Java EE to to samo co J2EE? Czym się różni Enterprise Java Bean od Java Bean? Czy aplikacje Java EE muszą być uruchamiane na serwerach aplikacji? W jakim środowisku pisać aplikacje JEE?

5 L o g o Java EE Java Platform Enterprise Edition is a set of coordinated technologies that significantly reduces the cost and complexity of developing, deploying, and managing multitier, server-centric applications. Building on the Java SE, Java EE adds the capabilities that provide a complete, stable, secure, and fast Java platform for the enterprise.

6 L o g o Java EE: Serwery aplikacji JEE to tylko specyfikacja. Komercyjne BEA WebLogic Sun Java System Application Server IBM WebSphere Oracle Application Server SAP NetWeaver Otwarte JBoss Glassfish Apache Geronimo Specyfikacja ma juz prawie 2 lata a jeszcze nie wszystkim udało się uzyskać certyfikat

7 L o g o Java EE: Historia

8 L o g o Java EE i jej składowe

9 L o g o Java EE: Architektura aplikacji 1.Programy i applety klienckie uruchomione na maszynie klienta 2.Komponenty webowe uruchomione na serwerze w kontenerze webowym 3.Komponenty biznesowe uruchomione na serwerze w kontenerze EJB

10 L o g o Java EE: EJB EJB jest dla Java EE tym czym jest Myszka Mickey dla Walta Disneya Komponenty realizujące logikę biznesową Zarządzane przez kontener EJB Można je konfigurować adnotacjami Dodatkowe usługi (transakcje, bezpieczeństwo) zapewniane przez kontener Klienci EJB: aplikacje biurkowe, przeglądarki, usługi sieciowe EJB są rejestrowane w kontenerze i udostępniane innym

11 L o g o Java EE: Zastosowania EJB 3 rodzaje klientów aplikacje usługi sieciowe przeglądarki Do EJB można się dostać: bezpośrednio przez JSP/Servlety EJB może się komunikować z: innymi EJB bazami danych i innymi systemami spadkowymi usługami sieciowymi

12 L o g o Java Server Faces JSF to framework wspomagający tworzenie interfejsu użytkownika aplikacji JEE uruchamianych po stronie serwera. Zgodny z architekturą MVC rozdzielającą interfejs, dane i logikę biznesową. Dodatkowo zapewnia mechanizmy: zarządzania bean'ami. zarządzania nawigacją w aplikacji. przechwytywania wyjątków i błędów, internacjonalizacji aplikacji

13 L o g o Java EE: Zmiany, zmiany... Gdzie Java EE zaspała? Utrwalanie danych: Hibernate Framework dla aplikacji Web: Struts Wstrzeliwanie zależności: Spring IoC Adnotacje: XDoclet Wsparcie dla testów – nadal brak

14 L o g o Java EE: Problemy Zbyt rozbudowana specyfikacja (nie wszystkie serwery aplikacyjne są certyfikowane) Problemy z testowaniem jednostkowym Konieczność uruchamiania EJB w kontenerze Zbyt powolna reakcje na potrzeby programistów Złe nastawienie do EJB po poprzednich wersjach Czy JEE 6 rozwiąże te problemy?

15 L o g o Nadeszła wiosna Marzec 2004

16 L o g o Spring Framework Autorzy: Rod Johnson, Jurgen Hoeller (Spring Source) Początki w książce (2002) Historia Spring Marzec 2004 Spring 2.0 – Wrzesień 2006 Spring 2.5 – Listopad 2007

17 L o g o Spring Framework : FAQ Co to jest Spring Framework? Czy w Springu pisze się programy w Javie? Czym Spring Framework różni się od Java EE? Czy to jeden z wielu webowych frameworków? Kto używa Spring Framework?

18 L o g o Spring Framework Spring is a lightweight inversion of control and aspect-oriented container framework. Spring nie jest implementacją JEE Spring nie jest serwerem aplikacyjnym

19 L o g o Spring Framework Cel: ułatwienie pisania aplikacji J2EE (aktualnie JEE) Framework wspomagający tworzenie aplikacji na każdym poziomie Integracja i ułatwienie korzystania z istniejących technologii (w tym z JEE) Struts, JSF, WebWork Hibernate, TopLink, JPA JDBC, JTA

20 L o g o Architektura Spring Framework Architektura modułowa Moduły niezależne od siebie Stopniowe wprowadzanie w projekt Dostosowanie do potrzeb

21 L o g o Spring Portfolio Spring Web Flow Spring Web Services Spring Security Spring Batch Spring IDE Spring Integration Spring.NET (!)...

22 L o g o Spring Framework: cechy Wstrzeliwanie zależności (IoC, DI) Programowanie aspektowe (AOP) Ułatwienie programowania Wsparcie dla procesu testowania Nieinwazyjność Dostarczanie usług (transakcje, bezpieczeństwo) bez użycia kontenera

23 L o g o Spring Framework IoC Kontener Inversion of Control = Dependency Injection Identyfikuje i udostepnia obiekty aplikacji Zarządza cyklem życia obiektu Konfiguruje obiekty, w tym: wszczepia zależności dekoruje obiekty transakcyjnością, mechanizmami bezpieczeństwa Obiekt nie musi tworzyć ani szukać swoich składowych

24 L o g o Wstrzykiwanie zależności

25 L o g o JDBC... List commissions = new ArrayList(); Statement stmt = null; ResultSet rs = null; try { stmt = this.myConnection.createStatement(); rs = stmt.executeQuery("SELECT comm FROM emp"); while (rs.next()) { Integer commission = new Integer(rs.getInt("COMM")); if (rs.wasNull()) commission = null; commissions.add(commission); } } catch (SQLException sqlEx) { logger.severe(sqlEx.getMessage()); logger.severe(sqlEx.getErrorCode()); logger.severe(sqlEx.getSQLState()); } finally { try { if (rs != null) rs.close(); if (stmt != null) stmt.close(); } catch (SQLException sqlEx) { logger.severe(sqlEx.getMessage()); } List comms = new ArrayList(); JdbcTemplate jt = new JdbcTemplate(datasource); List res = jt.queryForList("SELECT comm FROM emp"); Iterator it = res.iterator(); while (it.hasNext()) { Number comm = ((Map)it.next()).get("COMM"); if (comm != null) comms.add(new Integer(comm.intValue()) ); }

26 L o g o Java EE vs Spring Java EE Spring ciężki kontener EJB lekka JVM usługi zapewniane przez kontener przez framework

27 L o g o Java EE vs Spring Java EE 5Spring 2.5 Wstrzykiwanie zależności Tak (ograniczenia)Tak AdnotacjeTak Kontener EJBTakNie Wsparcie dla TDD BrakBardzo dobre Inne technologieNieIntegracja POJO~TakTak InwazyjnośćTakNie Architektura modułowa NieTak

28 L o g o Java EE vs Spring: Trendy

29 L o g o Sun i SpringSource To nie tylko rywalizacja SpringSource członkiem grupy eksperckiej dla Java EE 6 Wsparcie dla Spring Framework w Netbeans IDE Spring integruje się z EJB Spring może opakować POJO i udostępniać je jako EJB

30 L o g o

31 Bezpieczeństwo Wiele poziomów bezpieczeństwa: zabezpieczenia komputera klienckiego aplikacje bazy danych sieci komputerowe systemy operacyjne fizyczny dostęp do urządzeń uświadamianie ludzi (korporacje)

32 L o g o Bezpieczeństwo aplikacyjne Uwierzytelnianie Autoryzacja Niezaprzeczalność Logowanie aktywności Szyfrowanie i integralność Wykrywanie aktywności człowieka

33 L o g o Bezpieczeństwo: JEE i Spring JEE i Spring Security (dawniej Acegi) Podobieństwa: Konfiguracja poprzez: adnotacje, XML i programowa Wsparcie dla uwierzytelniania, autoryzacji, wymuszenie szyfrowania, rozpoznawania aktywności człowieka Wykorzystanie AOP

34 L o g o Bezpieczeństwo: JEE i Spring Różnice: Spring Security: konfiguracja zamknięta w WAR Spring Security: zabezpieczenie dowolnej klasy, metody, instancji obiektu Spring Security: bogatsze API Spring Security: hierarchiczne role

35 L o g o Spring Security

36 L o g o Eclipse Popularne IDE Open-source, wspierany przez IBM Ponad 1000 wtyczek Główni konkurenci: NetBeans, Sun IntelliJ IDEA, Jet Brains

37 L o g o PDE

38 L o g o Cel...

39 L o g o Dziękuję za uwagę. Pytania?


Pobierz ppt "L o g o Java Enterprise Ed. vs Spring Framework SDM-1 Agnieszka Brejnak."

Podobne prezentacje


Reklamy Google