Vorlesung Donnerstags, bis Uhr, HZ ÜbungsbläNer (Programmieraufgaben) Unterlagen / InformaRonen

Größe: px
Ab Seite anzeigen:

Download "Vorlesung Donnerstags, 10.00 bis 11.30 Uhr, HZ202 4-5 ÜbungsbläNer (Programmieraufgaben) Unterlagen / InformaRonen"

Transkript

1 Komponenten Einführung Organisatorisches 2+1 SWS Vorlesung Donnerstags, bis Uhr, HZ ÜbungsbläNer (Programmieraufgaben) Klausur Februar 2014 Unterlagen / InformaRonen hnp://tamdhu.uni- trier.de/asysob studip 1

2 SoWwareentwicklung Wer hat schon eigene SoWware entwickelt? Umfang? Projektgröße in Anzahl Entwickler? Wer hat schon fremde SoWware (wieder)verwendet? Not invented here syndrom? Umfang? Wie wurde SoWware (wieder)verwendet? Code Scavenging? Bibliothek? Komponenten? Frameworks? Ganze ApplikaRonen verklebt? hnp://www.mnispi.org/cartoon/2002/images/computer%20engineer_gif.jpg SOFTWARE ENGINEERING 2

3 SoWware Engineering 1968 NATO SoWware Engineering Conference Geburt des Forschungsgebiets SoWware Engineering Erkennen einer SoWwarekrise SoWwarekrise Entwicklung großer und zuverlässiger Systeme in einer kontrollierten und kosteneffekrven Form schwierig bis unmöglich SoWware Reuse Zentraler Ansatzpunkt zur Überwindung der Krise 2012 ProblemaRk immer noch nicht befriedigend gelöst 3

4 SoWware Reuse Reusing exisirng sowware arrfacts during the construcron of a new sowware system (Krueger) Artefakt mehr als nur Sourcecode Architekturen Sourcecode Daten Entwürfe (Designs) SpezifikaRonen DokumentaRon Abschätzungen (EsRmates) Human Interfaces Pläne Anforderungen (Requirements) Tesrälle Prozesse Techniken des Reuse Hochsprachen Design- und Code- Scavenging Komponenten SoWwareschema Generatortechniken DeskripRve Entwicklungssprachen TransformaRonssysteme Frameworks 4

5 Bewertungskriterien AbstrakRon Wie werden die wiederverwendbaren Einheiten beschrieben? Wie wird von den unwesentlichen FaceNen abstrahiert bzw. von was kann abstrahiert werden? SelekRon Lokalisierung, Vergleich und Wahl eines wiederverwendbaren Artefakts Spezialisierung Hohe Wiederverwendbarkeit bei generalisierten Artefakten Spezialisierung nach erfolgter SelekRon IntegraRon der ausgewählten Komponenten in ein vorhandenes bzw. zu entwickelndes System SOFTWARE REUSE 5

6 Reuse Ausgangspunkt Entwicklungsprojekte sind keine einmaligen Ereignisse von Code Frameworks Komponenten Produkramilien von Erfahrungen Gemeinsame Sprache: UML Entwurfsmuster guter SoWwarestrukturen Erweiterte SoWwareprozesse (z.b. CMM) Frameworks und Komponenten Komponenten Hohe Qualität der Einzelkomponente erreichbar (Experten) Mehraufwand amorrsiert sich durch Reuse Hoher Verbreitungsgrad (COM, EJB,.NET, CORBA) Framework Von Experten geschrieben Hohe Qualität Je spezifischer die Anwendungs- domäne, desto besser Mehraufwand amorrsiert sich durch Reuse 6

7 Produkramilien Abfolge von ähnlichen Produktentwicklungen Isolierung der variablen Produktanteile Einzelprojekt- übergreifender SoWwareprozeß Ergänzend zu Frameworks und Komponenten Variabler Anteil Fixer Anteil Gemeinsame Sprache Graphische NotaRon mit wohldefinierter SemanRk VielfälRge Diagramme StaRsch Strukturbezogen Dynamisch Ablauyezogen Hoher Einarbeitungs- aufwand Phasenspezifische Diagramme 7

8 Design PaNern Wörter, Grammatik Satzlehre Fertige Texte Programmiersprache Design Pattern Programme Direkte Umsetzung in Form einer Code- Bibliothek nicht möglich StruktureigenschaWen der Anwendung Verteilt sich über mehrere Codestellen Einheitliche Bezeichung und Beschreibung Standardwerke, z.b. Gamma et al. Process Improvement ReflekRon durch alle Beteiligten Verbesserungen über mehrere Projekte hinweg Anpassung bzw. Änderung der Prozesse OpRmieren und Ergänzen von Metriken Erfahrungsdatenbanken wünschenswert Beispiele Capability Maturity Model (CMM), Spice, Six Sigma, Es gibt auch krirsche SRmmen 8

9 Werkzeugunterstützung Tools sind unersetzlich geworden DramaRsche Steigerung der Effizienz bei hoher Qualität Moderne Werkzeuge unterstützen höhere Ebenen (z.b. Design PaNern) Refactoring Hoher Einarbeitungsaufwand notwendig Wiederverwendung von Erfahrung A fool with a tool is srll a fool INHALTE 9

10 Übersicht Gängige Komponentenansätze COM Corba Enterprise Java Beans (EJB).NET Framework Berührungspunkte zu verteilten Systemen KommunikaRonsbedarf zwischen Komponenten Architekturkonzept für verteilte Anwendungen Service- OrienRerung (SOA) Web Services (XML- Technologien) REST Referenzen Charles W. Krueger SoWware Reuse ACM CompuRng Surveys, Vol. 24, No. 2, pp

11 Komponenten CORBA Common Object Request Broker Architecture (CORBA) Standard der Object Management Group (OMG) 1991 CORBA CORBA 2.0 seit ca CORBA 3.0 OMG Herstellerübergreifendes KonsorPum Gegründet 1989 von 11 Mitgliedern Aktuell mehr als 600 Mitglieder Ziele Verteilte Anwendungen mit objektorienperten Methoden ObjektorienPerte SoWwarebausteine (Komponenten) SchniXstellenstandards für verteilte Büroanwendungen Zurückgehende Bedeutung TelekommunikaPonsbereich WissenschaWliche Systeme (z.b. CERN, Genf) 1

12 Au]au Eigene CORBA- IDL Language- Bindings für alle gängigen Sprachen Manche Lösungen diskussionswürdig ORB = Object Request Broker Open Source - Lösungen vorhanden Beispiele: MICO (Uni Frankfurt), ORBit in Gnome IDL Compiler IDL Compiler Caller OS Dynamic Interface Stubs ORB IIOP ORB Stub OA Callee OS IDL CORBA- IDL mit Abstand mächpgste SchniXstellenbeschreibung... der Vergangenheit Basistypen Zahlen, Strings, Benutzerdefinierte Typen Strukturen, Arrays, Interfaces und OperaPonen Module 2

