# RMI Kommunication zw. Servlet und EJB



## klaus dieter (16. Jan 2004)

Hallo Zusammen,

ich habe heute in der Schule ein Projekt bekommen, bei dem ich ein Servlet programmieren muss, das Daten von einer Website einliest und diese dann an ein EJB weiter gibt, dieses stellt berechnungen an und gib das Ergebnis wieder ans Servlet zurück, das dann dieses wieder dem Browser übergibt.

Das mit dem Servlet und der Website ist nicht das Problem. Das EJB eigentlich auch nicht das Problem, nur stehe ich bei der Kommunikation zwischen den Servlet und dem EJB ein wenig auf dem Schlauch...

Kann mir jemand kurz mal erklären, wie das grundsätzlich geht oder kennt jemand eine Website, auf der das Prinzip erklärt wird???

Danke schonmal im Voraus.


----------



## Pulvertoastman (16. Jan 2004)

Wobei hast du denn jetzt Probleme? 

Die Kommunikation mit einem EJB unterscheidet sich nicht von der Kommunikation einer Anwendung mit einem EJB.

Schau ml hier:
http://java.sun.com/j2ee/1.4/docs/tutorial/doc/EJB4.html#wp79902


----------



## klaus dieter (17. Jan 2004)

nach diesem Prinzip versuche ich es schon zu realisieren, nur irgendwie Funktioniert das nicht.

Jetzt nochmal kurz zu dem Aufbau des Programms...

Das EJB und das Servlet sollen auf zwei getrennten Rechnern laufen, deshalb habe ich auch zwei Programmpaket.

Das erste ist das für das EJB funktioniert wunderbar, auch mit dem Client, den ich nach dem Converterprinzip geschrieben habe.
Das zweite ist das Paket für das Servlet.
Dort setze ich den Quellxode so ein, wie es im Tutorial beschrieben ist. Nur bei der Zeile:
	
	
	
	





```
ConverterHome home =
  (ConverterHome) PortableRemoteObject.narrow(objref,
  ConverterHome.class);
```

habe ich Probleme.

Wenn ich diese in meinen Fall unändere:

```
BMIHome home =
  (BMIHome) PortableRemoteObject.narrow(objref,
  BMIHome.class);
```

kennt mein Servlet die Klasse BMIHome nicht, da sie je logischerweise nicht zum Paket gehört und ich weis nicht wie die bekannt machen kann.

Meine Versuche, das über eine RMI Programmierung zu realisieren, sind leider alle Fehlgeschlagen...

Dank für die Hilfe


----------



## klaus dieter (17. Jan 2004)

nach diesem Prinzip versuche ich es schon zu realisieren, nur irgendwie Funktioniert das nicht.

Jetzt nochmal kurz zu dem Aufbau des Programms...

Das EJB und das Servlet sollen auf zwei getrennten Rechnern laufen, deshalb habe ich auch zwei Programmpaket.

Das erste ist das für das EJB funktioniert wunderbar, auch mit dem Client, den ich nach dem Converterprinzip geschrieben habe.
Das zweite ist das Paket für das Servlet.
Dort setze ich den Quellxode so ein, wie es im Tutorial beschrieben ist. Nur bei der Zeile:
	
	
	
	





```
ConverterHome home =
  (ConverterHome) PortableRemoteObject.narrow(objref,
  ConverterHome.class);
```

habe ich Probleme.

Wenn ich diese in meinen Fall unändere:

```
BMIHome home =
  (BMIHome) PortableRemoteObject.narrow(objref,
  BMIHome.class);
```

kennt mein Servlet die Klasse BMIHome nicht, da sie ja logischerweise nicht zum Paket gehört und ich weis nicht wie die bekannt machen kann.

Meine Versuche, das über eine RMI Programmierung zu realisieren, sind leider alle Fehlgeschlagen...

Dank für die Hilfe


----------



## klaus dieter (17. Jan 2004)

nach diesem Prinzip versuche ich es schon zu realisieren, nur irgendwie Funktioniert das nicht.

Jetzt nochmal kurz zu dem Aufbau des Programms...

Das EJB und das Servlet sollen auf zwei getrennten Rechnern laufen, deshalb habe ich auch zwei Programmpaket.

Das erste ist das für das EJB funktioniert wunderbar, auch mit dem Client, den ich nach dem Converterprinzip geschrieben habe.
Das zweite ist das Paket für das Servlet.
Dort setze ich den Quellxode so ein, wie es im Tutorial beschrieben ist. Nur bei der Zeile:
	
	
	
	





