2

我想知道使用应用程序服务器(例如 glassfish)而不是通过动态 html 页面(例如 PHP)提供内容有什么优势。我想了解“网络服务”的优势,而不仅仅是一个网站,因为我正在开发一个在线商务网站,我想知道从直接 Apache 切换到类似的一些经验法则玻璃鱼。

4

3 回答 3

2

Java 世界中的应用服务器(如 Glassfish)通常是指一种软件,它除了实现 Web 服务器外,还可以在Java 企业版规范的上下文中运行您的 Java(或其他基于 JVM 的语言)Web 应用程序。所以它基本上只是一个花哨的 Apache,用于用 Java 编写的 Web 应用程序。经验法则:如果您决定使用 Java 或在 Java 虚拟机上运行的其他语言,并且需要或想要使用任何 J2EE API,则可以使用应用程序服务器。

由于 HTML 页面通常是人类可读的信息表示,因此 Web 服务以机器可读格式提供信息,以便机器可以使用 HTTP 协议相互交互。与一般的 Web 服务概念不同,Web 服务一词主要用于使用 SOAP 协议进行通信。由于 web 服务不是特定于语言的,因此使用 PHP、Java 或 Ruby On Rails 或其他任何方式来实现 web 服务都没有关系。决定是否要提供一种与 Web 应用程序交互的方式,而不仅仅是通过用户操作的 Web 浏览器。

于 2011-01-24T20:44:09.130 回答
1

当您开发 Web 服务时,您是在对接口进行编程,而不是对实现进行编程。当您开发的页面推送只有您的应用程序了解如何使用的数据时,例如专有的 html 页面,您所做的恰恰相反。

从更广泛的角度考虑您要完成的工作——您是否将在多个地方、技术等中实施和重用此服务。这是您的关键。

于 2011-01-24T20:33:56.590 回答
0

考虑什么风格的 Web 服务。

您是否将 Soap 与 REST 进行比较?

REST Web 服务与网页非常相似,因为它使用 HTTP 的所有内置功能。SOAPrest 服务需要阅读和消化它所需的基础设施。

Glass fish 将您与特定环境联系在一起,这意味着可扩展性和无忧无虑,但实际上通常并非如此,需要昂贵的资源来构建和维护代码。(更不用说基础设施和许可证)

我建议使用一个非常简单的层来生成您的 Web 服务。eg:PHP 和一个小的rest 框架工作,mabee 之类的代码点火器的修改版本。由于 rest 是无状态的,因此很容易扩展。只需添加更多的 apache Web 服务器,直到奶牛来到这里......错误......或者直到你的数据库被破坏......但成功总是有它的问题。为什么不在云上使用 REST 实现。在亚马逊上安装一些微型实例 Web 服务器,添加一个抽象的关系数据库,然后就可以使用了。

但正如本次讨论中的其他人所指出的,您不受语言的限制。更好地决定你的服务是什么。REST 或 SOAP。一个休息服务可以用 Python、Java、Pearl PHP 等构建。一个 SOAP 休息服务可能用 Java 构建,因为所有很酷的工具都在那里......这可能意味着玻璃鱼。

于 2011-01-25T06:30:06.890 回答