FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen. Sommersemester Michael Theis, Lehrbeauftragter 1
|
|
- Monika Koenig
- vor 6 Jahren
- Abrufe
Transkript
1 FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Sommersemester Michael Theis, Lehrbeauftragter 1
2 Wer braucht schon einen Architekten? 2
3 Applikationen benötigen andere Systeme (Consumer) Applikationen unterstützen andere Systeme (Provider) Web UI (HTTP/HTML) Remote Service Interfaces (RMI) Enterprise Application Mainframe based Applications (JCA) Relational Databases (JDBC/JPA) Remote Service Interfaces (RMI) Message-based Interfaces (JMS) Web Service Interfaces (HTTP/SOAP) Message-based Interfaces (JMS) Wie wollen Sie diese Komplexität ohne Architektur bewältigen? 3
4 4
5 Horizontale technische Schichten Vertikale fachliche Schichten Fachmodul A Fachmodul B Fachmodul C Fachmodul D Präsentation Geschäftslogik Enterprise Application Integration 5
6 Wohldefinierte Schnittstellen zwischen den Schichten Zyklenfreie, gerichtete Abhängigkeiten zwischen den Schichten Getrennte Verantwortlichkeiten Lose Kopplung / Hohe Kohäsion Verteilung der Schichten auf verschiedene Lokationen möglich Jede Schicht hat eigenen Namensraum (in Java: Packages) 6
7 Präsentation (Presentation*) Interaktion zwischen Anwendung und Benutzer Anzeige und Bearbeitung von Informationen Geschäftslogik (Business, Domain*) Kern der Anwendungen bestehend aus Diensten in einer Serviceschicht (Service Layer) und Domänenmodell (Domain Model) Integration (Integration, Data Source*) Integration externer Ressourcen Transformation externes Domänenmodell / internes Domänenmodell 7
8 HTTP / HTML Benutzer Benutzeroberfläche für menschliche Benutzer Beinhaltet nur Präsentationslogik Höchste Änderungshäufigkeit innerhalb der Anwendung Rich Client oder Thin Client Präsentation (Presentation) 8
9 Lokal RMI/IIOP HTTP/SOAP HTTP/REST Geschäftslogik (Business) Service Layer Service Domain Model Service Kern der Anwendung Services kapseln Geschäftslogik Lokal: Präsentationsschicht der eigenen Anwendung Entfernt: Andere Anwendungen Services operieren auf einheitlichem Domänenmodell Nutzt Integrationsschicht für Integration von externen Ressourcen Domain Object Domain Object Domain Object 9
10 JPA JCA Lokal Integration (Integration, Data Source) Resource Access Components Repository Adapter Integriert externe Ressourcen Bildet externes Domänenmodell auf internes Domänenmodell ab Kapselt Information über konkrete Integration Welche Datenbank? Welches Kommunikationsprotokoll? Welches externe System? Datenbank HOST 10
11 Domänenmodell Schichtenmodell mit 3 Schichten Bereinigtes Schichtenmodell Präsentation UI- Component Präsentation UI- Component Geschäftslogik Business Service Domain Object Geschäftslogik Business Service Domain Object Integration Integration Component Zyklische Abhängigkeit!!! Integration Integration Component 11
12 User Data base Application Core Business Service Domain Object Main frame System Adapter Port Auch: Ports & Adapter Außenwelt kommuniziert mit Applikation über Ports Applikation kommuniziert mit Außenwelt über Ports Technologiespezifische Adapter hinter Ports übersetzen Kommunikation Applikation kennt keine Details der Außenwelt Außenwelt ist simulierbar 12
13 Aufgebaut aus Komponenten 13
14 Präsentation Faces Servlet View Managed Bean FacesContext Komponenten füllen Geschäftslogik Schichten mit Leben Enterprise Entity Boundary Application Control Integration Schicht bestimmt Komponententyp Repository Adapter 14
15 Präsentation Faces Servlet View Managed Bean FacesContext Klar definierte Abhängigkeiten Geschäftslogik zwischen den Komponenten ohne Zyklen Enterprise Entity Boundary Application Control Integration Repository Adapter 15
16 Präsentation Faces Servlet View Managed Bean FacesContext Geschäftslogik Kommunikation zwischen Schichten nur über Interfaces Enterprise Entity Boundary Application Control Integration Repository Adapter 16
17 Klare Endpunkte für Kommunikation mit der Außenwelt Präsentation Geschäftslogik Faces Servlet View Managed Bean Enterprise Entity Boundary Application FacesContext Control Klare Kommunikationspfade innerhalb der Anwendung Integration Repository Adapter 17
18 Ermöglicht Entkopplung, Kapselung und klare Trennung der Verantwortlichkeiten Erleichtert die Erstellung service-orientierter Applikationen Schafft gemeinsame Sprache zur Kommunikation des Designs Leicht umzusetzen 1 Implementierungsklasse pro Komponente 1 Interface pro Komponente (optional, aber empfehlenswert) Gruppierung in Module/Packages gemäß Konvention 18
19 Entscheidung für Designmodell zu Projektbeginn Wesentliche Modelle: Serviceorientiert (Service Oriented Architecture SOA) Domänengetrieben (Domain Driven Design DDD) Modelle können kombiniert werden, aber ein Modell sollte Hauptmodell sein 19
20 Service Oriented Architecture Services enthalten alle Logik Domänenobjekte sind dumme Datenträger Optimierung für Verteilung bestimmt internes Design Fördert Anti-Pattern Anemic Domain Model * Widerspricht objekt-orientiertem Design Domain Driven Design Domänenobjekte enthalten Daten und Logik Services enthalten nur Logik zur Orchestrierung von Domänenobjekten Fachlichkeit einziger Treiber für internes Design Verteilter Zugriff über Adapter Entspricht objekt-orientiertem Design * Martin Fowler AnemicDomainModel 20
21 21
22 Gemeinsame Patterns und Prinzipien 22
23 Don t call us, we call you! Kontrolle wandert in das verwendete Framework One important characteristic of a framework is that the methods defined by the user to tailor the framework will often be called from within the framework itself, rather than from the user's application code. The framework often plays the role of the main program in coordinating and sequencing application activity. This inversion of control gives frameworks the power to serve as extensible skeletons. The methods supplied by the user tailor the generic algorithms defined in the framework for a particular application. Designing Reusable Classes von Ralph E. Johnson und Brian Foote Journal of Object-Oriented Programming Juni/Juli 1988, S ff 23
24 Präzisierung des Inversion of Control-Patterns u.a. von Martin Fowler Ein sog. Assemblierer löst die Abhängigkeiten zwischen Objekten auf Lose gekoppelte POJOs leben in einem Inversion of Control- Container Container bestimmt Lebenszyklus der Objekte Container löst als Assemblierer die Abhängigkeiten auf 24
25 Implementierungsklasse des Service public class ServiceImpl implements Service public void dosomething() { // Hier wird etwas gemacht } } Interface des Service public interface Service { public void dosomething(); } Consumer ist abhängig vom Service-Interface public class Consumer { private Service service;... public void useservice() { this.service.dosomething(); } 25
26 Traditionell Consumer erzeugt Objekt von ServiceImpl und initialisiert damit Feld service: public class Consumer { private Service service = new ServiceImpl(); Consumer wird abhängig von konkreter Implementierung Mit Dependency Injection Consumer markiert Feld service als Ziel für Dependency Injection: public class Consumer private Service service; Container erkennt annotiertes Feld, erzeugt ein Objekt von ServiceImpl und injiziert Referenz in Feld service Consumer kennt nicht die konkrete Implementierung 26
27 Gemeinsame Patterns und Prinzipien 27
28 Aspekt AOP Proxy Advice Pointcut quellmethode() zielmethode() Methodenaufruf (= Joinpoint) Target Object 28
29 EJB-Container verwendet AOP für Transaktionsmanagement, Zugriffskontrolle und Remoting JAX-WS verwendet AOP für das Mapping von Methodenaufrufen mit Parametern auf SOAP-Nachrichten und umgekehrt JPA verwendet AOP für die Zustandsüberwachung von Entities 29
30 Gemeinsame Patterns und Prinzipien 30
31 Einfaches Prinzip zur Erleichterung der Programmierung übernommen aus RUBY Standardmäßig verwendet die Laufzeitumgebung sinnvolle Voreinstellungen Nur im davon abweichenden Fall muss eine Konfiguration vorgenommen werden 31
32 Stateless Session Beans oder Managed Beans werden unter dem einfachen Klassennamen registriert, falls nichts anderes angegeben Methodenaufrufe eines Enterprise Java Beans laufen immer in einem transaktionalen Kontext (TRANSACTION_REQUIRED) Die Java Persistence Architecture (JPA) mappt automatisch Klassennamen von Entitäten auf Tabellennamen und Feldnamen auf Spaltennamen 32
33 33
34 Verteilung Transaktionen Persistenz Sicherheit Regelt Kommunikation verteilter Anwendung Steuern Zugriff auf transaktionale Ressourcen Stellen Datenkonsistenz sicher Bietet die dauerhafte Speicherung von Daten Bildet Domänenmodell auf relationales Datenmodell ab Schützt die Anwendung vor unberechtigten Zugriffen 34
35 Verteilung 35
36 Don t distribute your objects! Quelle: Martin Fowler Patterns of EAA 36
37 Das Netzwerk ist zuverlässig Latenz[zeit] ist 0 Bandbreite ist unendlich Das Netzwerk ist sicher [Netzwerk-]Topologie ändert sich nicht Es gibt nur einen Administrator Transportkosten sind 0 Das Netzwerk ist homogen Quelle: Peter Deutsch, James Gosling Fallacies of Distributed Computing 37
38 Komplexität Rechner Prozess Rechner Prozess App Rechner Prozess App Prozess Rechner Prozess App Rechner Prozess App App App App Grad der Verteilung 38
39 Skalierbarkeit Ausfallsicherheit Technologiegrenzen Unterschiedliche Standorte Bereitstellung von Diensten für externe Consumer Komposition eigener Dienste aus Diensten externer Provider 39
40 File Transfer Gemeinsame Datenbank Remote Procedure Call Messaging 40
41 Import Anwendungen tauschen Informationen über Dateien aus Anforderungen bestimmen Häufigkeit des Austausches Export App 1 App 2 Gemeinsame Daten 41
42 Anwendungen tauschen Informationen über gemeinsame Tabellen aus Datenbank-Schema bestimmt Datenformat Anwendung 1 Anwendung 2 Anwendung 3 Gemeinsame Daten 42
43 Skeleton Anwendungen kapseln ihre Daten und stellen Interfaces für den Zugriff zur Verfügung Austausch der Informationen erfolgt über synchronen entfernten Methodenaufruf Anforderung mit Eingabeparametern Stub App 1 App 2 Antwort mit Rückgabewert 43
44 Häufiger, unmittelbarer, zuverlässiger und asynchroner Austausch von Nachrichten Flexibelste Integration, erfordert aber Umdenken Messaging System Anforderung Anforderungskanal Anforderung Sender Endpunkt Endpunkt Empfänger Antwort Antwortkanal Antwort 44
45 Transaktionen 45
46 Atomicity Eine Transaktion wird entweder ganz oder gar nicht ausgeführt Consistency Eine Transaktion überführt eine transaktionale Ressource von einem bestehenden konsistenten Zustand in einen neuen konsistenten Zustand Isolation Das Ergebnis einer Transaktion darf für andere Transaktionen solange nicht sichtbar sein, bis diese Transaktion erfolgreich abgeschlossen worden ist. Durability Das Ergebnis einer erfolgreich abgeschlossenen Transaktion muss dauerhaft erhalten bleiben und Abstürze jeder Art überstehen. 46
47 Isolationsgrad Durchsatz Serializable Wiederholte Lesezugriffe liefern gleiche Sätze und gleiche Ergebnismengen Schreib-, Lese- und Bereichsoperationen verursachen Sperren Repeatable reads Wiederholte Lesezugriffe liefern gleiche Sätze aber unterschiedliche Ergebnismengen möglich (Phantom Read) Schreib- und Leseoperationen verursachen Sperren Read committed Lesezugriffe liefern nur committete Sätze Schreiboperationen verursachen Sperren Read uncommitted Lesezugriffe liefern nicht committete Sätze Keine Sperren 47
48 Begin Transaktion beginnt Commit Transaktion endet erfolgreich Beteiligte transaktionale Ressourcen werden verändert Rollback Transaktion bricht nach Fehler ab Beteiligte transaktionale Ressourcen bleiben unverändert 48
49 Bei Aufrufen entfernter Anwendungen wird der Transaktionskontext mit übertragen Aufgerufene Methode kann die die Transaktion des Aufrufers teilen (muss aber nicht) Koordination der Transaktionen übernimmt der aufrufende Container (Applikationsserver) Umsetzung teilweise aufwändig bzw. unmöglich 49
50 ACID skaliert nur bis zu einem gewissen Grad ACID bei verteilten Datenspeichern nur schwierig umzusetzen Verfügbarkeit, Fehlertoleranz und Performance wichtiger als Konsistenz und Isolation BASE ersetzt ACID bei hochskalierenden Datenspeichern Basically Available Soft State Eventual Consistency 50
51 Starke Konsistenz Isolation Fokus auf Commit ACID Konservativ (pessimistisch) Harte Strukturen, lassen sich nur schwer weiterentwickeln BASE Schwache Konsistenz Hohe Verfügbarkeit Best Effort Aggressiv (optimistisch) Weiche Strukturen, lassen sich leicht weiterentwickeln Quelle: Dr. Eric A. Brewer, Towards Robust Distributed Systems PODC Keynote
52 Availability Jeder Client kann immer Lesen und Schreiben CA Relationale Datenbanken Nur 2 Ziele sind erreichbar! AP Cassandra CouchDB Riak Alle Clients sehen die gleichen Daten Consistency CP BigTable, MongoDB Memcache, Redis Partition Tolerance Das System arbeitet erwartungsgemäß trotz Verteilung über mehrere Netzwerk-Partitionen 52
53 Security 53
54 Authentisierung (Wer bin ich?) Identifizierung eines Objekts und die Überprüfung der Identität Identität entspricht Benutzername Identifizierung erfolgt über Credentials Passwort Zertifikat Biometrische Eigenschaften Autorisierung (Was darf ich?) Überprüfung von Berechtigungen eines angemeldeten Benutzers bezogen auf geschützte Ressourcen Berechtigungen entsprechen Rollen oder Gruppen 54
55 Bei Aufrufen entfernter Anwendungen wird der Securitykontext mit übertragen Aufgerufene Methode läuft im gleichen Securitykontext wie der Aufrufer Benutzer muss sich nicht erneut anmelden (Single Sign-On/SSO) Beteiligte Container (Application Server) müssen einander trauen Umsetzung teilweise aufwändig 55
56 Persistenz 56
57 Spalte Klasse feld 1 feld 2 Vererbung Primärschlüssel Tabelle PK PK Zeile Klasse feld 1 feld 2 Komposition 1 Klasse feld 1 feld 2 1..* ORM Beziehungen Indizes Constraints Tabelle PK PK FK FK 57
58 Mapping muss programmiert werden Zugriff auf die Datenbank mit SQL muss programmiert werden Klasse Klasse DAO ORM JDBC DataSource SQL Tabelle Tabelle Tabelle Klasse 58
59 Persistente Klassen werden mit Mapping-Annotationen versehen und mit Datasource verknüpft Persistenzframework führt Mapping durch und generiert SQL zur Laufzeit Klasse Klasse JPA ORM JDBC DataSource SQL Tabelle Tabelle Tabelle Klasse Annotationen Persistence.xml 59
60 Enterprise Application Enterprise Application RDBMS RDBMS NoSQL Relationale Datenbanken stoßen zunehmen an ihre Grenzen Ablage der Daten in einem Datenspeicher nicht mehr zeitgemäß / sinnvoll Moderne Applikationen stützen sich je nach Anforderungen auf unterschiedliche Datenbanken Kenntnisse über alternative Datenspeicher erforderlich NoSQL 60
61 61
62 62
63 Martin Fowler: Patterns of Enterprise Application Architecture Addison Wesley 2003; ISBN Adam Bien: Real World Java EE Patterns: Rethinking Best Practices press.adam-bien.com September 2012; ISBN Gregor Hohpe, Bobby Wolfe Enterprise Integration Patterns Addison Wesley, 2004, ISBN: Eric Evans: Domain Driven Design: Tackling Complexity in the Heart of Software Addison Wesley 2004; ISBN
64 Michael Theis Lehrbeauftragter Hochschule München mobile web 64
FWP Aktuelle Technologien zur Entwicklung verteilter Java- Anwendungen
FWP Aktuelle Technologien zur Entwicklung verteilter Java- Anwendungen Sommersemester 2013 Michael Theis, Lehrbeauftragter Java EE Spezifikation definiert ein Programmiermodell für Applikationen die Eigenschaften
MehrJavaEE Grundlagen. Theis Michael - Senior Developer UniCredit Global Information Services S.C.p.A
JavaEE Grundlagen FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Theis Michael - Senior Developer UniCredit Global Information Services S.C.p.A Sommersemester 2012 2 Die Java EE
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
MehrGeschäftskomponenten mit EJBs
Geschäftskomponenten mit EJBs FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Theis Michael - Senior Developer UniCredit Global Information Services S.C.p.A Sommersemester 2012 2
MehrEntwicklung von Web-Anwendungen auf JAVA EE Basis
Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages
MehrApplication Frameworks
Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung
MehrSoftwareentwicklung mit Enterprise JAVA Beans
Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung
MehrErste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013
GTUG Java Arbeitskreis Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung September 2013 Jürgen Depping CommitWork GmbH Seite 1 Info@CommitWork.de www.commitwork.de Agenda Was ist OmnivoBase?
MehrLehrplan: Architektur und Design. paluno
Lehrplan: Architektur und Design Gliederung 1 Grundlagen der industriellen So9ware Entwicklung 2 Ebenen von Architektur und Design 3 KernakAvitäten von So9ware- Architekten 4 Architekturtypologien von
MehrJBoss Seam. Ein JEE 5 Webframework. Jörg Wüthrich Infopoint, 4. Februar 2009
JBoss Seam Ein JEE 5 Webframework Jörg Wüthrich Infopoint, 4. Februar 2009 Inhalt Einführung Warum Seam? Zentrale Konzepte Demo Validierung Abschliessende Gedanken 04.02.2009 Infopoint - JBoss Seam - Jörg
MehrEnterprise JavaBeans
Enterprise JavaBeans Sebastian Pipping 18. Dezember 2006 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. Teil I J2EE J2EE Was ist J2EE? Was ist J2EE?
MehrFujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013
Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013 Die Herausforderung: Hostanbindung Viele Unternehmen besitzen Mainframe- und Legacy-Anwendungen, so genannte Enterprise Information Systems (EIS),
MehrIntegration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire
Integration von Web Services in J EE Anwendungen mit XFire 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire univativ : = Umsetzung durch Studenten und Young Professionals.
MehrAnalyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz
Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java Oliver Kalz Agenda Grundlagen Objektpersistenz Objektrelationales Mapping Performance Fazit
MehrAspektorientierte Middleware Florian Wagner
Anwendungen der Aspektorientierung (5) Übersicht Middleware? Middleware-Concerns Java 2 Enterprise Edition AO Implementierung AOP & JBoss 2 mid dle ware (mĭd'l-wâr') n. Software that serves as an intermediary
MehrEnterprise Java Beans Einführung
Enterprise Java Beans Einführung Vorlesung 8 Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht EJBs im JEE Umfeld Verschiedene Typen von EJBs Von der Javaklasse
MehrArchitecture Blueprints
Architecture Blueprints Daniel Liebhart, Peter Welkenbach, Perry Pakull, Mischa Kölliker, Michael Könings, Markus Heinisch, Guido Schmutz Ein Leitfaden zur Konstruktion von Softwaresystemen mit Java Spring,.NET,
MehrMasterkurs Verteilte betriebliche Informationssysteme
Peter Man dl Masterkurs Verteilte betriebliche Informationssysteme Prinzipien, Architekturen und Technologien Mit 196 Abbildungen STUDIUM VIEWEG+ TEUBNER 1 Einführung in verteilte Systeme 1 1.1 Definitionen
MehrEnterprise Application Integration Erfahrungen aus der Praxis
Enterprise Application Integration Erfahrungen aus der Praxis Teil 4: EAI und.net, EAI und J2EE Tutorial NODs 2002, Wolfgang Keller and Generali 2001, 2002, all rights reserved 1 Überblick EAI und....net
MehrErstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java
Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework
MehrÜbungsaufgabe Transaktion als Middleware
Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung
MehrKomponentenorientierte Software-Entwicklung. Seite 1 / 42
Seite 1 / 42 Wiederholung Messaging Java Messaging Service (JMS) Pub/Sub P2P Messaging Middleware XMPP-Protokoll Java API for XML-Processing (JAXP) Java API for XML-Binding Webservices / SOA Simple Object
MehrAnwendung eines Enterprise Java Beans
Anwendung eines Enterprise Java Beans EJB Server EJB Container Remote Interface Home Interface EJB Object Der EJB Container kümmert sich um die Kommunikation des Beans mit anderen Komponenten, wobei er
MehrErfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH
Erfahrungen und Erkenntnisse Klaus Richarz, HBT GmbH Java Enterprise Edition 5.0 JBoss Seam Konsequenzen für Realisierung Qualitätssicherung Build & Deployment Fazit & Empfehlungen JBoss Seam in Projekten,
Mehrbusiness.people.technology.
business.people.technology. Portalserver meets SOA: State of the Portal Art Andreas Hartmann 18.06.2010 2 Portalserver meets SOA: State of the Portal Art 18.06.2010 Agenda Baukastensystem zur Integration
MehrOliver Paulus, oliver@code-project.org. 7. Februar 2006. Spring Framework Einführung. Oliver Paulus, oliver@codeproject.org. Was ist Spring?
oliver@code-project.org 7. Februar 2006 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2
MehrInhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition
Inhaltsverzeichnis Vorwort 13 I Enterprise Java im Überblick 1 Bedeutung von Enterprise Java und IBM WebSphere 21 1.1 Enterprise Java 23 1.1.1 Anforderungen 23 1.1.2 E-Business 30 1.1.3 Java 36 1.2 IBM
MehrSession Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de
s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful
MehrSoftwareentwicklung in verteilten Umgebungen, Teil 12 Enterprise Middleware. Dieter Schmalstieg. Dieter Schmalstieg SVU Enterprise Middleware
Softwareentwicklung in verteilten Umgebungen, Teil 12 Enterprise Middleware Dieter Schmalstieg Middleware für Enterprise Information Systems Enterprise Information Systems Grosse Unternehmen Viele existierende
MehrJDO Java Data Objects
JDO Java Data Objects Ralf Degner, Chief Consultant Ralf.Degner@poet.de Agenda POET Motivation Geschichte Einführung Architekturen FastObjects POET Gegründet 1993 Zwei Produktlinien esupplier Solutions:
MehrWindows Azure für Java Architekten. Holger Sirtl Microsoft Deutschland GmbH
Windows Azure für Java Architekten Holger Sirtl Microsoft Deutschland GmbH Agenda Schichten des Cloud Computings Überblick über die Windows Azure Platform Einsatzmöglichkeiten für Java-Architekten Ausführung
MehrGeschäftskomponenten mit EJB 3.1
Geschäftskomponenten mit EJB 3.1 Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Kurt Fastner Sommersemester 2012 Inhalt Was ist EJB Die verschiedenen EJB-Typen/Komponenten Applikationsserver,
MehrPraktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com
Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum
MehrSoftwareentwicklung in verteilten Umgebungen Middleware Case Studies (Coulouris et al., Kapitel 5 und 19) Dieter Schmalstieg Jens Grubert
Softwareentwicklung in verteilten Umgebungen Middleware Case Studies (Coulouris et al., Kapitel 5 und 19) Dieter Schmalstieg Jens Grubert Partly based on material by Victor García Barrios and Paul Krzyzanowski
MehrEinsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server
Einsatz von Applikationsservern Untersucht am Beispiel des Sybase Enterprise Application Server Architektur von Datenbanksystemen Client / Server Modell (2 Schichten Modell) Benutzerschnittstelle Präsentationslogik
MehrRemote Method Invocation
Remote Method Invocation spezielle Technik aus dem Java-Umfeld Ausführung der Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VM s Aufruf
MehrClient/Server-Systeme
Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen
MehrJava 2, Enterprise Edition Einführung und Überblick
Universität aiserslautern AG Datenbanken und Informationssysteme Seminar Datenbank-Aspekte des E-Commerce Java 2, Enterprise Edition Einführung und Überblick m_husema@informatik.uni-kl.de Vortragsinhalte
MehrMit Java von der Datenbank in den Browser Thomas Bröll Principal Consultant Trivadis GmbH, Stuttgart
Mit Java von der Datenbank in den Browser Thomas Bröll Principal Consultant Trivadis GmbH, Stuttgart BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH
MehrContexts and Dependency Injection. W3L AG info@w3l.de
1 Contexts and Dependency Injection W3L AG info@w3l.de 2015 2 Inhaltsverzeichnis Teil 1: Motivation Teil 2: Inversion of Control Teil 3: Contexts and Dependency Injection Teil 4: Beispiel zurück 3 Motivation
MehrRechnernetze Projekt SS 2015
30/03/15 Seite 1 Aspektorientierte Programmierung logische Aspekte (Concerns) im Programm separieren Crosscutting Concerns (Ziel: generische Funktionalitäten über mehrere Klassen hinweg zu verwenden -
MehrEclipse und EclipseLink
Eclipse und EclipseLink Johannes Michler Johannes.Michler@promatis.de PROMATIS, Ettlingen Zugriff auf Oracle Datenbanken aus Eclipse RCP Anwendungen via EclipseLink 18.09.2009 1 Gliederung Eclipse als
MehrG s e a s m a t m ar a ch c i h tek e tur u I und IoC
Gesamtarchitektur I und IoC Schichten einer Web-Anwendung Initiiert durch J2EE und Spring: Strukturierte Sicht auf UI und Fachlogik (Domäne) Ergibt 5 Schichten: Man unterscheidet Präsentations- und Domänenmodell!
MehrWebservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste
Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene
MehrEclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007
Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit
MehrMainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4
UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 WebSphere Application Server Teil 4 Leistungsverhalten el0100 copyright W. G. Spruth,
MehrWarum EJB Technologie (1)?
Datenbanken und Informationssysteme 2 SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn Datenbanken und Informationssysteme 2 - Prof. Dr. Stefan Böttcher - SS 2004 Folie EJB - 1 Warum EJB Technologie
MehrTechniker Krankenkasse, Hamburg: 10 Jahre produktives Java Enterprise
Techniker Krankenkasse, Hamburg: 10 Jahre produktives Java Enterprise SEACON, 22./23.6.2009, Hamburg Ralf Degner, Techniker Krankenkasse Überblick Voraussetzungen, Ziele, Entscheidungen Logische Schichten
MehrORACLE Business Components for Java (BC4J) Marco Grawunder
ORACLE Business Components for Java (BC4J) Marco Grawunder Gliederung 2 Probleme von J2EE/EJB J2EE-Pattern Lösungsansatz: BC4J Architektur einer BC4J-Anwendung Komponenten Entity Objects View Objects Application
MehrAblauf, Inhalt und Themen SS2014
Ablauf, Inhalt und Themen SS2014 Sommersemester 2014 Michael Theis, Lehrbeauftragter 2 Wöchentliche Vorlesung (4 SWS) Start am 21.03.2013 Freitag von 15.15 18.30 Uhr Raum 0.005 Themen werden zu Semesterbeginn
MehrAusgemustert? Der Einfluss von EJB 3.0 auf J2EE Design Patterns. Java Forum Stuttgart, 5. Juli 2007 Stefan M. Heldt
Ausgemustert? Der Einfluss von EJB 3.0 auf J2EE Design Patterns Java Forum Stuttgart, 5. Juli 2007 Stefan M. Heldt Motivation des Vortrags Design Patterns in der Softwareentwicklung Problembeschreibung
MehrEnterprise Java Beans
Enterprise Java Beans Die hohe Kunst der aromatischen Bohnenmischung oder Replikator: Einmal Kaffee, Brasilia Highland Blend, Heiß Motivation Bean = Komponente Datenbank Zielgruppe Kommerzielle Anwendungen
MehrJava Beans Enterprise Java Beans. Eine kurze Einführung in die Welt der Bohnen
Java Beans Enterprise Java Beans Eine kurze Einführung in die Welt der Bohnen Java Beans Einführung Stefan Sauer Was ist ein Java Bean? Beans sind Komponenten. Einmal schreiben Überall wiederverwerten
MehrJava Beans (22.02.2001)
Component Based Software Development Java Beans (22.02.2001) Stefan Jäger Robert Kalcklösch Veranstalter: M. Bittner W. Koch Inhalt Einführung in Java Die Java Beans Einsatz und Entwicklung von Beans Enterprise
MehrNoSQL-Datenbanken. Kapitel 1: Einführung. Lars Kolb Sommersemester 2014. Universität Leipzig http://dbs.uni-leipzig.de 1-1
NoSQL-Datenbanken Kapitel 1: Einführung Lars Kolb Sommersemester 2014 Universität Leipzig http://dbs.uni-leipzig.de 1-1 Inhaltsverzeichnis NoSQL-Datenbanken Motivation und Definition Kategorisierung, Eigenschaften
MehrÜberblick über die Windows Azure Platform
Überblick über die Windows Azure Platform Präsentator: Holger Sirtl Kontakt: http://blogs.msdn.com/hsirtl Copyright 2011 Microsoft Corporation. Alle Rechte vorbehalten. MSDN Webcasts: http://www.msdn-online.de/webcasts
MehrSeminarvortrag Serviceorientierte Softwarearchitekturen
Seminarvortrag Serviceorientierte Softwarearchitekturen vorhandene Altsysteme Gliederung Einführung Grundlegende Modelle Grundlegende Komponenten Architekturen 2 Einführung Altanwendung und Altsysteme?
MehrSoftwareentwicklung mit Enterprise JAVA Beans
Softwareentwicklung mit Enterprise JAVA Beans JPA - JAVA Persistence API Problem In JAVA-programmen arbeitet man mit Hauptspeicherobjekten. Nach Beendigung des Programmes sind diese nicht mehr vorhanden.
MehrOERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt
OERA OpenEdge Reference Architecture Mike Fechner PUG Infotag 19. Mai 05 Frankfurt Überblick OERA Separated presentation and integration layers Common business logic with advanced models Data access abstracted
MehrTechnologische Entwicklung von GIS und Internet der letzten Jahre
Technologische Entwicklung von GIS und Internet der letzten Jahre 10. Seminar GIS & Internet 10. bis 12. September 2007 UniBwMünchen Dr. Christine Giger Übersicht GIS vor 30 Jahren GIS vor 20 Jahren GIS
MehrBenutzung eines Login Modules zur Authentifizierung unter JBoss 4.0.5
Benutzung eines Login Modules zur Authentifizierung unter JBoss 4.0.5 Erstellung der Datenbank Tabellen Als Login Module soll das in der JBoss Installation bereits vorhandene DatabaseServerLoginModule
MehrREST-Services mit Dropwizard ruck-zuck erstellt, dokumentiert und getestet
.consulting.solutions.partnership REST-Services mit Dropwizard ruck-zuck erstellt, dokumentiert und getestet Alexander Schwartz, Principal IT Consultant Berlin Expert Days 2015 REST-Services ruck-zuck
MehrBusiness Applika-onen schnell entwickeln JVx Framework - Live!
Business Applika-onen schnell entwickeln JVx Framework - Live! - Enterprise Applica-on Framework h&p://www.sibvisions.com/jvx JVx ermöglicht in kürzester Zeit mit wenig Source Code hoch performante professionelle
MehrOWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes
OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes 1 XSS: Cross-Site Scripting 1.) Es gelangen Daten in den Web-Browser, die Steuerungsinformationen
MehrIntegrating Architecture Apps for the Enterprise
Integrating Architecture Apps for the Enterprise Ein einheitliches Modulsystem für verteilte Unternehmensanwendungen Motivation und Grundkonzept Inhalt Problem Ursache Herausforderung Grundgedanke Architektur
MehrArchitekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131
Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet
MehrJ2EEKurs. Enterprise JavaBeans Einführung. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10.2005. Universität Freiburg, Germany
Enterprise JavaBeans Einführung Universität Freiburg, Germany Sommercampus, Freiburg, Germany, 10.-14.10.2005 Inhalt Allgemeines Motivation Rollen Aufbau einer EJB Arten von Beans Enterprise JavaBeans
MehrBig Data und Oracle bringen die Logistik in Bewegung
OPITZ CONSULTING Deutschland GmbH Dortmund, 07.05.2014 Bild-Quelle: Web-Seite von Pasta ZARA, Big Artikel Data So und entstehen Oracle bringen unsere die Nudeln Logistik in Bewegung http://de.pastazara.com/so-entstehen-unsere-nudeln
MehrOO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle
OO Programmiersprache vs relationales Model Vorgehen bisher Erstellen eines ER-Diagramms Übersetzen in das relationale Datenmodell Zugriff auf das relationale Datenmodell aus z.b. Java ER rel. Modell OO
MehrZwischenbericht Diplomarbeit Entwicklung einer Laufzeitumgebung für Komponenten mit Ressourcenanforderungen
Zwischenbericht Diplomarbeit Entwicklung einer Laufzeitumgebung für Komponenten mit Ressourcenanforderungen Brit Engel Überblick Beschreibung Aufgabenstellung Entwurf der Komponenten Verwaltung Funktionsbereiche
Mehr5. Übung zur Vorlesung Service-orientierte Architekturen
5. Übung zur Vorlesung Service-orientierte Architekturen Webservices und WSDL SoSe 2011 Anmerkung Hausaufgabe 03 BPMN Auch hier gilt: Layout! Zu Unterschieden zw. BPMN und eepk Relative Aussagen sind geschickter
MehrEffiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution
Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution Thomas Seiler Product Manager Technology BISON Schweiz AG Agenda Vergleich - Business Software Framework zu.net Framework
MehrBig Data Management Thema 14: Cassandra
Thema 14: Cassandra Jan Kristof Nidzwetzki Thema 14: Cassandra 1 / 25 Übersicht 1 Grundlagen Überblick Geschichte Datenmodel 2 Architektur Der logische Ring Persistenz der Daten Tunable Consistency Read
Mehranaptecs JEAF Plattform JEAF Developer Guide
anaptecs JEAF Plattform JEAF Developer Guide : JEAF Framework Die technische Grundlage für Applikationen auf Basis der JEAF Plattform bildet das JEAF Framework. Dabei handelt es sich um ein leichtgewichtiges
Mehr1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL
1 Transaktionen in SQL Um Daten in einer SQL-Datenbank konsistent zu halten, gibt es einerseits die Möglichkeit der Normalisierung, andererseits sog. Transaktionen. 2 Was ist eine Transaktion Eine Transaktion
MehrDataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...
Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen
MehrSoftwareschnittstellen
P4.1. Gliederung Rechnerpraktikum zu Kapitel 4 Softwareschnittstellen Einleitung, Component Object Model (COM) Zugriff auf Microsoft Excel Zugriff auf MATLAB Zugriff auf CATIA Folie 1 P4.2. Einleitung
MehrLightweight Java in der Automatisierungstechnik
Lightweight Java in der Automatisierungstechnik Erfahrungen aus dem Anlagenbau Dr. Markus Eiglsperger eig@zuehlke.com Business Driver im Anlagenbau Kosten Modularisierung Vernetzung Agilität Paradigmenwechsel
MehrWeb 2.0 Software-Architekturen
Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,
MehrNoSQL-Databases. Präsentation für Advanced Seminar "Computer Engineering", Matthias Hauck, matthias.hauck@stud.uni-heidelberg.de
NoSQL-Databases Präsentation für Advanced Seminar "Computer Engineering", Matthias Hauck, matthias.hauck@stud.uni-heidelberg.de Klassische SQL-Datenbanken Anwendungsgebiet: Geschäftsanwendungen Behördenanwendungen
MehrAnwendungsentwicklung mit Spring
Anwendungsentwicklung mit Spring Eberhard Wolff Managing Director Interface21 GmbH Interface21 - Spring from the Source Interface21 Produkte u.a. Spring Framework Spring from the Source Consulting, Training,
MehrFWP Aktuelle Technologien zur Entwicklung verteilter Java- Anwendungen
FWP Aktuelle Technologien zur Entwicklung verteilter Java- Anwendungen Sommersemester 2014 Michael Theis, Lehrbeauftragter Manager Persistence Context persist flush find Datastore merge flush remove flush
MehrSystemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007
Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung
MehrMicrosoft Azure Fundamentals MOC 10979
Microsoft Azure Fundamentals MOC 10979 In dem Kurs Microsoft Azure Fundamentals (MOC 10979) erhalten Sie praktische Anleitungen und Praxiserfahrung in der Implementierung von Microsoft Azure. Ihnen werden
MehrJava Persistence API 2.x. crud + relationships + jp-ql
Java Persistence API 2.x crud + relationships + jp-ql Grundprinzip 10.02.10 2 Problematik Man muss bei der Persistierung immer das Klassenmodell und dessen Umsetzung im Datenmodell (in der DB) berücksichtigen.
MehrArchitecture Blueprints Ein Leitfaden zur Konstruktion von Softwaresystemen mit Java Spring,.NET, ADF, Forms und SOA
Daniel Liebhart, Guido Schmutz, Marcel Lattmann, Markus Heinisch, Michael Könings, Mischa Kölliker, Perry Pakull, Peter Welkenbach Architecture Blueprints Ein Leitfaden zur Konstruktion von Softwaresystemen
MehrProgrammierung von Client/Server- Anwendungen
Programmierung von Client/Server- Anwendungen Komponenten des Web-Containers (Java EE) SoSe2015 Prof. Dr. Andreas Schmietendorf 1 Übersicht zur Vorlesung Entwicklung der Java Enterprise Edition Servlets,
MehrSE2-10-Entwurfsmuster-2 15
Architektur und Skalierbarkeit SE2-10-Entwurfsmuster-2 15 Skalierbarkeit Skalierbarkeit bedeutet die Anpassung einer Software an wachsende Last: Interaktionsfrequenz Nutzerzahl Anpassung durch Hinzufügen
MehrPraktikum Verteilte Anwendungen
Technische Informatik (Info II) -Sommersemester 2006 - Folie 1 / 27 0 Gliederung 1.) Kurze Wiederholung/ Einleitung 2.) RPC/ RMI 3.) Praktisches Beispiel 4.) Aufgabenblatt Folie 2 / 27 Wiederholung/ Einleitung
MehrJAX-RS 2.0 REST mit Java EE 7
Enterprise Java, Web Services und XML JAX-RS 2.0 REST mit Java EE 7 Java User Group Darmstadt 13. Juni 2013 http://www.frotscher.com thilo@frotscher.com Vorstellung Freiberuflicher Softwarearchitekt und
MehrRaber+Märcker Techno Summit 2014 Microsoft Dynamics NAV 2013 R2 Überblick und Hintergründe zu aktuellen Version. Schimon.Mosessohn@microsoft.
Raber+Märcker Techno Summit 2014 Microsoft Dynamics NAV 2013 R2 Überblick und Hintergründe zu aktuellen Version Schimon.Mosessohn@microsoft.com Herzlich Willkommen 1996 2004 2010 2014 Navision 3.7 Microsoft
MehrDer SBB Online-Ticketshop Mit SOA zum Erfolg
Der SBB Online-Ticketshop Mit SOA zum Erfolg BAT 03 Stefan Meichtry, Stefan Becker Bern, den 17.03.2006 SBB Informatik 1 Das Ziel SBB Informatik 2 Agenda Problemraum Lösungsraum Analyse Wir sind hier Synthese
MehrSpring Dynamic Modules for OSGi Service Platforms
Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick
MehrDevelopment auf der Plattform SAP HANA
Development auf der Plattform SAP HANA SAP HANA Architektur SAP HANA Studio Modellierung auf SAP HANA Web basierte Data Access Role und Berechtigung SAP HANA Plattform SAP HANA als Appliance SAP HANA in
MehrKomponentenbasierte Softwareentwicklung
Seminar WS04 Komponentenbasierte Softwareentwicklung Karl Pauls Software-Komponente A software component is a unit of composition with contractually specified interfaces and explicit context dependencies
MehrSpring Dynamic Modules for OSGi Service Platforms
Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick
MehrKonzept / Architektur Diagramme
Architektur-Modell Konzept / Architektur Diagramme Im Übergang Analyse Design wird das System konzipiert und seine Architektur entworfen: Subsystem-Modell (execution view) UML 1.x Package Diagram «subsystem»
MehrUm asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.
Technisches Design Inhalt Design Übersicht Menü und DispatcherServlet DWR Servlet Viewer Servlets Controllers Managers Sicherheit Anwendung Architektur Component Diagram Deployment Diagram Komponente Sequence
MehrDirk Reinemann Working Student Sales Consulting
JDeveloper 12c in 30 Minutes Dirk Reinemann Working Student Sales Consulting Program Agenda 1. Integrated Development Environment 2. Java Development 3. Web Development 4. Team Development 5. Application
Mehr