6. Design Wiederverwendung durch Komponentenmodelle und Middleware

Größe: px
Ab Seite anzeigen:

Download "6. Design Wiederverwendung durch Komponentenmodelle und Middleware"

Transkript

1 6. Design Wiederverwendung durch Komponentenmodelle und 14. Mai 2002 Agenda Komponentenmodelle & Begrifflichkeiten J2EE Services Messaging / JMS Tuple Space Für Interessierte ein kurzer Exkurs Einführung in das Software-Engineering - Design: Komponenten & -2- Dr. Walter Kuhn 1

2 Ziel Verständnis für Komponenten und deren Einsatz Unterstützung von Komponenten durch Services Beispiel J2EE als eine mögliche Technologie Zusammenhang mit technologien Einführung in das Software-Engineering - Design: Komponenten & -3- Wiederverwendung mithilfe von Komponentenmodellen Für komplexe Systeme reicht eine einfache Aufteilung in mehrere Schichten nicht aus! Präsentation Differenzierung Layouting, Zugriff, Kontrolle MVC hatten wir schon Geschäftslogik:? Wie umgehen mit vielen Klassen? Haben diese ggf. verschiedene Aufgaben/Rollen? Hier sind Komponenten-Modelle sehr hilfreich Wiederverwendung von Wissen (im Sinne des SW-Engineering) Design Konzepten Programmcode Zerlegung Überschaubare, verteilbare Blöcke Einführung in das Software-Engineering - Design: Komponenten & -4- Dr. Walter Kuhn 2

3 Komponenten Begriffsdefinition A component is a nontrivial, nearly independent, and replaceable part of a system that fulfills a clear function in the context of a well-defined architecture. A component conforms to and provides the physical realization of a set of interfaces. Philipp Kruchten, Rational. A software component is a unit of composition with contextually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to third-party software. Clemens Szyperski, ComponentSoftware. Eine in sich vollständige, wieder benutzbare Software-Einheit mit wohldefiniertem Interface, integrierbar über eine geeignete (Netzwerk-) Plattform (mit loser Kopplung). Eine Komponente beinhaltet auch Tests, Manuals, etc. Einführung in das Software-Engineering - Design: Komponenten & -5- Komponenten Nutzen Qualitätssteigerung & Produktivitätssteigerung durch getestete, anpassbare Komponenten Defekt-Elimination Klare Grenzen zu sich ändernden Teilen (Austausch) Reduzierte Entwicklungs- und Wartungskosten durch Gekaufte Teile (COTS) bei geeigneter Integrationstechnologie Standards Robuste Architekturen, die Komponentenintegration unterstützen Time-To-Market & bessere Planbarkeit durch Verringerung der Komplexität der Software Bestehende SW wird wieder verwendbar durch Zerschlagen grosser, monolithischer Entwicklungen in kleinere Einheiten (selbstständig testbar, austauschbar) Einführung in das Software-Engineering - Design: Komponenten & -6- Dr. Walter Kuhn 3

4 Komponenten Beispiele Technische Komponenten, z.b. Zahlengeneratoren, Session Management,.. Geschäftliche Einheiten, z.b. Einkaufswagen, Verzeichnis, Katalog, ERP Integration,.. Domain/Prozess-bezogene Einheiten, z.b. Auftragssystem, Online-Broker,.. Beachte: Komponenten können unterschiedlicher Granularität sein Einführung in das Software-Engineering - Design: Komponenten & -7- Komponenten Charakteristika Schnittstelle Komponenten-Infrastruktur System zusammensetzen (Assembly) statt nur bauen Anpassung zur Compile-Time versus Run-Time Komponenten werden zur Bauzeit erzeugt, Objekte zur Laufzeit Buy before Make Lebenszyklus wird unterstützt (Design,..., Tests) Wiederverwendbarkeit Design der Komponente Granularität Distributed C. / Business C. / Business Component System Einführung in das Software-Engineering - Design: Komponenten & -8- Dr. Walter Kuhn 4

5 Vorgehensweise Randbedingungen Komponenten sollen das Leben erleichtern, d.h.: Bei Auswahl oder Entwicklung einer Komponente ist eine leichte Integrierbarkeit & Anpassbarkeit notwendig Daher Wahl einer Infrastruktur / recht zentral Services, die von Komponenten genutzt werden könnten Transparente Transportmechanismen, Datenkonversionen Life-Cycle Support Transaktionsunterstützung Event-Management Security Verzeichnisse... Einführung in das Software-Engineering - Design: Komponenten & -9- Vorgehensweise Verwendung von Komponenten Komponenten Selektion/Qualifikation Marktstudie, Analyse Evaluation und Auswahl Anpassung der Komponente White/grey/black box Parametrieren, Ableiten, Integrieren, Wrapper, Bridge, Zusammenbau der Komponenten zu Systemen (Assembly) Integration durch Message orientierte Objekt Request Broker Architektur Datenbank zentrischer Ansatz Webservices Für proprietäre Software gelten normale Entwurfs-Prozesse Pflege und Weiterentwicklung des Systems Einführung in das Software-Engineering - Design: Komponenten & -10- Dr. Walter Kuhn 5

