为了为下游服务(downstream service)的使用快速提供标准应用程序结构,而且几乎不需编写新功能,该客户配置文件服务描述了在整个需求目录中复合服务的能力。
应用服务
最后,服务工程团队可能会开发许多应用服务,旨在供应用程序以独立于业务线的方式直接使用。需求目录中,有两种特顶的受众可能对客户配置文件服务感兴趣:想要更新信息、核对订单等等的实际客户;可能有兴趣在所有订购了某本书籍(举例来说)的客户上运行报告的内部网用户。结果是,服务工程团队可能会生产两种特定于应用程序的服务。正如SOA Domain Whitepaper(PDF)中定义的那样,这些服务可能通过像portlet这样的表示服务而公开。
SSLC的运行时阶段
更深入地理解了SOA中分层服务的重要性之后,现在让我们来集中探讨SSLC的运行时阶段。如果管理得当,这些阶段可能会提供一种关键因素,实现由SOA计划驱策的企业灵活性和敏捷性。以下部分就这些方面进行详细讨论。
发布和供应
SSLC的发布和供应阶段集中关注:为发布服务需要做些什么,并建立服务使用边界。特别地,这个阶段应建立SOA管理的控制点,并通过定义诸如服务接口和契约等方面促进服务重用。
考虑发布和供应服务时,充分理解正在处理服务的哪些“片段”是非常重要的。在这个阶段,服务实现被视为设计时的静态工件,而不是供应团队的责任。供给团队应集中关注以下方面:
服务接口
服务接口为客户提供了一种基于标准的机制,使客户能够根据它所提供的契约访问此实现所提供的功能性。服务接口将发布服务以便使用。
服务契约
此契约应包含功能元数据(表示如何与服务交互)和非功能元数据(表示哪些条件和限制适用于希望使用该服务的用户)。通过确保该服务实现中未出现某些逻辑,比如使用的条件和限制,服务也就更可能通过多种方式复合,服务工程团队或企业尚未考虑到这些方式中的大多数。服务契约在运行时可作更改,而无需在实现中重新编译代码,认识到这一点很重要,诀窍就在于有效地利用这种灵活性。
元数据和策略
我的经验显示出,要支持一种切实启用了服务重用和复合的服务,就要定义元数据和策略。建立真正灵活的SOA环境时,元数据的管理就是求窍门所在。通过定义一系列策略,即可轻松在实现外部管理单个服务或一类服务的运行时控制。这些策略不仅定义了哪些规则适用于哪些客户,而且还在谁可在何时供应哪些内容的方面定义了服务本身。元数据驱动策略的额外优点是,它们可在动态条件下强制实施,比如用户会话上下文和消息有效载荷。
通过集中关注SSLC的运行时需求,控制和管理开始在成功管理SOA计划中发挥越来越重要的作用。结果,应将服务发布为某种形式的注册库,使其能够支持一个服务生命周期的配置和变更管理方面。此注册库也可与一个企业存储库集成,而该存储库又可能存储了另外的一些相关信息。需要特别注意的是,控制点应该通过工具来建立,应该向现有客户通知一项服务的更改,如有需要,应建立潜在的管理策略为用户提供时间窗口,以便他们能迁移到一个新版本的服务。所有这些信息都可存放在存储库里面,并且可通过注册库向服务用户展示。
集成和部署
SSLC和SOA以提高灵活性和敏捷性为成功的中心原则。服务重用是达成这些目标的一种方法。如SSLC的构建和复合阶段所提到那样,服务可作为部分新服务的实现使用。这听起来似乎是显而易见的,但做出以下声明很重要:确保设计时,复合服务不会影响SSLC的集成和部署阶段的灵活性。依靠对动态装配服务的服务的服务实现来支持业务需求可能导致以下问题:在后续阶段引入更改时存在依赖项和版本不一致。因而,建议您利用动态工具,比如Business Process Modeling(BPM),来促进服务联接的往返,而不要将其嵌入服务实现。另一种方法是在服务实现中利用代理服务,而不使用真实的业务服务终端。通过利用Enterprise Service Bus公开代理服务,物理服务就可能独立于消费服务而更改。(当然,如果服务接口做出了逆向更改,用户将通过一个已建立的管理流程得到通知。)
文章来源于领测软件测试网 https://www.ltesting.net/