Avatar billede sbk200 Nybegynder
11. september 2003 - 14:53 Der er 20 kommentarer

Observer Pattern over CORBA

Hej Eksperter. Er der nogle der kender et sted hvor jeg kan finde en Hello World eksempel af et Observer Pattern over CORBA skrevet i Java ? .. Eller kan nogle lige hurtigt strikke noget sammen ? :o)
Avatar billede sbk200 Nybegynder
12. september 2003 - 12:41 #1
Har fundet ud af at man kan lave callbacks eller Event Service med CORBA. Er der nogle der har erfaringer med disse. For og i mod ?
Avatar billede sbk200 Nybegynder
12. september 2003 - 12:41 #2
Jeg skal kommunikere mellem en application og en applet.
Avatar billede arne_v Ekspert
12. september 2003 - 12:48 #3
Hvorfor CORBA ?
Avatar billede sbk200 Nybegynder
12. september 2003 - 18:33 #4
Hej Arne. Det vi skal lave er et embedded system til at styring af et anlæg.  Appletten, som er den grafiske brugergrænseflade, skal loades fra en embedded webserver på controlleren der styrer anlæget. CORBA virker som en god metode til at hente data runtime data fra controlleren til appletten. Når nyt data er kommet ind i controlleren skal det sendes videre til appletten som præcenterer det for brugeren. Koden i controlleren bliver skrevet i C++.
Avatar billede sbk200 Nybegynder
12. september 2003 - 18:34 #5
Men for at få hul igennem og for at kunne simulere lidt vil jeg bare gerne pushe nogle data fra en application (skrevet i java) til en applet.
Avatar billede arne_v Ekspert
12. september 2003 - 18:43 #6
OK.

Java <-> C++

forklarer hvorfor CORBA er interessant.
Avatar billede sbk200 Nybegynder
12. september 2003 - 19:09 #7
Fordi at der vil kunne kobles flere klienter på og fordi at der i systemet også vil kunne være flere controllere der skal snakke indbyrdes sammen. Ved at anvende CORBA anvender vi en kendt stardard til det hele - desuden virker det ret fleksibelt. Vi undgår også at skulle opbygge vores egne telegrammer. Hvis du har et bedre forslag er jeg åben for det!!
Avatar billede arne_v Ekspert
12. september 2003 - 19:23 #8
Jeg tror du misforstod min kommentar.

Jeg havde forstået det ligeså snarr du sagde forklarede at det var
Java <-> C++.

Og jeg har ikke nogen bedre forslag.

CORBA må være det rigtige valg (jeg formoder at den C++ ikke understøtter
SOAP over HTTP).
Avatar billede sbk200 Nybegynder
12. september 2003 - 23:59 #9
Tjaa.. Har kigget lidt på SOAP men tror ikke det er noget. Er jeg så heldig at du har erfaring med callbacks over CORBA ? :o)
Avatar billede arne_v Ekspert
13. september 2003 - 19:02 #10
Nope.

Men der er da et eksempel i Java SDK dokumentationen.

Har du kigget på det ?

Det ser absolut ud til at være muligt selvom det nok vil kræve
en del arbejde !
Avatar billede sbk200 Nybegynder
15. september 2003 - 09:40 #11
Har prøvet det ganske udemærkede eksempel. Men den kommunikerer mellem to java applikationer og jeg kan ikke helt gennemskue hvorledes jeg får Client delen lavet om til en applet!!
Avatar billede arne_v Ekspert
15. september 2003 - 10:05 #12
Den enste forskel på applikation og applet er vel security.

Er det det som driller ?
Avatar billede sbk200 Nybegynder
15. september 2003 - 12:41 #13
Det er nok min begrænsede java erfaring der driller mig. Mit udgangspunkt er eksemplet: http://java.sun.com/j2se/1.4.2/docs/guide/idl/jidlExample3.html
(callback.idl, Server.java, MessageServerImpl.java, Client.java, ListenerImpl.java) .. Jeg vil gerne have Klient siden (Client.java og ListenerImpl.java) slået sammen til en java applet eller måske i stedet en grafisk java application. Kan ikk' helt hitte ud af hvordan jeg skal gribe det an..
Avatar billede arne_v Ekspert
15. september 2003 - 18:38 #14
Listener'en skal vel bare vise info i en GUI i.s.f. at skrive ud i Console.

Det burde ikke være så svært igen.

Og i en applikation vil du ikke skulle slås med applet security.
Avatar billede sbk200 Nybegynder
18. september 2003 - 13:02 #15
Hvis det laves som en applet. Så extender sådan en jo JApplet, men som en listener skal man også extende ListenerPOA .. hvordan kommer jeg uden om det .. (Hvis du på nogen måde forstår det spm :o))
Avatar billede arne_v Ekspert
18. september 2003 - 13:12 #16
Du kan gøre det som:
  din klasse MyApplet extende JApplet
  din klasse MyListener extende ListenerPOA
  du instantierer MyListener i MyApplet
  MyListeners constructor har et argument af type MyApplet
  MyListeners constuctor gemmer en referance til det argument
  selve listeneren kan nu kalde enhver metode i appletten via den referance

Det kan også laves på mange andre måder.
Avatar billede sbk200 Nybegynder
18. september 2003 - 15:13 #17
Har lagt min compilerbare kode ud på: www.b-kristensen.dk/callback.zip
Jeg kan ikke få ORB'en i ClientApplet.java til at fungere. For at starte skidtet op skriver jeg:

<directory with files>start orbd -ORBInitialPort 1050 -ORBInitialHost <comp navn> (I mit tilfælde SKR-WS)

<directory with files>start java Server -ORBInitialPort 1050

Appletten loader jeg via siden index.html på min apache webserver.

Opstarten af ORB og Server fungere fint. Jeg mener at det må være orb'en i klienten der driller mig. Bemærk at ORBInitialHost og ORBInitialPort er hardcoded i ClientApplet.java, Server.java og index.html. Har du Arne eller andre en ide om hvad der går galt ??
Avatar billede giraf36 Nybegynder
20. november 2005 - 23:09 #18
hvorfor kører du ikke på default port 900 ??... havde på et tidspunkt et problem med ORBD ... men efter jeg skiftede til standart port virkede det bare!
Avatar billede arne_v Ekspert
20. november 2005 - 23:13 #19
det var godt nok et gammelt spm. du har fundet

:-)
Avatar billede sbk200 Nybegynder
21. november 2005 - 08:03 #20
Ja, for den,.. enden blev at vi droppede Corba og derfor rodede jeg ikke viderer i problemet! ..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB