Java EE

Werbung
Komponentenbasierte Entwicklung
und Datenhaltung
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Agenda
•
Einführung
•
Komponenten – die Bausteine verteilter Applikationen
•
Komponentenstandards
•
Java EE – das serverseitiges Komponentenmodell
•
Datenhaltung & Persistenz-Standards
Einführung
Komponenten
Komponentenstandards
Java EE
Datenhaltung &
Persistenz
Einsatz von
Werkzeugen
•
•
•
•
Quellen
•
Java Database Connectivity (JDBC)
EJBs
Java Data Objects (JDO)
Hibernate
Werkzeugunterstützung
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Komponenten
Einleitun
g
Komponenten
„A component is an piece of software small enough to create
and maintain, big enough to deploy and support, and with
standard interface for interoperabilty“
Komponentenstandards
Software-Artifakt
Java EE
Komponente
Datenhaltung &
Persistenz
Einsatz von
Werkzeugen
wiederverwendbar
Schnittstellen
Wisse
n
Quellen
Spezifikatio
n
verteilt nutzbar
Komponentenmodell
Kommunikation
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Klassifikation der Komponenten
Einleitun
g
Trennung von Zuständigkeiten auf Grundlage der
Schichtenarchitektur
Komponenten
Komponentenstandards
Java EE
Datenhaltung &
Persistenz
Einsatz von
Werkzeugen
1. Komponenten der Präsentationsschicht
Widget, JSP, Servlet, Portlet
2. Komponenten der Geschäftslogikschicht
Entity-Komponente, Service-Komponente, Web Services
3. Komponenten der Controllingschicht
Workflow-Controller, Process-Controller
.....
Quellen
JavaBeans
Serverbasierte Komponenten
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Serverbasierte KomponentenBestandteile verteilter Systeme
Merkmale verteilter Systeme
Einleitun
g
Komponenten
Komponentenstandards
•
•
•
•
Hardware- und Software-Komponenten auf vernetzten
Computern
Austausch von Nachrichten
Koordination der Aktionen
gemeinsame Nutzung von Ressourcen
Java EE
Datenhaltung &
Persistenz
Einsatz von
Werkzeugen
Quellen
Beispiele komponenten- basierter Systeme
•
•
•
•
•
Web-Applikationen
ERP-Systeme (Enterprise-Resource-PlanningSysteme)
Mobile Anwendungen
SOA- Applikationen
Grid- Computing
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Spezifikation serverbasierter Komponenten
•
Einleitun
g
Komponenten
Komponentenstandards
Java EE
Datenhaltung &
Persistenz
Einsatz von
Werkzeugen
•
Serverseitiges Komponentenmodell definiert
Architektur zur Entwicklung verteilter Geschäftsobjekte
OO Middleware- Technologien liefern die Infrastruktur;
Applikationsserver bietet Laufzeitumgebung, um
Komponenten zu verwalten und für entfernte Clients
verfügbar machen
• Grundkonzepte der serverseitigen Programmierung Technologische Plattformen
Anwendungen, Dienste
Middleware
RMI, Corba, Web Service
Betriebssystem
Plattformen
Quellen
Computer- und Netzwerk-Hardware
Service-Schichten verteilter Systeme
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Komponentenstandards
Einleitun
g
Komponenten
Komponentenstandards
Java EE
•
•
Java EE – Spezifikation
.NET- Framework
•
•
CORBA – Component Model ( CCM)
COM + Komponentenmodell
...
Datenhaltung &
Persistenz
Einsatz von
Werkzeugen
Quellen
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Java EE – Grundkonzepte
Client-Server-Modell
• Einsatz auf Java Applikationsserver
Einleitun
g
Komponenten
Komponentenstandards
Java EE
Datenhaltung &
Persistenz
Einsatz von
Werkzeugen
•
Dienste für Clients, die über Protokolle, wie TCP/IP und
HTTP, kommunizieren
Mehrschichtenanwendung
Aufteilung der Applikation auf mehrere Schichten mit
unterschiedlichen Aufgaben ( Multi-Tier-Application)
Application programming Interface (API)
Trennen von API und Implementierung
Java EE- Architektur
Quellen
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Applikationsstrukturen
….
Einleitun
g
Klassische Client-Server-Architektur
Dreischichtenarchitektur
Komponenten
Komponentenstandards
Java EE
Datenhaltung &
Persistenz
Einsatz von
Werkzeugen
Quellen
Mehrschichtige Komponenten-Architektur
1. Präsentationsschicht ( Darstellung der Inhalte,
Benutzereingaben auswerten, Datenaustausch mit
Geschäftslogik-Schicht)
2. Geschäftslogik-Schicht ( Kernfunktionalität,
Datenaustausch über Datenbank-Schnittstellen..)
3. Persistenzschicht ( ORM, Ressourcenmanagement….)
4. Datenbank-Schicht ( Relationale Datenbank)
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Vorgehensmodell
Einleitun
g
Komponenten
Komponentenstandards
Java EE
Datenhaltung &
Persistenz
Einsatz von
Werkzeugen
Quellen
Leitfaden für Modellierung und Entwicklung
komponenten- basierter Systeme
• Aktivitäten des Software-Lebenszyklus der
Komponenten
Konzeption, Spezifikation, Strukturierung,
Implementierung, Kommunikation und Verteilung
der Komponenten
• Modellierungssprache UML, ..
• Ansätze:
- Architekturzentrierter Ansatz
Architektur-Framework, Model Driven
Architecture (MDA);
Einsatz von Entwurfsmustern und Frameworks
- Agiler Ansatz
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Beispielapplikation
Einleitun
g
Datenhaltung – Eckpfeiler der komponenten-basierten
Entwicklung
Komponenten
Komponentenstandards
Java EE
Datenhaltung &
Persistenz
Einsatz von
Werkzeugen
Quellen
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Datenhaltung in java- basierten
Systemen
Einleitun
g
Komponenten
Komponentenstandards
Java EE
Datenhaltung &
Persistenz
Plaintext versus XML via XSLT
- Zugriff auf Dateisystem und den dort abgelegten Dateien
(Import anderer Klassen; Cookies, Logfiles)
- Daten in XML- Dateien speichern – Zugriffsmethode XSLT
(eXtensible Stylesheet Language Transfomations)
Persistenzkonzepte
•
Datenbankzugriffe via Database Connectivity (JDBC)
•
•
EJBs, O/R-Mapping; Java Persistence API ( JPA)
Java Data Objects (JDO)
•
Hibernate
Einsatz von
Werkzeugen
Quellen
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
JDBC ( Java Database Connectivity)
•
Grundlage ist einheitliches API, dessen Implementierung durch DB-Entwickler unterstützt wird
•
Ermöglicht Java-Anwendungen den Zugang zu
relationalen Datenbank-Systemen über die Structured
Query Language ( SQL)
•
Satz von Schnittstellen definiert, die den Großteil der
DB-Funktionalität umfassen
Einsatz von
Werkzeugen
•
Quellen
•
Datenbanktreiber sichert Zugriff auf ein konkretes
RDBMS
Kapselung des Datenbankzugriff durch JDBC
(Verschiedene RDBMS - einheitlicher Zugriff )
Einleitun
g
Komponenten
Komponentenstandards
Java EE
Datenhaltung &
Persistenz
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
JDBC –Treibertypen
Einleitun
g
Komponenten
Komponentenstandards
Java EE
Datenhaltung &
Persistenz
Einsatz von
Werkzeugen
Quellen
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Object/Relational Mapping ( O/RM)
•
Einleitun
g
Komponenten
Komponentenstandards
•
•
Java EE
Datenhaltung &
Persistenz
Einsatz von
Werkzeugen
•
•
•
Komponenten-Architektur – mit relationaler
Datenbank, die für die Persistenz von Daten
verantwortlich ist.
Der objekt- orientierter Programmierung ( Objekte)
stehen Datenbestände in relationalen Datenbanken
(Tabellen) gegenüber
O/RM ist die automatisierte Speicherung von
Objekten, deren Attribute und Beziehungen auf
Tabellen einer relationalen Datenbank
Entwickler kümmert sich nicht mehr um Zugriff ( SQLAbfragen) auf Daten
Applikation wird unabhängig vom SQL - Dialekt der
Datenbank
Einsatz von Frameworks als O/R-Mapper
Quellen
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
JAVA Persistence API (JPA)
•
Einleitun
g
Komponenten
Komponentenstandards
•
•
•
Java EE
Datenhaltung &
Persistenz
Einsatz von
Werkzeugen
•
•
Gestattet, Objekte in jeder Umgebung und Datenbank
zu speichern ( „Write once, store anyway“ )
Standardisiert den „objektorientierten„ Zugriff auf
Datenbanken
Entitäten sind gewöhnliche Java-Objekte
Einfache Anforderungen an Konfiguration und
Lebenszyklus
Einheitliche Schnittstelle für alle Arten von JavaProgrammen
Zusammenarbeit mit verschiedenen Anbietern
Quellen
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Enterprise Java Beans – 3.Generation
•
Einleitun
g
•
•
Komponenten
Komponentenstandards
Java EE
Datenhaltung &
Persistenz
Einsatz von
Werkzeugen
Quellen
•
•
•
Serverkomponenten, in denen Applikationslogik
implementiert wird
Kern ist der Methodenfernaufruf (RMI)
Möglichkeit Datensätze in Form von Java Beans zu
manipulieren
EJB-Container dient als Laufzeitumgebung
EJBs besitzen Lebenszyklus
Kapselung von Business - und Persistenzlogik ( für
alle Frontendsysteme verfügbar)
Arten von Beans:
- Entity Beans (Persistenz)
- Session Beans
- Message Driven Bean
EJB 3.0: JPA, Transactionsmanagement, Loadbalancing
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Entity Beans
Einleitun
g
Komponenten
Komponentenstandards
Java EE
1. Ablage und Verwaltung von Daten in relationalen
Datenbanken
2. Java-Objekte auf Datensatz einer relationalen Datenbank
abbilden und umgekehrt
3. Zugriff der Entities über DataSource auf Datenbank
( Applikationsserver)
4. Manipulation der Entities über Entity Manager
5. Zum Auffinden wird SQL-ähnliche Abfragesprache benutzt
( JPA Query Language)
Datenhaltung &
Persistenz
Einsatz von
Werkzeugen
Quellen
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Java Data Objects ( JDO1) – Sun, 2002
•
Einleitun
g
•
Komponenten
Komponentenstandards
•
•
Java EE
Datenhaltung &
Persistenz
Einsatz von
Werkzeugen
Quellen
•
•
Containerunabhängige Spezifikation zur Realisierung
der Persistenz
Datenobjekte ohne Kenntnis der Speichermechanismen bearbeitbar
Spezifikation ist ein Framework mit API, Persistenzmanager und SPI (Service Provider Interface)
JavaBeans - Java-Objekte ohne Lebenszyklus, die
einfach übersetzt und mit Datenbank synchronisiert
werden
Annotationen bieten neue Möglichkeit, um JavaObjekte mit Metadaten für Datenbanken zu versehen
( JDO2)
Neue Java Persistence API ( JPA) verdrängt diese
Technologie
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Hibernate
Einleitun
g
Komponenten
•
•
•
•
•
Komponentenstandards
Java EE
Datenhaltung &
Persistenz
Einsatz von
Werkzeugen
Quellen
•
•
•
•
•
•
•
O/R-Mapping Framework, 2001 initiiert von Gavin King
Weitergeführt als Open Source Projekt
2003 aufgenommen von JBOSS in J2EE-Entwicklung
www.hibernate.org
Zustand eines Objekts in einer relationalen DB
speichern und aus entsprechenden Datensätzen ein
Objekt erzeugen
Fachliche Klassen als einfache POJOs realisieren
Abfragemöglichkeiten für spezifische Anwendungsfälle –
HSQL ( Hibernate SQL)
über Criteria API programmatische Abfragen aufbauen
Konfigurierung erfolgt über ein XML- File
Schnittstellen für Dienste, wie Transaktionen, Pooling …
Kompatibel zu allen gängigen relationalen Datenbanksystemen
Werkzeugunterstützung
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Hibernate Architektur
Einleitun
g
Komponenten
Komponentenstandards
Java-Code mit POJOS
Hibernate Schicht
Java EE
Datenhaltung &
Persistenz
Einsatz von
Werkzeugen
Java API
Relationales Datenmodell
Quellen
Tools unterstützen Vorgehensweise
- Top down
- Bottom up
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Frameworks unter sich
Kooperation von Hibernate, JavaServer Faces und Spring
in der Webentwicklung
Einleitun
g
Komponenten
Komponentenstandards
Java EE
Datenhaltung &
Persistenz
Einsatz von
Werkzeugen
Quellen
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Beispiel-Animation
Einleitun
g
1. MyEclipse http://www.myeclipseide.com
Komponenten
Komponentenstandards
Java EE
Datenhaltung &
Persistenz
2. Visual Paradigm Database Architect http://www.visual-paradigm.com/product/dbva/
dbvaquicktour.jsp
Einsatz von
Werkzeugen
Quellen
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Quellen
1.
Einleitun
g
Komponenten
2.
Komponentenstandards
3.
Java EE
4.
Datenhaltung &
Persistenz
5.
Einsatz von
Werkzeugen
Quelle
n
6.
7.
Andresen, A, : Komponentenbasierte Softwareentwicklung
Carl Hanser Verlag, München 2004
Stark, Thomas: Java EE 5
Pearson Studium, München 2007
Oates, R. u.a.: Spring & Hibernate
Carl Hanser Verlag, München 2007
Coulouris, G.: Verteilte Systeme – Konzepte und Design
Addison – Wesley, München 2007
Prof. Dr. Naumann, E.; Dipl.-Inf. Tjahjono, L.
„Java-Web-Applikation zur automatisierten Verwaltung von
Online Formularen“
Projektarbeit, FHTW Berlin 2006
http://www.jeckle/images/ebe/JDBCdrivers.gif
Prof. Dr. Naumann, E.; Dipl.-Inf. Siemionek, St.
„Internetplattform zur Verwaltung von Immobilien“
Systemdokumentation, FHTW Berlin, 2007
FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann
Herunterladen