Middleware: Anwendungsorientierte Middleware

Größe: px
Ab Seite anzeigen:

Download "Middleware: Anwendungsorientierte Middleware"

Transkript

1 Middleware: Nachrichtenorientierte Middleware & Anwendungsorientierte Middleware VIS-1 Middlew-1

2 Gliederung Kommunikationsorientierte Middleware Alternativen ti zu RMI/RPC Nachrichtenorientierte Middleware (MOM) Anwendungsorientierte Middleware Motivation und Abgrenzung Historische Vertreter Aktuelle Vertreter Beispiel VIS-1 Middlew-2

3 Eigenschaften von RMI/RPC The caller must wait until the response comes back the caller makes a request, the receiver gets the request, processes the request, sends a response, the caller receives the response Synchronous interaction requires both parties to be on-line The receiver does not need to exist at the time of the call (e.g. CORBA / Java RMI can create an instance of the service/server/object when called if it does not exist already) but the interaction requires both client and server to be alive at the same time Synchronizing client and server has several disadvantages: connection overhead (sessions) higher probability of failures difficult to identify and react to failures One-to-one system not practical for nested calls not practical for complex interactions VIS-1 Middlew-3

4 RMI/RPC Nachteile (1): Overhead Synchronous invocations require to maintain a session between the caller and dthe receiver. Maintaining sessions is expensive and consumes CPU resources. There is also a limit on how many sessions can be active at the same time (thus limiting the number of concurrent clients connected to a server) For this reason, client/server systems often resort to connection pooling to optimize resource utilization and have a pool of open connections associate a thread with each connection allocate connections as needed. When the interaction is not one-to-one, the context (the information defining a session) needs to be passed around. The context is usually volatile. VIS-1 Middlew-4

5 RMI/RPC Nachteile (1): Fehlerbehandlung Failures in synchronous calls If the client or the server fail, the context is lost and resynchronization might be difficult. If the failure occurred before 1, nothing has happened If the failure occurs after 1 but before 2 (receiver crashes), then the request is lost If the failure happens after 2 but before 3, side effects may cause inconsistencies i i If the failure occurs after 3 but before 4, the response is lost but the action has been performed (do it again?) Finding out when the failure took place may not be easy. Worse still, if there is a chain of invocations, the failure can occur anywhere. VIS-1 Middlew-5

6 Alternative zu RMI/RPC Asynchronous Interaction Using asynchronous interaction, ti the caller sends a message that t gets stored somewhere until the receiver reads it and sends a response. The response is sent in a similar manner Asynchronous interaction can take place in two forms: Non-blocking invocation: RPC but the call returns immediately without waiting for a response, similar to batch jobs Persistent t queues: The call and the response are actually persistently stored until they are accessed by the client and the server VIS-1 Middlew-6

7 Messaging, Message Passing, Message Queuing Message Passing ist ein Kommunikationsmodell zum asynchronen Transport von Daten zwischen Prozessen. Die Daten werden innerhalb von Nachrichten (Messages) übertragen. Message Passing arbeitet auf der Basis von Warteschlangen: Nachrichten werden vom Sender in eine Warteschlange gelegt und werden von dort aus an den Empfänger weitergeleitet. Die Warteschlange arbeitet nach dem FIFO Prinzip. Nachricht Nachricht Sender Empfänger Warteschlange Einfaches Interaktionsmodell: point-to-point-messages VIS-1 Middlew-7

8 Komplexere Interaktionen Complement to synchronous interactions Suitable to modular design: the code for making a request can be in a different module (even a different machine!) than the code for dealing with the response It is easier to design sophistica- ted distribution modes (multicast, transfers, replication, coalescing messages) and it also helps to handle communication sessions in a more abstract way request() do with answer queue queue receive process return More natural way to implement complex interactions ti VIS-1 Middlew-8

9 Alternat. Interaktionsmodell: Publish-Subscribe Prozesse erhalten Rollen als Publisher bzw. Subscriber. Subscriber abonnieren Nachrichten zu einem Thema. Publisher veröffentlichen Nachrichten zu einem Thema. Broker übernehmen die Vermittlung. Eine mögliche Realisierung erfolgt durch themenspezifische Warteschlangen. W arteschlange zu Thema a Thema a Subscriber Publisher Nachricht b W arteschlange zu Thema b Verm ittler (Broker) Thema b Nachricht b Subscriber VIS-1 Middlew-9

10 Persistente Warteschlangen Eine der wesentlichen Quality of Service -Eigenschaften ist die garantierte Auslieferung einer Nachricht. Was ist dabei das Hauptproblem: Der Empfängerprozess kann ausfallen. Das Netzwerk kann unterbrochen sein. Garantierte Auslieferung wird sichergestellt durch das persistente Zwischenspeichern von Nachrichten. z.b. Datenbank, Dateisystem,... (Nur) wenn der Empfänger bereit ist zu empfangen, wird die Nachricht zugestellt. Garantierte Auslieferung stellt sicher, dass eine Nachricht an den Empfänger ausgeliefert wird. Garantierte Auslieferung sagt jedoch nichts über den Zeitpunkt der Auslieferung aus. Dies muss ggfs.über andere QoS-Eigenschaften sicher gestellt werden. VIS-1 Middlew-10

11 Message Oriented Middleware (MOM) MOM ist die Middleware-Technologie zum Message-Passing-Kommunikationsmodell. MOM bietet neben der rein asynchronen Kommunikation weitere Mechanismen und Dienste: Unterstützung der verschiedenen Messaging Modelle Warteschlangenverwaltung Verbindungsmanagement Quality-of-Service Zusicherungen (QoS) Sender Warteschlangen Empfänger Zugriffsschnittstelle Zugriffsschnittstelle Warteschlangenverwalter Middleware Protokoll (proprietär) Protokollstack VIS-1 Middlew-11

12 Beispiel: Java Message Service (JMS) Einheitlichen Zugriffsschnittstelle (API) für Java-Anwendungen auf einen MOM-Server Teil der Java-Plattform (Java EE oder stand-alone) Der Standard d unterscheidet t zwei Rollen JMS Provider: der jeweilige MOM-Server JMS Client: die Java-Anwendung (Empfänger und Sender von Nachrichten). JMS unterstützt verschiedene Interaktionsmodelle: Einfaches Point-to-Point-Modell Publish-Subscribe-Modell Request-Reply-Modell Nachteil: Keine Interoperabilität zwischen Produkten (aber Porta- bilität) VIS-1 Middlew-12

13 Zusammenfassung: Kommunikationsorientierte Middleware (KM) Ziele: Abstraktion von der Netzwerkprogrammierung Aufgaben Kommunikation Datentransformation Verbergen der Heterogenität Programmiermodelle: Entfernte Prozeduraufrufe (RPC) Entfernte Methodenaufrufe (RMI) Nachrichtenorientiertes Modell Betriebssystem Anwendungskomponente Kommunikationsorientierte Middleware Verteiltes System Beispiele: DCE-RPC, CORBA RMI, Java RMI, JMS VIS-1 Middlew-13

14 Anwendungsorientierte Middleware (AM) AM setzt auf kommunikationsorientierter Middleware (KM) auf. AM erweitert KM um Funktionalität zur Unterstützung verteilter Anwendungen. AM eignet sich auf Grund ihrer Eigenschaften insbesondere für Informationssysteme Informationssysteme steme zeichnen sich durch folgende Eigenschaften aus: Software-intensiv datenzentriert interaktiv nebenläufig Erweiterungen der AM gegenüber KM sind: Laufzeitumgebung Dienste Komponentenmodell VIS-1 Middlew-14

