没有合适的资源?快使用搜索试试~ 我知道了~
当基于Web的应用程序需要跨多个Web应用程序容器(如 IBM:registered: WebSphere:registered: Application Server、BEA WebLogic 和 Tomcat 等,这里仅指出三个)部署时,跨网络兼容性不够。对于Java Web服务,没有跨多个Web应用程序容器实现的标准部署的“web.xml”可用。如果您希望应用程序支持多个Web应用程序容器提供的Web服务实现,则Java Web服务应用程序的部署可能会成为一项挑战。
资源推荐
资源详情
资源评论
部署 Java Web 服务
在多个容器上部署™服务可能会给开发人员带来一些问题。通过阅读本文,您可
以了解若干部署描述符实现,并了解社区如何开始处理这个问题。
引言
在过去数年里,随着万维网联盟(,)更新了核心规范,
并引入了弥补服务最初缺陷的新规范,服务发生了大量的变化。的
小组所维护的规范以独立于供应商的方式将服务作为一组规范进
行处理。可以在本文的参考资料部分找到所维护的核心服务规范。
同时,™也在维护自己的规范集,以将 的建议合并到
语言中。 (!"、#、、"和)是一组使用语
言实现服务规范的接口。有关$%&$组件的介绍,
请参见文章“服务进阶”(%&,'(('年))月)。
所维护的当前服务规范和维护的服务处理“网络上”的服务,
以确保平台独立性和语言独立性。遵循规范或使用的开发人员将确保应用程
序能够通过任何通信协议在任何平台上与采用任何语言编写的服务进行通信。服
务可扩展任何应用程序的访问范围,是经过验证的对目前基于的应用程序有价值的集
成技术。
但当基于的应用程序需要跨多个应用程序容器(如#*%+*%%
、#,-和.等,这里仅指出三个)部署时,跨网络兼容性不够。对于
服务,没有跨多个应用程序容器实现的标准部署的“/01”可用。
如果您希望应用程序支持多个应用程序容器提供的服务实现,则服务
应用程序的部署可能会成为一项挑战。可以在 应用程序中使用单个服务实现,
如来自%+服务项目的1。对于服务客户机,这个策略通常能跨多个
容器工作,因为客户机代码并不依赖于任何服务部署描述符。对于服务提供者
( 服 务 器 ) , 如 果 将 服 务 实 现 嵌 入 应 用 程 序 存 档 ( %%
+,/)文件中,可能会导致意外加载器冲突,因此使用供应商的 服务实现是
最理想的部署选择。
本文剩下的部分将讨论服务的部署问题,向您展示各种部署描述符实现,并讨论
社区如何开始处理这个问题。
开放工具集
本文中的示例使用以下工具构建:
,%$,——,%正迅速成为社区的标准开发平台。,%的插件体系结构使其成
为可扩展$,的理想平台。
构建工具——和是开发社区中使用的两个主要构建工具。这两个工具
都非常强大,使用二者并不互相冲突。本文提供了一个完整的构建文件,但仅讨论与
示例相关的特定任务。已集成到,%中,但如果您希望获得有关标准任务的文
档,或构建自己的任务(非常简单),相关文档将非常有用。
,%.2.——这是,%$,的一个外接程序,它提供了数个实用工
具,用于构建和部署基于的应用程序。它具有优秀的、模式和$编辑器,可
使得理解复杂$文件变得简单得多。
开发跨多个容器部署的单个服务
对于应用程序部署,我们希望进行开放性的选择。如果您的客户在%+或
-等商业',,实现进行了投资,他们将希望利用其投资的平台。另一方面,如果您
的客户希望降低初期投入成本,则可能希望采用#或%+.等开放源代码解决
方案。在这两种情况下,如果您希望尽可能提高开发工作的可重用性,则可能无法依赖于
可用的供应商特定$,。使用',,应用程序供应商提供的$,进行开发工作可能会限制处
理服务时的灵活性,隐藏部署服务的很多细节。
本文中的示例使用开放源代码社区提供的免费标准的开发工具集来为每个目标应用程
序容器构建服务部署描述符。所有这些工具均在开发人员中得到了广泛应用,且支持
各种开放标准技术。有关这些工具的描述,请参见开放工具集侧栏。
我 们 的 目 标 是 , 获 得 能 够 生 成 可 使 用 1 跨 目 标 应 用 程 序 容 器
(%+、-、#和.)部署的服务的单个项目。相应的/文
件应该能够在只需很少修改而绝对不需要重新编译源代码的情况下部署到我们的目标
应用程序容器上。
本文并不打算作为有关服务或服务部署的教程,而旨在说明服务的一
个问题,并阐述将来可以如何处理这个问题。如果您仅使用一个应用程序容器,而没
有打算更改应用程序容器,则可以跳过有关"!)3)的部分
(此"可能会影响您将来的开发工作)。
服务的描述
为了提供有关我们的部署示例的足够信息,我创建了一个需要为接口使用映射文件的
服务。传统的4或&.&服务将无法提供足够的信息来说明我们的
服务部署需求。
我们的服务端点将具有多个方法,这些方法可用于说明部署期间所需的各种文件。我
们的示例服务将返回有关远程应用程序性能的信息。当然,我们的示例实现并不会返
回任何实际的信息,它只不过是一个简单的示例,用于说明更为复杂的服务接口的要
求。下面是用于创建我们的服务端点的接口文件。
清单)0服务端点接口
% 1500"6
%78-+/500",1%9
%78---+/500",1%9
%+/500",1%9
%--+/500",1%9
%+/500",1%9
%-78--+/500",1%9
:
此接口具有两个不同的返回类型,需要进行映射。第一个类型是对象数组,
而另一个类型则是-对象数组。是简单容器对象,该对象具有若干基元
类型和两个字符串。我们的目标是,从此接口和实现文件入手,使用我们的开放工具集中
提供的工具构建所需的部署描述符,以便将服务部署到目标平台上。我们将描述此过
程中的每个步骤以及生成的各个文件。
构建过程的描述
我们的服务的构建过程中将使用各种自动化工具,这些工具由可利用 自检构建
服务构件的服务实现提供。对于我们的部署,将使用两种不同的构建工具,因为
部署描述符分属两个不同的组:支持',,)0;的部署描述符和自定义服务部署描述符。
',,)0;服务
为了构建标准',,)0;服务所需的构件,我们使用了$%&
$)0<所提供的/%命令。/%命令会创建服务描述语言(
$%--,$)文件、服务映射文件和实现文件,以便在
服务和调用的应用程序之间进行封送处理。
为了运行 /% 命令,您首先需要编写一个 配置文件,在其中描述您希望
/%执行的操作。在此示例中,我们希望处理我们的服务端点并创建实现所需的
构件和序列化代码。下面是/%命令所需的配置文件的示例:
清单'0示例配置文件
=>1?@)0(@-?@A.B!3@>C
=D-1?@+E%FGG500G1GG51!%GGD-@C
=?@@
-H%?@+E%FGG00G@
%H%?@+E%FGG%00G@
%&-H?@00/@C
= ?@00/0@
H?@00/0%@GC
剩余11页未读,继续阅读
资源评论
weixin_38672739
- 粉丝: 7
- 资源: 921
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功