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

Middleware: Anwendungsorientierte Middleware

Middleware: Anwendungsorientierte Middleware Middleware: Nachrichtenorientierte Middleware & Nachrichtenorientierte Middleware & Anwendungsorientierte Middleware Gliederung Kommunikationsorientierte Middleware Alternativen ti zu RMI/RPC Nachrichtenorientierte

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

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

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

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session 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

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

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

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

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de EJB Beispiel JEE Vorlesung 10 Ralf Gitzel ralf_gitzel@hotmail.de 1 Stundenkonzept Gemeinsame Übung Stoff der letzten Stunde wird gemeinsam in einem Beispiel umgesetzt Details werden nochmals erklärt bzw.

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

Java 2, Enterprise Edition Einführung und Überblick

Java 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

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

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

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

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

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

3.2 Der CORBA-Standard Common Object Request Broker Architecture

3.2 Der CORBA-Standard Common Object Request Broker Architecture 3.2 Der CORBA-Standard Common Object Request Broker Architecture (Bildquelle: OMG) Kapitel 3.2: Vorlesung CORBA 1 CORBA Middleware im Ueberblick G CORBA = Common Object Request Broker Architecture. Standard

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

SAP NetWeaver Gateway. Connectivity@SNAP 2013

SAP NetWeaver Gateway. Connectivity@SNAP 2013 SAP NetWeaver Gateway Connectivity@SNAP 2013 Neue Wege im Unternehmen Neue Geräte und Usererfahrungen Technische Innovationen in Unternehmen Wachsende Gemeinschaft an Entwicklern Ausdehnung der Geschäftsdaten

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring 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

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

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

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 31.03.2003 J.M.Joller 1

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 31.03.2003 J.M.Joller 1 Web Services XML, WSDL, SOAP und UDDI Einblicke und Ausblicke 31.03.2003 J.M.Joller 1 Inhalt Architekturen Main Stream.NET J2EE und Applikations-Server Sicht der Anbieter Java J2EE J2EE versus.net Web

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

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

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

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit. 07.06.2002 Grid Systeme 1

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit. 07.06.2002 Grid Systeme 1 Grid-Systeme Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit 07.06.2002 Grid Systeme 1 Gliederung Vorstellung verschiedener Plattformen Globus

Mehr

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? Großer Beleg Christian Wurbs Zwischenbericht http://www.inf.tu-dresden.de/~cw6 cw6@inf.tu-dresden.de Überblick 2 Aufgabenstellung CORBA

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

WebSphere Application Server Installation

WebSphere Application Server Installation WebSphere Application Server Installation und Administration Seminarunterlage Version: 3.04 Copyright Version 3.04 vom 16. Mai 2013 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte

Mehr

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen?

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen? Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen? Januar 2012 CommitWork GmbH Seite 1 Info@CommitWork.de www.commitwork.de Motivation Modernisierung eines Systems mit

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

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

Jürgen Schwab, debis Systemhaus

Jürgen Schwab, debis Systemhaus Jürgen Schwab, debis Systemhaus 1 Komponenten - Markt VAA - Referenzmodell: eine komponentenorientierte Anwendungsarchitektur März 99 99 2 Die Voraussetzungen für einen Komponentenmarkt sind so gut wie

Mehr

Ein Vergleich zwischen SCA,JBI und WCF. Marcello Volpi

Ein Vergleich zwischen SCA,JBI und WCF. Marcello Volpi Service Component Architecture Ein Vergleich zwischen SCA,JBI und WCF Marcello Volpi Agenda Einführung Service Component Architecture (SCA) Java Business Integration (JBI) Windows Communication Foundation

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

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

Mehr

Enterprise Application Integration

Enterprise Application Integration 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Wolfgang Keller Enterprise Application Integration Erfahrungen aus

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

Übungen zu Softwaretechnik

Übungen zu Softwaretechnik Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte

Mehr

Seminar Ausgewählte Komponenten von Betriebssystemen. IDL4 Compiler

Seminar Ausgewählte Komponenten von Betriebssystemen. IDL4 Compiler Seminar Ausgewählte Komponenten von Betriebssystemen IDL4 Compiler IDL4 Compiler Hristo Pentchev Überblick CORBA IDL Allgemein IDL4 Compiler Beispiele CORBA Common Objekt Request Broker Architecture Gemeinsame

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

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

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08 Security Patterns Benny Clauss Sicherheit in der Softwareentwicklung WS 07/08 Gliederung Pattern Was ist das? Warum Security Pattern? Security Pattern Aufbau Security Pattern Alternative Beispiel Patternsysteme