13 Basistypen Typ Werteraum Größe short bis Bit long bis Bit unsigned short 0 bis Bit unsigned long 0 bis Bit float IEEE single precision 32 Bit double IEEE double precision 64 Bit char ISO Latin-1 8 Bit string ISO Latin-1 (kein Variabel NUL) boolean TRUE oder FALSE./. octet Bit any Zur Laufzeit identifizierbarer Typ Variabel Benutzerdefinierte Typen Konstanten Eigene Namen typedef short Year; Aufzählungen enum Farbe { rot, gelb, gruen }; Zuweisung bespmmter Zahlenwerte nicht erlaubt Strukturen (wie überall) Unions union Mitarbeiter switch (Hackordnung) { case Professor: unsigned short mtbn; case Mitarbeiter: unsigend long sws; }; 3

14 Benutzerdefinierte Typen (contd.) Arrays typedef Pixel Farbe[3]; Typedef muß deklariert werden Sequenzen Variabel- langer Vektor Unbegrenzt: typedef sequence<pixel> Zeile; Begrenzt: typedef sequence<pixel,100> Zeile; Sequenzen von Sequenzen sind möglich Rekursive Datenstrukturen struct Knoten { long wert; sequence<knoten> kinder; } Interface CORBA- Beschreibung einer SchniXstelle Bestandteile Konstanten und TypdefiniPonen ExcepPons AXribute (Data Members) OperaPonen (FuncPon Members) Keine geschachtelte Interfaces möglich DirecPonal AXribute in Parameter wird vom Client zum Server gesendet out Parameter wird vom Server zum Client gesendet inout Paramter wird vom Client zum Server gesendet. Der resulperende Wert wird nach Beendigung der OperaPon an den aufrufenden Client zurückgesendet 4

15 OperaPonen OperaPonsdefiniPon Ergebnistyp OperaPonsname 0 oder mehr ParameterdeklaraPonen Overloading nicht erlaubt (keine gleichen OperaPonsnamen) Keine anonymen Typen als Parameter oder Ergebnis: sequence<long> get_longs(); // Fehler J typedef long Zahl; sequence<zahl> get_zahlen(); // Erlaubt EinwegoperaPonen typedef sequence<octet> bytestream; oneway void send ( in bytestream data ); Keine out und inout Parameter, void Return ExcepPons Modellierung von Fehlern Beispiel exception Failed {}; exception RangeError { unsigned long supplied_val; unsigned long min_permitted_val; unisgned long max_permitted_val; } OperaPonen verwenden raises- Ausdruck: void set_value ( in unsigned long v ) raises( RangeError, Failed); Keine Ableitung bei ExcepPons erlaubt 5

16 AXribute Beispiel interface Thermostat { readonly attribute short istwert; attribute short sollwert; }; AXribute sind keine Data Member! Obiges ist äquivalent zu interface Thermostat { short get_istwert (); short get_sollwert (); void set_sollwert ( in short t ); } Module Au]au von Namensräumen module X { typedef short t; }; module Y { X::t v; }; EigenschaWen Module gleichen Namens können wieder geöffnet werden 6

17 Inheritance Interface- Inheritance interface Base { }; interface Child : Base { }; Inkl. Polymorphie wie in C++ u.ä. Ggf. implizite Ableitung vom Basistyp Object Leere Interfaces sind erlaubt Abgeleitete Interfaces können Typen, Konstanten und ExcepPons redefinieren Kein Overloading MulPple Inheritance erlaubt (ohne MehrdeuPgkeiten) IDL C++ Mapping Vergleichsweise direkt, da C++ mächpger ist Basic Types, Enums, Konstanten gleich (ggf. Namensergänzung) Strings werden char * Wrapperklassen z.b. für Strings (String_var) Aus Sequences werden spezifische Vektorklassen Module werden Namespaces Interface = abstrakte Klassen interface IF { long f (); } class IF : public virtual CORBA::Object { public: virtual CORBA::Long f () = 0; } 7

18 IDL Java GrundfunkPonalität über Package org.omg.* siehe auch C:\java\j2sdk1.4.1_01\docs\index.html Ansonsten Generierung der Java- Mappings vergleichbar C++ Aus einem IDL- Interface X wird Java- Interface X für Client (Signature Interface) Java- Interface X_OperaPons für Server (OperaPons Interface) Object Management Architecture (OMA) Application Objects Common Facilities Vertical Common Facilities Horizontal Common Facilities - User Interface - Information Management - Systems Management - Task Management Object Request Broker (ORB) Common Object Services - Naming - Externalization - Persistence - Events - Live Cycle - Transactions - Properties - Query - Concurrency - Relationships - Collections - Time - Security - Change - Trader - Licensing 8

19 Common Object Service SpecificaPon (COSS) GülPg für alle CORBA- konformen Plaxormen Naming ExternalisaPon Export von Zuständen in flache Dateien Persistenz DauerhaWe Objektzustände Events Weiterleitung asynchroner Ereignisse Einrichtung von Event Channels Lifecycle Unterstützung des Objekt- Lebenszyklus FunkPonen: Erzeugen, Löschen, Kopieren, Verlagern,... COSS contd. TransacPons 2 Phase- Commit- Protokoll Flache und geschachtelte TransakPonen ProperPes AXribut/Wert- Paare für Objekte speichern und abfragen Query SQL- Abfragen Concurrency Verwaltung und Realisierung von Locks Nutzung u.a. bei TransacPon Services RelaPonships Gruppierung von Objekten FunkPonen: Erzeugen, Traversieren,... 9

20 COSS contd. (2) CollecPons Time Security Change Management Trader Licensing? CORBA ORB Client Object Implementation Interface Repository Impl. Repository DII Dynamic Invocation Interface Client IDL Stubs ORB Interface Static Skeletons Dynamic Skeleton Invocation Object Adapter Object Request Broker Core 10

21 Methodenaufrufe SchniXstellenspezifikaPon über IDL ObjektorienPert Sprachbindungen für C, C++, Smalltalk, Java, Cobol,... Aufruf Zielobjekt Aufrufparameter Eventuell Rückgabewerte, ExcepPons AufrufsemanPk Synchroner AuWrag (vgl. RPC) Asynchroner AuWrag Asynchrone Meldung Klassisch stapsche SchniXstellen (Stubs) Dynamische SchniXstellen Object Adapter Steuert FunkPonen des Server- Objekts AkPvierung des Objekts bei eingehendem Request AuthenPfizierung des Aufrufers Zuordnung Objektreferenzen zu Instanzen Registrierung des Server- Objekts Lebensdauer des Server- Objekts Basic Object Adapter (BOA) Standardadapter Extremfall ORB und BOA Laufzeitbibliothek in der Anwendung Leistung mit Unterprogrammaufruf vergleichbar Neue Basisarchitektur für Betriebssysteme? 11

