Janeva:.NET meets J2EE

Größe: px
Ab Seite anzeigen:

Download "Janeva:.NET meets J2EE"

Transkript

1 1 Fachhochschule Dortmund Prof. Dr. Frank M. Thiesing Komponentenorientierte Softwareentwicklung und Hypermedia SS04 Janeva:.NET meets J2EE Ruthild Klempel Allgemeine Informatik Matr.Nr Windscheidstrasse, Essen Tel. 0201/

2 2 Inhalt 1. Einleitung Einführung in Janeva Systemvoraussetzungen für die Entwicklung Janeva-basierter Anwendungen für den Einsatz von Janeva-basierter Anwendungen Installation Ein erstes Beispiel Die J2EE-Seite Die.NET-Seite Der Client Janeva-Klassenbibliotheken einbinden Janeva-Stubs generieren Die Ausführung des Clients Fazit...18 Literaturverzeichnis...19 Anhang... 20

3 3 1. Einleitung Es ist Fakt, dass die.net-welt und die Java-Welt wenig miteinander integriert sind. Beide Technologien haben technische und kommerzielle Stärken und bieten viele Vorteile. Ein guter Ansatz wäre es, wenn beide Technologien nicht als Konkurrenten gesehen würden, sondern als Ergänzung füreinander. 1 So müsste man sich nicht für eine der beiden Technologien entscheiden, sondern könnte die Vorteile der beiden Welten gleichzeitig nutzen. Und so kommt Janeva ins Spiel: eine einfache Möglichkeit um beide Technologien zu verbinden. Ziel dieser Ausarbeitung ist es, Entwickler, die sich zum ersten Mal mir der Software Janeva befassen möchten, bei den ersten Schritten zu begleiten und einen groben Überblick über die Funktionalität, Vorgehensweise und Vorteile dieser Software zu verschaffen. Es soll eine Entscheidungshilfe über den möglichen Einsatz dieser Software für potentielle Janeva- Anwender sein. Diese Ausarbeitung hat keinen Anspruch auf Vollständigkeit. Es wird auf so viel eingegangen, wie es nötig ist, um ein erstes Beispiel mit Janeva zustande zu bekommen und um ein allgemeines Verständnis zu verschaffen. Im Folgenden wird hauptsächlich auf die Verbindung zwischen J2EE und.net eingegangen. Die Verbindung zwischen CORBA-Komponenten und.net wird hier nur grob aufgeführt. 2. Einführung in Janeva Janeva ermöglicht die Entwicklung von client- und server-seitigen Anwendungen für das. NET Framework, die auf server-seitigen J2EE/CORBA-Komponenten über das IIOP- Protokoll (Internet Inter-ORB Protocol) zugreifen. 2 Dabei handelt es sich im Kern um eine Java-basierte CORBA-Implementierung, die die Borland-Entwickler mit Hilfe von Microsofts Visual J# in die.net-welt transformiert haben. 3 1 Vgl. The Middleware Company: High Performance.NET and J2EE Interoperability with Borland s Janeva. S ( ). 2 Vgl. Developers Guide. S Stahl, Michael: Über-Brückung, Borlands Janeva: Zugriff von.net- auf J2EE- und CORBA-Objekte. In: ix 2/2004. S. 63.

4 4 Die Janeva-Laufzeitumgebung ist eine Sammlung von Klassenbibliotheken in Form von DLL- Dateien, die Klassen zur Verfügung stellt, um die Kommunikation zwischen.net und J2EE/CORBA zu gewährleisten. Die Laufzeitumgebung stellt die typischen CORBA und J2EE-API's dar die verwendet werden, um entfernte Objekte anzusprechen. Diese API's halten sich an die CLR-Regeln (Common Language Specification) von Microsoft, sodass sie von jeder.net-programmiersprache verwendet werden können. 4 Janeva generiert Client-Stubs bzw. Server-Skeletons um Methoden von J2EE- und CORBA- Objekten aufzurufen. So werden die Interfaces zur Verfügung gestellt, die benötigt werden, um auf J2EE- bzw. CORBA-Komponenten zuzugreifen. Diese Stubs/Skeletons bilden die Schnittstelle zwischen.net und J2EE- bzw. CORBA-Servern. Somit ist der Zugriff auf J2EE/CORBA-Dienste für den.net-entwickler bzw..net-tools transparent: Die J2EE/CORBA-Dienste werden wie ein beliebiger.net-dienst behandelt. NET-Entwickler brauchen keine Vorkenntnisse in Java, J2EE oder CORBA. 5.NET-Programmierern bleiben diese Details weitgehend verborgen, und sie können sich vollständig in der Welt des Managed.NET-Code bewegen, ohne in größerem Umfang mit CORBA oder J2EE in Berührung zu kommen. 6 Client-Stubs werden gebraucht um die Schnittstelle zwischen.net-clients und J2EE/CORBA-Komponenten zu bilden. Dementsprechend werden Server-Skeletons als Schnittstelle zwischen.net-serverseitigen Komponenten und J2EE/CORBA-Komponenten verwendet, wie in Abb. 1 deutlich wird. 4 Developers Guide. S The Middleware Company: High Performance.NET and J2EE Interoperability with Borland s Janeva. S ( ). 6 Stahl, Michael: Über-Brückung, Borlands Janeva: Zugriff von.net- auf J2EE- und CORBA-Objekte. In: ix 2/2004. S. 63.

5 5 Abb. 1 7 Die J2EE/CORBA-Server müssen nicht verändert werden, um mit den.net-clients bzw. -Servern zu kommunizieren. Alle Einstellungen erfolgen nur auf der.net-seite. Deshalb sind in Abb.1 keine grau-markierten Stellen in den J2EE/CORBA-Umgebungen. Janeva bietet eine Lösung für die Interoperabilität, die weder zusätzliche Hardware- noch Software-Infrastruktur erfordert, um in die vorhandene Deployment-Umgebung integriert werden zu können. Dies minimiert Kosten und senkt Risiken. Janeva benötigt keine zusätzliche Entwicklungsarbeit für die Konnektivität, keine Änderungen an vorhandenen Backend-Systemen und keine Änderungen an vorhandenen IT- oder Geschäftsprozessen. 8 Janeva stellt zwei Arten von Compilern zur Verfügung, um die Stubs bzw. Skeletons zu generieren. Der CORBA-basierte Compiler generiert Stubs/Skeletons aus IDL-Dateien (Interface Definition Language), und der J2EE-basierte Compiler generiert Stubs/Skeletons aus Interfaces, die in Java-RMI-Dateien (Remote Method Invocation) bzw. in J2EE- Archivdateien spezifiziert sind. 9 Das Ergebnis ist ein C#-Code, der sich aber an die Regeln der CLS (Common Language Specification) hält, sodass die Nutzung jeder.net-sprache grundsätzlich möglich ist Developers Guide. S Erhöhen Sie die Plattform Interoperabilität. S Vgl. Developers Guide. S Stahl, Michael: Über-Brückung, Borlands Janeva: Zugriff von.net- auf J2EE- und CORBA-Objekte. In: ix 2/2004. S. 63.

