需要在所作工具中实现一些接口,可以被外部其它语言(ruby, c#等)程序调用,请问用什么方式实现比较好??

解决方案 »

  1.   

    当然是webservices交互了 因为你是不同语言如果都是java,,可以使用socket,rmi等 。
      

  2.   

    原来XML是用来语言交互的啊!
      

  3.   

    如果直接调用,那要看其它语言有没有提供相应的接口,这个怕是不太可能.通过第三方调用到是有好多途径吧,比如操作系统,其它语言可以通过操作系统启动jvm,再由jvm执行java程序.总体感觉这种需求必要性不大吧?
    一般而言,不同平台之间,交换数据就可以实现互通了,没有必要交换算法吧?你说的java实现的接口为什么不让其它语言来实现相应的算法呢?如果其它语言没有办法实现,那为什么不两端都用java呢?
      

  4.   

    webservice是一样标准,
    要说到程序上的调用,暂时应该没有。
      

  5.   

    WebService可以 。 要不就JRuby,XRuby,Jython什么的,Groovy,Scala,都是直接调用。
      

  6.   

    如果从头设计一个系统,当然这种调用是没啥意义的,可现实世界是有很多复杂情况的:
    公司存在一个java的工具,实现了比较复杂的功能,另外一些工具希望调用这个功能,
    如果按照你说的那样重新实现,成本是无法承受的。另外,你说的启动jvm和我的情况不符合,我的java程序是已经在运行的,只是需要调用里面定义的一些接口。
      

  7.   

    socket肯定可以吧?不过我希望留给对方的接口尽可能容易使用。
    在java中使用com不现实?java那个什么jni干不了这事吗?
      

  8.   

    当然是用webservice,当前比较流行的是axis和xfire,ws就是用来提供一个供其他语言调用的接口,实现跨平台的,跨语言的调用,一个比较大型的公司企业,会有很多的系统,要集成这些系统,那么非webservice不可了
      

  9.   

    嗯,我这个情况好像发个xml过去比较合适,用webservice适合?
    java实现webservice比较简单可靠的方案是啥?没搞过的说...
      

  10.   

    webservice,这个用来交互在好不过了
      

  11.   

    看了下,jni是java调本地方法,反了...