22 Object Adapter SchniXstelle zwischen Skeleton und ORB Verwaltet Objekte Instanziierung, Lebenszyklus, Binden an ImplemenPerung, etc. Nicht existent InakPv AkPv Bereit Nutzer erzeugt Nutzer akpviert Object Adapter verkörpert Object Adapter? Warum nicht im ORB? Austauschbare Komponente Ziel ORB möglichst klein halten µorb BOA Basic Object Adapter Single- Threaded (MulP- process) POA Portable Object Adapter Single- oder MulPthreaded DefiniPon von Objektgruppen etc. Ab CORBA 2.3 ersetzt der POA den BOA Skeletons sind Object Adapter spezifisch à Entscheidung bereits beim Kompilieren des IDL- Files! 12

23 ORB- 2- ORB- KommunikaPon Proprietäres ORB- Protokoll in CORBA 1.x Inter- ORB- Protokollstandard Server Object General Interoperability Protocol (GIOP) TCP/IP- basierte ImplemenPerung zwingend vorgeschrieben (IIOP) OpPonal: Environment Specific IOP (ESIOP) Z.B. DCE Common IOP (DCE CIOP) Half Bridge ORB 2 Inter-ORB-Bridge Client Object ORB 1 Half Bridge Objektreferenzen Schlüsselkonzept der Transparenz Zugriff auf Methoden x- >method(); Objektreferenzen über Adreßräume hinweg? Referenz auf Proxy- Objekt idenpsche SemanPk Referenzen sind global eindeupg! können als Argumente übergeben werden! sind interoperabel! à IOR 13

24 Interoperable Object Reference IOR Enthält IP und Port des zuständigen ORB ID des Object Adapters EindeuPge ID des Objekts Kann als String repräsenpert werden Woher erhält Client eine IOR? Einfachste Methode à File im gemeinsamen FS Namensdienste COSS Naming Abfragen der IOR via global eindeupgen Namen Referenz auf Naming- Service? IOR: c3a f f6e3a312e c d e e352e ad ff f f6e00696e c c CCM CORBA Component Model Bestandteil der IDL (CIDL) basic component (= EJB) extended component Sogenannte Ports definieren InterakPonsmöglichkeiten Facets: KomponentenfunkPonalität Receptables: Übernahme von Objektreferenzen Event Sources Event Sinks Komponenten haben ein Home und überhaupt sieht alles irgendwie nach EJB aus J CCM in der Praxis nicht weit verbreitet 14

25 RelaPonen zwischen OMG DefiniPon Languages OMG IDL 2.x ObjektorienPerte InterakPon Datentypen, Interfaces und WerXypen OMG IDL 3.0 KomponentenorienPerte InterakPon Component types, Homes und EvenXypen OMG PSDL Persistent state definipon [Abstract] storage types and homes OMG CIDL Component implementapon descrippon ComposiPons and segments OMG IDL 2.x extends OMG PSDL extends extends OMG IDL 3.0 extends OMG CIDL CCM User Roles Component designers Component clients ComposiPon designers component implementapon designers Component implementers Component packagers Component deployers Component end- users 15

26 Vom CORBA Component Design zum Packaging Component Designer OMG IDL, PSDL & CIDL Local server-side OMG IDL implements Component Executor Code Component Implementer OMG IDL PSDL & CIDL Compiler Stubs, Skeletons Programming Language Tools Client-side OMG IDL refers to XML Component Descriptor describes Binary Component Component Client Component Packager The CCM Big Picture designers implementer IDL/CIDL File User's Code Programming Language Tools Home Proper<es Component Proper<es IDL/CIDL Compiler Stubs, Skeletons Implementa<on Default Proper<es CORBA Component Package Component Descriptor User written file Compiler Generated files Packaging Tool packager CORBA Component Package sogpkg Descriptor Assembly Tool CORBA Component Package assembler Component Assembly Package Deployment Tool Assembly Descriptor deployer 16

27 Bemerkungen Standards, Standards, Standards, CORBA- Architektur inkl. IIOP: 1150 Seiten C++ Language Binding: 184 Seiten Java Language Binding: Seiten CORBA CCM: 434 Seiten War einmal technisch anspruchsvoll, aber andere Ansätze haben überholt Sinnvoll einsetzbar bei Verknüpfung von Legacy SoWware Verbreitet im Telekomumfeld Rückzieher Aus CORBA in KDE wurde DCOP CORBA paßt sich an ( und wird noch komplexer) Unterstützung und Anbindung an COM+ Unterstützung für WSDL und SOAP (.NET) Literatur Advanced CORBA Programming with C++ Michi Henning, Steve Vinoski Addision Wesley, 9. Auflage, 2004 Middleware für verteilte Systeme Arno Puder, Kay Römer Dpunkt Verlag, 1. Auflage

28 Komponenten OLE, COM, DCOM und COM+ MicrosoEs erster Komponentenansatz Verwickelter Enstehungsprozeß Noch immer kein allgemein definierter Standard DraE, As is Nur aus Gründen der RückwärtskompaSbilität bedeutungsvoll Hohe Verbreitung GUI- Bereich, Charts, Markt 1

29 Der Komponentenmarkt 2

30 3

31 COM+ Entwicklungsschri\e Clipboard 1987 Object Linking and Embedding (Compound Documents) In-Place Activation OLE 1992 OLE MS Distributed Transaction Coordinator 1996 OSF DCE RPC 1992 COM 1995 MS Transaction Server 1996 DCOM 1996 MS Message Queue Server 1997 COM NET Windows DNA DNA = Distributed internet ApplicaSon Architecture 3- Tier Ansatz Tools Clients Thin Clients... Rich Clients Firewall Databases Legacy Systems External Apps Presentation Business Logic System Services Data 4

32 Component Services COM Interface- based Programming Basic Component FaciliSes DCOM RemoSng Architecture Distributed Component Services COM+ Load Balancing In- memory Database Object Pooling Queued Components Event Model MTS TransacSon Services Resource Pooling Role- based Security AdministraSon Just- in- Sme AcSvaSon Basics Binärer Komponentenstandard ImplemenSerungssprache unbessmmt Komponente realisieren Interfaces Interface = Schni\stellenbeschreibung Abstrakte C++- Klasse mit virtuellen FunkSonen vtbl definiert Schni\stelle Minimal IUnknown: Elementarmethoden jeder Komponente IClassFactory: Komponentenerzeugung 5

33 IdenSfikaSon von Komponenten Interfaces besitzen eine GUID 128 Bit Zufallszahl z.b. IUnknown { C } Erzeugung über API: CoCreateGuid() Erzeugungstool: guidgen.exe Registry = Namensdienst guidgen.exe Erzeugung eigener GUIDs Hinreichend zufällig Bestandteile Aktuelles Datum Aktuelle Uhrzeit Fortlaufende Clock Sequence (persistent) Inkrementeller Zähler (hochfrequente Abfragen) MAC- Adresse der Netzkarte (geht aber auch ohne) 6