Mehr

Java EE Projektseminar

Java EE Projektseminar Java EE Projektseminar Daniel Alberts & Sonja Subicin Sprachliche Informationsverarbeitung Universität zu Köln Sommersemester 2010 Sitzung Organisatorisches zum Seminar Java EE Projektplanung Defi nition

Mehr

Enterprise Java Beans

Enterprise 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

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

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

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

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

Java Enterprise Architekturen Willkommen in der Realität

Java Enterprise Architekturen Willkommen in der Realität Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen

Mehr

Enterprise JavaBeans Überblick

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

Mehr

Gemeinsam mehr erreichen.

Gemeinsam mehr erreichen. Gemeinsam mehr erreichen. Oracle ESS 12c Client Application mit ADF ADF Spotlight 6. März 2015 Ihr Ansprechpartner Carsten Wiesbaum Principal Consultant carsten.wiesbaum@esentri.com @CWiesbaum Schwerpunkte:

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

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

Man liest sich: POP3/IMAP

Man liest sich: POP3/IMAP Man liest sich: POP3/IMAP Gliederung 1. Einführung 1.1 Allgemeiner Nachrichtenfluss beim Versenden von E-Mails 1.2 Client und Server 1.2.1 Client 1.2.2 Server 2. POP3 2.1 Definition 2.2 Geschichte und

Mehr

Komponentenbasierter Taschenrechner mit CORBA

Komponentenbasierter Taschenrechner mit CORBA Komponentenbasierter Taschenrechner mit CORBA Silke Kugelstadt Torsten Steinert Inhalt Motivation Demonstration des Taschenrechners Grobarchitektur Implementierung des Clients Implementierung der Komponenten

Mehr

Installation der SAS Foundation Software auf Windows

Installation der SAS Foundation Software auf Windows Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software

Mehr

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP) Enterprise Applikation Integration und Service-orientierte Architekturen 09 Simple Object Access Protocol (SOAP) Anwendungsintegration ein Beispiel Messages Warenwirtschaftssystem Auktionssystem thats

Mehr

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool JBoss vorbereiten Wir haben ein zip-archiv mit JBoss 4.0.5 in /opt/jboss-4.0.5.zip hinterlegt. Entpacken Sie dieses in ihrem Homeverzeichnis an

Mehr

Projektgruppe 453: Entwurf eines Managementwerkzeugs zur Verwaltung von Sicherheitsdiensten für komplexe eingebettete Dienstesysteme

Projektgruppe 453: Entwurf eines Managementwerkzeugs zur Verwaltung von Sicherheitsdiensten für komplexe eingebettete Dienstesysteme Titel CORBA Eine Middleware-Plattform für objektorientierte Technologien von Martin Villis 6. Mai 2004 Projektgruppe 453: Entwurf eines Managementwerkzeugs zur Verwaltung von Sicherheitsdiensten für komplexe

Mehr

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt

OERA 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

Mehr

Struts 2 Das Imperium schlägt zurück?

Struts 2 Das Imperium schlägt zurück? Struts 2 Das Imperium schlägt zurück? Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Tobias Kieninger www.oio.de info@oio.de Java, XML und Open Source seit 1998 ) Software

Mehr

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr.

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr. Multimedia im Netz Wintersemester 2011/12 Übung 10 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 2 Gesundes neues Jahr 3 Blatt 08 Videoformate im

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

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring 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

Mehr

Der lokale und verteilte Fall

Der lokale und verteilte Fall Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf

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

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung

Mehr

ecall sms & fax-portal

ecall sms & fax-portal ecall sms & fax-portal Beschreibung des s Dateiname Beschreibung_-_eCall 2015.08.04 Version 1.1 Datum 04.08.2015 Dolphin Systems AG Informieren & Alarmieren Samstagernstrasse 45 CH-8832 Wollerau Tel. +41

Mehr

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services Themen Web Services und SOA Wer kennt den Begriff Web Services? Was verstehen Sie unter Web Services? Die Idee von Web Services Ausgangspunkt ist eine (evtl. schon bestehende) Software Anwendung oder Anwendungskomponente

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

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick

OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Thementag OSGi 03.11.2009 Autor: Christoph Schmidt-Casdorff Agenda Wo wird OSGi derzeit eingesetzt? Grundsätzliche Anwendungsszenarien OSGi Status

Mehr

Multiuser Client/Server Systeme

