Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java .Net/PHP/IPhone中的JNDI_Java_.net_Web Services_Jakarta Ee_Jndi - Fatal编程技术网

Java .Net/PHP/IPhone中的JNDI

Java .Net/PHP/IPhone中的JNDI,java,.net,web-services,jakarta-ee,jndi,Java,.net,Web Services,Jakarta Ee,Jndi,让我向你解释一下我目前所处的全部情况 我们正在用GWT和Hibernate开发非常复杂的应用程序,由于客户机的需求,我们试图在不同的服务器上托管客户机和服务器代码。现在,我可以使用JNDI实现这一点 这里是棘手的部分,客户端也需要在不同的平台上使用该应用程序,数据库和方法将是相同的,比如说我们应用程序的iPhone/.Net版本。我们不想再次生成服务器代码,因为它对所有人都是一样的 我曾尝试在服务器代码顶部使用WebServices包装器,但由于架构和类依赖关系的复杂性,我无法做到这一点。例如,

让我向你解释一下我目前所处的全部情况

我们正在用GWT和Hibernate开发非常复杂的应用程序,由于客户机的需求,我们试图在不同的服务器上托管客户机和服务器代码。现在,我可以使用JNDI实现这一点

这里是棘手的部分,客户端也需要在不同的平台上使用该应用程序,数据库和方法将是相同的,比如说我们应用程序的iPhone/.Net版本。我们不想再次生成服务器代码,因为它对所有人都是一样的

我曾尝试在服务器代码顶部使用WebServices包装器,但由于架构和类依赖关系的复杂性,我无法做到这一点。例如,让我们考虑下面的代码。

    class Document {
        List<User>;
        List<AccessLevels>;
     }
类文档{
列表
列表
}
文档类具有用户列表、访问级别列表和其他类的更多列表,而其他类具有更多列表。一些重要的服务器方法将类(文档或任何其他类)作为输入,并在输出中返回其他类。我们不应该在Web服务中使用复杂的体系结构

所以,我需要坚持使用JNDI。现在,我不知道如何访问任何其他应用程序的JNDI调用

请提出克服这种情况的方法。我对技术变化持开放态度,这意味着JNDI/WebServices或任何其他为我提供良好服务的技术

谢谢你


关于,我从未见过JNDI被用作请求/响应进程间通信的机制。我不相信这将是一个有效的攻击线

当有效负载很复杂时,您认为Web服务是不合适的。我不同意,我见过许多成功的项目使用相当大的有效负载,有许多嵌套类。一个简单的例子:客户的订单行中有。。。等等

显然,保持有效负载大小较小是可取的,因为存在序列化和网络成本,大型对象将更加昂贵。但有一个大的要求比有很多小的要求要好得多。“繁忙”接口在网络中无法正常运行

我怀疑您可能遇到的一个问题是,某些服务器端类不是纯数据,它们指的是仅在服务器上有意义的类,您不希望这些类出现在客户端中

在这种情况下,您需要构建一个“适配器”层。这是一项枯燥的工作,但无论您使用什么进程间通信技术,您都需要这样做。您需要我所说的数据传输对象(DTO)——它们表示在客户机中理解的有效负载,只使用对客户机合理的类,服务器可以使用和创建这些类

让我们假设您使用XXX技术(JNDI、Web服务、直接套接字调用、JMS)

反过来也是如此。我的主张是,无论选择哪个XXX,您都会遇到同样的问题,您需要客户机处理“精简”对象,这些对象不会显示服务器的任何实现细节

适配器负责创建和理解DTO


我发现使用JAX/RS使用RESTful Web服务非常容易,一旦您有了一组DTO,创建Web服务只需几分钟的时间

我同意您在WebServices中的观点,但这里的架构非常复杂,我们无法创建每个类的DTO,大约有400-500个类。我们已经使用JNDI实现了不同服务器之间的通信,而且它工作得很好,所以我只是想知道我是否可以在.net/php中访问JNDI,我的工作会更容易…很有趣。。。您是否将JNDI用作“公告板”?如果对象在所有服务器中都是有意义的,那么这肯定是可行的。我不清楚这在一个更受限制的客户端环境中如何工作。无论如何,JNDI和许多其他Java API肯定可以从C代码通过JNI访问。我建议您看看CodeMesh这样的产品:
  Client --- sends Document DTO --XXX---> Adapter transform DTO to server's Document