34 IUnknown interface IUnknown { typedef [unique] IUnknown *LPUNKOWN; HRESULT QueryInterface ( [in] REFIID riid, [out, iid_is(riid)] void **ppvobject ); ULONG AddRef (); } ULONG Release (); IClassFactory interface IClassFactory: IUnknown { HRESULT CreateInstance ( [in, unique] IUnknown *punkouter, [in] REFIID riid, [out, iid_is(riid)] void **ppvobject); } HRESULT LockServer ( [in] BOOL flock ); 7

35 ERSTE COM- SCHRITTE Beispiel Aufgabe Übertragung von n ganzen Zahlen Komponente bildet die Summe Schri\e Interface definieren Header- Dateien generieren Komponente implemenseren Client programmieren Registry- Eintrag 8

36 1. Interface USlity- Projekt in Visual Studio Interface Isum.idl: import "unknwn.idl"; [ object, uuid(1e10c200-e306-11d3-a557-b6eee489ca00) ] interface ISum : IUnknown { HRESULT AddElements ( [in] int nelem, [in, size_is(nelem)] int *elements, [out] int *sum ); }; 2. MIDL ausführen Mehrere Dateien werden generiert Bedeutung: C++- Version des Interfaces GUID- DefiniSonen Proxy- Stubs für enternte Server 9

37 3. Komponente implemenseren Jedes Interface der Komponente muß implemensert werden Ableitungen von den abstrakten Basisklassen Pure virtual funcsons implemenseren Virtuelle FunkSonen müssen immer wieder implemensert werden (Binärstandard) Sum.cpp 4. Client programmieren IniSalisierung des Komponentenzugriffs Iunknown- Interface über GUID erfragen Downcast zum gewünschten Interface Komponente benutzen Explizites Reference- CounSng beachten Client.cpp 10

38 5. Registry- Eintrag HKCR/CLSID/{GUID} REMOTING 11

39 Architekturen Inproc- Server Komponente als DLL im Client FunkSonsaufrufe Hohe Performance Server Komponente als EXE auf Client- Rechner Zugriff über Proxy- Objekte Surrogate: Spezifische DLL- Container COM- Laufzeitumgebung: MTS Remote Server Komponente auf enterntem Rechner (meist in lokalem MTS) Zugriff über Proxy- Objekte Marshalling, RPC ISum: Local Server Expliziter Aufruf eines lokalen Servers: hr = CoCreateInstance(CLSID_ISum, NULL, CLSCTX_LOCAL_SERVER, IID_IUnknown, (void **) &punknown); sta\ hr = CoCreateInstance(CLSID_ISum, NULL, CLSCTX_INPROC_SERVER, IID_IUnknown, (void **) &punknown); Es geht aber auch transparent Zuerst nach Inproc- Server schauen Dann nach lokalem Server Dann ggf. enternter Server 12

40 Wir verlassen die Prozeßgrenzen RPC = Remote Procedure Call Argumente in Nachricht verpacken Nachrichtenübertragung an den Server Auf Antwortnachricht warten Ergebnis an den Aufrufer zurückgeben Marshalling und Unmarshalling MIDL generiert die notwendigen RouSnen automassch Proxy = Client- Seite Stub = Server- Seite Verankerung der Proxy- und StubrouSnen in Registry Im Beispiel Relevante GUIDs für das Beispiel: Interface ISum Komponente CoSum (CLSID)

41 Zusätzlicher Schri\ ProxyStub- DLL erzeugen BenöSgt werden die von MIDL erzeugten Dateien: dlldata.c ISum_i.c ISum_p.c ProxyStub- DLL registrieren 14

42 Registryeinträge für lokalen Server und AppID 15

43 Mögliche AppID- Schlüssel AccessPermission AcSvateAtStorage AuthenScaSonLevel DllSurrogate LaunchPermission LocalService RemoteServerName RunAs ServiceParameter (bei gesetztem LocalService) dcomcnfg.exe 16

44 Security ACL innerhalb des Systems (vgl. Windows NT) Im Verteilungsfall in Anlehnung an OSF DCE AuthenSzitätsprüfung, wenn 0: Default (Systemdefinierter Standard 1-6) 1: None 2: Connect 3: Call 4: Packet 5: Packet Integrity: Test auf Paketveränderung 6: Packet Privacy: Inkl. Verschlüsselung AUTOMATION 17

45 Interfacevarianten StaSscher Zugriff Interface der gewünschten Komponente bekannt Zugriff über generierte Schni\stellenbeschreibung Überprüfungen zur Übersetzungszeit Dynamischer Zugriff Interfacebeschreibung liegt in Form einer Type Library vor Erfragen der Schni\stelle Dynamischer Methodenaufruf Keine Überprüfungen zur Übersetzungszeit Vgl. ReflecSon(Java), Dynamic Interfaces (Corba) Beim Zugriff über VB, VBA oder Java notwendig Dynamische Interfaces AutomaSon Schni\stelle IDispatch KombinaSon aus stasschem und dynamischem Interface möglich 18

46 IDispatch [ ] object, uuid( c ), pointer_default(unique) interface IDispatch : IUnknown { typedef [unique] IDispatch * LPDISPATCH; HRESULT GetTypeInfoCount( [out] UINT * pctinfo ); HRESULT GetTypeInfo( [in] UINT itinfo, [in] LCID lcid, [out] ITypeInfo ** pptinfo);... IDispatch(2) HRESULT GetIDsOfNames( [in] REFIID riid, [in, size_is(cnames)] LPOLESTR * rgsznames, [in] UINT cnames, [in] LCID lcid, [out, size_is(cnames)] DISPID * rgdispid ); [local] HRESULT Invoke( [in] DISPID dispidmember, [in] REFIID riid, [in] LCID lcid, [in] WORD wflags, [in, out] DISPPARAMS * pdispparams, [out] VARIANT * pvarresult, [out] EXCEPINFO * pexcepinfo, [out] UINT * puargerr ); 19

47 IDispatch(3) [call_as(invoke)] HRESULT RemoteInvoke( [in] DISPID dispidmember, [in] REFIID riid, [in] LCID lcid, [in] DWORD dwflags, [in] DISPPARAMS * pdispparams, [out] VARIANT * pvarresult, [out] EXCEPINFO * pexcepinfo, [out] UINT * pargerr, [in] UINT cvarref, [in, size_is(cvarref)] UINT * rgvarrefidx, [in, out, size_is(cvarref)] VARIANTARG * rgvarref ); } ACTIVE TEMPLATE LIBRARY 20

48 ATL AcSve Template Library Teil der MFC Basiert auf STL GrundfunkSonen ImplemenSerungen für IUnknown IClassFactory IDispatch Komponenten- registrierung DLL oder EXE möglich Die Basis um ein ATL- Objekt ergänzen 21