```
ConverterHome home =
  (ConverterHome) PortableRemoteObject.narrow(objref,
  ConverterHome.class);
```

habe ich Probleme.

Wenn ich diese in meinen Fall unändere:

```
BMIHome home =
  (BMIHome) PortableRemoteObject.narrow(objref,
  BMIHome.class);
```

kennt mein Servlet die Klasse BMIHome nicht, da sie ja logischerweise nicht zum Paket gehört und ich weis nicht wie die bekannt machen kann.

Meine Versuche, das über eine RMI Programmierung zu realisieren, sind leider alle Fehlgeschlagen...

Dank für die Hilfe


----------



## klaus dieter (17. Jan 2004)

nach diesem Prinzip versuche ich es schon zu realisieren, nur irgendwie Funktioniert das nicht.

Jetzt nochmal kurz zu dem Aufbau des Programms...

Das EJB und das Servlet sollen auf zwei getrennten Rechnern laufen, deshalb habe ich auch zwei Programmpaket.

Das erste ist das für das EJB funktioniert wunderbar, auch mit dem Client, den ich nach dem Converterprinzip geschrieben habe.
Das zweite ist das Paket für das Servlet.
Dort setze ich den Quellxode so ein, wie es im Tutorial beschrieben ist. Nur bei der Zeile:
	
	
	
	





```
ConverterHome home =
  (ConverterHome) PortableRemoteObject.narrow(objref,
  ConverterHome.class);
```

habe ich Probleme.

Wenn ich diese in meinen Fall unändere:

```
BMIHome home =
  (BMIHome) PortableRemoteObject.narrow(objref,
  BMIHome.class);
```

kennt mein Servlet die Klasse BMIHome nicht, da sie ja logischerweise nicht zum Paket gehört und ich weis nicht wie die bekannt machen kann.

Meine Versuche, das über eine RMI Programmierung zu realisieren, sind leider alle Fehlgeschlagen...

Dank für die Hilfe


----------



## klaus dieter (17. Jan 2004)

nach diesem Prinzip versuche ich es schon zu realisieren, nur irgendwie Funktioniert das nicht.

Jetzt nochmal kurz zu dem Aufbau des Programms...

Das EJB und das Servlet sollen auf zwei getrennten Rechnern laufen, deshalb habe ich auch zwei Programmpaket.

Das erste ist das für das EJB funktioniert wunderbar, auch mit dem Client, den ich nach dem Converterprinzip geschrieben habe.
Das zweite ist das Paket für das Servlet.
Dort setze ich den Quellxode so ein, wie es im Tutorial beschrieben ist. Nur bei der Zeile:
	
	
	
	





```
ConverterHome home =
  (ConverterHome) PortableRemoteObject.narrow(objref,
  ConverterHome.class);
```

habe ich Probleme.

Wenn ich diese in meinen Fall unändere:

```
BMIHome home =
  (BMIHome) PortableRemoteObject.narrow(objref,
  BMIHome.class);
```

kennt mein Servlet die Klasse BMIHome nicht, da sie ja logischerweise nicht zum Paket gehört und ich weis nicht wie die bekannt machen kann.

Meine Versuche, das über eine RMI Programmierung zu realisieren, sind leider alle Fehlgeschlagen...

Dank für die Hilfe


----------



## klaus dieter (17. Jan 2004)

Sorry das Tutortial von Sun birngt mich leider nicht weiter, mit arbeite ich schon die ganze Zeit, hier aber noch mal eine genauere Definition mein Problems.

Jetzt nochmal kurz zu dem Aufbau des Programms...

Das EJB und das Servlet sollen auf zwei getrennten Rechnern laufen, deshalb habe ich auch zwei Programmpaket.

Das erste ist das für das EJB funktioniert wunderbar, auch mit dem Client, den ich nach dem Converterprinzip geschrieben habe.
Das zweite ist das Paket für das Servlet.
Dort setze ich den Quellxode so ein, wie es im Tutorial beschrieben ist. Nur bei der Zeile:

```
ConverterHome home = (ConverterHome) PortableRemoteObject.narrow(objref,
  ConverterHome.class);
```

habe ich Probleme.

Wenn ich diese in meinen Fall unändere:

```
BMIHome home = (BMIHome) PortableRemoteObject.narrow(objref,
  BMIHome.class);
```

kennt mein Servlet die Klasse BMIHome nicht, da sie ja logischerweise nicht zum Paket gehört und ich weis nicht wie die bekannt machen kann.

Meine Versuche, das über eine RMI Programmierung zu realisieren, sind leider alle Fehlgeschlagen...

Dank für die Hilfe


----------

