Java 客户端与服务器之间的对象传输

Java 客户端与服务器之间的对象传输,java,iphone,ios,Java,Iphone,Ios,我们的业务应用程序有一个java客户机/服务器环境,我们希望为我们的员工创建一个移动应用程序 我们目前有一个在iOS(iPhone/iPad)上运行的原型客户端应用程序,它通过套接字与java服务器进行通信。通过字符串传入的简单查询,服务器响应发送字符串/字符串列表。然而,这是相当痛苦的,因为我们希望发送实际的数据对象,即列表、地图等 在服务器(java)和客户端(objective C)之间传输数据的最佳方式是什么? java服务器不是java EE。。。因此不涉及tomcat/servlet

我们的业务应用程序有一个java客户机/服务器环境,我们希望为我们的员工创建一个移动应用程序

我们目前有一个在iOS(iPhone/iPad)上运行的原型客户端应用程序,它通过套接字与java服务器进行通信。通过字符串传入的简单查询,服务器响应发送字符串/字符串列表。然而,这是相当痛苦的,因为我们希望发送实际的数据对象,即列表、地图等

在服务器(java)和客户端(objective C)之间传输数据的最佳方式是什么?
java服务器不是java EE。。。因此不涉及tomcat/servlet。从我在网上发现的情况来看,其他公司使用JSON来实现这一点。我真的不知道该怎么做,也不知道最好的方法是什么。

我将考虑提供一系列web服务(基本上,这些服务看起来像是发送给客户端的普通http GET或POST命令),这些服务要么响应XML或JSON格式的响应,我想,需求将取决于您在客户机上提供的内容(您可以同时执行这两项操作,并在请求中使用一个参数来更改格式)

请查看以了解更多详细信息

基本要求是将您的输入和输出标准化,使其与您连接的客户无关

这也意味着您将(潜在地)通过标准端口进行通信,所有杂乱的协议都会为您解决


可以使用Tomcat和servlet实现这一点,这在客户机和数据库之间添加了另一层。这意味着传入的请求,尤其是修改数据库的请求,必须在访问数据库之前至少再经过一层,这样才能集中业务逻辑(我假设您已经这样做了)并保护数据库

搜索用Java和Objective-C实现的JSON序列化程序库。虽然JSON不是最紧凑或最有效的数据表示形式,但它是一种非常方便的格式,可以在客户端和服务器之间使用,因为它无处不在,而且很容易被人读取。避免使用XML—如果您同时拥有客户机和服务器组件,那么它会变得不必要的复杂


从长远来看,我同意考虑迁移到在Tomcat这样的容器中运行的标准Web服务可能最有意义。

桌面java客户端使用RMI接口与java服务器通信。根据您提供的信息,我要求tomcat位于java服务器(业务逻辑发生的地方)和移动客户端之间。这让我更接近我认为的解决方案。是的,没错。RMI只能与其他Java客户端对话。根据应用程序的工作方式,您可能还需要在tomcat和RMI服务器之间安装某种会话管理器