49 Wie heißt das Kind? Und was kann die Klasse? Methode hinzufügen 22

50 KONFIGURATION 23

51 Spielarten Manuell Eingriffe in die Registry (Brrrr) Selbstregistrierende Komponenten Vorgehensweise ATL ProblemaSk Deregistrierung Dcomcnfg: Weitergehende KonfiguraSon Veränderungen an der RemoSng- Struktur dcomcnfg 24

52 Literatur Guy Eddon, Henry Eddon Inside COM+ Base Services MicrosoE Press 1999 geplanter 2. Band Inside COM+ Component Services ist immer noch nicht erschienen J 25

53 Intermezzo I Kapitel 4 Komponententechnologien Was ist eine Komponente? (c) Peter Sturm, Universität Trier 1

54 Größe? Form? (c) Peter Sturm, Universität Trier 2

55 Klare Interfaces?! Cold Space Igloos Gypsy shadowness.com Jeder versteht Jeden! (c) Peter Sturm, Universität Trier 3

56 Klassifizierungskriterien Interface- Beschreibung Festlegen auf kommunizierbare Datentypen Anbinden von Client- und Komponentencode Sich finden (Namensproblematik) Grad der Unabhängigkeit Interface- Beschreibung Eigene IDL Microsoft IDL (MIDL) im Fall vom COM CORBA ebenfalls eigene IDL Verbesserungsvorschläge? (c) Peter Sturm, Universität Trier 4

57 Kommunizierbare Datentypen Spezielle IDL Nur recht elementare Typen (MIDL, hohes Alter) Komplex und unübersichtlich (CORBA) Verbesserungsvorschläge Interface Description Code- Anbindung IDL Compiler Server Stub Client Stub.c.c RPC- Erbe sichtbar! Spezielle IDL- Compiler generieren Proxies.c Compiler (e.g. C++).c Vorteil Automatismen Nachteil Mapping auf Zielsprache Server Client Verbesserungsvorschläge? (c) Peter Sturm, Universität Trier 5

58 Sich finden Asymmetrie am Anfang Client übernimmt Initiative Server / Service / Komponente braucht Namen Namensauflösung zu Orts- und Verbindungsinformation Unabhängigkeit Heterogene Ansätze Hohe Unabhängigkeit Kleinster gemeinsamer Nenner Homogene Ansätze Deutlich flexibler und mächtiger Höhere Abstraktionen Für Entwickler besser zu verstehen Homogener Sprachansatz: Java Homogenes Typsystem:.NET (c) Peter Sturm, Universität Trier 6

59 Shopping OO- RPC (c) Peter Sturm, Universität Trier 7

60 Aus RPC wird RMI Zusätzlicher Objektbezug wird deutlicher Siegeszug virtueller Maschinen Java- Ökosystem.NET Framework JAVA RMI (c) Peter Sturm, Universität Trier 8

61 Java RMI Remote Method Invocation Java- basierte OO- Variante eines RPC Objekte inkl. Code können ausgetauscht werden Vorteil einer homogenen Sprachumgebung Sicherheitsproblematik Function Shipping Direkte Unterstützung im JDK JDK nutzt Reflection für die Generierung der Proxies Architektur RMI RMI Client RMI RMI rmiregistry RMI Server URL Protocol Web Server URL Protocol Web Server (c) Peter Sturm, Universität Trier 9

62 ... ein Interface Am Anfang war... package syssoft.rmi_example; import java.rmi.remote; import java.rmi.remoteexception; public interface Compute extends Remote { int Add ( int x, int y ) throws RemoteException; int Sub ( int x, int y ) throws RemoteException; } Ableitung von Marker- Interface Remote (leeres Interface) Erkennen RMI- zugänglicher Interfaces über Reflection Remote- Methoden werfen RemoteException Zugeständnis an mögliche Fehlerfälle in verteilten Systemen package syssoft.rmi_example.server; import java.rmi.registry.locateregistry; import java.rmi.registry.registry; import java.rmi.server.unicastremoteobject; Server import syssoft.rmi_example.*; public class Server implements Compute { } public Server() { super(); } public int Add ( int x, int y ) { return x+y; } public static void main(string[] args) { if (System.getSecurityManager() == null) { System.setSecurityManager(new SecurityManager()); } try { String name = "SyssoftCompute"; Compute engine = new Server(); Compute stub = (Compute) UnicastRemoteObject.exportObject(engine,0); Registry registry = LocateRegistry.getRegistry(); registry.rebind(name, stub); System.out.println("ComputeEngine bound"); } catch (Exception e) { System.err.println("ComputeEngine exception:"); e.printstacktrace(); } } (c) Peter Sturm, Universität Trier 10

63 package syssoft.rmi_example.client; import java.rmi.registry.locateregistry; import java.rmi.registry.registry; Client import syssoft.rmi_example.*; public class Client { public static void main(string[] args) { if (System.getSecurityManager() == null) { System.setSecurityManager(new SecurityManager()); } try { String name = "SyssoftCompute"; Registry registry = LocateRegistry.getRegistry(args[0]); Compute comp = (Compute) registry.lookup(name); } } int result = comp.add(21, 21); System.out.println(result); } catch (Exception e) { System.err.println("SyssoftCompute exception:"); e.printstacktrace(); } # Compiling, packaging, and distributing the interface javac syssoft/rmi_example/compute.java jar cvf run/compute.jar syssoft/rmi_example/compute.class cp run/compute.jar ~peter/sites 42 # Preparing the server javac - cp run/compute.jar syssoft/rmi_example/server/server.java # Preparing the client javac - cp run/compute.jar syssoft/rmi_example/client/client.java # Starting RMI registry # rmiregistry & # Running server java - cp.:run/compute.jar - Djava.rmi.server.codebase=http://localhost/~peter/ Compute.jar - Djava.rmi.server.hostname=localhost - Djava.security.policy=run/server.policy syssoft.rmi_example.server.server & sleep 10 # Running client java - cp.:run/compute.jar - Djava.rmi.server.codebase=http://localhost/~peter/ - Djava.security.policy=run/client.policy syssoft.rmi_example.client.client localhost (c) Peter Sturm, Universität Trier 11

64 .NET Remoting Interface (c) Peter Sturm, Universität Trier 12

65 Implementierung Server (c) Peter Sturm, Universität Trier 13

66 Client (c) Peter Sturm, Universität Trier 14

67 Komponenten Enterprise Java Beans Übersicht Java Basics RTTI und ReflecHon AnnotaHons Beans EJBs 1

68 RTTI UND REFLECTION ReflekHve Programmierung Run- Time Type InformaHon Zur Übersetzungszeit ReflecHon API Zur Laufzeit 2