6 6 Abb.2 11 Um z. B. einen Client zu programmieren, der auf J2EE-Komponenten zugreift, müssen die EJB-Interfaces, die in Form einer.ear oder.jar-datei vorliegen, in.net-code umgewandelt werden (Client-Stub). Dies geschieht durch den J2EE-basiertern Compiler. Der Client greift über diesen jetzt in C#-Code vorliegenden Stub auf die EJB's. Die Janeva- Klassenbibliotheken müssen in das.net-projekt eingebunden werden. Sind diese Voraussetzungen erfüllt, kann das.net-projekt kompiliert werden, wie in Abb. 2 zu sehen ist. 3. Systemvoraussetzungen für die Entwicklung Janeva-basierter Anwendungen Um Janeva-basierte Anwendungen erfolgreich entwickeln zu können, muss folgende Software auf dem Entwicklungs-Rechner vorhanden sein:.net Framework: Da Janeva ein.net-produkt ist, wird das.net Framework für die Ausführung benötigt. Microsoft Visual J#.NET: Die Janeva-Kommunikations-Umgebung wurde in J# implementiert. Auch wenn die Clients in einer anderen Programmiersprache programmiert werden, müssen Microsoft Visual J# sowie die.net-laufzeitumgebung installiert sein. 11 The Middleware Company: High Performance.NET and J2EE Interoperability with Borland s Janeva. S ( ).

7 7 Für die richtige Ausführung von den Janeva-Tools und der Janeva-Laufzeitumgebung sollten Visual J# und das.net Framework in derselben Versionsnummer sein. 12 Java Runtime Environment 1.4: Wird benötigt, damit der Java-basierte Compiler (java2cs) ausgeführt werden kann. (Anmerkung: JRE wird nicht für die Ausführung von Janeva- Clients benötigt, nur für die Entwicklung dieser Clients. Wenn bei der Entwicklung der java2cs-compiler nicht benötigt wird, muss das JRE auch nicht vorhanden sein. 13 ) Eine Entwickler-Lizenz (Development License) ist auch erforderlich, um Janeva-basierte Anwendungen zu entwickeln. Sie ist kostenlos, man darf aber Janeva nur auf einem Rechner für Testzwecke verwenden. 14 Im Kapitel 4 wird näher darauf eingegangen, wie man die Lizenz bekommt und an Janeva anbindet. Wenn man das Microsoft Visual Studio.Net installiert, ist das.net Framework schon darin enthalten. Die Sprache J# kann bei der Installation von Visual Studioauch mit installiert werden. Empfohlene Hardware: Intel Pentium II-Klasse Prozessor 450 MHz (600 MHz oder mehr empfohlen) 128 MB RAM (256 MB empfohlen) 10 MB Festplattenspeicher (volle Installation) 15 Betriebssysteme, die unterstützt werden: Microsoft Windows Server 2003 Microsoft Windows 2000 Server Microsoft Windows 2000 Professional Microsoft Windows XP Professional 16 Anmerkung: Für diese Ausarbeitung wurde Janeva unter Microsoft Windows XP Home Edition getestet, und es haben sich keinerlei Probleme ergeben. 12 Vgl. Installation Guide. S Vgl. Readme. <Janeva 6.0-Installationsverzeichnis>readme.html 14 Vgl. License Terms. <Janeva 6.0-Installationsverzeichnis>license.rtf 15 Installation Guide. S Vgl. Installation Guide. S. 9.

8 für den Einsatz Janeva-basierter Anwendungen Um Janeva-basierte Anwendungen auf verschiedenen Rechnern einsetzen zu können, wird auf den Rechnern, in denen die Anwendung laufen soll, folgendes benötigt: Microsoft.NET Framework Redistributable Package Microsoft Visual J# Redistributable Package Janeva runtime libraries (Klassenbibliotheken): Borland.Janeva.Runtime.dll Borland.Janeva.Private.dll Borland.Janeva.Services.dll Janeva deployment license key (Lizensschlüssel) 17 : Janeva-Laufzeitlizenzen müssen für den Einsatz auf verschiedenen Rechnern bei Borland käuflich erworben werden. 18 Es wird unterschieden zwischen Client-Runtime-Lizenzen und Server/CPU-Lizenzen Installation Nachdem die benötigte Software, die im Abschnitt 3.1. beschrieben ist, installiert ist, kann Janeva installiert werden. Die heruntergeladene Janeva_60.zip 20 -Datei muss entpackt und die Setup.exe-Datei ausgeführt werden. Beim Herunterladen wird man aufgefordert, sich zu registrieren. An die bei der Registrierung angegebene -Adresse wird ein Lizenzschlüssel gesendet. Wie der Schlüssel eingebunden wird, wird später aufgeführt. In dem Verzeichnis, wo die Janeva_60.zip-Datei entpackt wurde, ist eine Datei namens JanevaInstallGuide.pdf, die eine Hilfestellung für den Installationsvorgang ist. Im Folgenden werden einige wichtige Aspekte der Installation aufgeführt. Wie in Abb.3 zu sehen ist, wird im Installationsdialog gefragt, welche Janeva-Komponenten installiert werden sollen. 17 Vgl. Developers Guide. S Vgl. Stahl, Michael: Über-Brückung, Borlands Janeva: Zugriff von.net- auf J2EE- und CORBA-Objekte. In: ix 2/2004. S Vgl. License Terms. <Janeva 6.0-Installationsverzeichnis>license.rtf. 20 Diese Datei kann heruntergeladen werden bei

9 9 Abb. 3 Es ist empfehlenswert, alle Optionen anzukreuzen. Beim ankreuzen von Borland Janeva Runtime werden die Janeva-Klassenbibliotheken geliefert. In Borland Janeva Tools sind der Java-basierte Compiler und der IDL-basierte Compiler enthalten. Documents and Examples liefert Beispiele und die Dokumentation, wo die API's beschrieben werden und wichtige Informationen für Entwickler, die Janeva-basierte Anwendungen entwickeln möchten, enthalten sind. Borland Janeva for Visual Studio Addin gibt dem Entwickler die Möglichkeit, im Visual Studio.NET einige Janeva-Einstellungen zu verändern. Im nächsten Schritt wird gefragt, ob der Pfad des Janeva-bin-Verzeichnisses in die Umgebungsvariablen PATH einfügen werden soll. Es ist empfehlenswert, yes anzukreuzen. Janeva benötigt auch den Pfad zum JRE (Java Runtime Environment), falls der Java-basierte Compiler verwendet werden soll. Deshalb wird gefragt (Abb. 4), ob man den Pfad selbst eingeben will, ob er automatisch gesucht werden soll oder ob man ihn nicht angeben soll.

