CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站 > 技巧

部署 Java Web 服务

作者: James P. McCarthy,  出处:developerWorks 中国 , 责任编辑: 叶江, 
2006-10-30 14:07
  在多个容器上部署 Java Web 服务可能会给开发人员带来一些问题。通过阅读本文,您可以了解若干部署描述符实现,并了解 Java 社区如何开始处理这个问题。

  在多个容器上部署 Java Web 服务可能会给开发人员带来一些问题。通过阅读本文,您可以了解若干部署描述符实现,并了解 Java 社区如何开始处理这个问题。

  引言

  在过去数年里,随着万维网联盟(World Wide Web Consortium,W3C)更新了核心规范,并引入了弥补 Web 服务最初缺陷的新规范,Web 服务发生了大量的变化。W3C 的 Web Services Activity 小组所维护的规范以独立于供应商的方式将 Web 服务作为一组 XML 规范进行处理。

  同时,Java™ Community Process (JCP) 也在维护自己的规范集,以将 W3C 的建议合并到 Java 语言中。Java APIs for XML(JAX-RPC、JAXB、JAXP、JAXR 和 SAAJ)是一组使用 Java 语言实现 Web 服务规范的接口。

  W3C 所维护的当前 Web 服务规范和 JCP 维护的 Java Web 服务 API 处理“网络上”的 Web 服务,以确保平台独立性和语言独立性。遵循 XML 规范或使用 Java API 的开发人员将确保应用程序能够通过任何通信协议在任何平台上与采用任何语言编写的 Web 服务进行通信。Web 服务可扩展任何应用程序的访问范围,是经过验证的对目前基于 Web 的应用程序有价值的集成技术。

  但当基于 Web 的应用程序需要跨多个 Web 应用程序容器(如 IBM® WebSphere® Application Server、BEA WebLogic 和 Tomcat 等,这里仅指出三个)部署时,跨网络兼容性不够。对于 Java Web 服务,没有跨多个 Web 应用程序容器实现的标准部署的“web.xml”可用。

  如果您希望应用程序支持多个 Web 应用程序容器提供的 Web 服务实现,则 Java Web 服务应用程序的部署可能会成为一项挑战。可以在 Web 应用程序中使用单个 Web 服务实现,如来自 Apache Web 服务项目的 Axis。对于 Web 服务客户机,这个策略通常能跨多个 Web 容器工作,因为客户机代码并不依赖于任何 Web 服务部署描述符。对于 Web 服务提供者(服务器),如果将 Web 服务实现嵌入 Web 应用程序存档(Web Application Archive,war)文件中,可能会导致意外加载器冲突,因此使用供应商的 Web 服务实现是最理想的部署选择。

  本文剩下的部分将讨论 Java Web 服务的部署问题,向您展示各种部署描述符实现,并讨论 Java 社区如何开始处理这个问题。

  开发跨多个容器部署的单个 Web 服务

  对于 Web 应用程序部署,我们希望进行开放性的选择。如果您的客户在 WebSphere 或 WebLogic 等商业 J2EE 实现进行了投资,他们将希望利用其投资的平台。另一方面,如果您的客户希望降低初期投入成本,则可能希望采用 JBoss 或 Apache Tomcat 等开放源代码解决方案。在这两种情况下,如果您希望尽可能提高开发工作的可重用性,则可能无法依赖于可用的供应商特定 IDE。使用 J2EE 应用程序供应商提供的 IDE 进行开发工作可能会限制处理 Java Web 服务时的灵活性,隐藏部署 Web 服务的很多细节。

  本文中的示例使用开放源代码社区提供的免费标准的开发工具集来为每个目标 Web 应用程序容器构建 Web 服务部署描述符。所有这些工具均在开发人员中得到了广泛应用,且支持各种开放标准技术。

  我们的目标是,获得能够生成可使用 Axis 跨目标 Web 应用程序容器(WebSphere、WebLogic、JBoss 和 Tomcat)部署的 Web 服务的单个项目。相应的 war 文件应该能够在只需很少修改而绝对不需要重新编译源代码的情况下部署到我们的目标 Web 应用程序容器上。

  本文并不打算作为有关 Web 服务或 Web 服务部署的教程,而旨在说明 Java Web 服务的一个问题,并阐述将来可以如何处理这个问题。如果您仅使用一个 Web 应用程序容器,而没有打算更改 Web 应用程序容器,则可以跳过有关 Web Services Metadata (JSR-181) 的部分(此 JSR 可能会影响您将来的开发工作)。

共10页。 1 2 3 4 5 6 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       

该文章的读者还阅读了

天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i