15 AM-Systemarchitektur klassisch [Bernstein 93] FRAMEWORK User Interface Application API veneer Tools Application Framework Local Services Application Programming Interface Middleware : (Distributed) System Services Platform Interface Platform_i OS Hardware Platform_j OS Hardware VIS-1 Middlew-15

16 KM + Laufzeitumgebung Laufzeitumgebung setzt auf dem Betriebssystem des jeweiligen Knoten im verteilten System auf. Laufzeitumgebung erweitert die Funktionalität des Betriebssystems um Verbesserte Ressourcenverwaltung Unterstützung der Nebenläufigkeit Verbindungsverwaltung Verbesserung der Verfügbarkeit Verbesserte Sicherheitsmechanismen Laufzeitumgebung Betriebs- system Kommunikationsinfrastruktur Verteiltes System VIS-1 Middlew-16

17 KM + Laufzeitumgebung + Dienste Dienste stellen häufig benötigte Funktionalität wiederverwendbar bereit Welche und wie viele Dienste eine Middleware anbietet, kann stark variieren. Zu den grundlegenden g Diensten einer Middleware zählen: Namensdienst Sitzungsverwaltung Transaktionsverwaltung Persistenz Dienste Laufzeitumgebung Dienste Betriebssystem Kommunikationsinfrastruktur Verteiltes System VIS-1 Middlew-17

18 KM + Laufzeitumgebung + Dienste + Komponentenmodell Ein Komponentenmodelle bieten eine konzeptionelle und technische Basis zur komponentenbasierten Entwicklung von Anwendungen. Ein Komponentenmodell definiert: einen Komponentenbegriff eine Komponentenlaufzeitumgebung Verträge zwischen Komponenten und Komponentenlaufzeitumgebung Dienste Komponentenmodell Laufzeitumgebung Dienste Anwendungskomponente Anwendungskomponente Anwendungskomponente Betriebssystem Kommunikationsinfrastruktur Verteiltes System VIS-1 Middlew-18

19 Komponentenbasiertes Paradigma (Wdh.) Komponentenbegriff: Wiederverwendbarkeit von Anwendungsfunktionalität Komponenten sind grob-granularere granularere Einheiten auf fachlicher Ebene mit klaren Schnittstellen und diese... sind in sich abgeschlossen (self-contained) bzw. definieren genau ihre Abhängigkeiten und sie umfassen im Wesentlichen nur die Anwendungslogik (vgl. Einsatzkontext, t t s.u.) Laufzeitumgebung: Dienste und Schnittstellen Komponenten werden in speziellen Containern ausgeführt (IOC-Prinzip) Pi i Einheitliches Deployment-Modell Konfiguration der Komponenten beim Deployment je nach Einsatzkontext (Sicherheit, Transaktionen, Persistenz, ) K1 Container 1 Rechner 1 K2 K3 Container 1 Rechner 2 VIS-1 Middlew-19

20 Middleware-Dienste für Komponenten Namensdienst (damit Komponenten sich gegenseitig finden können) Remote-Prozeduraufruf (RMI/RPC) (für entfernten Zugriff auf Komponenten) Nachrichtenkommunikation (für asynchrone Kommunikation mit bzw. zwi- schen Komponenten) Transaktionssicherheit (für Nebenläufigkeit und Fehlerbehandlung innerhalb und zwischen Komponenten) Resource Pooling (Datenbankverbindungen, Komponenten) Security (Zugriffsrechte) Persistenz und Caching (persistente Speicherung von Objekten/Daten) VIS-1 Middlew-20

21 Standardisierte Anwendungsmiddleware: OSF DCE und OMG CORBA Standardisierungsziel: Herstellerübergreifendes Architekturmodell und Systemplattform zur Unterstützung offener verteilter Anwendungen, dazu: Erweiterte (Betriebs-) Systemplattform - DCE: Middleware- Standards für verteilte Systeme: Open Software Foundation (OSF) / Open Group (OG): ---> Distributed Computing Environment (DCE) Architektur- und Objektmodell CORBA: Object Management Group (OMG): ---> Common Object Request Broker (CORBA) VIS-1 Middlew-21

22 DCE: Einführung Distributed Computing Environment (ca. 1990) entwickelt von der Open Software Foundation (OSF) Ziel: Vereinfachung der Entwicklung verteilter Systeme Realisiert als Middleware Transparenzschicht über dem Betriebssystem Dienste, Bibliotheken und Werkzeuge Client/Server Modell Aktive Clients Passive Server VIS-1 Middlew-22

23 Herstellerübereinkunft: OSF/OG Distributed Computing Environment (DCE): Architektur ENCINA Toolkit TRAN TRPC Tran-C Server Core Verteilte Anwendung Time Directory Security Distrib. Service Service Service File Sys. Sonst. Remote Procedure Call (RPC) Thread Service Local Operating and Communication Services VIS-1 Middlew-23

24 DCE: Architektur (2) Zellen (engl. Cells ) ähnlich h Domänen Strukturierungseinheit für Administration und Betrieb Aufbau Autonomie der Zellen Verzeichnis-, i Sicherheits- h i und dzeitdienst idi je Zelle Verbindung von Zellen manuelle Konfiguration (Trust-Relationship) globaler Verzeichnisdienst (Zellennamen) VIS-1 Middlew-24

25 DCE: RPC Remote Procedure Call IDF Zugriffstransparenz für Prozeduraufrufe f Schnittstellendefinition (IDF) Interface Definition File Signaturen der Prozeduren UUID für jedes Interface Ablauf Generierung von Stub (Client) / Skeleton (Server) Kommunikation über TCP / UDP Maskieren von Implementationsdetails (z.b. Datenformate) VIS-1 Middlew-25

26 Praktische Relevanz von DCE unterschiedliche Hersteller unterschiedliche Betriebssysteme unterschiedliche Netzwerktechnologien Komponenten von unterschiedlichen Herstellern Standardkomponenten keine einheitliche Steuerungs- / Überwachungsumgebung keine globalen Entwicklungswerkzeuge einheitliche Implementierungen auf vielen HW-Plattformen gute Integration von Security-Funktionen VIS-1 Middlew-26

27 Standardarchitektur für die Objektkoordination in offenen verteilten Systemen: OMG CORBA OMG: Object Management Group : non-profit Software-Konsortium (gegr. 1989) über 800 Mitglieder (Firmen: HW, SW, User, IT etc.) Ziel: Unterstützung für Anwendungs-Interoperabilität Umgebung: heterogen, multi-vendor, verteilt,... bisher: Object Management Architecture (Referenzmodell) + Common Object Request Broker (CORBA) + Object Services (z.b. Transaktionen, Trading,...) Beziehungen zu: ISO/IEC JTC1 WG7 (ODP) CCITT/ITU und ISO X.500 (Directory) etc. Unix bzw. X/Open VIS-1 Middlew-27

28 CORBA: Einführung Common Object Request Broker Architecture (CORBA) entwickelt von der Object Management Group (OMG), ca. 1992/96 Ziel: Kommunikationsinfrastruktur für verteilte Objekte Teil der Object Management Architecture (OMA) CORBA Services: technische Dienste CORBA Facilities: fachbezogene Dienste (domain vs. horizontal) Objektorientiertes Client/Server-Modell Server-Objekte Aufrufe auf Server-Objekten durch Clients VIS-1 Middlew-28