10 10 Abb. 4 Falls man die erste Option wählt, erscheint ein Dialog am Ende des Installationsvorgangs, wo der JRE-Pfad anzugeben ist. Falls man die zweite Option wählt und der Pfad trotzdem nicht gefunden wird, wird man am Ende auch aufgefordert, den Pfad anzugeben. Die dritte Option ist für den Fall, dass die Janeva-Laufzeitumgebung (Klassenbibliotheken) auf einem Produktiv-System installiert werden soll. 21 Nachdem der Installationsprozess beendet ist, muss der Lizenzschlüssel, den man nach der Registrierung per bekommen hat, in das Janeva-Installationsverzeichnis kopiert und nach borland.txt umbenannt werden. Falls man bei der Installation angekreuzt hat, dass das Addin für den Visual Studio.NET installiert werden soll, erscheinen im Visual Studio einige zusätzliche Konfigurationsmöglichkeiten, womit man Janeva-Einstellungen verändern kann. Dies erreicht man im Visual Studio unter dem Menü Extras Optionen. Wenn man Borland Janeva anklickt, erscheint folgendes Fenster: 21 Vgl. Installation Guide. S

11 11 Abb. 5 Jetzt sind alle Voraussetzungen erfüllt, um Janeva-Anwendungen zu programmieren. 5. Ein erstes Beispiel Im nachfolgenden Beispiel werden Microsoft Visual Studio.NET 2003 und Sun Java System Application Server Platform Edition 8, welche kompatibel zur J2EE 1.4-Plattform ist, verwendet. Wie dieses Beispiel mit anderen Programmierumgebungen und J2EE Servern durchzuführen ist, wird in dieser Ausarbeitung nicht behandelt. Die hier verwendete Janeva- Version ist die 6.0. Das Beispiel ist ein einfacher.net-client in der Sprache C#, der Methoden von einen EJB aufruft. 5.1 Die J2EE-Seite Um diesen EJB zur Verfügung zu stellen, der später von dem Client verwendet wird, muss das Converter -Beispiel von dem J2EE-Tutorial 22 von Sun durchgeführt werden. Es handelt sich um einen EJB namens ConverterBean, der Methoden enthält, die die Umrechnung von Dollar nach Yen und von Yen nach Euro durchführen ( ), Kap. 24

12 12 Es werden zwei Interfaces zur Verfügung gestellt, um den Zugriff von außen zu ermöglichen. Der ConverterHome ist ein Home Interface, der dem Client erlaubt, eine Instanz von dem EJB zu erzeugen. Der Converter ist ein Remote Interface, der die Methoden definiert, die von einem Client aufgerufen werden dürfen. Um das Beispiel durchführen zu können, muss der J2EE Application Server gestartet und der Status von ConverterApp muss running sein (Siehe Abb. 6). Dies kann man überprüfen, wenn man den Deploytool 23 startet. Im Baum muss unter Servers - localhost: der Status von ConverterApp erscheinen. Abb. 6 Im Anhang dieser Ausarbeitung werden die Quelltexte zu dem Tutorial-Beispiel aufgeführt. 5.2 Die.NET-Seite Der Client Das Ziel dieses Beispiels ist es, einen Client in.net zu programmieren, der genauso funktioniert wie der Client vom J2EE-Tutorial (ConverterClient). 25 Dazu muss ein neues Projekt im Visual Studio.NET erstellt werden unter Datei Neu Projekt.... Dann wird unter Projekttyp Visual C#-Projekte ein leeres Projekt einfügt. In diesem Beispiel wird das Projekt unter dem Namen JanevaConverterClient verwendet. Zusätzlich wird unter Datei Neues Element hinzufügen... eine Codedatei mit dem Namen JanevaConverterClient.cs eingefügt. Folgender C#-Quellcode wird in diese Datei kopiert bzw. editiert: 23 Im Windows erreichbar unter Start Programme Sun J2EE 1.4 SDK - Deploytool 24 Die Port-Nummer muss nicht zwingend diese sein. Bei der Installation von dem J2EE Application Server wird zwar diese Nummer für den Admin-Port vorgeschlagen, man kann aber auch eine andere wählen. 25 Um die Quelltexte zu vergleichen, siehe Anhang.

