Anwendung von Java Enterprise Edition (J2EE)

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Anwendung von Java Enterprise Edition (J2EE) - Presentation Transcript

    1. Tech Talk Anwendung von Java Enterprise Edition Markus Kunde (SC-VK) Köln, 18.11.2008
    2. Inhalt
      • Historie
      • Was ist JEE?
      • Schematischer Aufbau und Funktionsweise
      • Einsatzmöglichkeiten
      • Enterprise Java Beans
      • Persistenz
      • Erwähnenswertes
      • Demo
    3. Historie http://de.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition (07.11.2008) 11. Mai 2006 5 24. November 2003 1.4 24. September 2001 1.3 23. Mai 2000 1.2.1 2000 1.2 Dezember 1999 1.0 Veröffentlichungsdatum Version
    4. Was ist JEE?
      • J ava Platform E nterprise E dition (früher J2EE)
      • Spezifikation einer Software Architektur
      • Benötigt als Laufzeitumgebung einen JEE Application Server
      • Modularer Aufbau, gut skalierbar, fehlertolerant, verteilt einsetzbar, mehrschichtig
      • Größter Konkurrent: .Net Plattform von Microsoft
      • Definiert über die Spezifikation (API)
      • EJB (Enterprise Java Beans)
      • Servlets
      • JSP (Java Server Pages)
      • JSTL (JSP Standard Tag Library)
      • JSF (Java Server Faces)
      • JMS (Java Message Service)
      • Java Transaction
      • Java Mail
      • JDBC (Java Database Connectivity)
      • JPA (Java Persistence API)
      • JNDI (Java Naming & Directory Interface)
      • JAAS (Java Authentication & Authorization Service)
      • … .
    5. Schematischer Aufbau
      • http://java.sun.com/javaee/5/docs/tutorial/doc/bnaay.html (07.11.2008)
    6. Einsatzmöglichkeiten
      • Situationen, die ein Indikator für den Einsatz sind:
        • Business Transaktionen
        • Verteilte Funktionalität
        • Portable Komponenten
        • Asynchroner Nachrichtenaustausch
        • Berechtigungsrollen
        • Persistenzkontext Management
      • Kein Einsatz in Situationen, wo:
        • Applikationen die Threadkontrolle benötigen
        • Hohe Performance ein hartes Kriterium ist
        • Datenbank „babysitting“
    7. Enterprise Java Beans (3.0)
      • Session Beans
        • Management von vielfältigen Aufgaben
        • Stateful oder Stateless
      • Message-Driven Beans
        • Abonnieren/ Hören auf Nachrichten
        • Reagieren durch Prozessierung asynchroner Nachrichten aus Systemen wie JMS, Legacy Systemen, Web Services
      • Interfaces
        • Remote
        • Local (Aktion findet in der selben JVM statt)
        • Endpoint (via SOAP)
      • Technisch
        • Proxy/Stub
        • Manager: EJB Container
        • Kein persistenten Zustand; Aktivität ist transient
      http://www.volkskunstshop.com/figurkerzen-kaffeebohnen-stueck-p-10927.html (13.11.2008)
    8. Message Driven Beans – Java Message Service
      • Ansatz
        • JMS ist eine Anbieter-neutrale API zum Zugriff auf Enterprise Messaging Systeme
        • EJB 3.0 Anbieter müssen einen JMS Provider anbieten
        • Producer/Consumer Prinzip
      • Zwei Modelle
        • Point-To-Point (Queue)
        • Publish/Subscribe (Topic)
      • Fünf Nachrichten-Typen
        • MapMessage (Name/Wert Paare)
        • BytesMessage (Byte Daten)
        • ObjectMessage (Serialisierbare Objekte)
        • StreamMessage (Stream von Objekten)
        • TextMessage (String)
      • Achknowledgements
        • AUTO_ACKNOWLEDGE; CLIENT_ACKNOWLEDGE; DUPS_OK_ACKNOWLEDGE
    9. EJB Life Cycle
      • Beispiel: Stateful Session Bean
      Existiert nicht Bereit Passiv 1. Create 2. Dependency Injection 3. PostConstruct callback 4. Init method (or ejbCreate<METHOD>) PrePassive callback 1. Remove 2. PreDestroy callback PrePassive callback
    10. EJB Container
      • Aufgabe
        • Vorhaltung von diversen Bean Instanzen
      • Management
        • Bean Instanzen
        • Security
        • Transaktionen
        • Lebenszyklus der Bean Instanz
        • Routing vom Proxy zur richtigen Bean Instanz
      • Verhalten kommt auf den Bean Typ an
    11. EJB Container
      • Stateless Session Bean
      O‘Reilly Enterprise Java Beans 3.0, 5th edition, ISBN: 0-596-00978-X
      • Stateful Session Bean
    12. Entity Beans (EJB 3 Entity) - Java Persistence API
      • Sind Pojos
      • Modellieren reale Welt Objekte
      • Erhalten einen Primärschlüssel (Klasse/primitiver Typ)
      • Management von einem sog. Persistence Service
      • Managed (attached) oder Unmanaged (detached)
      http://www.idsa.org/idea/idea2005/images/105-B-FlatOut.jpg (13.11.2008) (früher andere Bedeutung!)
    13. Entity Manager
      • Zentraler Service für alle Persistenzaktionen
      • Manager für OR-Mapping
      • API für
        • Erstellung von Abfragen
        • Finden von Objekten
        • Objektsynchronisierung
        • Manipulation von Objekten
      • Persistence Context
        • Sammlung aller gemanagten Entitiy Objekt Instanzen
      • Persistence Unit
        • Sammlung der Klassen, die zu einer bestimmten Datenbank gemappt weden
    14. Primärschlüssel
      • Primärtypen/ Composite Keys
      • @IdClass Annotation der Primärschlüsselklasse
        • @Id Annoation der zugrunde liegenden Klasse
      • Wird benötigt zur Interaktion mit dem Entity Manager
      • Interface „Serializable“ muss implementiert sind
      • Standardkonstruktor muss vorhanden sein
      • Überschreiben der Methoden „hashCode()“ und „equals()“
      • „ Autogeneration“-Funktion wird nicht für Composity Keys angeboten
      http://media.volblog.at/13714/20080206-schluessel.jpg (13.11.2008)
    15. Entity Relationships
      • 7 Relationship-Typen
      • 4 Kardinalitäten-Typen
        • OneToOne
        • OneToMany [Implementierung mit Generics]
        • many-to-one
        • many-to-many
      • Unidirektional oder Bidirektional
      • Unidirektional @OneToOne{CascadeType.All}
      • Bidirektional
        • @OneToOne [Owner-Side]
        • @OneToOne(mappedBy=„ Klasse “)
      2*4=8? many-to-one and one-to-many Bidirektional ist das Gleiche ;-) Aufpassen auf Nebeneffekte: Beide Seiten sind verknüpft!
    16. Annotationen, Dependency Injection, Reflection, Interceptors, Transaktionen, …
      • Annotationen
        • Hinzufügen von Metadaten zum Source Code
        • Hinzufügen dynamischer Attribute zu Klassen, Interfaces, Felder, Methoden (@TARGET)
        • Verfügbar zu Kompilierzeit/Laufzeit (@RETENTION)
      • Dependency Injection
        • Container managt die Instantiierung und Initialisierung der Ressource
      • Reflection
        • Untersuchung von Klassen, Instanzen oder Methoden zur Laufzeit (z.B. Sichtbarkeit ändern, Zugriff auf Methoden, etc.)
      • Interceptors
        • Unterbrechung von Methodenaufrufen bzw. Anhängen an den EJB Lebenszyklus
        • Kapselung von Verhalten (Trennung Businesslogik und technische Aspekte)
        • „ Separation of Concerns“ (z.B. Logging, Profiling, Authorization)
      • Transaktionen
        • ACID-konform (atomic, consistent, isolated, durable)
        • Server besitzt einen Transaktionsmanager
    17. Aus Entwicklersicht
      • Serverprogrammierung wird versteckt
      • Datenbank Management wird versteckt
      • Starke Fokussierung auf Businesslogik
      • Einmalig größerer Konfigurationsaufwand
    18. Demo https://duke.dev.java.net/images/glassfish/GlassFishMedium.jpg (07.11.2008)
    19. Weitere Informationen
      • Sehr gutes Buch über Enterprise Java Beans
        • O‘Reilly: Enterprise Java Beans 3.0; ISBN: 0-596-00978-X
      • Java EE im Allgemeinen
        • http://java.sun.com/javaee/5/docs/tutorial/doc/index.html
      • Glossar mit vielen Begriffen
        • http://www.objects-at-work.de/pmwiki/EJBGlossar/HomePage
    20. Vielen Dank http://itmanagement.earthweb.com/img/2008/04/java-guy.jpg (13.11.2008)

    + Andreas SchreiberAndreas Schreiber, 2 years ago

    custom

    1068 views, 1 favs, 1 embeds more stats

    TechTalk von Markus Kunde (18.11.2008)

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1068
      • 1067 on SlideShare
      • 1 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 0
    Most viewed embeds
    • 1 views on https://wiki.sistec.dlr.de

    more

    All embeds
    • 1 views on https://wiki.sistec.dlr.de

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories