桌面,android和ios客户端的java-ee应用程序

桌面,android和ios客户端的java-ee应用程序,第1张

概述我正在使用 java enterprise和glassfish构建一个应用程序.客户端和服务器之间的信息通常是少量数据,但客户端有时需要获得更大的资源(典型值为1-20 MB).我仍然在计划系统的体系结构,我需要一些关于如何将服务器上的资源暴露给多个客户端的建议. 最初我只是在javaws和glassfish提供的ACC中运行桌面客户端应用程序.我将远程接口放在一个单独的jar中,并计划通过调用通 我正在使用 java enterprise和glassfish构建一个应用程序.客户端和服务器之间的信息通常是少量数据,但客户端有时需要获得更大的资源(典型值为1-20 MB).我仍然在计划系统的体系结构,我需要一些关于如何将服务器上的资源暴露给多个客户端的建议.

最初我只是在javaws和glassfish提供的ACC中运行桌面客户端应用程序.我将远程接口放在一个单独的jar中,并计划通过调用通过这些接口公开的EJB方法来完成所有客户端服务器接口.这对于Java桌面客户端来说都很好.对于Android客户端来说它应该很容易.但我认为它不会像ios一样容易.

有什么办法可以从运行在iphone或ipad中的objective-c调用我的EJB吗?我当然希望如此.

我期待该解决方案是一个RESTful Web服务.根据我的理解,这是一种通过以通用XML或JsON形式传递数据来松散地耦合客户端和服务器应用程序的方法.

对不起,如果我遗漏了一些非常明显的东西,但似乎有两条路线从这里:

>保留我的EJB业务接口,并为通用客户端实现重复的restful接口(iOS和以后可能出现的任何其他东西).
>为所有客户创建一个restful接口.

2号似乎是一个更清洁的设计,但这意味着我必须废弃已经完成的工作并了解休息.有经验的人可以提供一些建议吗?我非常感激.

解决方法 在EJB 3.1中,您可以以非常简单的方式将业务逻辑公开为RESTful服务,例如:

@Path("name")@Statelesspublic class nameService {    @EJB    private nameBean nameBean;    @GET    @Produces("text/HTML")    public String getHTML() {        return "<h2>Hello "+nameBean.getname()+"</h2>";    }    @PUT    @Consumes("text/plain")    public voID put(String content) {        nameBean.setname(content);    }}

不需要servlet或任何其他委托.为一个逻辑提供各种访问方法是绝对正确的,这样一些Java客户端就可以使用EJB(RMI)而其他人使用REST.将来,如果需要,您甚至可以添加一些新的,例如XML Web服务,通​​过异步消息传递等.

总结

以上是内存溢出为你收集整理的桌面,android和ios客户端的java-ee应用程序全部内容,希望文章能够帮你解决桌面,android和ios客户端的java-ee应用程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1129669.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存