13 13 using System; using J2EE.Naming; using J2EE.Rmi; using J2EE.Math; namespace converter { public class JanevaTest { static void Main(string[] args) { Context root = new InitialContext(args); object myserverhomeobject = root.lookup("converterbean"); ConverterHome home = (ConverterHome) PortableRemoteObject.Narrow(myServerHomeObject, typeof(converterhome)); Converter currencyconverter = home.create(); BigDecimal param=new BigDecimal(100); BigDecimal amount=currencyconverter.dollartoyen(param); Console.WriteLine(amount); amount=currencyconverter.yentoeuro(param); Console.WriteLine(amount); In dem Client werden Janeva-API's verwendet, wie in folgende Anweisungen zu sehen ist: using J2EE.Naming; using J2EE.Rmi; using J2EE.Math; Dies sind einige der Namensräume, die Janeva zur Verfügung stellt. In der Programmzeile Context root = new InitialContext(args); wird ein Root-Kontext für den J2EE-Naming-Service instanziiert. Dabei sind in der Variablen args Server-Informationen wie IP-Adresse und Port-Nummer, die per Argument an das Programm übergeben werden. In der nächsten Zeile wird das EJBHome-Objekt, das auf dem Server liegt, gesucht: object myserverhomeobject = root.lookup("converterbean"); In der Zeile ConverterHome home = (ConverterHome) PortableRemoteObject.Narrow(myServerHomeObject,

14 14 typeof(converterhome)); wird das gefundene Objekt myserverhomeobject auf dem Typ ConverterHome gebracht. Mit der Zeile Converter currencyconverter = home.create(); wird eine neue Instanz des EJB kreiert. Der Interface Converter definiert die Methoden, die vom Client aufgerufen werden dürfen. Diese Methoden können von dem Objekt aus, das von der Variablen currencyconverter referenziert wird, aufgerufen werden Janeva-Klassenbibliotheken einbinden Wenn man versucht, in diesem Stadium das Projekt zu kompilieren, wird es fehlschlagen. Ein Grund dafür ist, dass Janeva-spezifische Klassen (Assemblys) verwendet werden, die noch nicht eingebunden sind. Dieses Problem kann man beheben, indem man in Visual Studio.NET im Projektmappen- Explorer mit der rechten Maustaste auf Verweise klickt und den Menüpunkt Verweis hinzufügen auswählt. Dort wird die Komponente Janeva Runtime ausgewählt. 27 Abb Vgl. Developers Guide. S Vgl. Developers Guide. S

15 15 Wenn man jetzt versucht, das Projekt zu kompilieren, ist dieses Problem bereits behoben Janeva-Stubs generieren Das Kompilieren ist zu diesem Zeitpunkt noch nicht möglich. Der Grund dafür besteht darin, dass die EJB-Interfaces, die in diesem Client verwendet werden, noch nicht in.net zur Verfügung stehen. Abb. 8 Um dies zu beheben wird zunächst die Datei ConverterApp.ear im Verzeichnis <J2EE- Tutorial-Verzeichnis>\examples\ejb\converter in das.net-projekt-verzeichnis kopiert. In diese Datei sind die benötigten EJB-Interfaces in Java-Code definiert. Dieser Code muss in. NET-Code umgewandelt werden (Janeva-Stub), damit man diese Interfaces verwenden kann. Im Kommandozeilenfenster wird im.net-verzeichnis folgender Befehl ausgeführt: <.NET Projekt-Verzeichnis>>java2cs -o ConverterApp.cs ConverterApp.ear Der Java-basierte Compiler java2cs wandelt den Java-Code aus der Datei ConverterApp.ear in C#-Code um. Die dabei neu entstandene Datei heisst ConverterApp.cs. Diese Datei erscheint im.net-projekt-verzeichnis siehe Developers Guide. S

16 16 Anmerkung: um die Janeva-Compiler wie beschrieben benutzen zu können, muss das Janevabin-Verzeichnis in der Umgebungsvariablen PATH enthalten sein. Wenn man im Janeva- Installationsvorgang diese Option nicht angekreuzt hat, muss folgender Befehl im Kommandozeilenfenster ausgeführt werden, bevor man den Compiler aufruft: <aktuelles Verzeichnis>> set PATH=<Janeva- Installationsverzeichnis>\bin;%PATH% Der nächste Schritt ist, die vom java2cs-compiler generierte Datei ConverterApp.cs unter Projekt Vorhandenes Element hinzufügen... in das Projekt einzubinden. Wichtig ist es, dass der Namespace, der in dieser generierten Datei verwendet wird, derselbe ist, der in dem Client verwendet wird. Wenn die beschriebenen Schritte ausgeführt wurden, kann das Projekt kompiliert werden Die Ausführung des Clients Es gibt drei Formen, wie man die J2EE-Server-Daten (z. B. IP-Adresse und Port-Nummer) an den Client übergeben kann: Über Kommandozeilenargumente Im Programmtext des Clients In eine Konfigurationsdatei. In diesem Beispiel wird nur die erste Möglichkeit beschrieben. 29 Im Verzeichnis <.NET-Projektverzeichnis>\bin\Debug wird im Kommandozeilenfenster die Datei JanevaConverterClient.exe mit einigen Argumenten aufgerufen. Der Befehl sieht folgendermaßen aus: <.NET-Projektverzeichnis>\bin\Debug>JanevaConverterClient -ORBInitRef NameService=corbaname:iiop:localhost:3700/NameService 30 Die Client-Ausgabe sieht wie folgt aus: 29 Alle Möglichkeiten werden ausführlich im Janeva-Entwicklerhandbuch beschrieben. Developers Guide. S Vgl. Developers Guide. S

17 17 Abb. 9 Die angegebenen Server-Angaben beziehen sich auf dem J2EE-Application-Server von Sun. Die übergebenen Argumente können von Server zu Server variieren. Jeder Server hat eine eigene URL-Syntax. Beispiel: WebLogic 7 oder 8: corbaloc::localhost:7001/nameservice IBM WebSphere 5: corbaname:iiop:localhost:2809/nameserviceserverroot Oracle's 0C4J: corbaloc:iiop:1.2@localhost:5555/nameservice Sybase: corbaloc:iiop:1.2@localhost:9000/nameservice 31 Die Portnummer kann auch von der Standard-Portnummer des jeweiligen Servers abweichen. Im J2EE-Application-Server von Sun kann man dies leicht überprüfen, indem man unter Start Programme Sun J2EE 1.4 SDK die Admin Console startet. Dort wird im Baum Application Server ORB IIOP-Listeners ausgewählt. Der hier benötigte Port ist unter dem Namen orb-listener-1 aufgeführt (Abb. 10). Abb Vgl. Developers Guide. S

18 18 6. Fazit Janeva ist ohne Zweifel eine sehr gute Lösung, um ohne viel Aufwand die Interoperabilität zwischen J2EE, CORBA und.net zu ermöglichen. Allerdings erweisen sich Mängel in der Dokumentation. Wichtige Informationen sind durch die Dokumentation zerstreut, was auch dazu führt, dass die Dokumentation unübersichtlich ist. Man musst sich einen großen Teil der ersten fünfzig Seiten des Entwicklerhandbuches durchlesen, um alle nötigen Informationen zu haben, um ein kleines Client-Beispiel erfolgreich zu implementieren. Es gibt zwar Janeva-Beispiele, die mit der Software mitgeliefert werden, doch sie steigen auf einem zu hohen Niveau ein. Für Entwickler, die sich noch nie mit dem Thema beschäftigt haben, ist der Einstieg schwer. Was hier fehlt, ist ein ausführliches kleines Beispiel, in dem jeder Schritt erklärt wird, um ein allgemeines Verständnis und einen Überblick zu ermöglichen. Ein weiterer Aspekt ist, dass die mitgelieferten J2EE-Beispiele für den Borland Enterprise Server konzipiert sind. Zwar wird gezeigt, wie die Interoperabilität zwischen.net und anderen EJB-Servern funktioniert, es wird aber nicht auf andere wichtige EJB-Server eingegangen, wie z.b. JBoss und der J2EE-Application Server von Sun. Noch ein Grund für den schweren Einstieg besteht darin, dass die Software ziemlich neu auf dem Markt ist und sich kaum verbreitet hat. Man findet keine Tutorials oder Foren über Janeva, wo Beispiele aufgeführt und durchdiskutiert werden. Doch die Vorteile überwiegen. Es ist zwar schwer, mit der vorhandenen Dokumentation ein erstes kleines Test-Client zum laufen zu bringen, doch wenn diese Hürde überwunden ist, ist nur noch die neu geöffnete Tür in Sicht. Es öffnet sich eine Tür mit vielenn Vorteilen und guten Lösungen.

19 19 Literaturverzeichnis Developers Guide. Erhöhen Sie die Plattform Interoperabilität. The Middleware Company: High Performance.NET and J2EE Interoperability with Borland s Janeva. ( ). Installation Guide. J2EE-Tutorial. ( ). License Terms. <Janeva 6.0-Installationsverzeichnis>license.rtf. Readme <Janeva 6.0-Installationsverzeichnis>readme.html. Stahl, Michael: Über-Brückung, Borlands Janeva: Zugriff von.net- auf J2EE- und CORBA- Objekte. In: ix 2/2004.

20 20 Anhang Folgende Quelltexte sind aus dem J2EE-Tutorial. 32 Es handelt sich um das Converter- Beispiel. Remote Interface (Converter.java) package converter; import javax.ejb.ejbobject; import java.rmi.remoteexception; import java.math.*; public interface Converter extends EJBObject { public BigDecimal dollartoyen(bigdecimal dollars) throws RemoteException; public BigDecimal yentoeuro(bigdecimal yen) throws RemoteException; Home Interface (ConverterHome.java) package converter; import java.rmi.remoteexception; import javax.ejb.createexception; import javax.ejb.ejbhome; public interface ConverterHome extends EJBHome { Converter create() throws RemoteException, CreateException; Enterprise Bean Class (ConverterBean.java) package converter; import java.rmi.remoteexception; import javax.ejb.sessionbean; import javax.ejb.sessioncontext; import java.math.*; public class ConverterBean implements SessionBean { BigDecimal yenrate = new BigDecimal(" "); BigDecimal eurorate = new BigDecimal("0.0077"); public BigDecimal dollartoyen(bigdecimal dollars) { BigDecimal result = dollars.multiply(yenrate); 32 ( ), Kap. 24.

21 21 return result.setscale(2, BigDecimal.ROUND_UP); public BigDecimal yentoeuro(bigdecimal yen) { BigDecimal result = yen.multiply(eurorate); return result.setscale(2, BigDecimal.ROUND_UP); public ConverterBean() { public void ejbcreate() { public void ejbremove() { public void ejbactivate() { public void ejbpassivate() { public void setsessioncontext(sessioncontext sc) { Application Client (ConverterClient.java) import converter.converter; import converter.converterhome; import javax.naming.context; import javax.naming.initialcontext; import javax.rmi.portableremoteobject; import java.math.bigdecimal; public class ConverterClient { public static void main(string[] args) { try { Context initial = new InitialContext(); Context myenv = (Context) initial.lookup("java:comp/env"); Object objref = myenv.lookup("ejb/simpleconverter"); ConverterHome home = (ConverterHome) PortableRemoteObject.narrow(objref, ConverterHome.class); Converter currencyconverter = home.create(); BigDecimal param = new BigDecimal("100.00"); BigDecimal amount = currencyconverter.dollartoyen(param); System.out.println(amount); amount = currencyconverter.yentoeuro(param); System.out.println(amount); System.exit(0); catch (Exception ex) { System.err.println("Caught an unexpected exception!"); ex.printstacktrace();

Traditione le Entwicklung: Anpassung und Auslieferung von Software Produkten. Prof.Dr.Frank M.Thiesing Frank.Thiesing@FH-Dortmund.de 30.

Traditione le Entwicklung: Anpassung und Auslieferung von Software Produkten. Prof.Dr.Frank M.Thiesing Frank.Thiesing@FH-Dortmund.de 30. Traditione le Entwicklung: Anpassung und Auslieferung von Software Produkten Prof.Dr.Frank M.Thiesing Frank.Thiesing@FH-Dortmund.de 30.März 2004 Seminar Komponentenorientierte Softwareentwicklung und Hypermedia

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

7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc.

7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc. 7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc.html) bietet leider nur begrenzte Verteilungsabstraktion Unterstützung

Mehr

4.2 Workshop EJB. Entwicklung von EJB-Anwendungen

4.2 Workshop EJB. Entwicklung von EJB-Anwendungen 4.2 Workshop EJB Entwicklung von EJB-Anwendungen Welche Schritte werden benötigt, bis eine verteilte EJB-Anwendung einsatzbereit ist? Was muss alles implementiert werden? An welchen Stellen unterstützt

Mehr

Benutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server

Benutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server Benutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server Starten und Auswahl des Workspaces Starten Sie Eclipse als die Entwicklungsumgebung. Wählen Sie als Workspace

Mehr

Internetanwendungstechnik (Übung)

Internetanwendungstechnik (Übung) Internetanwendungstechnik (Übung) JacORB S. Bissell, G. Mühl Technische Universität Berlin Fakultät IV Elektrotechnik und Informatik Kommunikations- und Betriebssysteme (KBS) Einsteinufer 17, Sekr. EN6,

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

Nahtlose Integration von J2EE, CORBA und.net

Nahtlose Integration von J2EE, CORBA und.net Nahtlose Integration von J2EE, CORBA und.net Integration der unterschiedlichen Welten ohne zusätzliche Brückenprodukte Autor: Martin Heinzl, Senior Consultant Immer wieder müssen von IT-Verantwortlichen

Mehr

Client/Server-Programmierung WS2007/08. EJB/JSP: Schritt-für-Schritt Anleitung

Client/Server-Programmierung WS2007/08. EJB/JSP: Schritt-für-Schritt Anleitung Client/Server-Programmierung WS2007/08 EJB/JSP: Schritt-für-Schritt Anleitung Version 1.1, 26.09.07 Eingesetzte Software: - Apache Tomcat 5.5.9 bzw. 5.5.12 (http://tomcat.apache.org/download-55.cgi#5.5.12)

Mehr

Benutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server 5.0

Benutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server 5.0 Benutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server 5.0 Installation Eclipse in der Version Ganymede können Sie von http://www.eclipse.org/downloads/ herunterladen.

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

Remote Method Invocation

Remote Method Invocation Remote Method Invocation Spezielle Technik aus dem Java-Umfeld Ausführung von Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VMs Aufruf

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

Remote Method Invocation

Remote Method Invocation Remote Method Invocation spezielle Technik aus dem Java-Umfeld Ausführung der Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VM s Aufruf

Mehr

Microsoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber

Microsoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber Microsoft.NET Framework & Component Object Model ein Vortrag von Florian Steuber Übersicht I..NET Framework 1. Was ist das.net Framework? 2. Das.NET Execution Model 3. Sprachunabhängigkeit, CTS und CLS

Mehr

Remote Methode Invocation (RMI) ETIS SS05

Remote Methode Invocation (RMI) ETIS SS05 Remote Methode Invocation (RMI) ETIS SS05 Motivation Ablauf der Kommunikation Erstellung Remote-Service Zusammenfassung Gliederung 2 Motivation I RMI: Remote Method Invokation Möglichkeit verteilte Java-Anwendungen

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

Eclipse 3.0 (Windows)

Eclipse 3.0 (Windows) Eclipse Seite 1 Eclipse 3.0 (Windows) 1. Eclipse installieren Eclipse kann man von der Webseite http://www.eclipse.org/downloads/index.php herunterladen. Eclipse ist für Windows, Mac und Linux erhältlich.

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

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

Komponententechnologien Winter 2016/17. Komponenten. 2. Die Anfänge. Peter Sturm, Universität Trier 1

Komponententechnologien Winter 2016/17. Komponenten. 2. Die Anfänge. Peter Sturm, Universität Trier 1 Komponenten 1 2. Die Anfänge 3 Peter Sturm, Universität Trier 1 Selbstzufrieden Anwendung Hardware 4 Oh? Da gibt es noch jemanden? Anwendung Anwendung TCP/IP Hardware Hardware 5 Peter Sturm, Universität

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

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

Eclipse Tutorial.doc

Eclipse Tutorial.doc Berner Fachhochschule Hochschule für Technik und Informatik, HTI Fachbereich Elektro- und Kommunikationstechnik Labor für Technische Informatik Eclipse Tutorial 2005, HTI Burgdorf R. Weber Dateiname: Eclipse

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

Konzepte von Betriebssystem-Komponenten Middleware RMI

Konzepte von Betriebssystem-Komponenten Middleware RMI Konzepte von Betriebssystem-Komponenten Middleware RMI Mario Kiefer 21. Januar 2005 1 Einführung RMI (Remote Method Invocation) ermöglicht es mit relativ einfachen Mitteln verteilte Anwendungen zu erstellen.

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

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014) Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite

Mehr

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit

Mehr

XE-A203 / XE-A213. Programmier-Tool

XE-A203 / XE-A213. Programmier-Tool XE-A203 / XE-A213 Programmier-Tool Hamburg im Juli 2010 Was ist das XE-A203 / XE-A213 Programmier-Tool? Das Programmier-Tool ist ein Softwareprogramm, um verschiedene Programmierungen für ihre XE-A203

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

-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

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

Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 3. Februar 2006

Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 3. Februar 2006 Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 3. Februar 2006 Aufkleber Name: Vorname: Matrikel: Studiengang: inkl. DPO4, B/M, Schwerp., Schreiben Sie zunächst Ihren

Mehr

Installationsanleitung ab-agenta

Installationsanleitung ab-agenta Installationsanleitung ab-agenta Hard-/Software-Voraussetzungen Unterstützung von 32- und 64-Bit Betriebssystemen Windows 7/8/8.1/10, 2008/2012/2016 Server Einplatz-Version: mindestens 4 GB RAM Arbeitsspeicher,

Mehr

1.3.1 Java-Compiler installieren

1.3.1 Java-Compiler installieren 1 Java 1.3.1 Java-Compiler installieren Der Java-Compiler ist, wie auch die Java Virtual Machine, Teil des Java Development Kit (JDK) und kann kostenlos auf der Website von Oracle heruntergeladen werden.

Mehr

Enterprise JavaBeans Überblick

Enterprise JavaBeans Überblick Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.

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

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Ludwig-Maximilians-Universität München Institut für Informatik Programmierung und Softwaretechnik (PST) Prof. Wirsing 6. Mai 2009 1 Der Name Java

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

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

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

Kapitel 21 Nativer Code

Kapitel 21 Nativer Code Kapitel 21 Nativer Ali Jannessari IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Wann muss man verwalteten und nicht-verwalteten

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

Installationsanleitung für Haufe Advolux Kanzleisoftware ab Version 2.5 (Windows)

Installationsanleitung für Haufe Advolux Kanzleisoftware ab Version 2.5 (Windows) Installationsanleitung für Haufe Advolux Kanzleisoftware ab Version 2.5 (Windows) Verfasser : Advolux GmbH, AÖ Letze Änderung : 17.04.2012 Version : v2 1 Inhaltsverzeichnis 1. Hardware-Voraussetzungen...

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

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

Eclipse 3.0 (Mac) 1. Eclipse installieren. 2. Welcome Projekt schliessen

Eclipse 3.0 (Mac) 1. Eclipse installieren. 2. Welcome Projekt schliessen Eclipse Seite 1 Eclipse 3.0 (Mac) 1. Eclipse installieren Eclipse kann man von der Webseite http://www.eclipse.org/downloads/index.php herunterladen. Eclipse ist für Windows, Mac und Linux erhältlich.

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

EXPANDIT. ExpandIT Client Control Kurzanleitung. utilities. be prepared speed up go mobile. Stand 14.11.07

EXPANDIT. ExpandIT Client Control Kurzanleitung. utilities. be prepared speed up go mobile. Stand 14.11.07 ExpandIT Client Control Kurzanleitung Stand 14.11.07 Inhaltsverzeichnis ExpandIT Client Control 3 Installationshinweise 3 System-Voraussetzungen 3 Installation 3 Programm starten 6 Programm konfigurieren

Mehr

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Remote Method Invocation RMI Beispiel

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Remote Method Invocation RMI Beispiel UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Remote Method Invocation RMI Beispiel el0100 copyright Abt. Technische Informatik,

Mehr

Programmieren II. Remote Method Invocation (RMI) Heusch -- Ratz. Institut für Angewandte Informatik

Programmieren II. Remote Method Invocation (RMI) Heusch -- Ratz.  Institut für Angewandte Informatik Programmieren II Remote Method Invocation (RMI) Heusch -- Ratz KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Remote Method

Mehr

Perceptive Document Composition

Perceptive Document Composition Perceptive Document Composition Systemvoraussetzungen Version 5.3.0 Written by: Product Documentation, R&D Date: April 2013 2008-2013 Lexmark International Technology S.A. Alle Rechte vorbehalten. Perceptive

Mehr

Programmieren in Java -Eingangstest-

Programmieren in Java -Eingangstest- Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit

Mehr

B Java RMI B.2 B.4. 1 Java. 1.2 Methoden. 1.1 Objekte (2) 1.1 Objekte. Objektorientierte Sprache. Klassenbeschreibung. Methode ist eine Art Funktion

B Java RMI B.2 B.4. 1 Java. 1.2 Methoden. 1.1 Objekte (2) 1.1 Objekte. Objektorientierte Sprache. Klassenbeschreibung. Methode ist eine Art Funktion 1 Java 1.1 e B Java RMI orientierte Sprache e beschrieben in Klassendefinitionen und andere Datentypen: int, float, boolean, etc. referenzen Verweise auf e keine Zeiger, Adressen o.ä. B.1 B.2 1.1 e (2)

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

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

Erste Schritte zum lauffähigen Java Programm

Erste Schritte zum lauffähigen Java Programm Erste Schritte zum lauffähigen Java Programm Diese kleine Einführung ist eine Hilfe für Studenten der Vorlesung SWT I zur Meisterung der sich ergebenden Hürden bei der Erstellung eines ersten kleinen Java-Programms.

Mehr

Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 30. März 2006

Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 30. März 2006 Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 30. März 2006 Aufkleber Name: Vorname: Matrikel: Studiengang: inkl. DPO4, B/M, Schwerp., Schreiben Sie zunächst Ihren Namen

Mehr

Installation Oracle 11g Server und Arbeitsplätze mit lokaler Datenbank

Installation Oracle 11g Server und Arbeitsplätze mit lokaler Datenbank Installation Oracle 11g Server und Arbeitsplätze mit lokaler Datenbank Grober Überblick über den Ablauf: 1. Überprüfen bzw. Herunterladen der aktuellen Versionen/Zip-Files 2. Installation Oracle-Database

Mehr

Installationsanleitung

Installationsanleitung Installationsanleitung Stand: 06/2017 Produkt der medatixx GmbH & Co. KG Alle Werke der medatixx GmbH & Co. KG einschließlich ihrer Teile sind urheberrechtlich geschützt. Jede Verwertung außerhalb der

Mehr

Solid Edge VB.NET Add-In mit Visual Studio 2005

Solid Edge VB.NET Add-In mit Visual Studio 2005 Solid Edge VB.NET Add-In mit Visual Studio 2005 Visual Studio 2005 bietet unter Andere Projekttypen einen Projekttyp Gemeinsames Add- In zur Erstellung eines (allgemeinen Microsoft Office) Add-In s: Es

Mehr

Java Remote Method Invocation (RMI)

Java Remote Method Invocation (RMI) Java Remote Method Invocation (RMI) Alexander Petry 13. Mai 2003 engl.: Entfernter Methodenaufruf 1 Übersicht 1. Einleitung 2. RMI Interfaces und Klassen 3. Parameterübergabe 4. Dynamisches Nachladen von

Mehr

Einführung in das Microsoft.NET-Framework. Programmiersprache C# 02: Visual Studio / Hello World. Boris Hülsmann

Einführung in das Microsoft.NET-Framework. Programmiersprache C# 02: Visual Studio / Hello World. Boris Hülsmann Einführung in das Microsoft.NET-Framework Programmiersprache C# 02: Visual Studio / Hello World Boris Hülsmann 23.09.2010 1 In dieser Einführung bekommen Sie einen kurzen Einstieg in das.net-framework

Mehr

Process: Installationsleitfaden

Process: Installationsleitfaden Inhaltsverzeichnis 1 Einleitung...4 2 Technische Details...5 2.1 Systemvoraussetzungen...5 2.2 Technischer Support...5 3 Installation von Process...6 3.1 Datenbank und Dokument-Wurzelverzeichnis...7 3.2

Mehr

Wir gratulieren ihnen zu dem Erwerb dieser hochkomplexen und funktionalen Profisoftware NetChat.

Wir gratulieren ihnen zu dem Erwerb dieser hochkomplexen und funktionalen Profisoftware NetChat. Vorwort Vorwort Wir gratulieren ihnen zu dem Erwerb dieser hochkomplexen und funktionalen Profisoftware NetChat. Unser Grundgedanke war es ein Programm zu entwickeln, dass Ihnen den Alltag am Rechner und

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

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

Im Mathe-Pool startet man Eclipse am besten aus einer Shell heraus, und zwar indem man im Home- Verzeichnis den Befehl

Im Mathe-Pool startet man Eclipse am besten aus einer Shell heraus, und zwar indem man im Home- Verzeichnis den Befehl Eclipse Eclipse ist eine IDE (Integrierte Entwicklungsumgebung), die speziell auf das Programmieren in Java zugeschnitten (und auch selbst in Java geschrieben) ist. Eine solche IDE vereint die Funktionalität

Mehr

Oracle & Java HOW TO

Oracle & Java HOW TO Oracle & Java HOW TO Helge Janicke, Niels-Peter de Witt, Karsten Wolke 21. Januar 2002 Inhaltsverzeichnis 1 Java-Anbindung an Oracle-DB 2 2 Benötigte Programme und Daten 2 3 Einbinden der Klassen 2 4 Aufbau

Mehr

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi Projektgruppe Thomas Kühne Komponentenbasiertes Software Engineering mit OSGi Anforderungen der PG IDSE an ein Komponenten- Client Nativer Client Web Client Alternativen IDSE Nutzer Szenario Pipe IDSE

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

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

VMscope GmbH. Plugins entwickeln für den VM Slide Explorer 2010. Daniel Heim, 17.08.2011 Seite 1/15

VMscope GmbH. Plugins entwickeln für den VM Slide Explorer 2010. Daniel Heim, 17.08.2011 Seite 1/15 Plugins entwickeln für den VM Slide Explorer 2010 Daniel Heim, 17.08.2011 Seite 1/15 Inhaltsverzeichnis 1 Allgemeines... 3 2 Ein Plugin schreiben... 4 3 Ein Plugin registrieren... 11 4 Aktivieren von Plugins...

Mehr

Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06

Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06 Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06 Aufgabe 1 Bitte schreiben Sie ein RMI Objekt, das eine Person repräsentiert. Es soll die folgende Schnittstelle implementieren: public interface Person

Mehr

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder Java: Kapitel 1 Überblick Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Was ist Java? Die Java-Technologie umfasst die Programmiersprache Java sowie die Java-Plattform

Mehr

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests. Universität Osnabrück 1 Problemstellung 3 - Objektorientierte Programmierung in Java Vorlesung 24: Reflection 1 SS 2006 Prof. Dr. Frank M. Thiesing, FH Osnabrück Um ein Objekt anzulegen, eine seiner Methoden

Mehr

Dieses Dokument beschreibt die Installation des Governikus Add-In for Microsoft Office (Governikus Add-In) auf Ihrem Arbeitsplatz.

Dieses Dokument beschreibt die Installation des Governikus Add-In for Microsoft Office (Governikus Add-In) auf Ihrem Arbeitsplatz. IInsttallllattiionslleiittffaden Dieses Dokument beschreibt die Installation des Governikus Add-In for Microsoft Office (Governikus Add-In) auf Ihrem Arbeitsplatz. Voraussetzungen Für die Installation

Mehr

Stellar Phoenix JPEG Repair 4.5. Installationsanleitung

Stellar Phoenix JPEG Repair 4.5. Installationsanleitung Stellar Phoenix JPEG Repair 4.5 Installationsanleitung Überblick Stellar Phoenix JPEG Repair bietet eine vollständig Lösung zur Reparatur fehlerhafter Fotos und Bilddateien mit JPG oder JPEG Dateierweiterungen.

Mehr

4. Objektorientierte Programmierung mit C++

4. Objektorientierte Programmierung mit C++ 4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung/ Sprachfamilie Nicht objektorientierte Erweiterungen von C Grundlagen des Typkonzepts von C++ Ziele der Objektorientierung Objekt

Mehr

Aktivierung der Produktschlüssel. in CABAReT-Produkten am Beispiel CABAReT Stage

Aktivierung der Produktschlüssel. in CABAReT-Produkten am Beispiel CABAReT Stage Aktivierung der Produktschlüssel in CABAReT-Produkten am Beispiel CABAReT Stage Kritik, Kommentare & Korrekturen Wir sind ständig bemüht, unsere Dokumentation zu optimieren und Ihren Bedürfnissen anzupassen.

Mehr

Release Notes Miss Marple Lizenzkontrolle

Release Notes Miss Marple Lizenzkontrolle Miss Marple Lizenzkontrolle Version 11.1.0 Copyright 1998-2011 amando software GmbH Hard- und Softwarevoraussetzungen Microsoft SQL Server Minimalvoraussetzung für die Nutzung der MISS MARPLE Lizenzkontrolle

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des

Mehr

License Management 1.0 - SDK

License Management 1.0 - SDK License Management 1.0 - SDK Inhalt Allgemeine Beschreibung... 2 Vorbereitungen... 2 Download aller nötigen Dateien und Dokumentationen... 2 Beantragung eines ValidationKeys... 2 Beantantragung einer Development-Lizenz...

Mehr

Einführung zu den Übungen aus Softwareentwicklung 1

Einführung zu den Übungen aus Softwareentwicklung 1 Einführung zu den Übungen aus Softwareentwicklung 1 Dr. Thomas Scheidl Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz scheidl@pervasive.jku.at Java Einführung Java

Mehr

ACT! 11 Premium Inklusive Microsoft SQL-Server 2005 Standard

ACT! 11 Premium Inklusive Microsoft SQL-Server 2005 Standard ACT! 11 Premium Inklusive Microsoft SQL-Server 2005 Standard Installationsleitfaden Gezieltes Kontakt- und Kundenmanagement. Die Software für Ihren Erfolg 2,8 Millionen Anwender weltweit! ACT! 11 Premium

Mehr

Programmierung mit Komponenten

Programmierung mit Komponenten Programmierung mit Komponenten Andreas Zeller Lehrstuhl für Softwaretechnik Universität des Saarlandes, Saarbrücken 2006-01-16 Grundidee: Teile und Herrsche Das Aufteilen eines Ganzen in wohldefinierte

Mehr

Systemvoraussetzungen (minimal)

Systemvoraussetzungen (minimal) Systemvoraussetzungen (minimal) Rechner Betriebssystem Speicherplatz Pentium 4, 1 GHz (oder vergleichbar) Windows 2000 SP1, Windows XP Professional Programm: 150 MB Daten: 2 GB (für ca. 5000 Bestimmungen)

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

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt.

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt. Python Installation 1 Vorbereitung Diese Anleitung ist für Windows ausgelegt. 1.1 Download Python kann online unter https://www.python.org/downloads/ heruntergeladen werden. Hinweis: Im CoderDojo verwenden

Mehr

(1)Einführung in Eclipse

(1)Einführung in Eclipse Auf diesem ersten Arbeitsblatt werdet ihr die Programmierumgebung Eclipse kennenlernen, die eure Oberfläche zum Bearbeiten des Android-Projekts Schiffe versenken sein wird. Dabei macht ihr euch einen Überblick

Mehr

Kurzanleitung RMI-Beispiel: gettime Seite 1 / 7. RMI Projekt gettime 1

Kurzanleitung RMI-Beispiel: gettime Seite 1 / 7. RMI Projekt gettime 1 Kurzanleitung RMI-Beispiel: gettime Seite 1 / 7 Inhaltsverzeichnis RMI Projekt gettime 1 Schritt 1: Interface Klasse definieren 1 Schritt 2: Implementation Class definieren 2 Schritt 3: RMI Compiler erstellen

Mehr

Installationsanleitung VirusBuster Internet Security Suite

Installationsanleitung VirusBuster Internet Security Suite Installationsanleitung VirusBuster Internet Security Suite Wichtiger Hinweis! Bevor Sie die VirusBuster Internet Security Suite installieren, sollten Sie sicher gehen dass keinerlei andere Sicherheitssoftware

Mehr

Tutorial 7 TEIL 1/2. Untersuchung von ebusiness Anwendungen auf der Basis des IBM WebSphere Developer V 7.0

Tutorial 7 TEIL 1/2. Untersuchung von ebusiness Anwendungen auf der Basis des IBM WebSphere Developer V 7.0 Tutorial 7 TEIL 1/2 Untersuchung von ebusiness Anwendungen auf der Basis des IBM WebSphere Developer V 7.0 Copyright Institut für Informatik, Universität Leipzig Hinweise: Die Arbeiten werden unter Windows

Mehr

TCP/IP Programmierung. C# TimeServer Java6 TimeClient

TCP/IP Programmierung. C# TimeServer Java6 TimeClient TCP/IP Programmierung C# TimeServer Java6 TimeClient Stand 19.10.11 21:24:32 Seite 1 von 16 Inhaltsverzeichnis Erläuterung...3 Software...3 C#TimeServer...4 Klasse ServerThread...6 Starten und Beenden...7

Mehr

IDE-Visual Studio 2010 C#

IDE-Visual Studio 2010 C# IDE-Visual Studio 2010 C# Konzept von C#.NET Framework Visual Studio 2010 C# C# Der Name ist rein Zufällig entstanden und ist auch keine Abkürzung. C# C# ist ursprünglich ein Symbol für den in der Musik

Mehr