7 Praktische Aspekte (Wie mache ich...)

Ähnliche Dokumente
Client/Server-Programmierung

Client/Server-Programmierung

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

Client/Server-Programmierung. CORBA: Schritt-für-Schritt Anleitung (Mini HOWTO)

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

Middleware. Einführung in CORBA. Middlewareplattform CORBA. CORBA: Eigenschaften

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

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

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

Remote Method Invocation

Modul Software Komponenten 10 Komponentenarchitektur

Tipps und Hinweise zum Bezug der Beitragssatzdatei V5.0

Architekturen für verteilte Objekte

Eclipse 3.0 (Windows)

Erste Schritte mit Lejos unter Linux

Übungen zu Softwaretechnik

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

Java-Programmierung. Remote Method Invocation - RMI

Definition Web Service

Nahtlose Integration von J2EE, CORBA und.net

JUnit. Unit testing unter Java

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

Überblick. Netzprogrammierung 4.II CORBA. Object Adapters. Konzeptionell: Zur Anpassung von Object Request. Objekten sieht CORBA

Software Engineering I

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

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

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).

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

Middleware und Komponentenprogrammierung im Sommersemester 2004

Das Build Tool Ant. Sebastian Mancke,

Kommunikation. Björn und Georg

Hello World from CORBA

Mobile und Verteilte Datenbanken

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

Java Remote Method Invocation (RMI)

Java: Vererbung. Teil 3: super()

Programmieren in Java

Angewandte Softwareentwicklung Serialisierung

7 Remote Method Invocation (RMI)