29 De-facto Standard: OMG Common Object Request Broker Architecture t (CORBA) Client Interface Definition Language (IDL) Server Object Dynamic interface Static stubs ORB interface IDL Skeleton Object adapter Object Request Broker Kernel Interface repository - Find object instance - Supervise transfer of control - Data transfer from caller to object instance - Error management Implementation repository VIS-1 Middlew-29

30 CORBA: Architektur Object Request Broker (ORB) transparente Vermittlungsschicht Objektreferenzen zur Adressierung Veröffentlichung von Referenzen über Namensdienst RMI Remote Method Invocation Interface Repository Verwaltung von Objektschnittstellen Bindung zur Laufzeit möglich Client Serverobjekt Serverobjekt Dynamischer Stub Statischer Stub ORB- Dienste Statisches Skeleton Dynamisches Skeleton POA CORBA Interface Repository Implementation Repository VIS-1 Middlew-30

31 CORBA: RMI Ziele IDL Objektorientierung ti als Abstraktion für verteilte Kommunikation Orts- und Zugriffstransparenz Sprachunabhängigkeit Interoperabilität Interface Definition Language gemeinsamer Nenner für Programmiersprachen (C++, Java, Smalltalk etc.) Language Bindings legen Abbildung fest Ablauf Generierung von Stub (Client) / Skeleton (Server) Marshalling / Unmarshalling VIS-1 Middlew-31

32 DCE vs. CORBA Dienstlokalisation Verzeichnisdienst Dienstgranularität DCE: Prozedur CORBA: Objekte Sicherheit Security Service Heterogenität verbergen IDF IDL Dienstaufruf DCE: RPC CORBA: RMI Stukturierung / Konfiguration Komponentenmodell DCE: n/a CORBA: CBOF (Common Business Object Facility, nicht fertig DCE: Zellen gestellt) CORBA: Domänen CCM (CORBA Component Model, verabschiedet 1999, kaum Verwendung in der Praxis) VIS-1 Middlew-32

33 Die Rolle der CORBA IDL Client Side Object Implementation ti Side C COBOL C++ I D L I D L C COBOL I D L I D L ORB ORB I D L I D L Ada Ada I D L I D L I D L I D L Small talk I D L I D L Small talk C++ JAVA JAVA VIS-1 Middlew-33

34 CORBA Interface Definition Language (IDL) Bestandteile - Definition der Typen der Argumente - Spezifikation der Prozedurköpfe - Zuweisung von Identifikationsnummern zu den Prozeduren - Definition des Programms und der Version Schnittstellensprache - wird benötigt, z.b: wenn Client und Server in unterschiedlichen Sprachen geschrieben sind (heterogene Umgebungen!) - bietet skalare und strukturierte Datentypen - kann von verschiedenen Sprachen aus benutzt werden Datenabstraktion - entspricht von der Idee her z.b. Definitionsdatei in Modula-2 -Server exportiert die Schnittstelle, Client importiert die Schnittstelle - Server und Client müssen dieselbe Schnittstelle benutzen Marshalling/Unmarshalling-Routinen (Stubs) - Generierung für jeden im Schnittstellenmodul definierten Datentyp (Stubs) automatisch möglich VIS-1 Middlew-34