6 Vorgehensweisen Bau von Komponenten best practices Fokus auf Autonomie, Flexibilität & Wiederverwendbarkeit Hat die Komponenten einen Nutzen? Kann sie generisch gebaut werden? Was alles kann/muss parametrisierbar sein? Ist sie in sich abgeschlossen? Welche Architektur soll zugrunde liegen? Iterative Entwicklung unterstützt Identifikation von Komponenten Entwurf eines Komponenten-Systems: geeignete Fassaden nutzen (Interface und Implementierung trennen) Skalierbarkeit & verteilte Bearbeitung ins Kalkül nehmen Reduktion von Netzwerkzugriffen Transaktionen? Mehrere kurze ACID Transaktionen statt einer grossen Skalierbarkeit Einführung in das Software-Engineering - Design: Komponenten & -11- Komponenten Präsentationsschicht Technologie Client-Komponenten (Hier nicht vertieft) HTML, XML, Javascript Java Applet PlugIn Server-seitige Präsentation Script-Sprachen, MVC mit JSP & Servlets, Portlets (!) Beispiele für Komponenten Formulare, Navigation, Anzeige (Tree,..), Portal Elemente Einführung in das Software-Engineering - Design: Komponenten & -12- Dr. Walter Kuhn 6

7 Präsentationsschicht Model-View-Controller serverseitig, kurze Wiederholung neue Seite: HTTP Response HTML Seite mit Formular submit: HTTP Request View (Servlet/JSP) View (Servlet/JSP) Controller-Servlet Model (Bean) Einführung in das Software-Engineering - Design: Komponenten & -13- Präsentationsschicht Portlets spezialisierte JSP (Tags): unterstützen Kapselung und Wiederverwendung spezifischer Teile eines Portals Integration auf Präsentationslayer & auch Geschäftslogik! Können verschachtelt sein Einfache Portlets z.b. Öffnen/ Schliessen von Seiten (View- Spezifische Komponenten) Komplexe Portlets nutzen, gekapselt, spezifische Dienste Noch jung, Standards auf dem Wege. Vgl. BEA, IBM, Epicentric Einführung in das Software-Engineering - Design: Komponenten & -14- Dr. Walter Kuhn 7

8 Beispiel (Yahoo) Einführung in das Software-Engineering - Design: Komponenten & -15- Komponenten Geschäftslogik Basistechnologien Fokus auf Schnittstelle (Design by Contract) + Technologie nutzen: Komponenten bauen und isolieren! TP Monitore (hier nicht weiter betrachtet) CICS, TUXEDO Interface-basierend Objekt Request Broker: CORBA CCM, DCOM RMI Application-Server (hier Fokus Java Interface + Dienste +..) JSP, Portlet, MVC Generierung von Präsentations-Komponenten J2EE Nutzung von Java-Komponenten Message-basierend Topics Queues Tupelspace / Blackboard Webservices :Im Kommen. WSDL, UDDI,...NET Einführung in das Software-Engineering - Design: Komponenten & -16- Dr. Walter Kuhn 8

9 Interface-basierte Schnittstellen- & Komponentenmodelle Reichhaltigkeit ( entfernter ) Methoden (Gegensatz zur Nachrichten-basierte : Reichhalt an Nachrichten) Vertreter: CORBA, DCOM, DCE, RMI, J2EE-EJB, Java-Connector Architektur,.NET Aufruf einer Komponente über eine Menge von Funktionen, die spezifisch für die Komponente sind Container wird genutzt um systemspezifische Details einerseits anzubieten und andererseits deren Implementierung zu abstrahieren und zu verstecken Einführung in das Software-Engineering - Design: Komponenten & -17- Aufbau einer Distributed Component Funktionalität / Implementierung und Konfiguration Logische Schnittstelle (Abstraktion) Schnittstellen Implementation (Stub, Skeleton) - Adapter Komponenten Infrastruktur (Transport,..) / Container Client Komponente Komponente Adapter Adapter Adapter Komponenten Infrastruktur Einführung in das Software-Engineering - Design: Komponenten & -18- Dr. Walter Kuhn 9

10 Distributed Components public interface Account { public double getbalance() throws Throwable; } Schnittstelle Für Client Einführung in das Software-Engineering - Design: Komponenten & -19- Adapter- Infrastruktur public class AccountServer implements Account { double bal; public PersonServer(double balance){ this.bal = balance; Serverseitige Implementierung, } Läuft im public int int getbalance(){ Container return bal; } } Agenda Komponentenmodelle & Begrifflichkeiten J2EE Services Messaging / JMS Tuple Space Für Interessierte ein kurzer Exkurs Einführung in das Software-Engineering - Design: Komponenten & -20- Dr. Walter Kuhn 10

11 J2EE (1) Java Plattform für E-Business Applikationen Enterprise Edition: Robuste Plattform für unternehmensweite, geschäftskritische Anwendungen Einbindung in Unternehmensinfrastruktur Transaktions-Unterstützung Datenbank Zugriff (nächste Vorlesung - Wir betrachten heute keine Entitity Beans!) N-tier Architekturen mit 2 primären Ausprägunen Web basiert Traditionelle Client/Server Architektur Einführung in das Software-Engineering - Design: Komponenten & -21- J2EE (2) J2EE Komponentenmodelle basieren und nutzen EJB JMS Ziele Einfachheit von Entwicklung, Wartung, Administration von grossen, Plattform unabhängigen, Server-basierten Anwendungen Rollenbasierte Entwicklung write once run everywhere : Abstraktion der System- Infrastruktur wie Nachrichtenaustausch, Transaktionsunterstützung, Verzeichnisdienste, Datenbankzugriff Technisch realisiert durch sog. Application Server Einführung in das Software-Engineering - Design: Komponenten & -22- Dr. Walter Kuhn 11

12 J2EE Grundstruktur Aussensicht Fat-Client Fat-Client Fat-Client Fat-Client Web-Client Web-Client Web-Client Web-Client J2EE Applikation Server Servlet Engine EJB Container Enterprise Applikation Enterprise Applikation Enterprise Applikation Enterprise Applikation Backendsysteme Ledger Callcenter Mainframe... DB Einführung in das Software-Engineering - Design: Komponenten & -23- J2EE Architektur Service Architektur Systemverhaltens- und Domain-Grenze JSP/Servlet Client Java Client Einführung in das Software-Engineering - Design: Komponenten & -24- Applikations- Objekte Account Services Order Services Billing Services Domain Model Domain Objekte Dr. Walter Kuhn 12

