argon bulletin board

Експертно търсене  

Новини:

Регистрирането на нови потребители е временно деактивирано.

Автор Тема: Java : Using Remote Objects as they are local :+)  (Прочетена 1088 пъти)

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die

Ne vi li se e iskaloda izpolzvate Remote Objects bez da se zanimavate s RMI (govorq za Java client i server , da ne spomenavam che nqkoi hora za chisto Java prilojeniq biha polzvali Corba  nadqvam se ne sashtestvuvat takiva veche ).
Ta ne vi li se e iskalo da mojete da kajete
server.Bind("ime",obekt);

i posle pri clienta server.get("ime")  s 3 reda
razbira se i na men mi se e iskalo i estestveno che e vazmjno i udobno

primer :
imame interfeis :
public interface Duck {
   boolean looks();
   boolean walks();
   boolean talks();
}

imame i klas
import gnu.cajo.invoke.Remote;
import gnu.cajo.utils.ItemServer;

public class DuckServer implements Duck {
   public boolean looks()  {
      System.out.println("hi there!");
      return true;
   }
   public boolean walks()  {
      System.out.println("waddle waddle");
      return true;
   }
   public boolean talks() {
      System.out.println("quack quack!");
      return true;
   }
  public static void main(String args[]) { // simple unit test
      try {
         Remote.config(null, 1198, null, 0); // use cajo port 1198
         ItemServer.bind(new DuckServer(), "Donald"); // lol 1 red !
         System.out.println("duck server running");
      } catch(Exception x) { x.printStackTrace(); }
   }
}


imame i klient

mport gnu.cajo.utils.extra.TransparentItemProxy;

public class DuckClient { // try out DuckServer
   public static void main(String args[]) {
      try {
         Duck duck = (Duck)TransparentItemProxy.getItem(
            "//serverHost:1198/Donald",
            new Class[] { Duck.class }
         );         //lol otnovo 1 red.
         System.out.println("looks like = " + duck.looks());
         System.out.println("walks like = " + duck.walks());
         System.out.println("talks like = " + duck.talks());
      } catch(Exception x) { x.printStackTrace(); }
   }
}

pulna statiq s podrobni obqasneniq
http://wiki.java.net/bin/view/Communications/TransparentProxy
proekta se naricha the cojo project  ( https://cajo.dev.java.net/ )
« Последна редакция: 06.11.2006, 11:23:51 от JOKe »
Активен

Nikolay Manchev

  • Неактивен Неактивен
  • Публикации: 185
    • http://www.manchev.org
Re: Java : Using Remote Objects as they are local :+)
« Отговор #1 -: 06.11.2006, 11:17:41 »

Има много смисъл да използваш WS дори за чисто J2EE приложение. Вземи да почетеш още малко, щото тия крайни мнения...  :wink:

Поздрави,

Николай
Активен

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die
Re: Java : Using Remote Objects as they are local :+)
« Отговор #2 -: 06.11.2006, 11:23:25 »

e za J2EE estestveno kato ima Appilcaiton Server qsno:+)
govorq za chisti desktop client server priloejniq :0
aide maham WebServices ot izkazvaneto prav si ne sam prav ;)
Активен

Nikolay Manchev

  • Неактивен Неактивен
  • Публикации: 185
    • http://www.manchev.org
Re: Java : Using Remote Objects as they are local :+)
« Отговор #3 -: 06.11.2006, 13:31:16 »

Не е важно кой е прав, важното е да става дискусия. В спора се ражда истината  :-D

Поздрави,

Николай Манчев
Активен

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die
Re: Java : Using Remote Objects as they are local :+)
« Отговор #4 -: 06.11.2006, 15:16:34 »

Не е важно кой е прав, важното е да става дискусия. В спора се ражда истината  :-D

Поздрави,

Николай Манчев
i v se pak mislq che e ideino
za pyrvi pyt vidiah podoben client/server v SDK-to na .net ... pone Nikola Valchanov go beshe demonstriral stori mi se dosta po malko igrachka ot RMI ama si kazah e kvo tolkova RMI si e RMI :) i vse pak se radvam che i na Java nqkoi e sendla i e napisal edno proxy za izvesno vreme koeto da pozvolqva s 2 reda da se napravi neshto takova :) bez da barash java policy bez da puskash rmi serveri i etc.
interesno mi e kak shte se izkajat drugite
Активен