Multiuser Client/Server Systeme Multiuser /Server Systeme Christoph Nießner Seminar: 3D im Web Universität Paderborn Wintersemester 02/03 Übersicht Was sind /Server Systeme Wie sehen Architekturen aus Verteilung der Anwendung Protokolle

Mehr

Auszug aus JAX-WS Folien

Auszug aus JAX-WS Folien Auszug aus JAXWS Folien Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen

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

Web Services. Web Services in the News. Vision: Web of Services. Learning for Results. DECUS Symposium 2002, Vortrag 1K07,

Web Services. Web Services in the News. Vision: Web of Services. Learning for Results. DECUS Symposium 2002, Vortrag 1K07, Web Services Vision: Web of Services Applikationen und Services Ralf Günther Compaq Computer GmbH, Köln Ralf.Guenther@compaq.com DECUS Symposium 2002, Vortrag 1K07, 16.04.2002 Web Services in the News

Mehr

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R3: Administration

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R3: Administration Ora Education GmbH www.oraeducation.de info@oraeducation.de Lehrgang: Oracle Application Server 10g R3: Administration Beschreibung: Oracle Application Server 10g Release 3 (10.1.3.1.0) bietet eine neue

Mehr

RESTful Web. Representational State Transfer

RESTful Web. Representational State Transfer RESTful Web Representational State Transfer 1 Warum REST? REST ist die Lingua Franca des Webs Heterogene (verschiedenartige) Systeme können mit REST kommunizieren, unabhängig von Technologie der beteiligten

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

Windows Server 2012 R2 Essentials & Hyper-V

Windows Server 2012 R2 Essentials & Hyper-V erklärt: Windows Server 2012 R2 Essentials & Hyper-V Windows Server 2012 R2 Essentials bietet gegenüber der Vorgängerversion die Möglichkeit, mit den Boardmitteln den Windows Server 2012 R2 Essentials

Mehr

Das neue Volume-Flag S (Scannen erforderlich)

Das neue Volume-Flag S (Scannen erforderlich) NetWorker 7.4.2 - Allgemein Tip 2, Seite 1/5 Das neue Volume-Flag S (Scannen erforderlich) Nach der Wiederherstellung des Bootstraps ist es sehr wahrscheinlich, daß die in ihm enthaltenen Informationen

Mehr

Erfassung von Umgebungskontext und Kontextmanagement

Erfassung von Umgebungskontext und Kontextmanagement Erfassung von Umgebungskontext und Kontextmanagement Jörg Schneider, Christian Mannweiler, Andreas Klein, Hans D. Schotten 13.05.2009 Inhalt 1. Einleitung 2. Anforderungen 3. Kontext Erfassung und Verteilung

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

E-Services mit der Web-Service-Architektur

E-Services mit der Web-Service-Architektur E-Services mit der Web-Service-Architektur im Seminar Neue Konzepte anwendungsorientierter Middleware - Stefan Kürten - Literatur A. Tsalgatidou and T. Pilioura, An Overview of Standards and Related Rechnology

Mehr

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level Implementation of a Framework Component for Processing Tasks within Threads on the Application Level Deutsches Krebsforschungszentrum, for Processing Task within Threads on the Application Level Motivation

Mehr

Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13

Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13 Inhaltsverzeichnis Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13 Einleitung... 15 Zielgruppe... 16 Aufbau... 16 Inhalt der einzelnen Kapitel... 17 Systemanforderungen...

Mehr

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle

OO 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

Mehr

Wirtschaftsinformatik 2

Wirtschaftsinformatik 2 Wirtschaftsinformatik 2 Prof. Dr. Dr. L. Schmidt-Thieme MSc. André Busche Übung 9 1. Übungsblatt 9 2. Übungsblatt 7 Aufg. 2f und 2g 04.07.12 2/ Aufgabe 1a (4 Punkte) Beantworten Sie folgende Fragen kurz:

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

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor. Eclipse WSDL-Editor Übersicht Eclipse Foundation Eclipse Plugins & Projects Eclipse Ganymede Simultaneous Release Web Tools Platform Projekt WSDL Editor Bug #237918 Eclipse Foundation Was ist Eclipse?

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

Weblogic Server: Administration für Umsteiger

Weblogic Server: Administration für Umsteiger Weblogic Server: Administration für Umsteiger Björn Bröhl Direktor Strategie & Innovation OPITZ CONSULTING GmbH Oracle Weblogic: Administration für Umsteiger Seite 1 Inhalt Oracle Weblogic Server für Umsteiger

Mehr

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des

Mehr