13 J2EE Komponentenmodell Innensicht Einführung in das Software-Engineering - Design: Komponenten & -25- J2EE & Web-Aufrufe Browser Browser sendet request Benutzer-Aktion (Click) Browser zeigt HTML Ergebnis Web-Server Server empfängt request Server sendet HTML zum Browser Servlet Engine Servlet Engine sucht Controller / erzeugt Thread Controller nutzt Model (proxy) View bildet Ergebnis in HTML ab EJB Container Model (proxy) nutzt EJB home & remote Methoden Session EJB nutzt Businessmethoden Session EJB gibt Ergebnis an Model Entity EJB BO s Database / Legacy RDBMS und/oder Persistence Layer liefern BO Daten Einführung in das Software-Engineering - Design: Komponenten & -26- Dr. Walter Kuhn 13

14 EJB Server und EJB Container mit Diensten In einem EJB-Server können mehrere EJB Container laufen System-Dienste des Containers Transaktionsverarbeitung Sicherheit : verteilte Komponenten und Kommunikation Nebenläufigkeit Management des Lebenszyklus von Komponenten Datenbank-Zugriffsmanagement Kombiniert Interface-Ansatz mit Aspekten der TP- Monitore (ako Component Transaction Processing ) Einführung in das Software-Engineering - Design: Komponenten & -27- J2EE Dokumentation J2EE Platform Specification API s Release Level (Kompatibilität, Portabilität) J2EE Compatibility Test Suite Konformität von Application Servern mit der Spezifikation J2EE Reference Implementation Operationelle Definition der J2EE Plattform J2EE Application Model Guide Beispiele und Design Patterns Einführung in das Software-Engineering - Design: Komponenten & -28- Dr. Walter Kuhn 14

15 J2EE API s Enterprise JavaBeans 2.0 (EJB) 3 Arten von Beans und deren Nutzung Java Server Pages 1.2 (JSP) Java Servlet API Java Naming and Directory Interface API (JNDI) JDBC API 2.0 Zugriff auf relationale Datenbanken Java Transaction API 1.0 (JTA): Klammerung von Datenbankoperationen zu einer Einheit J2EE Connector Architecture 1.0 (JCA) EAI Java Message Services 1.0 (JMS) JavaMail Technology (1.2) Java API for XML Processing 1.1 (JAXP) Java Authentication and Authorization Services 1.0 (JAAS) Einführung in das Software-Engineering - Design: Komponenten & -29- J2EE - EJB Home Interface extends javax.ejb.ejbhome life cycle methods: creating, removing and finding 1: Create/find/ remove Home Stub Home Implementation create/find/remove Client 2: remote stub Remote Interface extends javax.ejb.ejbobject Businessmethoden einer Bean business methods, remove EJB Container Remote Remote Bean 3. business methods, Object Object Implementation Remove Implementation Stub extends javax.ejb.entitybean / javax.ejb.sessionbean implements business methods Einführung in das Software-Engineering - Design: Komponenten & -30- Dr. Walter Kuhn 15

16 EJB Serverseitige Komponente für Business-Logik und Business-Daten EJBs Java Beans (Client-Seite) Komponentenmodell für die Entwicklung & Verteilung von Java Komponenten in einer verteilten Multi-Tier-Umgebung Portabel und protokollneutral => nicht an bestimmten Webserver gebunden Einführung in das Software-Engineering - Design: Komponenten & -31- EJB Session Beans Bilden Geschäftsprozess ab ( vgl. Use Cases), keine Geschäfts-Entitäten / -Dinge Koordiniert und kontrolliert den Informationsfluss und die Geschäftslogik zwischen verschiedenen Entitäten Sind nicht persistent, können aber stateless oder stateful sein Stateless: keiner Session zugeordnet. Innerhalb der Session Bean dürfen keine Informationen gespeichert werden Stateful: einer Session zugeordnet, speichern Informationen zwischen Aufrufen. (conversational state) Einem Client für den gesamten Life Cycle zugewiesen. Nicht in einem Pool von freien Instanzen genutzt Repräsentieren keine Entititäten! Sondern den Zustand eines Ablaufes. Einführung in das Software-Engineering - Design: Komponenten & -32- Dr. Walter Kuhn 16

17 EJB Entity Beans (Vorgriff auf nächste Woche) Repräsentieren persistente Daten und Domain Objects Bieten create, find & delete Methoden zum Zugriff auf Datenbank 2 Varianten Entity Bean mit Bean managed Persistance Entity Bean mit Container managed Persistance Einführung in das Software-Engineering - Design: Komponenten & -33- EJB Message Beans Neu in JB 2.0 Beim Eintreffen einer Nachricht aktiviert Asynchron und stateless onmessage() enthält die Business Logic Hat kein Home oder Remote interface Ist einer JMS Queue oder einem Topic zugeordnet Einführung in das Software-Engineering - Design: Komponenten & -34- Dr. Walter Kuhn 17

18 J2EE: EJB API Client-Seite Initialisierung Prop.put(Context.INITIAL_CONTEXT_FACTORY, com.ejbhome.naming.spi.rmi.rmiinitctxfactor ); Context = new InitialContext(prop); Home interface aufrufen (loopkup) WarenkorbHome wk_home = (Warenkorb_Home) context.lookup( Warenkorb ); Business-Objekt erzeugen wk_personwk = wk_home.create( Meier ); Suchen (schon eine Entity vorhanden?) wk_nutzerwk = wk_home.findbyprimarykey( ); Business Objekt aufrufen wk_personwk.add(myprodukt); Einführung in das Software-Engineering - Design: Komponenten & -35- J2EE: EJB API Server-Seite Home Interface public interface WarenkorbHome extends javax.ejb.ejbhome { Warenkorb create() throws java.rmi.remoteexception, javax.ejb.createexception; } Remote Interface public interface Warenkorb extends javax.ejb.ejbobject { Void add(object o) throws java.rmi.remoteexception; } EJB Implementation public class WarenkorbEJB implements javax.ejb.sessionbean { // folgend die Implementierung.. } Einführung in das Software-Engineering - Design: Komponenten & -36- Dr. Walter Kuhn 18

19 Agenda Komponentenmodelle & Begrifflichkeiten J2EE Services : ein paar kurze Beispiele Messaging / JMS Tuple Space Für Interessierte ein kurzer Exkurs Einführung in das Software-Engineering - Design: Komponenten & -37- Java Naming & Directory Interface (JNDI) standardisierter Zugriff auf verschiedenste Verzeichnis- und Namensdienste (LDAP, DNS, NIS, RMI, CORBA, ) Anforderung von Objekten, Ressourcen, EJB-Schnittstellen Speicherung und Lesen von beliebigen Java Objekten Allgemeine Directory Operationen (wie Assoziieren von Attributen mit Objekten, Suchen nach Objekten über Attribute) EJB Container Hersteller muss einen JNDI Dienst anbieten LDAP Directory EJB Store Role User User src a.java b.java EJB Home A EJB Home B JNDI Java Application / EJB / Servlet Einführung in das Software-Engineering - Design: Komponenten & -38- Dr. Walter Kuhn 19

20 Nutzung von JNDI im Servlet init public void init() throws ServletException { try { Properties p = new Properties(); //... JNDI properties - Herstellerspezifisch p.put(context.initial_context_factory, weblogic.jndi.tengabinitialcontextfactory ); p.put(context.provider_url, t3://localhost.7001 ); Context jndicontext = new InitialContext(p); WarenkorbHome home =(WarenkorbHome) jndicontext.lookup( WarenkorbHome"); } } catch (Exception e) { e.printstacktrace(); } Einführung in das Software-Engineering - Design: Komponenten & -39- Nutzung von JNDI im Servlet Verwendung je Thread public void doget(httpservletrequest req, HttpServletResponse res) throws ServletException, IOException { Warenkorb wk = home.create(nextid); } String wk_user = req.getparameter( inputname ); wk.setname(wk_user); PrintWriter out = res.getwriter(); //.. Seitenerzeugung folgt Einführung in das Software-Engineering - Design: Komponenten & -40- Dr. Walter Kuhn 20

21 Java Transaction API und Service JTA (Java Transaction API) Programmier-Schnittstelle für Ressourcen-Manager & Transaktions-Systeme. Java Transaction Service (JTS) Standard Transaction Management API für Java Vom Herstellern vom Transaktions-Manager implementiert Zugang zu transaktionsorientierten Umgebungen (Prozeßmonitore, Transaktionsmanager,..) Integration klassischer TP-Monitore, wie CICS ohne weiteres möglich Was nutzen uns Transaktionen? Beispiel Kontenbewegung Atomicity, Consistency, Isolation, Durability Einführung in das Software-Engineering - Design: Komponenten & -41- Transaktionen einige Aspekte Container Managed Container definiert, wann eine Transaktion anfängt und endet Einfache Programmierung, da Delegation an Container Typisch: Transaktion startet direkt vor dem Aufruf einer Session-EJB-Methode und endet direkt nach der Methode Keine verschachtelten Transaktionen Transaktion (welche Methode soll transaktionell sein) wird beim Deployment definiert Program Managed Do it yourself Stateful Session Beans erlauben Transaktionen über mehrere Aufrufe hinweg (lange Transatkionen können problematisch sein) Einführung in das Software-Engineering - Design: Komponenten & -42- Dr. Walter Kuhn 21

22 Container Managed - Transaktionskontrolle Was soll beim Aufruf von einer EJB zur anderen in einer Transaktion passieren? Welche Kontext ist gültig? Caller Callee TX1 m1() m1() {... b2.m2();... } m2() m2() {... } TX? Einführung in das Software-Engineering - Design: Komponenten & -43- Container Managed Transaktionskontrolle (2) Attribute Required RequiresNew Mandatory NotSupported Supports Never Never none T1 Caller s Transaction none T1 none T1 none T1 none T1 none T1 Callee s Transaction error T1 none none none T1 none error Einführung in das Software-Engineering - Design: Komponenten & -44- T2 T1 T2 T2 Dr. Walter Kuhn 22

23 Program Managed Transaction - Beispiel Public void dostuff() { UserTransaction ut = context.getusertransaction(); try { ut.begin(); // tu irgendwas wichtiges.. // das könnte auch auf mehrere Methoden in einem // stateful session Bean verteilt sein! ut.commit(); } catch (Exception ex) { // die Transaktion nicht durchgeführen ut.rollback(); } } Einführung in das Software-Engineering - Design: Komponenten & -45- Agenda Komponentenmodelle & Begrifflichkeiten J2EE Services Messaging / JMS Tuple Space Für Interessierte ein kurzer Exkurs Einführung in das Software-Engineering - Design: Komponenten & -46- Dr. Walter Kuhn 23

24 Komponente, die zwischen 2 oder mehr Programmen vermittelnd arbeitet. Eigenschaften (gewünscht): Verstecken von Verteilung und Heterogenität (location transparency, access transparency) Formatkonvertierung Effizienter Transport, preiswerte Verpackung (Marshalling) Unterstützung des Auffindens der Kommunikationspartner (Directory-Services) Bemerkung: ist meist aber nicht immer Software Einführung in das Software-Engineering - Design: Komponenten & -47- Konzepte Koppelung Enge/Starke Kopplung synchrone Kooperation Lose/Schwache Kopplung Synchrone Kooperation Asynchrone Kooperation Arten Nachrichten Interfaces Zeit- und Transaktionsverhalten Dienstqualität (garantierte Auslieferung, weniger als 100%,..) Kommunikationspartner 1:1, 1:n, n:m Compile-Time versus Run-Time Einführung in das Software-Engineering - Design: Komponenten & -48- Dr. Walter Kuhn 24

25 Varianten Basis: RPC Nachrichten-Orientiert Topics basierte Nachrichten (publish/subscribe) Message Queues (werden wir nicht vertiefen) Tupel-Space Schnittstellen-Orientiert Object Request Broker Connector-API RMI Datenorientiert Beispiele in Java, vorgestellte Konzepte sprachunabhängig Einführung in das Software-Engineering - Design: Komponenten & -49- Remote Procedure Call (RPC) RPC = Basis vieler Inter-Prozeß-Kommunikations-Mechanismen (wie z.b. DCOM, JavaBeans, CORBA), nicht transparent Client Anwendung Server Anwendung Client Stub Server Stub Client Run-Time Library Server Run-Time Library Transport Transport Einführung in das Software-Engineering - Design: Komponenten & -50- Dr. Walter Kuhn 25

26 Agenda Komponentenmodelle & Begrifflichkeiten J2EE Services Messaging / JMS Tuple Space Für Interessierte ein kurzer Exkurs Einführung in das Software-Engineering - Design: Komponenten & -51- Message Oriented (MOM) Messaging: lose Kopplung von Anwendungen; (selbstbeschreibende) Nachrichten werden übertragen Komponenten werden somit die eine wohldefinierte Menge an Nachrichten ausgezeichnet. Message Oriented (MOM) nutzt publish/subscribe (Topic basierend) message queuing (Kanal basierend) Tupel-Spaces (Topic-basierend) Ein Request/Reply ist ebenfalls möglich. Asynchronität (Message kann durable sein) Einfache, standardisierte Interfaces, vielfältige Nachrichten (zu interpretieren, XML, name-value) Einführung in das Software-Engineering - Design: Komponenten & -52- Dr. Walter Kuhn 26

27 Java Message Service (JMS) Beispiel einer MOM API für die Nutzung von (unternehmensweiten) Messaging Systemen Einfache Programmierung von asnychronen, lose gekoppelten Systemen EJBs können auf einfache Weise Nachrichten verschicken und empfangen Nachrichtenankunft löst Event aus -> Methodenaufruf Zwei Arten Point to Point/Queues 1 Nachricht hat genau 1 Empfänger Publish Subscribe jeder Subscriber erhält eine Nachrichten Kopie Einführung in das Software-Engineering - Design: Komponenten & -53- MOM: Topic basierte Schnittstellen Producer1 Producer2 Message Broker Consumer X Consumer Y publish(a) subscribe (a,b) publish(a) publish(b) publish(b) subscribe(a,b) publish(b) Einführung in das Software-Engineering - Design: Komponenten & -54- Dr. Walter Kuhn 27

28 MOM: Topic Basierte Schnittstellen: Request Publisher Initialisierung session = connection.createtopicsession( transacted, ackmode); topic = session.createtopic( warenkorb"); publisher = session.createpublisher(topic); Nachricht erzeugen message = session.createmapmessage(); message.setstring( Funktion, add ); message.setstring( produktid,12345); //... Nachricht versenden publisher.publish(message); Einführung in das Software-Engineering - Design: Komponenten & -55- MOM: Topic Basierte Schnittstellen: Request Subscriber Initialisierung session = connection.createtopicsession(..); topic = session.createtopic( warenkorb"); subscriber= session.createsubscriber(topic); Listener aufsetzen consumer = new TopicListener(); subscriber.setmessagelistener(consumer); Listener wird aufgerufen bei Nachrichtenerhalt void onmessage(message message); message.getmapnames() & weitere get- Funktionen: jeder Wert der Nachricht aufrufbar Einführung in das Software-Engineering - Design: Komponenten & -56- Dr. Walter Kuhn 28

29 MOM: Topic Basierte Schnittstellen: JMS Reply Nun ist die Nachricht in der Komponente angekommen. Weiterverarbeitung als Black-Box (Auswertung von Funktion, ProduktID,...) Die interne Repräsentation interessiert gar nicht! D.h. die Komponente praktiziert Trennung von Interface und Implementation Wahlfreiheit, die Komponente auszutauschen! Antwort an Client Client ist ebenfalls geeignet registriert (Subscriber mit onmessage(..)) Server schickt seinerseits einen Request (benötigt aber keinen Reply) Client empfängt damit die Antwort Hilfsmittel: Message von Client an Server beinhaltet setjmsreplyto(destinitation to) bzw. ein get dazu Einführung in das Software-Engineering - Design: Komponenten & -57- Topic Basierte : JMS - sonstiges Nachrichten Formate TextMessage, BytesMessage, MapMessage (Hashtable), StreamMessage, ObjectMessage Quality of Service Persistent/non-persistent delivery Prioritäten, time to live, Transaktionen Threaded Programmier-Modell Outside the JMS spec: Security services Management services Einführung in das Software-Engineering - Design: Komponenten & -58- Dr. Walter Kuhn 29

30 Message Queue Producer1 1: a 3: c c a 5: a Consumer1 2: b 7: d Producer2 4: d d b 6: b Consumer2 Einführung in das Software-Engineering - Design: Komponenten & -59- Message Queue API JMS Writer Initialisierung factory = context.lookup(..); conn = factory.createqueuecommunication(..); Session = conn.createqueuesession(..); queue = session.createqueue( aqueue ); sender = session.createsender(queue); Nachricht erzeugen message = session.createobjectmessage( ); Nachricht versenden sender.send(message); Einführung in das Software-Engineering - Design: Komponenten & -60- Dr. Walter Kuhn 30

31 Message Queue API JMS Consumer Initialisierung Session = conn.createqueuesession(..); queue = session.createqueue( aqueue ); receiver = session.createreceiver(queue); Listener aufsetzen consumer = new MyConsumer(); receiver.setmessagelistener(consumer); Listener wird aufgerufen bei Nachrichtenerhalt void onmessage(message message); Einführung in das Software-Engineering - Design: Komponenten & -61- Agenda Komponentenmodelle & Begrifflichkeiten J2EE Services Messaging / JMS Tuple Space Für Interessierte ein kurzer Exkurs Einführung in das Software-Engineering - Design: Komponenten & -62- Dr. Walter Kuhn 31

32 Tupelspace API für JMS Wichtigste Primitive: write read, readifexists take, takeifexists notify Nachrichten Anpinnen Message msg = new Message("Hello World",0); JavaSpace space = SpaceAccessor.getSpace(); space.write(msg, null, Lease.FOREVER); Nachricht lesen, aber nicht anhängen Message template = new Message(); //... Message result = (Message) space.read( template, null, Long.MAX_VALUE); Einführung in das Software-Engineering - Design: Komponenten & -63- Tupel-Space Participant2 Participant3 write take Message2 Message1 write read Participant1 Participant4 write Message3 read Participant5 Einführung in das Software-Engineering - Design: Komponenten & -64- Dr. Walter Kuhn 32

33 Agenda Komponentenmodelle & Begrifflichkeiten J2EE Services Messaging / JMS Tuple Space Für Interessierte ein kurzer Exkurs: RMI, CORBA und dahinter Wie funktioniert Kommunikation allgemein in Java? Wo kommt der Mechanismus her, wie geht es weiter? Einführung in das Software-Engineering - Design: Komponenten & -65- Java Remote Method Invocation RMI Kommunikation für verteilte Java-Anwendungen Aufruf von Methoden in einer anderen JVM, auf einem anderen Host Referenz auf das entfernte Objekt durch Bootstrap Naming Service von RMI oder über (Aufruf-) Argument bzw. Rückgabewert Ein Server kann gleichzeitig wiederum Client sein Java Objekt Serialization Speichern und Zurückholen von Java Objekten somit Zustand serialisiert über einen Stream kommuniziert (read/write wie bei einer Datei) Basis-Kommunikationsmechanismen: Sockets Einführung in das Software-Engineering - Design: Komponenten & -66- Dr. Walter Kuhn 33

34 RMI Ablauf 1: lookup JNDI Stub 2: get Java Java VM VM Java Applikation 3: call 8: result Stub 4: call Skeleton Netz Java Java VM VM 5: call OBJ Skeleton Java Object 7: result to Stub 6: return result Einführung in das Software-Engineering - Design: Komponenten & -67- Java RMI over IIOP RMI-IIOP (Remote Method Invocation - Internet Inter- ORB Protocol) RMI nutzt das Corba-Protokoll IIOP Brückenfunktion: Mixed Language Programming IIOP (Internet Inter-ORB Protocol) Kommunikationsprotokoll von CORBA Standard-Protokoll: von jedem ORB unterstützt Besteht aus GIOP und TCP/IP. Einführung in das Software-Engineering - Design: Komponenten & -68- Dr. Walter Kuhn 34

35 Common Object Request Broker (ORB) Arch. Client Object Implementation Interface Repository Dynamic Invocation Client IDL Stubs ORB Interface Static Skeletons Dynamic Skeleton Interface Basic Object Adapter Implementation Repository Object Request Broker Einführung in das Software-Engineering - Design: Komponenten & -69- Bsp: CORBA IDL / API Definition eines Kontraktes (Schnittstellendefinition) module service { interface ServerManager { Server newserver(in string name); }; interface Server { void alive(in string name); void query(in string request, out string reply); }}; Umsetzung erfolgt sprachenabhängig. CORBA sorgt dafür, diesen Dienst verteilt nutzen zu können. Nach dem Binden an Naming/Directory Service transparent. Einführung in das Software-Engineering - Design: Komponenten & -70- Dr. Walter Kuhn 35

36 CORBA Ortstransparenz bedingt Zugriffstransparenz (naming service) NamingServer 2 lookup() 1 register() 3 execute() Client Server Einführung in das Software-Engineering - Design: Komponenten & -71- Webservices Weiterentwicklung von CORBA, RMI, DCE, Funktionsaufruf via standardisiertem Mechanismus übers Internet Naming Service UDDI Backend Components Component register WSDL J2EE-component lookup Web Service CORBA-CCM Legacy Client Access SOAP/HTTP JMS-Component Component DB Einführung in das Software-Engineering - Design: Komponenten & -72- Dr. Walter Kuhn 36

37 Java und dahinter Java und.net - JUMP Java Ca. 20 Sprachen C# VB.Net Class Loader Compiler Compiler Compiler Compiler Java ByteCode JUMP Converter MSIL Visual Studio.NET Laden via Filesystem via Netz Common Language Runtime CLR.NET Framework MSIL: Microsoft Intermediate Language JUMP: Java User Migration Path (to Microsoft.NET) Nur pure Java Keine Unterstützung für API s wie RMI Einführung in das Software-Engineering - Design: Komponenten & -73- Fragen beim Einsatz eines Komponentenmodells (hier J2EE) Architektur System in die Schichten zerlegen Entscheiden wo welches Objekt lebt Benötigte Services & deren Service Manager identifizieren Eigene Service-Architektur entwickeln (was bietet man selbst als Service) Definieren des Services API (XML?) Transaktionsmodel Art benötigter Transaktionen festlegen Entscheiden ob und wie write-write Konflikte erkannt werden Objekt Zustand und Verteilung So wenig Objekte verteilen wie nötig Zahl der remote Referenzen gering halten Kommunikationsvolumen gering halten Serialisierte Objektgeflecht nur wenn unbedingt notwendig besser kleine Teile, Leichtgewichtige Objekte schicken, State Objekte, Application Objekte (als Sammler ) Nur vom Client benötigte Daten senden Einführung in das Software-Engineering - Design: Komponenten & -74- Dr. Walter Kuhn 37

38 Fragen beim Einsatz eines Komponentenmodells (hier J2EE) Skalierung des Systems Anforderungen? Zahl konkurrierende Benutzer Antwortzeiten? Stateful versus Stateless Session Beans Stateless Beans können von vielen Sessions benutzt werden aber Session Status Informationen müssen geeignet abgelegt werden HTTPSession? Beans? Datenbank?... Zahl stateful Beans die zu verkraften sind EJB versus Java Classes EJB sind Schwergewichte Systemlast im EJB Container. Mischung aus Entity Objekten und abhängigen, normalen Java-Objekten Einsatz von Pooling-Strategien Behandlung grosser Ergebnismengen O/R mapping Komponenten mit dem Ziel der Autonomie entwickeln Definiere / Nutze Standards für schlanke, einfache und kohärente Schnittstellen Einführung in das Software-Engineering - Design: Komponenten & -75- Literatur Bücher Professional EJB, Wrox Business Component Factory, Herzum, Wiley Software Reuse, Jacobson et al, Addison Wesley Client Server Survival Guide, Robert Orfali et al., Wiley Java Enterprise in a Nutshell, Flanagan et al, O Reilly Objekt-Spektrum, Java Magazin,.. WWW Cetus-Links ( Natürlich: Empfehlung: Java (J2EE) erlaubt auf einfache Weise, mit Web und Komponenten Implementierungen durchzuführen Spielen Sie damit! Einführung in das Software-Engineering - Design: Komponenten & -76- Dr. Walter Kuhn 38

39 Übung Nun nach dem GUI unserer Bank die entsprechende Business Logik realisieren Wahlweise einfache Java Klassen (empfohlen) Oder für Mutige EJBs (Sven fragen JBoss) Hinweis: alle persistenten Zugriffe (- das was wir gerne in einer DB hätten -) simulieren (Konstante Objekte o.ä.) Web-Client Web-Server Servlets JSP Java Bean Oder EJB Const. JDBC DB Einführung in das Software-Engineering - Design: Komponenten & -77- Dr. Walter Kuhn 39

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

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

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

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

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

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

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

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

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

Ü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

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

Enterprise Application Integration Erfahrungen aus der Praxis

Enterprise Application Integration Erfahrungen aus der Praxis Enterprise Application Integration Erfahrungen aus der Praxis Teil 4: EAI und.net, EAI und J2EE Tutorial NODs 2002, Wolfgang Keller and Generali 2001, 2002, all rights reserved 1 Überblick EAI und....net

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

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

Wiederholung: Beginn

Wiederholung: Beginn B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben

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

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

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

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

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

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

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

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

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi Design Pattern - Strukturmuster CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi Agenda Einleitung Strukturmuster Fassade Model View Controller Vergleich 2 Einleitung Strukturmuster

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

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

Microsoft.NET und SunONE

Microsoft.NET und SunONE Microsoft.NET und SunONE, Plattformen und Application Service Providing Agenda Einordnung.NET und SunONE Kurzvorstellung Gegenüberstellung Zusammenfassung ASP (Application( Service Providing) ) und Ausblick

Mehr

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte RT Request Tracker V2.0 Inhalte 1 Was ist der RT Request Tracker und wo finde ich ihn?...2 2 Was möchten wir damit erreichen?...2 3 Wie erstelle ich ein Ticket?...2 4 Wie wird das Ticket abgearbeitet?...4

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

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

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131 Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet

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

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

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI?

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI? Service Was ist eine Enterprise Service Architecture und wie reagiert SAP Allgemeine Definition Was gehört in ZENOS (Service-Layer)? Business Logik ZENOS als Provider für SAP-based Services (ESA/SOA) Warum

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

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

Java RMI Remote Method Invocation

Java RMI Remote Method Invocation Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert

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

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

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

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

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

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

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

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

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 WebSphere Application Server Teil 4 Leistungsverhalten el0100 copyright W. G. Spruth,

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

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

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

JMS Java Message Service

JMS Java Message Service JMS Java Message Service TK3 - WS03/04 Dipl.-Ing. Erwin Aitenbichler Abt. Telekooperation TU Darmstadt 1 JMS: Java Message Service Messaging Lose gekoppelte verteilte Kommunikation RMI: Eng gekoppelt Sender

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

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

12.4 Sicherheitsarchitektur

12.4 Sicherheitsarchitektur 12.4 Sicherheitsarchitektur Modellierung Sicherheitsstrategie Systemmodell Sicherheitsmodell Entwurf Architektur Sicherheitsarchitektur Implementierung sicherer Code SS-12 1 Wie wird das Sicherheitsmodell

Mehr

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel ralf_gitzel@hotmail.de

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel ralf_gitzel@hotmail.de JSP Grundlagen JEE Vorlesung Teil 5 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht JSP Konzept Model-View-Controller mit JSPs JSP Expression Language EL Literale

Mehr

Application Frameworks

Application Frameworks Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung

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

Online Banking System

Online Banking System Online Banking System Pflichtenheft im Rahmen des WI-Praktikum bei Thomas M. Lange Fachhochschule Giessen-Friedberg Fachbereich MNI Studiengang Informatik Erstellt von: Eugen Riske Yueksel Korkmaz Alper

Mehr

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes 1 XSS: Cross-Site Scripting 1.) Es gelangen Daten in den Web-Browser, die Steuerungsinformationen

Mehr

iphone Push bei den VZ Netzwerken

iphone Push bei den VZ Netzwerken iphone Push bei den VZ Netzwerken Max Horváth, Steffen Irrgang 1 Vorstellung der Speaker 2 Was sind Push Notifications?? 3 Was sind Push Notifications? Eine Möglichkeit, eine Nachricht an individuelle

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation Aufruf von Methoden über die Grenzen der VM hinweg. Javaprozesse der rufenden und gerufenen Methode können auf verschiedenen Hosts laufen. Eine RMI-Applikation besteht aus dem

Mehr

Zend PHP Cloud Application Platform

Zend PHP Cloud Application Platform Zend PHP Cloud Application Platform Jan Burkl System Engineer All rights reserved. Zend Technologies, Inc. Zend PHP Cloud App Platform Ist das ein neues Produkt? Nein! Es ist eine neue(re) Art des Arbeitens.

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

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

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

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

Der IBM Websphere Portalserver

Der IBM Websphere Portalserver Der IBM Websphere Portalserver Ergebnisse aus dem Universitäts-Praxis-Projekt 2001/2002 Vortrag von Il-Hyun Kim und Horst Rechner am 19. Juli 2002 Weiterer Teilnehmer am UPP: Clemens Oertel Betreuer: Dipl.-Phys.

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

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

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

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de. 26.11.2000 (c) Michael Behrendt -

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de. 26.11.2000 (c) Michael Behrendt - Herzlich Willkommen! Mit Java ins Web - eine praxisnahe Übersicht 1 Wer bin ich? Michael Behrendt, 21, Nürnberg kurzer Lebenslauf: 1991 Erster Rechner: Commodore C128 1995 Ausbildung zum Datenverarbeitungskaufmann

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

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

Technik der SAP-Anbindung Christian Aigner Team Entwicklung, Kranzberg

Technik der SAP-Anbindung Christian Aigner Team Entwicklung, Kranzberg Christian Aigner Team Entwicklung, Kranzberg Inhalt Schnell- und Kürzestübersicht über SAP Architektur Inhalt, Login, Session SapGUI Workbench,Editor,Explorer Mechanismen Die Gemeinsamkeiten: nutzbare

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

Etablierung serviceorientierter Architekturen mit Web Services

Etablierung serviceorientierter Architekturen mit Web Services Etablierung serviceorientierter Architekturen mit Web Services Vorlesung im (Entwicklung von Serviceangeboten) 1 Agenda Einsatzbereiche von Web Service basierten Angeboten Übersicht zur Java-System Application

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

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

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html

Mehr

SDK zur CRM-Word-Schnittstelle

SDK zur CRM-Word-Schnittstelle SDK zur CRM-Word-Schnittstelle SDK zur CRM Wordinterface für Microsoft Dynamics CRM2011 zur Version 5.2.0 Inhalt 1. Vorwort... 3 2. Voraussetzungen... 4 3. Funktionsbeschreibung... 4 4. Technische Funktionsbeschreibung...

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

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

e-business - Patterns Stefan Brauch (sb058) -- Julian Stoltmann (js057)

e-business - Patterns Stefan Brauch (sb058) -- Julian Stoltmann (js057) e-business - Patterns Stefan Brauch (sb058) -- Julian Stoltmann (js057) 1 e-business Patterns??? e-business Patterns Architekturen, die sich über die Zeit bewährt haben. Pattern-Fundgrube web-basierte

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

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

Design Patterns 2. Model-View-Controller in der Praxis

Design Patterns 2. Model-View-Controller in der Praxis Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden

Mehr

MCRServlet Table of contents

MCRServlet Table of contents Table of contents 1 Das Zusammenspiel der Servlets mit dem MCRServlet... 2 1 Das Zusammenspiel der Servlets mit dem MCRServlet Als übergeordnetes Servlet mit einigen grundlegenden Funktionalitäten dient

Mehr

Zustandsgebundene Webservices

Zustandsgebundene Webservices Zustandsgebundene Webservices Präsentation ausgewählter Problemstellungen der Informatik Markus Oertel oer@uni-paderborn.de Universität Paderborn 25. September 2005 Zustandsgebundene Webservices Seite

Mehr

BIF/SWE - Übungsbeispiel

BIF/SWE - Übungsbeispiel BIF/SWE - Übungsbeispiel Arthur Zaczek Feb 2015 1 Allgemein 1.1 Ziele Ziele dieses Übungsbeispieles ist es: GUI: Implementierung einer grafischen Oberfläche mit JavaFX oder WPF UI-Komponente: Implementierung

Mehr

Überblick Produkte. ORACLE AS 10g R3 JAVA Programming. (5 Tage)

Überblick Produkte. ORACLE AS 10g R3 JAVA Programming. (5 Tage) Überblick Produkte Überblick Zielgruppen SOA SOA/BAM Bootcamp (4 Tage) Human Workflow, Oracle BPEL, OWSM, BAM, UDDI, Services Registry Zielgruppe: Partner SOA Essentials Human Workflow, Oracle BPEL, OWSM

Mehr

Einführung: Verteilte Systeme - Remote Method Invocation -

Einführung: Verteilte Systeme - Remote Method Invocation - Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation

Mehr

Übungsklausur vom 7. Dez. 2007

Übungsklausur vom 7. Dez. 2007 Übungsklausur vom 7. Dez. 2007 Ein Lösungsmuster Teilbereiche der Softwaretechnik Software Anforderungen Software Entwurf Software Konstruktion Software Test Software Wartung Software Konfigurationsmanagement

Mehr