498)this.style.width=498;">
图 2:“电子商店”示例—协作图表
498)this.style.width=498;" border=0>
图 3:“电子商店”示例—分解图表
如图 3 所示,该解决方案包含四种 EJB 子系统(每个子系统包含多个 bean):
- 客户验证管理: 负责登录/注销、站点注册和客户首选项
- 客户体验管理:负责客户可以在“电子商店”站点执行的所有功能—查看目录、购买商品、付款、查询订单状态等
- 产品清单管理: 负责提供商品可用性和更新存货/脱销数据库以及触发实现进程
- 财务管理: 负责帐目管理和其他财务处理,如开发票。
此处最简单的服务可能是基于非会话状态会话 bean SystemIdEJB 的GetSystemIdService。该 bean 是称作“验证客户”的一组对象类的一部分。如果客户已经成功通过验证,则该 bean 提供稍后用于获取其他客户信息(例如,与商品目录的呈现方式相关的客户首选项)的系统用户 ID。如果客户未成功通过验证,则该 bean 发出例外。
以下是发送至该服务的 SOAP 1.1 请求以及该服务发出的响应的示例:
POST /SystemId HTTP/1.1 Host:eStore.com Content-Type:text/xml; charset="utf-8" Content-Lengthnnnn SOAPAction:"http://eStore.com/getSystemId"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> xmlns:m="http://eStore.com/GetSystemId.wsdl/" xmlns:xsd="http://eStore.com/GetSystemId.xsd/"> LogonID
..........
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
xmlns:m="http://eStore.com/GetSystemId.wsdl/" xmlns:xsd="http://eStore.com/GetSystemId.xsd/"> SystemID
|
从以上示例可以清楚地看到:WSDL 和 XML 消息表示是启用服务的主要元素。最重要的是,WSDL 描述了该服务的消息和端口、绑定以及服务定义:
message="tns:GetSystemIdInput"/>
.....................
.....................
|
<<上一页
1
2
3
4
5
下一页>>