69 Beispiel Generierung einer XML- Beschreibung für eine beshmmte Java- Klasse Zentrale Anlaufstelle ist die Klasse Class getdeclaredconstructors liefert Array aller definierten Konstruktoren unabhängig von der Sichtbarkeit getconstructors liefert Array der sichtbaren Konstruktoren getdeclaredfields und getfields getdeclaredmethods und getmethods... Zugriff auf ALLE sprach- relevanten Eigenscha[en eines Typs möglich package syssoft.reflection; import java.io.*; import java.lang.reflect.*; Class TalkAbout public class TalkAbout { private Class c; public TalkAbout ( Class candidate ) { c = candidate; } public void print ( PrintStream out ) { out.println("<?xml version=\"1.0\" encoding=\"utf- 8\">"); out.println("<class name=\"" + c.getcanonicalname() + "\">"); printconstructors(c.getdeclaredconstructors(),out); printdeclaredfields(c.getdeclaredfields(),out); out.println("</class>"); } private void printconstructors ( Constructor ctors[], PrintStream out ) { for (Constructor ctor : ctors ) { out.println("\t<constructor name=\"" + ctor.getname() + "\" modifiers=\"" + Modifier.toString(ctor.getModifiers()) + "\" >"); printargumenttypes(ctor.getparametertypes(),out); out.println("\t</constructor>"); } } private void printdeclaredfields ( Field fields[], PrintStream out ) { for (Field field : fields ) { out.println("\t<field name=\"" + field.getname() + "\" type=\"" + field.gettype().tostring() + "\" modifiers=\"" + Modifier.toString(field.getModifiers()) + "\" />"); } } private void printargumenttypes ( Class argts[], PrintStream out ) { for (Class arg : argts) { out.println("\t\t<type name=\"" + arg.getname() + "\" />"); } } 3

Vorlesung Donnerstags, 10.00 bis 11.30 Uhr, HS12 Übung Dienstags, 14.00 bis 15.30 Uhr 4-5 ÜbungsbläMer (Programmieraufgaben)

Vorlesung Donnerstags, 10.00 bis 11.30 Uhr, HS12 Übung Dienstags, 14.00 bis 15.30 Uhr 4-5 ÜbungsbläMer (Programmieraufgaben) Komponenten Einführung Organisatorisches 2+1 SWS Vorlesung Donnerstags, 10.00 bis 11.30 Uhr, HS12 Übung Dienstags, 14.00 bis 15.30 Uhr 4-5 ÜbungsbläMer (Programmieraufgaben) Klausur 28. Februar 2013 Unterlagen

Mehr

4. Fortgeschrittene.NET-Techniken

4. Fortgeschrittene.NET-Techniken 4. Fortgeschrittene.NET-Techniken Techniken Peter Sturm Universität Trier Motivation Grundmechanismen für die Erstellung von Komponenten Festlegung der Schnittstellen Pattern Fassade und Factory Weitere

Mehr

Software Reuse Sommer 2004. 5. OLE, DCOM und COM Die frühen. Komponentenmodelle der Firma Microsoft. Object Linking and Embedding (Compound Documents)

Software Reuse Sommer 2004. 5. OLE, DCOM und COM Die frühen. Komponentenmodelle der Firma Microsoft. Object Linking and Embedding (Compound Documents) 5. OLE, DCOM und COM Die frühen Komponentenmodelle der Firma Microsoft Peter Sturm Universität Trier COM+ Entwicklungsschritte Object Linking and Embedding (Compound Documents) In-Place Activation Clipboard

Mehr

Common Object Request Broker Architecture (CORBA)

Common Object Request Broker Architecture (CORBA) 6. CORBA und CCM Peter Sturm Universität Trier Common Object Request Broker Architecture (CORBA) Standard der Object Management Group (OMG) 1991 CORBA 1.1 1994 CORBA 2.0 seit ca. 2001 CORBA 3.0 OMG Herstellerübergreifendes

Mehr

Vorlesung AFCW, Microsoft.NET Wintersemester 2002/03. Völlig neue Systemstruktur als Antwort auf Java

Vorlesung AFCW, Microsoft.NET Wintersemester 2002/03. Völlig neue Systemstruktur als Antwort auf Java .NET Vorlesung Application Frameworks and Componentware Peter Sturm Universität Trier.NET Völlig neue Systemstruktur als Antwort auf Java Assembly = Komponente Zwischensprache (IL = Intermediate Language)

Mehr

6. Java Java Beans und Enterprise Java Beans

6. Java Java Beans und Enterprise Java Beans 6. Java Java Beans und Enterprise Java Beans Peter Sturm Universität Trier Java Einführung Erfolgreicher virtueller Maschinenansatz der Gegenwart Vorbilder IBM: Virtualisierung der gesamten Rechnerhardware

Mehr

XML- RPC = WebService

XML- RPC = WebService XML- RPC = WebService Kapitel 8 Komponententechnologien Bisher: 99% Programmieren Feste APIs System- Call- Schnittstelle zum Kernel Bibliotheksfunktionen Eventuell proprietäre Konfiguration Nativ oder

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

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

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

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

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

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

Komponentenmodelle II

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

Mehr

Java Beans (22.02.2001)

Java Beans (22.02.2001) Component Based Software Development Java Beans (22.02.2001) Stefan Jäger Robert Kalcklösch Veranstalter: M. Bittner W. Koch Inhalt Einführung in Java Die Java Beans Einsatz und Entwicklung von Beans Enterprise

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

DCOM und.net. B. Sc. Tobias Buchloh. Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover

DCOM und.net. B. Sc. Tobias Buchloh. Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover DCOM und.net B. Sc. Tobias Buchloh Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover 2004-12-21 Gliederung Motivation Einordnung (D)COM.NET

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

Einführung in COM. 04.04.2006 Seite 1

Einführung in COM. 04.04.2006 Seite 1 Einführung in COM 04.04.2006 Seite 1 Ziele Sie kennen die Funktion der Registry für COM Sie können die Struktur eines COM-Objekts erklären Sie können erklären, wie ein remote-server gestartet wird 04.04.2006

Mehr

Software Reuse Sommer 2004

Software Reuse Sommer 2004 8. Web Services Peter Sturm Universität Trier Ausgangspunkt Client/Server-Systeme Traditioneller RPC OO-Pendant RMI (CORBA) Probleme Installationbedarf auf Clientseite Aufwendige Installation auf Serverseite

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

Modul Software Komponenten 10 Komponentenarchitektur

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

Mehr

Client/Server-Systeme

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

Mehr

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007 Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung

Mehr

Vorlesung Donnerstags, 10.00 bis 11.30 Uhr, HS12 Übung Dienstags, 14.00 bis 15.30 Uhr 4-5 ÜbungsbläMer (Programmieraufgaben)

Vorlesung Donnerstags, 10.00 bis 11.30 Uhr, HS12 Übung Dienstags, 14.00 bis 15.30 Uhr 4-5 ÜbungsbläMer (Programmieraufgaben) Komponenten Einführung Organisatorisches 2+1 SWS Vorlesung Donnerstags, 10.00 bis 11.30 Uhr, HS12 Übung Dienstags, 14.00 bis 15.30 Uhr 4-5 ÜbungsbläMer (Programmieraufgaben) Klausur 28. Februar 2013 Unterlagen

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

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

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

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire Integration von Web Services in J EE Anwendungen mit XFire 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire univativ : = Umsetzung durch Studenten und Young Professionals.

Mehr

Inhalt. 1. Motivation. 2. COM Architektur. 3. COM Implementierung. 4. Zusammenhang zu ATL. 5. Beispiel COM Client/ Server. 6..

Inhalt. 1. Motivation. 2. COM Architektur. 3. COM Implementierung. 4. Zusammenhang zu ATL. 5. Beispiel COM Client/ Server. 6.. Inhalt 1. Motivation 2. COM Architektur IUnkown 3. COM Implementierung 4. Zusammenhang zu ATL 5. Beispiel COM Client/ Server 6..NET/ COM Interop ISum IMultiply Calculator IClassFactory 7. Beispiel.NET

Mehr

Softwareschnittstellen

Softwareschnittstellen P4.1. Gliederung Rechnerpraktikum zu Kapitel 4 Softwareschnittstellen Einleitung, Component Object Model (COM) Zugriff auf Microsoft Excel Zugriff auf MATLAB Zugriff auf CATIA Folie 1 P4.2. Einleitung

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

Microsoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler

Microsoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler Inhalt Was ist.net Was steckt dahinter Warum ist.net so wie es ist Die Säulen von.net.net Framework 2.0 / VisualStudio 2005 Beispiel Referenzen & Links

Mehr

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

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition Inhaltsverzeichnis Vorwort 13 I Enterprise Java im Überblick 1 Bedeutung von Enterprise Java und IBM WebSphere 21 1.1 Enterprise Java 23 1.1.1 Anforderungen 23 1.1.2 E-Business 30 1.1.3 Java 36 1.2 IBM

Mehr

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

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

CORBA & CCM. )bersicht CORBA CCM. Abschluss. CORBA :: Motivation. von Malte B. Blanken. CORBA :: Was ist das? Open Source Produkte

CORBA & CCM. )bersicht <? > CORBA CCM. Abschluss. CORBA :: Motivation. von Malte B. Blanken. CORBA :: Was ist das? Open Source Produkte CA :: Motivation CA & CCM von Malte B. Blanken Mr. X hat einen Windows!Server. Auf diesem bietet er einen Dienst an, welcher auf Anfrage die Zeichenkette "Das Leben ist sch#n!!$ ausgibt. Dieser Dienst