35 CORBA IDL-Beispiel: RouteFinder.idl module RouteFinder { typedef string Location; typedef sequence<location> LocationSeq; typedef long Speed; typedef float Length; enum Complexity {LOW, MEDIUM, HIGH}; typedef boolean Beauty; enum Policy { FAST, SHORT, SIMPLE, NICE }; union SingleRating switch (Policy) { Speed s; Length l; Complexity c; Beauty b; }; struct Ratings { Speed s; Length l; Complexity c; Beauty b; }; // Exceptions exception UnknownRoute {}; exception UnknownLocation { Location where }; exception Reject { string reason; }; // Interfaces interface Route; interface RouteFactory; interface Update; interface Lookup; interface ExtendedLookup; }; VIS-1 Middlew-35

36 IDL-Beispiel: 'RoomBooking' in CORBA IDL aus: A. Vogel, K. Duddy: "Java Programming with CORBA", John Wiley & Sons, 1997 module RoomBooking { interface Meeting { // A meeting has two read-only attributes which describe the // purpose and the participants of that meeting. readonly attribute string purpose; readonly attribute string participants; }; interface MeetingFactory { // A meeting factory creates meeting objects. Meeting CreateMeeting ( in string purpose, in string participants); }; VIS-1 Middlew-36

37 IDL-Beispiel: 'RoomBooking' in CORBA IDL (cont.) }; interface Room { // A Room can be booked for several (here: 8) time slots. enum Slot {am9, am10, am11, pm12, pm1, pm2, pm3, pm4}; // Since cardinality of slots cannot be determined in IDL MaxSlots defines it: const short MaxSlots = 8; }; // "Meetings" associates meetings with time slots typedef Meeting Meetings [MaxSlots]; exception NoMeetingsInThisSlot {}; exception SlotAlreadyTaken {}; // The attribute "name" names a room: readonly attribute string name; // "View" returs the bookings for a room, "Book" and "Cancel" book resp. cancel // reservation for a room (here: only for a day): Meetings View (); void Book ( in Slot a_slot, in Meeting a_meeting ) raises (SlotAlreadyTaken); void Cancel ( in Slot a_slot ) raises (NoMeetingsInThisSlot) VIS-1 Middlew-37

38 Vor- & Nachteile von CORBA CORBA löst Probleme der Heterogenität... Integration legacy... Verteilung... Ersetzbarkeit Information hiding... Wiederverwendbarkeit Vererbung... Erweiterbarkeit Polymorphie Unter den Randbedingungen schneller Standardisierungsprozesse etwa 18 Monate bis zum Markt... große Akzeptanz über 800 Mitglieder viele Produkte viele Sprachabbildungen (Mappings)... große Verbreitung Client bereits in jedem Browser ab Netscape 4 Navigator vorhanden Probleme: IDL kleinster gemeinsamer Nenner IDL definiert nur Interface, keine Implementierung keine Semantikspezifikation in IDL-Beschreibung z.t. mangelhafte Abbildbarkeit auf Sprachen schlechte Reversibilität VIS-1 Middlew-38

39 Erweiterungen des CORBA - Standards Schwachstelle der erste CORBA-Version (1.0) : Interoperabilität CORBA 2.0 (ca. 1995): Interoperabilitätsprotokoll integriert (TCP/IP oder DCE) UNO-Vorschlag: Universal Network Objects Unterscheidung: Stand-Alone ORBs vs. Networked ORBs mit Inter-ORB-Bridge und Interoperability-Protokoll Zusätzliche Architekturkomponente: Dynamic Skeleton Interface (DSI) lädt adäquate Objektimplementierung aus dem Implementation Repository setzt generische DII-basierte Requests in objektspezifische Methodenaufrufe um Interoperable Objektreferenzen realisiert via: - General Inter-ORB-Protokoll (GIOP) - wie IIOP (Internet Inter-ORB Prot.) - Environment Specific Inter-ORB-Protokoll (ESIOP) - wie z.b. DCE-CIOP (DCE-Common Inter-ORB-Protokoll) CORBA 3.0: u.a. Unterstützung für (SW-) Komponententechnologie, UML (Modellierung) etc. letzte Version: CORBA 3.1 (2008) VIS-1 Middlew-39

40 Aktueller Vertreter: Java EE Voller Name: Java Platform Enterprise Edition 5 Java Platform, Enterprise Edition, abgekürzt Java EE oder früher J2EE, ist die Spezifikation einer Softwarearchitektur für die transaktionsbasierte Ausführung von in Java programmierten Anwendungen und insbesondere Web-Anwendungen. Java EE ist damit eine herstellerunabhängige Spezifikation eines Komponentenmodells inkl. dazugehöriger Middleware Services, inkl. Schnittstellen zu anderen Komponenten Komponenten: Enterprise Java Beans (EJB) Java-basiertes Modell (keine Programmiersprachenunabhängigkeit) Konfiguration über XML-Deskriptoren bzw. Java-Annotations Laufzeitumgebung: EJB Container (Application Server) Container implementiert die Java EE Spezifikation Komponenten (-entwickler) benutzen Java EE APIs Einmal implementierte Komponenten können auf Produkten verschiedener Hersteller deployed d werden (theoretisch ) ti h VIS-1 Middlew-40

41 Historische Entwicklung Ease of Development Enterprise Java Platform Enterprise Java APIs J2EE 1.2 JPE Project Servlet, JSP, EJB, JMS, JTA, JNDI, RMI/IIOP Robustness J2EE 1.3 EJB 2.0, Connector Architecture Web Services J2EE 1.4 Web Services, Management, Deployment, Async. Connector Java EE5 Annotations, EJB 3.0, Persistence API, JSF, Renewed Web Services May 1998 Dec 1999 Sept Nov May 2006 VIS-1 Middlew-41

42 Nachfolger: Java EE 6 Neuerungen Profiles: Teilmengen der Platform/APIs für spezifische Anwendungen (z.b. Java EE Web Profile) SOA: Support für SCA (Service Component Architecture) Existierende Spezifikationen aufnehmen: JSR-196: Java Authentication SPI for Containers JSR-236: Timer for Application i Servers? JSR-237: Work Manager for Application Servers? JSR-299: Web Beans JSR-311: JAX-RS: Java API for RESTful Web Services Spezifikation: Fertigstellung (SDK): Dezember 2009 In Konkurrenz zu: Microsoft s s.net -Plattform VIS-1 Middlew-42

43 Java EE: Plattform-Architektur VIS-1 Middlew-43

44 Java Beans (Def.: Sun / Wikipedia) JavaBeans sind Software-Komponenten für die Programmiersprache Java. JavaBeans entwickelten sich aus der Notwendigkeit heraus, GUI-Klassen (AWT, Swing) einfach instanziieren (Reflexion) und übertragen (RMI) zu können. JavaBeans werden auch als Container zur Datenübertragung verwendet. Daher zeichnen sich alle JavaBeans durch folgende Eigenschaften aus: Öffentlicher Standardkonstruktor (Default constructor) Serialisierbarkeit (Serializable) Öffentliche Zugriffsmethoden (Public Getters/Setters) Auf Grund dieser Eigenschaften eignen sich JavaBeans auch als Datenobjekte für Persistenzframeworks (siehe Enterprise JavaBeans). Eine Komponente ist nur dann eine JavaBean, wenn sie der JavaBeans API Specification entspricht, welche die JavaBeans Component Architecture spezifiziert. Enterprise JavaBeans (EJB) sind standardisierte Komponenten innerhalb eines Java-EE- Servers (Java Enterprise Edition). Sie vereinfachen die Entwicklung komplexer mehrschich- hi h tiger verteilter Softwaresysteme mittels Java. Mit Enterprise JavaBeans können wichtige Konzepte für Unternehmensanwendungen, z. B. Transaktions-, Namens- oder Sicherheitsdienste, umgesetzt werden, die für die Geschäftslogik einer Anwendung nötig sind. VIS-1 Middlew-44

45 Java EE: Interoperabilität VIS-1 Middlew-45

46 Java EE Komponentenmodell(e) Motivation: Anwendungsfunktionalität (business logic) in geeignete Komponenten kapseln Stateless Session Beans Jeder Methodenaufruf ist (normalerweise) eine eigene Transaktion Stateless Beans können zwischen zwei Methodenaufrufen keinen Zustand speichern Stateful Session Beans Transaktion besteht (normalerweise) aus mehreren Methodenaufrufen (Geschäftsprozess) Stateful Beans haben einen internen Zustand, der pro Client gespeichert wird Message-Driven Beans für asynchrone Interaktionen (kein Ergebnis erwartet) werden durch Nachrichten aus (z.b. JMS) Warteschlangen getrieben Entity-Beans gibt es nicht mehr (bzw. nur noch aus Kompatibilitätsgründen) Persistenz über einfache Java-Objekte (POJOs) konfigurierbare Abbildung auf (z.b.) Datenbanktabellen VIS-1 Middlew-46

47 Allgemein Session Beans stellen bestimmte Dienste (Methoden) zur Verfügung, die von Clients genutzt werden können ( Business Interfaces) sind nicht-persistent, d.h. Zustand wird nicht dauerhaft gespeichert Zugriff über Local oder Remote Interfaces Stateless Session Bean Es können nie zwei Clients nebenläufig auf einer Bean-Instanz arbeiten Nach jedem Methodenaufruf wird die Bean wieder frei kann bei Bedarf vom Container zerstört werden oder wieder an einen anderen Client (bzw. den gleichen) vermittelt werden Pooling / Replikation einfach möglich Beispiel: Abrechnung erstellen Stateful Session Beans eine Instanz pro Client (speichert spezifischen Zustand einer Sitzung) wird erst nach Beenden einer Sitzung frei Passivierung/Aktivierung möglich, um Speicher zu sparen Beispiel: Hinzufügen mehrerer Artikel zu einem Warenkorb VIS-1 Middlew-47

48 Message-Driven Bean interagiert nur über Nachrichten und Warteschlangen mit der Außen- welt Für Clients ist es nicht möglich, eine solche Bean zu identifizieren oder eine Verbindung zu ihr aufzunehmen Beispiel: Asynchroner Austausch von Daten zwischen Unternehmen VIS-1 Middlew-48

49 Schnittstellen zur Außenwelt Java / Swing Rich Client Applikation Web Browser / Mobile Geräte Java WebStart Java Servlets JSP / JSF EJB Tier Stateless Session Beans C++ CORBA Anwendungen Andere Java Enterprise-Server Andere Enterprise- Applikationen CORBA-IIOP SOAP Webservices Messaging Protocol Stateful Session Beans Message-Driven EJBs VIS-1 Middlew-49

50 Persistenz mit EJB3 Programmiermodell Daten werden als einfache Java-Objekte gekapselt Automatisches OR-Mapping auf SQL-Tabellen Beschreibung der Datentypen über Annotationen Objektorientierte Anfragesprache: select o from Order o where o.customer.name= Hans Laufzeitmodell Persistence Manager zuständig für Verwaltung persistenter t Objekte Meist gebunden an Session ( Transaktionalität) Verwaltung kann über Entity- Lebens-zyklus beeinflusst werden: VIS-1 Middlew-50

51 Deployment-Prozess VIS-1 Middlew-51

52 Packaging and Deployment Enterprise Application Archive (EAR) application.xml EJB Archive (EJB-JAR) JAR) ejb-jar.xml j Session Beans Message-Driven Beans Web Application Archive (WAR) Servlets JSPs web.xml VIS-1 Middlew-52

53 Java EE 5-kompatible Server Open Source Sun GlassFish JBoss Application Server (JBossAS) Apache Geronimo Zertifizierte Server (http://java.sun.com/javaee/overview/compatibility.jsp) j p yj p) weitere (Sun Java System Application Server) BEA WebLogic (jetzt Oracle) IBM Websphere Application Server (WAS) SAP NetWeaver Application Server Pramati Server (Pramati Technologies) ObjectWeb JOnAS (Java Open Application Server) by OW2 consortium VIS-1 Middlew-53

54 Java EE Beispiel: Duke s Bank Applicaton VIS-1 Middlew-54

55 Java EE Beispiel: Duke s Bank Applicaton withdraw( ) deposit( ) transferfunds( ) getaccountsofcustomer( ) getdetails( ) createaccount( ) removeaccount( ) addcustomertoaccount( ) removecustomerfromaccount( ) createcustomer( ) removecustomer( ) VIS-1 Middlew-55

56 Java EE Beispiel: Duke s Bank Applicaton Authentifizierung ( ) & Autorisierung (bankcustomer) withdraw( ) deposit( ) transferfunds( ) getaccountsofcustomer( ) getdetails( ) createaccount( ) removeaccount( ) addcustomertoaccount( ) removecustomerfromaccount( ) g Authentifizierung & Autorisierung (bankadmin) createcustomer( ) removecustomer( ) VIS-1 Middlew-56

57 Java EE Beispiel: Duke s Bank Applicaton withdraw( ) deposit( ) transferfunds( ) getaccountsofcustomer( ) getdetails( ) Transaktion createaccount( ) removeaccount( ) addcustomertoaccount( ) removecustomerfromaccount( ) createcustomer( ) removecustomer( ) VIS-1 Middlew-57

58 Zusammenfassung Kommunikationsorientierte Middleware Alternativen zu RMI/RPC nachrichtenorientierte Middleware (MOM) Anwendungsorientierte Middleware Motivation und Abgrenzung historische Vertreter: DCE & CORBA aktuelle(r) Vertreter: Java EE Beispiel: Duke s Bank Application VIS-1 Middlew-58

Middleware: Nachrichtenorientierte Middleware & Anwendungsorientierte Middleware. VIS1-Midd-1. db/wl/ap/lb vsis inf min uni hh 13_14

Middleware: Nachrichtenorientierte Middleware & Anwendungsorientierte Middleware. VIS1-Midd-1. db/wl/ap/lb vsis inf min uni hh 13_14 Middleware: Nachrichtenorientierte Middleware & Anwendungsorientierte Middleware VIS1-Midd-1 Gliederung Kommunikationsorientierte Middleware Alternativen zu RMI/RPC Nachrichtenorientierte Middleware (MOM)

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung 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

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung 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

Mehr

ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS. Piotr Kasprzak

ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS. Piotr Kasprzak ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS Piotr Kasprzak Agenda Laufzeitumgebung Java EE (J2EE) Motivation APIs / Technologien JBoss Entwicklungsumgebung Eclipse Ausblick Java EE -

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum 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

Mehr

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA Hauptseminar Management von Softwaresystemen Techniken der System-Integration EAI, Middleware, SOA, CORBA Betreuerin: Referent: Ulrike Hammerschall Alexey Krivoborodov Agenda Motivation Arten der Verteilung

Mehr

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg COMMON OBJECT REQUEST BROKER ARCHITECTURE Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg Gliederung Motivation Was ist CORBA? Object Management Architecture (OMA ) Interface Definition Language

Mehr

Enterprise Java Beans Einführung

Enterprise 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

Mehr

Warum EJB Technologie (1)?

Warum 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

Mehr

CORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu

CORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu CORBA Common Object Request Broker Architecture Eine kurze Einführung Ying Lu Verlauf der Präsentation Was ist CORBA CORBA-Architektur Ein Beispiel CORBA im Einsatz CORBA im Vergleich Was ist CORBA Begriffe

Mehr

Klausur Verteilte Systeme

Klausur Verteilte Systeme Klausur Verteilte Systeme SS 2005 by Prof. Walter Kriha Klausur Verteilte Systeme: SS 2005 by Prof. Walter Kriha Note Bitte ausfüllen (Fill in please): Vorname: Nachname: Matrikelnummer: Studiengang: Table

Mehr

VS12 Slide 1. Verteilte Systeme. Vorlesung 12 Sebastian Iwanowski FH Wedel

VS12 Slide 1. Verteilte Systeme. Vorlesung 12 Sebastian Iwanowski FH Wedel VS12 Slide 1 Verteilte Systeme Vorlesung 12 Sebastian Iwanowski FH Wedel Mögliche Plattformen für Web Services VS12 Slide 2 VS12 Slide 3 Java-Software für verteilte Systeme J2EE: Java 2 Enterprise Edition

Mehr

J2EEKurs. J2EE eine Plattform für betriebliche Anwendungen. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10.

J2EEKurs. J2EE eine Plattform für betriebliche Anwendungen. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10. J2EE eine Plattform für betriebliche Anwendungen Universität Freiburg, Germany Sommercampus, Freiburg, Germany, 10.-14.10.2005 Plattform Betriebliche Anwendung J2EE Kontrahenten J2EE im Überblick Was ist

Mehr

-Testen verteilter Anwendungen

-Testen verteilter Anwendungen -Testen verteilter Anwendungen Seminar Simulation und Bildanalyse mit Java im SS04 Konstantin Tjo, Urs Pricking Testen verteilter Anwendungen 1 Übersicht Einführung in verteilte Anwendungen RMI (Remote

Mehr

Client/Server-Systeme

Client/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

Mehr

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard

Mehr

Übungsaufgabe Transaktion als Middleware

Ü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

Mehr

Komponentenmodelle II

Komponentenmodelle II Komponentenmodelle II DCOM / CORBA Detlef Streitferdt Technische Universität Ilmenau DCOM Architektur Client Proxy Stub Component CoCreateInstance Security Provider DCE RPC Protocol Stack Security Provider

Mehr

CORBA. Beispiel einer Middleware-Plattform. Christian Fass WS 2013/14 Software Engineering: Basistechnologien

CORBA. Beispiel einer Middleware-Plattform. Christian Fass WS 2013/14 Software Engineering: Basistechnologien CORBA Beispiel einer Middleware-Plattform Christian Fass WS 2013/14 Software Engineering: Basistechnologien Allgemeines Common Object Request Broker Architecture Middleware: Vermittelt zwischen Obekten/Prozessen

Mehr

Grundlagen und Implementation. Jan Kraft

Grundlagen und Implementation. Jan Kraft Grundlagen und Implementation Jan Kraft Gliederung 1 die OMG 2 Was ist CORBA? 3 Funktionsweise 3.1 die Interface Definition Language 3.2 Objekt Adapter 3.3 weitere Komponenten des ORB 3.4 InterORB Protokolle

Mehr

J2EEKurs. Enterprise JavaBeans Einführung. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10.2005. Universität Freiburg, Germany

J2EEKurs. 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

Mehr

Verteilte Systeme. Verteilte Objektorientierte Systeme II. Prof. Dr. Oliver Haase

Verteilte Systeme. Verteilte Objektorientierte Systeme II. Prof. Dr. Oliver Haase Verteilte Systeme Verteilte Objektorientierte Systeme II Prof. Dr. Oliver Haase 1 Überblick Verteilte Objektorientierte Systeme 1 RPC verteilte objektorientierte Architekturen Java RMI Verteilte Objektorientierte

Mehr

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Einsatz 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

Mehr

Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication

Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication Frank Kargl Torsten Illmann Michael Weber Verteilte Systeme Universität Ulm {frank.kargl torsten.illmann weber} @informatik.uni-ulm.de

Mehr

Modul Software Komponenten 10 Komponentenarchitektur

Modul Software Komponenten 10 Komponentenarchitektur Modul Software Komponenten 10 Komponentenarchitektur Teil 3 Peter Sollberger Eine erste CORBA Anwendung Inhalt Dienstag, 4. November Object Request Broker CORBA Architektur und Komponenten (Teil 1) Übung:

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth SS 2005 Teil 16 RMI, DCOM, Webservices cs 1100 ww6 sch 05-97 Remote Method Invocation (RMI) JVM JVM Client Server Stub Java Remote Skeleton Method

Mehr

explizite, orthogonale Interaktion Verteilte Anwendungen und Middleware uniforme / nicht-uniforme Interaktion implizite, nicht-orthogonale Interaktion

explizite, orthogonale Interaktion Verteilte Anwendungen und Middleware uniforme / nicht-uniforme Interaktion implizite, nicht-orthogonale Interaktion Verteilte Anwendungen und Klassifikation von Interaktionsformen explizit implizit orthogonal nicht-orthogonal uniform nicht-uniform transparent nicht-transparent explizite, orthogonale Interaktion weit

Mehr

ORACLE Business Components for Java (BC4J) Marco Grawunder

ORACLE 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

Mehr

Hello World from CORBA

Hello World from CORBA Hello World from CORBA ein erster Überblick Aufruf einer Objekt-Methode Client gettemperature() Thermometer Objekt- Implementation Thermometer th = new Thermometer(); double t = th.gettemperature(); th

Mehr

Enterprise Java Beans

Enterprise Java Beans Enterprise Java Beans Beispiel Minibank nur: Kunde, Konto, Überweisung personen.person Attributes Name:String Vorname:String überweisungen.überweisung Attributes Verwendungszweck:String Datum:Date betrag:integer

Mehr

17 Komponentenbasiertes Software-Engineering

17 Komponentenbasiertes Software-Engineering 17 Komponentenbasiertes Software-Engineering 17.0 Einführung Lernziele Grundlagen, Prinzipien und Probleme des CBSE 17.1 Komponenten und Komponentenmodelle Komponenten und ihre Eigenschaften Komponentenmodelle

Mehr

Mobile und Verteilte Datenbanken

Mobile und Verteilte Datenbanken Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2013/2014 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Kommunikations-Middleware Bietet höhere Kommunikations-Dienste

Mehr

Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013

Erste 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?

Mehr

Group and Session Management for Collaborative Applications

Group and Session Management for Collaborative Applications Diss. ETH No. 12075 Group and Session Management for Collaborative Applications A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZÜRICH for the degree of Doctor of Technical Seiences

Mehr

Enterprise JavaBeans Überblick: 17. Enterprise Information System Schicht

Enterprise JavaBeans Überblick: 17. Enterprise Information System Schicht Enterprise JavaBeans Überblick 1. Überblick Komponententechnologien 2. Einführung 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.

Mehr

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition

Inhaltsverzeichnis. 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

Mehr

Enterprise Java Beans (EJB)

Enterprise Java Beans (EJB) silbergrau Consulting & Software GmbH Enterprise Java Beans (EJB) Fachhochschule Hagenberg WS 2002 / 2003 Silbergrau Consulting & Software GmbH Dr. Andreas Erlach Inhaltsübersicht Application Server J2EE

Mehr

Kommunikationsunterstützung:

Kommunikationsunterstützung: Kommunikationsunterstützung: Entfernter Prozeduraufruf (Remote Procedure Call, RPC) VSS1-RPC-1 Kooperation: Nachrichtenversand vs. Prozeduraufruf A) Nachrichtenaustausch: i.d.r. keine Verteilungstransparenz

Mehr

Security Technologien in Java EE 6

Security Technologien in Java EE 6 Security Technologien in Java EE 6 Java Forum Stuttgart 2010 Sebastian Glandien Acando GmbH sebastian.glandien@acando.de Agenda I. Einleitung II. Java Authentication SPI for Containers (JSR-196) I. Message

Mehr

Integrating Architecture Apps for the Enterprise

Integrating 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

Mehr

Oracle Weblogic Administration Grundlagen

Oracle Weblogic Administration Grundlagen Oracle Weblogic Administration Grundlagen Seminarunterlage Version: 1.07 Version 1.07 vom 14. September 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

Verteilte Systeme SS 2014 Verteilte Systeme (1/13) Verteilte Systeme SS 2014 Middleware Verteilte Systeme (2/13)

Verteilte Systeme SS 2014 Verteilte Systeme (1/13) Verteilte Systeme SS 2014 Middleware Verteilte Systeme (2/13) Verteilte Systeme SS 2014 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 20. März 2015 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/13) i

Mehr

Enterprise JavaBeans

Enterprise 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?

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Remote Method Invocation Teil 1

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Remote Method Invocation Teil 1 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Remote Method Invocation Teil 1 Object Request Broker el0100 copyright Abt. Technische

Mehr

Komponentenbasierte Softwareentwicklung

Komponentenbasierte 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

Mehr

Middleware im Vergleich

Middleware im Vergleich 1 Middleware im Vergleich Prof. Dr. Alexander Schill Technische Universität Dresden Lehrstuhl Rechnernetze http://www.rn.inf.tu-dresden.de schill@rn.inf.tu-dresden.de - Einführung und Beispiel - Java-Technologien

Mehr

SE2-10-Entwurfsmuster-2 15

SE2-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

Mehr

Lightweight Java in der Automatisierungstechnik

Lightweight 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

Mehr

InQMy Application Server Flexible Softwareinfrastruktur für verteilte Anwendungen

InQMy Application Server Flexible Softwareinfrastruktur für verteilte Anwendungen InQMy Application Server Flexible Softwareinfrastruktur für verteilte Anwendungen IN-Q-My Title Company (Name) / 1 Agenda Firmenübersicht ebusiness Evolution InQMy Application Server Architektur Zusammenfassung

Mehr

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

Fujitsu 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),

Mehr

Kap. 7 IS-Infrastruktur: Zusammenfassung

Kap. 7 IS-Infrastruktur: Zusammenfassung Kapitel 7: Zusammenfassung Teil I. 1 Kap. 7 IS-Infrastruktur: Zusammenfassung In Teil I haben wir verschiedene Middleware-Lösungen zur Entwicklung (komplexer), verteilter Informationssysteme kennengelernt

Mehr

AS 7 / EAP 6 - Clustering. heinz.wilming@akquinet.de @akquinet h3p://blog.akquinet.de

AS 7 / EAP 6 - Clustering. heinz.wilming@akquinet.de @akquinet h3p://blog.akquinet.de AS 7 / EAP 6 - Clustering heinz.wilming@akquinet.de @akquinet h3p://blog.akquinet.de Was ist die EAP 6? EAP6!= EAP5 +1 JBoss Enterprise ApplicaBon PlaCorm 6 Stabile und unterstützte Pla>orm Basiert auf

Mehr

Verteilte Systeme - 1. Übung

Verteilte Systeme - 1. Übung Verteilte Systeme - 1. Übung Dr. Jens Brandt Sommersemester 2011 1. Rechnerverbünde Kommunikationsverbund: Beispiele: E-Mail (SMTP, POP/IMAP), Instant Messaging (XMPP, IRC, ICQ,...), Newsgroups (NNTP)

Mehr

Anwendung eines Enterprise Java Beans

Anwendung 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

Mehr

Web Service Entwicklung mit Java. Sven Lindow

Web Service Entwicklung mit Java. Sven Lindow Web Service Entwicklung mit Java Sven Lindow 22.11.2006 Agenda Einleitung SOAP, REST, WSDL, UDDI Web Services mit Java JWSDP JAX-RPC, JAX-WS 2.0 AXIS, AXIS2 Web Services nutzen Google, Ebay Web Services

Mehr

Programmierung von Client/Server- Anwendungen

Programmierung 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,

Mehr

Application Server und Continuous Integration

Application Server und Continuous Integration Application Server und Continuous Integration Outline 2 Einleitung Application Server Java EE Enterprise Applikationen vs. Web Applikationen Web Application Life Cycle Servlets JavaServer Pages verschiedene

Mehr

CORBA: Common Object Request Broker Architecture. Interoperabilität? CORBA die Idee. Die Object Management Group

CORBA: Common Object Request Broker Architecture. Interoperabilität? CORBA die Idee. Die Object Management Group CORBA: Common Request Broker Architecture Interoperabilität? Middleware-Architektur-Spezifikation der Management Group (OMG) Überblick: Die Management Group (OMG) Das Objektmodell der OMG Die Management

Mehr

Web-Services Implementierung mit Java

Web-Services Implementierung mit Java Web-Services Implementierung mit Java J. Heinzelreiter WS 2004/05 Java-APIs für Web-Services (1) Anwendungs-Code JAXR JAXM JAX-RPC SAAJ SOAP/SwA JWSDL WSDL XML/XML-Schema Web-Services/Java - 2 Java-APIs

Mehr

11. Enterprise Java Beans Grundlagen der Programmierung II (Java)

11. Enterprise Java Beans Grundlagen der Programmierung II (Java) 11. Enterprise Java Beans Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung

Mehr

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Copyright 2014, Oracle and/or its affiliates. All rights reserved. 1 Oracle Fusion Middleware Ordnung im Ganzen Matthias Weiss Direktor Mittelstand Technologie ORACLE Deutschland B.V. & Co. KG 2 Agenda Begriffe & Ordnung Fusion Middleware Wann, was, warum Beispiel für

Mehr

Corba. Systemprogrammierung WS 08 / 09. 21.01.09 Roginer - Fontana - Heinisch 1

Corba. Systemprogrammierung WS 08 / 09. 21.01.09 Roginer - Fontana - Heinisch 1 Corba Systemprogrammierung WS 08 / 09 21.01.09 Roginer - Fontana - Heinisch 1 Gliederung Definition Historie RPC Eigenschaften Architektur IDL-Beispiel Anwendungen OMA Services Facilities Client-Server

Mehr

Programmentwicklung ohne BlueJ

Programmentwicklung ohne BlueJ Objektorientierte Programmierung in - Eine praxisnahe Einführung mit Bluej Programmentwicklung BlueJ 1.0 Ein BlueJ-Projekt Ein BlueJ-Projekt ist der Inhalt eines Verzeichnisses. das Projektname heißt wie

Mehr

Integrating Architecture

Integrating Architecture Integrating Architecture Apps for the Enterprise Ein einheitliches Modulsystem für verteilte Unternehmensanwendungen Vorstellung und Einführung Ein beliebiger Zeitpunkt in einem beliebigen Unternehmen

Mehr

J2EE-Praktikum. EJB-Security. Peter Thiemann. J2EE-Praktikum, WS2005/2006. Universität Freiburg

J2EE-Praktikum. EJB-Security. Peter Thiemann. J2EE-Praktikum, WS2005/2006. Universität Freiburg J2EE-Praktikum EJB-Security Peter Thiemann Universität Freiburg J2EE-Praktikum, WS2005/2006 Inhalt 1 EJB Sicherheit 2 Schnittstelle für den Bean Provider 3 Zusammenfassung EJB Security Allgemeines Sicherheitsziele

Mehr

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle. Java und XML/XML und Java Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de XML und Programmiersprachen... Java ist... Programmiersprache

Mehr

Grundlagen des Grid Computing

Grundlagen des Grid Computing Grundlagen des Grid Computing Webservices und Grid Computing Globus Toolkit 4 - Grundlagen ICA Joh.. Kepler Universität t Linz Eine Typische Grid-Applikation (Beispiel) VO Management Service Resource Discovery

Mehr

Middleware, Verteilte Plattform (auch Verteilungsplattform*) bietet Verteilungsabstraktion für verteilte Anwendungsprogramme,

Middleware, Verteilte Plattform (auch Verteilungsplattform*) bietet Verteilungsabstraktion für verteilte Anwendungsprogramme, 9 Middleware vs9 1 Middleware, Verteilte Plattform (auch Verteilungsplattform*) bietet Verteilungsabstraktion für verteilte Anwendungsprogramme, bietet Standarddienste (Transaktionen, Sicherheit,...),

Mehr

Internetanbindung von Datenbanken

Internetanbindung von Datenbanken Internetanbindung von Datenbanken Oracle Application Server Oracle Application Server - 1 Gliederung Einführung Oracle Application Server (OAS) Praxis- und Diplomarbeitenverwaltung LiveHTML Kritik Becker,

Mehr

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Erfahrungen 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,

Mehr

Schritt 4: Hallo Enterprise Bean

Schritt 4: Hallo Enterprise Bean Prof. Dr. Th. Letschert FB MNI JEE Schritt 4: Hallo Enterprise Bean Einstieg: EJBs erzeugen und nutzen Meine erstes EJB Projekt Enterprise Beans sind eine Backend Technologie, die mit unterschiedlichen

Mehr

p^db=`oj===pìééçêíáåñçêã~íáçå=

p^db=`oj===pìééçêíáåñçêã~íáçå= p^db=`oj===pìééçêíáåñçêã~íáçå= Error: "Could not connect to the SQL Server Instance" or "Failed to open a connection to the database." When you attempt to launch ACT! by Sage or ACT by Sage Premium for

Mehr

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Agenda Mobile Agenten allgemein JADE - Java Agent DEvelopment Framework Anwendungsfall

Mehr

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek Speaker Andreas Holubek VP Engineering andreas.holubek@arlanis.com arlanis Software AG, D-14467 Potsdam 2009, arlanis

Mehr

Employment and Salary Verification in the Internet (PA-PA-US)

Employment and Salary Verification in the Internet (PA-PA-US) Employment and Salary Verification in the Internet (PA-PA-US) HELP.PYUS Release 4.6C Employment and Salary Verification in the Internet (PA-PA-US SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten.

Mehr

JBoss 7 als Plattform für hochverfügbare Anwendungen

JBoss 7 als Plattform für hochverfügbare Anwendungen JBoss 7 als Plattform für hochverfügbare Anwendungen Orientierungspunkt 04/2013 24.05.2013, OIO Dirk Weil, GEDOPLAN GmbH Dirk Weil GEDOPLAN GmbH, Bielefeld Java EE seit 1998 Konzeption und Realisierung

Mehr

Clustering von Application Servern am Beispiel von JBoss 3.2

Clustering von Application Servern am Beispiel von JBoss 3.2 Clustering von Application Servern am Beispiel von JBoss 3.2 Cluster Workshop iternum GmbH Alexanderstraße 7 60489 Frankfurt/Main www.iternum.com Agenda Clustertechnik allgemein Was ist Clustering? Gründe

Mehr

Business Activity Monitoring Overall, Real Time Monitoring Daniel Jobst, TietoEnator Michael Herr, Deutsche Post SOPSOLUTIONS

Business Activity Monitoring Overall, Real Time Monitoring Daniel Jobst, TietoEnator Michael Herr, Deutsche Post SOPSOLUTIONS Business Activity Monitoring Overall, Real Time Monitoring Daniel Jobst, TietoEnator Michael Herr, Deutsche Post SOPSOLUTIONS CITT Expertengespräch TietoEnator 2006 Page 1 Data Freshness and Overall, Real

Mehr

Erstellung 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 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

Business Process Management und Enterprise Service Bus

Business Process Management und Enterprise Service Bus Business Process Management und Enterprise Service Bus Gegner oder doch eine gute Ergänzung? Author: Date: Markus Demolsky Soreco International 08. November 2010 Vortragender Warum über Integration nachdenken?

Mehr

Vorteile von Java und Konvergenz Service Creation mit JAIN Network Management mit JMX Fazit

Vorteile von Java und Konvergenz Service Creation mit JAIN Network Management mit JMX Fazit Hochschule für Technik und Architektur Chur Dr. Bruno Studer Studienleiter NDS Telecom, FH-Dozent bruno.studer@fh-htachur.ch 1 GSM: 079/610 51 75 Agenda Vorteile von Java und Konvergenz Service Creation

Mehr

Integration von Oracle Forms in Service Oriented Architecture (SOA) Jürgen Menge Oracle Deutschland

Integration von Oracle Forms in Service Oriented Architecture (SOA) Jürgen Menge Oracle Deutschland Integration von Oracle Forms in Service Oriented Architecture (SOA) Jürgen Menge Oracle Deutschland The following is intended to outline our general product direction. It is intended for information purposes

Mehr

FWP Aktuelle Technologien zur Entwicklung verteilter Java- Anwendungen

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

Mehr

Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution

Effiziente 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

Mehr

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Enterprise Edition Teil 4. Schnittstellen

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Enterprise Edition Teil 4. Schnittstellen UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Enterprise Edition Teil 4 Schnittstellen el0100 copyright W. G. Spruth, wgs 04-10

Mehr

Vortrag ESB. von Ahmadreza Ibrahimzadeh

Vortrag ESB. von Ahmadreza Ibrahimzadeh Vortrag ESB von Ahmadreza Ibrahimzadeh 20.05.2010 Inhaltsverzeichnis 1. Einleitung...3 2. Enterprise Service Bus (ESB)...3 2.1 Produkte...3 2.2 JBOSS-ESB, Riftsaw...3 3. ESB-Eigenschaften...4 3.1 Service

Mehr

Mehmet-Oktay Tugan Gliederung Grundsätzliches und Begriffserklärung Einleitung Geschichte Architektur Funktionalitätsumfang Hauptunterstützungen Zusammenfassung Grundsätzliches WebSphere ist ein Entwicklungstool

Mehr

Message Oriented Middleware am Beispiel von XMLBlaster

Message Oriented Middleware am Beispiel von XMLBlaster Message Oriented Middleware am Beispiel von XMLBlaster Vortrag im Seminar XML und intelligente Systeme an der Universität Bielefeld WS 2005/2006 Vortragender: Frederic Siepmann fsiepman@techfak.uni bielefeld.de

Mehr

3... SAP NetWeaver Developer Studio: Schritt für Schritt zur Beispielanwendung... 119

3... SAP NetWeaver Developer Studio: Schritt für Schritt zur Beispielanwendung... 119 1... SAP NetWeaver... 25 1.1... Plattform für die Enterprise Service-Oriented Architecture... 26... 1.1.1... Enterprise-SOA-Definition... 26... 1.1.2... Vorteile einer serviceorientierten Architektur...

Mehr

SaaS-Referenzarchitektur. iico-2013-berlin

SaaS-Referenzarchitektur. iico-2013-berlin SaaS-Referenzarchitektur iico-2013-berlin Referent Ertan Özdil Founder / CEO / Shareholder weclapp die Anforderungen 1.000.000 registrierte User 3.000 gleichzeitig aktive user Höchste Performance Hohe

Mehr

Kap. 7 IS-Infrastruktur: Zusammenfassung

Kap. 7 IS-Infrastruktur: Zusammenfassung Kap. 7 IS-Infrastruktur: Zusammenfassung G In Teil I haben wir verschiedene Middleware-Lösungen zur Entwicklung (komplexer), verteilter Informationssysteme kennengelernt Wir haben Middleware eingeführt

Mehr

Isabel Arnold CICS Technical Sales Germany Isabel.arnold@de.ibm.com. z/os Explorer. 2014 IBM Corporation

Isabel Arnold CICS Technical Sales Germany Isabel.arnold@de.ibm.com. z/os Explorer. 2014 IBM Corporation Isabel Arnold CICS Technical Sales Germany Isabel.arnold@de.ibm.com z/os Explorer Agenda Introduction and Background Why do you want z/os Explorer? What does z/os Explorer do? z/os Resource Management

Mehr

Gemeinsam mehr erreichen.

Gemeinsam mehr erreichen. Gemeinsam mehr erreichen. Microservices in der Oracle SOA Suite Baden 10. September 2015 Ihr Ansprechpartner Carsten Wiesbaum Principal Consultant carsten.wiesbaum@esentri.com @CWiesbaum Schwerpunkte:

Mehr

5. Übung zur Vorlesung Service-orientierte Architekturen

5. Ü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

Mehr

FH LU JEE Vorlesung SS 2010. Ralf Gitzel ralf_gitzel@hotmail.de

FH LU JEE Vorlesung SS 2010. Ralf Gitzel ralf_gitzel@hotmail.de FH LU JEE Vorlesung SS 2010 Ralf Gitzel ralf_gitzel@hotmail.de 1 Einführung + Organisatorisches Ralf Gitzel ralf_gitzel@hotmail.de 2 Dozent Dr. Ralf Gitzel Promotion an der Universität Mannheim in Wirtschaftsinformatik

Mehr

CORBA (Überblick, IDL)

CORBA (Überblick, IDL) Friedrich-Alexander-Universität Erlangen-Nürnberg Konzepte von Betriebssystemkomponenten CORBA (Überblick, IDL) Radu Vatav 1. Geschichte Die Object Management Group (OMG), 1989 gegründet, hatte das Ziel

Mehr

IDS Lizenzierung für IDS und HDR. Primärserver IDS Lizenz HDR Lizenz

IDS Lizenzierung für IDS und HDR. Primärserver IDS Lizenz HDR Lizenz IDS Lizenzierung für IDS und HDR Primärserver IDS Lizenz HDR Lizenz Workgroup V7.3x oder V9.x Required Not Available Primärserver Express V10.0 Workgroup V10.0 Enterprise V7.3x, V9.x or V10.0 IDS Lizenz

Mehr

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.

Um 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

Mehr

G s e a s m a t m ar a ch c i h tek e tur u I und IoC

G 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!

Mehr