Linux (min. Kernel 2.4) min. Java 1.5 MPJ (

Erste Schritte zum lauffähigen Java Programm

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

Einstieg in die Informatik mit Java

Remote Method Invocation

Vorkurs Informatik WiSe 15/16

Test-Driven Design: Ein einfaches Beispiel

Programmieren in Java

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

TCP/IP Programmierung. C# TimeServer Java6 TimeClient

Java Übung. Einführung. 12. April Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Vorbereitendes.

7.1.1 Grundzüge der Fernaufruf-Implementierung

Web-Services Implementierung

Installation von LeJOS für NXT und Einrichtung von Eclipse

1.Überblick Interface Definition in IDL Erzeugen des Servers Grundlegende Einstellungen...16

D.1 Lösung der 6. Aufgabe - Teilaufgabe (a) D.1 Lösung der 6. Aufgabe - ANT Buildfile. Besprechung Aufgabe 6 (ORB) und 7 (IDL) Teilaufgabe (a):

AKTUEL ZU JAVA 8 PROGRAMMIEREN IN JAVA. 7. Auflage. Im Internet: Alle Beispielprogramme und Lösungen

Reflection. Arthur Zaczek. Nov 2014

Schritt 4: Hallo Enterprise Bean

Verteiltes Rechnen. Verteilte Dienste mit Java Remote Method Invocation (RMI). Prof. Dr. Nikolaus Wulff

JUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1

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

C# im Vergleich zu Java

AvO-Übung 5 Rechnerübung zu Ice

Das Interceptor Muster

Java Database Connectivity (JDBC) Walther Rathenau Gewerbeschule 1

Client-Server-Praktikum: Aufgabe 1 CORBA Naming Service

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

Vorlesung Informatik II

Aufgabenblatt Nr. 5 Generizität und TicTacToe

Java - Programmierung - Objektorientierte Programmierung 1

Java-Schulung Grundlagen

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

3. Die CORBA Dienste. Seite 2 von 11

Java Einführung Programmcode

Vorbereitungen Download. AVO-Übung 6. Beispiel. Slice. Varianten u.a. für Linux, Windows, OS X ICE-Dokumentation ICE-Binaries (inkl.

Programmieren I. Dokumentation mit Javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik

Auszug aus JAX-WS Folien

How To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

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

Anleitung zur Webservice Entwicklung unter Eclipse

Konstruktoren, Packages und Scopes

1 Vorraussetzungen. 2 Installiere Eclipse. FS 2015 Herausgabe: Dr. A. L. Schüpbach, D. Sidler, Z. István Departement Informatik, ETH Zurich

Wie ich lernte die API zu lieben. 19. März sic[!]sec GmbH Industriestraße Gröbenzell

Alltagsnotizen eines Softwareentwicklers

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

CORBA Implementierung von Client und Server

Virtuelle Realität und Simulation - Übung 1

Mobile und Verteilte Datenbanken

Web-Testen mit JUnit und HttpUnit. Kai Schmitz-Hofbauer Lehrstuhl für Software-Technik Ruhr-Universität Bochum

Applet Firewall und Freigabe der Objekte

Programmentwicklung ohne BlueJ

Variablen manipulieren per JDI

Java RMI Remote Method Invocation

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Objektorientierte Programmierung OOP Programmieren mit Java

Berner Fachhochschule Software Schule Schweiz JDOM. Beatrice Amrhein. Oktober 06

Datenbankanwendungsprogrammierung Crashkurs Java

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Transkript:

7 Praktische Aspekte (Wie mache ich...) Im Praktikum verwendet: JacORB: Java-basierte ORB-implementierung GroupPac: FT-CORBA-Erweiterung zu JacORB JGroups: Java-Gruppenkommunikationsschicht APXGroup: Gruppenkommunikationsschicht des AspectIX-Projekts 7 Praktische Aspekte Software auf Abteilungsrechnern installiert Login auf ygramul.informatik.uni-ulm.de (via ssh oder Abteilungs-Pool) Pakete liegen unter /proj (Anzeige aller Projekte mit Skript lsproj ) /proj/jacorb--2.2.1 /proj/jacorb--1.4.1 /proj/grouppac--2.2.1 (Lokale Modifikationen für JacORB 1.4.1, benötigt sonst <= 1.4.0) /proj/jgroups--2.2.7 Java enthält eigenen CORBA-ORB => Konflikt mit JacORB Einfachste Lösung: jaco statt java verwenden (setzt bootclasspath und ORB-Properties automatisch richtig)

7 Einfaches Beispiel IDL-Definition der Schnittstelle (hello.idl) module test { interface hello { string say(in string x); ; ; Code-Generierung daraus idlj hello.idl idl hello.idl (Mit Sun-IDL-Compiler) (Mit JacORB-IDL-Compiler) 7 Einfaches Beispiel Implementierung des Dienstes package test; public class helloimpl extends hellopoa { public String say(string in) { return Hello +in;

7 Beispiel: Implementierung des Servers org.omg.corba.object _rootpoa = orb.resolve_initial_references( RootPOA ); POA rootpoa = POAHelper.narrow(_rootpoa); org.omg.corba.object _ref = rootpoa.servant_to_reference(new helloimpl()); hello ref = hellohelper.narrow(_ref); NamingContextExt nc = NamingContextExtHelper.narrow( orb.resolve_initial_references( NameService ); NameComponent path[] = nc.to_name( Hello ); nc.rebind(path, ref); orb.run(); 7 Beispiel: Implementierung des Servers org.omg.corba.object _rootpoa = orb.resolve_initial_references( RootPOA ); POA rootpoa = POAHelper.narrow(_rootpoa); org.omg.corba.object _ref = rootpoa.servant_to_reference(new helloimpl()); hello ref = hellohelper.narrow(_ref); (im wesentlichen) äquivalent zu: NamingContextExt nc = NamingContextExtHelper.narrow( orb.resolve_initial_references( NameService ); byte[] id=rootpoa.activate_object(new helloimpl()); NameComponent _ref = rootpoa.id_to_reference(id); path[] = nc.to_name( Hello ); nc.rebind(path, ref); orb.run();

7 Beispiel: Implementierung des Clients package test; import org.omg.corba.*; import org.omg.cosnaming.*; public class helloclient { static public void main(string args[]) { try { NamingContextExt nc = NamingContextExtHelper. narrow(orb.resolve_initial_references( NameService ); hello hello = hellohelper.narrow( nc.resolve_str( Hello ) ); System.out.println(hello.say( world )); catch(exception ex) { ex.printstacktrace(); 7 Ausführen des Beispiels Namensdienst muss gestartet werden JacORB sucht Datei jacorb.properties im CLASSPATH Angabe zu initialer Referenz (ORBInitRef.NameService) als corbaloc, file oder http-url JacORB-Namensdienst schreibt eigene Adresse automatisch in die Datei, die unter jacorb.naming.ior_filename angegeben ist export PATH=/proj/jacorb--2.2.1/bin:$PATH ns Starten des Dienstes und des Clients jaco test.helloservice & jaco test.helloclient

8 Weitere Schritte Präsentation des eigenen Themas am 29.04. (je ca. 5 Minuten) Bis dahin: Login auf ygramul einrichten lassen Mit Software vertraut machen, ggf. installieren (zu Hause, im Pool), Dokumentation beschaffen (JacORB, GroupPac, JGroups, AspectIX, Java) Meilensteine definieren und mit Betreuer absprechen Koordinierung mit Bearbeitern von verwandten Themen