Mehr

5. Übung zur Vorlesung Service-orientierte Architekturen

5. Übung zur Vorlesung Service-orientierte Architekturen 5. Übung zur Vorlesung Service-orientierte Architekturen Webservices und WSDL SoSe 2011 Anmerkung Hausaufgabe 03 BPMN Auch hier gilt: Layout! Zu Unterschieden zw. BPMN und eepk Relative Aussagen sind geschickter

Mehr

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java Oliver Kalz Agenda Grundlagen Objektpersistenz Objektrelationales Mapping Performance Fazit

Mehr

8a. Exkurs.NET. 8a.1.NET Architektur

8a. Exkurs.NET. 8a.1.NET Architektur 8a. Exkurs.NET Inhalt: 8a.1.NET Architektur 8a.2 Kooperation von Anwendungen über ADO -.NET 8a.3 Unterschiede gegenüber gewöhnlicher WIN32- Programmierung 1 8a.1.NET Architektur Bislang wurden die C/C++

Mehr

JDO Java Data Objects

JDO Java Data Objects JDO Java Data Objects Ralf Degner, Chief Consultant Ralf.Degner@poet.de Agenda POET Motivation Geschichte Einführung Architekturen FastObjects POET Gegründet 1993 Zwei Produktlinien esupplier Solutions:

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

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

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

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

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

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

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

Ü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

Java-Programmierung. Remote Method Invocation - RMI

Java-Programmierung. Remote Method Invocation - RMI Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig

Mehr

Java Forum Stuttgart 2008

Java Forum Stuttgart 2008 Professionelle Open Source SOA in 45 Minuten! Java Forum Stuttgart 2008 Dr. Halil-Cem Gürsoy, CDI AG Der Referent Insgesamt ca. 10 Jahre Beratung, davor Forschung Senior Consultant - JEE Evangelist Hauptsächlich

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

Client/Server-Programmierung

Client/Server-Programmierung Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 15. Oktober 2015 Betriebssysteme / verteilte

Mehr

Client/Server-Programmierung

Client/Server-Programmierung Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 15. Oktober 2015 Betriebssysteme / verteilte

Mehr

Client/Server-Programmierung

Client/Server-Programmierung Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 18. September 2014 Betriebssysteme / verteilte

Mehr

Web-Services Implementierung mit Java

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

Mehr

.NET und wieder eine Middleware Architektur?

.NET und wieder eine Middleware Architektur? .NET und wieder eine Middleware Architektur? Volker Birk CCC ERFA Ulm vb@ebios.de Volker Birk, vb@ebios.de 1 .NET na und?.net soll die Architektur im Internet werden meint Microsoft. Genau so wie Windows?.NET

Mehr

Anwendung eines Enterprise Java Beans

Anwendung eines Enterprise Java Beans Anwendung eines Enterprise Java Beans EJB Server EJB Container Remote Interface Home Interface EJB Object Der EJB Container kümmert sich um die Kommunikation des Beans mit anderen Komponenten, wobei er

Mehr

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

Schritt 4: Hallo Enterprise Bean

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

Mehr

7 Assemblies. Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files

7 Assemblies. Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files 7 Assemblies 8 Virtual Execution System VES Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files Teil der CLR Class Loader Metadaten (Manifest) zur Selbstbeschreibung

Mehr

Reflection. Arthur Zaczek. Nov 2014

Reflection. Arthur Zaczek. Nov 2014 Arthur Zaczek Nov 2014 1 Einleitung 1.1 Definition Reflection ist das Auslesen von Metainformationen über Klassen, deren Methoden & Eigenschaften zur Laufzeit. 1.2 Anwendungsfälle Analyse von Programmen

Mehr

Java Web Services Metadata JSR-181

Java Web Services Metadata JSR-181 Java Web Services Metadata JSR-181 Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Albertus-Magnus-Str.

Mehr

Microsoft.NET Framework

Microsoft.NET Framework Microsoft.NET Framework Anita Sosnecki Universität Bonn Institut für Informatik Seminar Softwaretechnologie WS 2003 Übersicht Einleitung Was ist.net?.net Framework.NET Komponenten Assemblies Deployment

Mehr

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Die Java Reflection API liefert per Introspection Informationen über Klassen => Meta-Daten.

