【问题标题】:Should I make a Web Service with REST我应该使用 REST 创建 Web 服务吗
【发布时间】:2012-01-05 07:51:28
【问题描述】:

我制作了一个管理测验问题的 Web 应用程序。网页内容分为两部分;一个管理部分,一个公共部分。这些界面是为桌面网络浏览器设计的。

现在,我希望移动设备能够浏览这些问题(具有应用程序的外观)。

所以我想到了两种方法。只需在名为 mobile 的 web 内容中添加另一个文件夹即可为手机创建自定义界面,然后在 Android/iOS 等中添加带有该 URL 的 webview。

或者,使用 REST 创建一个 Web 服务并创建一个与问题项目相互依赖的新 Web 应用程序,并使用 REST 服务充当它的客户端。

上述方法之一是否合理,或者有其他更好的方法吗?


更新
这是一个使用 EJB 和 JSF 制作的项目。我是否应该在 JSF 项目中添加一个文件夹并将手机指向该文件夹?

【问题讨论】:

  • 我会考虑用 jQuery 创建一个 html5 应用程序来为问题创建一个很好的滑动效果等。似乎创建一个网络服务和一个手机应用程序是很多工作
  • @Thomas 那么您是否会在同一个名为 mobile 的项目中添加另一个文件夹,然后制作一个 html5 应用程序?
  • 是的,我可能会,虽然我不完全确定你可以在没有网络服务的情况下做到这一点。我还没有尝试在业务应用程序中使用 html5。我理想的设置是这样的: 为公共访问和移动应用程序(主要是读取数据)开放 web 服务 用于行政管理前端的身份验证 web 服务,使用您喜欢的任何语言 公共前端使用您喜欢的任何语言的移动应用程序,每个平台或用于移动设备的 html5 应用(取决于您对图形或平台特定功能的依赖程度)

标签: java jakarta-ee rest


【解决方案1】:

这是典型的MVC 应用程序,您需要有两种类型的视图

  1. 基于浏览器的客户端的 HTML 视图
  2. 移动应用程序的 XML 视图(如您所述,可通过 REST 实现)。

我建议有一个本机移动应用程序,它可以通过 REST API 与网络服务器通信。

不确定您在这里使用的是哪个框架,但大多数 MVC 框架都允许您创建 XML 视图(请查看struts2 rest plugin

现在整体的想法/设计应该是:

  • Web 控制器/Action 与代表对话
  • 代表们依次与 DAO 交谈
  • DAO 与数据库通信。

您将为不同的最终用户使用不同的控制器(用于浏览器的 html/xml 移动设备)

【讨论】:

    【解决方案2】:

    在您的 iPad 上查看 ft.com,也许 Android 平板电脑也可以工作。我相信这个网站将展示基于 HTML5/CSS3 的应用程序的丰富性。

    另一方面,制作原生应用程序有一定的优势,但问题是您必须针对不同类型的平台多次创建应用程序。

    上述问题有一个解决方案,您可以使用类似于 Appcelerator Titanium 的东西,您将在 Javascirpt 中进行编码,他们的交叉编译器将为您创建原生应用程序,如果没有,值得一看。

    【讨论】:

    • 好的,那么您只需在名为 mobile 的 EJB/WEB 项目中添加另一个文件夹,然后直接调用我需要的服务吗?
    • @Pjotr​​ 这是您的决定,您可以使用 HTML5 或使用 Titaniium。对于 Html,您可以为 Titanium 创建一个不同的文件夹,您必须使用该技术创建一个不同的项目并通过应用程序/市场机制,
    • 但是你误解了这个问题。我应该在现有的带有 EJB 和 JSF 的项目中这样做,还是应该创建另一个项目?
    • @Pjotr​​ 哎呀,我很抱歉......有理由不创建一个单独的项目吗?我最赞成的一个观点是,如果您的网络/应用服务器出现故障,您的移动网站也会出现故障。你同意吗?
    • 那么你将如何从中获取数据呢?
    猜你喜欢
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 2018-07-30
    • 1970-01-01
    • 1970-01-01
    • 2018-07-09
    相关资源
    最近更新 更多