Mehr

CLR CIL MCS ECMA-335. Linux.Ne t. 2005 Albrecht Liebscher, Erlanger Linux Tage

CLR CIL MCS ECMA-335. Linux.Ne t. 2005 Albrecht Liebscher, Erlanger Linux Tage C# CLR CIL MCS ECMA-335 Linux.Ne t Was ist.net? Microsoft Homepage:.NET is the Microsoft Web services strategy to connect information, people, systems and devices through software. Mono Handbuch:.Net besteht

Mehr

KompaSbilität zu Standards (WS- I) Contracts. Interfaces und Generics Umfangreiche AXribuSerung. Mehr Spielraum auf Transportebene

KompaSbilität zu Standards (WS- I) Contracts. Interfaces und Generics Umfangreiche AXribuSerung. Mehr Spielraum auf Transportebene Komponenten WCF (.NET Framework) WCF Verfeinerung und Reifung der ursprünglichen Version Geringere Unterschiede zu ASMX 2.0 (.NET 2.0) + WSE 3.0 Schwerpunkte KompaSbilität zu Standards (WS- I) Contracts

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

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

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

Kap. 3 Verteilte Objektverwaltung

Kap. 3 Verteilte Objektverwaltung Kap. 3 Verteilte Objektverwaltung 3.1 Einführung in die verteilte Objektverwaltung (Distributed Object Management, DOM) Anforderungen Kurzübersicht Java RMI Microsoft COM+ CORBA 3.2 Der CORBA-Standard

Mehr

Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution

Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution Thomas Seiler Product Manager Technology BISON Schweiz AG Agenda Vergleich - Business Software Framework zu.net Framework

Mehr

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

Java-Schulung Grundlagen

Java-Schulung Grundlagen Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings

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

.NET Framework. 3. Das.NET Framework

.NET Framework. 3. Das.NET Framework 3. Das.NET Framework.NET Framework 3.1 Übersicht - 2002 von Microsoft bereitgestellt - Ziel: Entwicklung von Anwendungen (Windows, Web, Embedded,..) bequemer und sicherer zu machen und bestehenden Code

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

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

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2)

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2) Referat im Rahmen des Proseminars Internettechnologie WS 2007/2008 Thema: Web Services und serviceorientierte Architekturen (SOA) vorgelegt von: Intelligente Web Services sind für das Informationszeitalter,

Mehr

Hello World from CORBA

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

Mehr

Szenario 3: Service mit erweiterter Schnittstelle

Szenario 3: Service mit erweiterter Schnittstelle 2. Hintergrundverarbeitung in Android: Services und Notifications Szenarien für lokale Services Szenario 3: Service mit erweiterter Schnittstelle Ein Service bietet zusätzliche Methoden an, über die sich

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

Web Services: Inhalt

Web Services: Inhalt Web Services Fachseminar Verteilte Systeme 8. April 2002 - Marco Steiner Assistent: Thomas Schoch Professor: Dr. F. Mattern Web Services: Inhalt Bedeutung Gegenwart Architektur SOAP WSDL UDDI Vergleich

Mehr

9. Remote Method Invocation Grundlagen der Programmierung II (Java)

9. Remote Method Invocation Grundlagen der Programmierung II (Java) 9. Remote Method Invocation Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung

Mehr

Seminar E-Services WS 02/03 WSDL. Web Services Description Language. Moritz Kleine SES 02 - WSDL

Seminar E-Services WS 02/03 WSDL. Web Services Description Language. Moritz Kleine SES 02 - WSDL Seminar E-Services WS 02/03 WSDL Web Services Description Language SES 02 - WSDL Zum Ablauf Einleitung Webservices und WSDL Grundlagen (XML - Schema und Namespaces) WSDL Syntax Beispiel Zusammenfassung

Mehr

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer) Programmieren I Grundlagen von JAVA Dr. Klaus Höppner Hello World in JAVA Hochschule Darmstadt WS 2007/2008 Elementare Datentypen 1 / 17 2 / 17 Eigenschaften von JAVA Prinzipieller Ablauf Plattform-und

Mehr

Enterprise Java Beans (EJB)

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

Mehr

Programmierung von Client/Server- Anwendungen

Programmierung von Client/Server- Anwendungen Programmierung von Client/Server- Anwendungen Komponenten des Web-Containers (Java EE) SoSe2015 Prof. Dr. Andreas Schmietendorf 1 Übersicht zur Vorlesung Entwicklung der Java Enterprise Edition Servlets,

Mehr

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

Workshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk

Workshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk Workshop Java Webentwicklung Einführung in Hibernate Ulrich Stärk Ablauf Montag bis Donnerstag 09:00 Uhr s.t. Beginn, bis ca. 17:00 Uhr 1 Stunde Mittagspause Donnerstag Experiment Aufzeichnung der Programmiertätigkeit

Mehr

Asynchrone Webservices mit Axis 1.x in Java

Asynchrone Webservices mit Axis 1.x in Java Asynchrone Webservices mit Axis 1.x in Java 1. Übersicht Architektur Da Webservices nach relativ kurzen Timeouts Anfragen abgearbeitet haben müsse, sind komplexe Anfragen wie sie in der Bioinformatik üblich

Mehr

Einleitung 11. 1 Von All-in-one-Software zu Webservices 17

Einleitung 11. 1 Von All-in-one-Software zu Webservices 17 316IVZ.fm Seite 5 Dienstag, 22. April 2003 2:31 14 Inhalt Einleitung 11 1 Von All-in-one-Software zu Webservices 17 1.1 Enterprise Application Integration... 17 1.2 SAP-Technologie und -Komponenten...

Mehr

Java: Eine Übersicht. Dennis Giffhorn. Lehrstuhl für Programmierparadigmen Universität Karlsruhe

Java: Eine Übersicht. Dennis Giffhorn. Lehrstuhl für Programmierparadigmen Universität Karlsruhe Java: Eine Übersicht Dennis Giffhorn Lehrstuhl für Programmierparadigmen Universität Karlsruhe Allgemeines Objektorientiert Syntaxfamilie von C/C++ Statisch getypt Entwickelt von Sun Microsystems class

Mehr

Kommunikation. Björn und Georg

Kommunikation. Björn und Georg Kommunikation Björn und Georg CORBA CORBA (Common Object Request Broker Architecture) Entwicklung der OMG ( Object Management Group) Zusammenschluss von 800 Firmen Hardware- und Progammiersprachen-unabhängiges

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

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans JPA - JAVA Persistence API Problem In JAVA-programmen arbeitet man mit Hauptspeicherobjekten. Nach Beendigung des Programmes sind diese nicht mehr vorhanden.

Mehr

Auszug aus Axis2 Schulung

Auszug aus Axis2 Schulung Auszug aus Axis2 Schulung Dieses Dokument ist ein Auszug aus unserem Skript zur Axis2- Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen Mehr

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