博天网站建设网络,做门户网站挣钱吗,闲鱼钓鱼网站怎么做,少儿编程1.原有系统架构中的集成需求 面向服务的体系结构本质上来说是一种具有特殊性质的体系结构#xff0c;它由具有互操作性和位置透明的组件集成构建并互连而成。基于SOA的企业系统架构通常都是在现有系统架构投资的基础上发展起来的#xff0c;我们并不需要彻底重新开发全部的子…1.原有系统架构中的集成需求 面向服务的体系结构本质上来说是一种具有特殊性质的体系结构它由具有互操作性和位置透明的组件集成构建并互连而成。基于SOA的企业系统架构通常都是在现有系统架构投资的基础上发展起来的我们并不需要彻底重新开发全部的子系统SOA可以通过利用当前系统已有的资源开发人员、软件语言、硬件平台、数据库和应用程序来重复利用系统中现有的系统和资源。SOA是一种可适应的、灵活的体系结构类型基于SOA构建的系统架构可以在系统的开发和维护中缩短产品上市时间因而可以降低企业系统开发的成本和风险。因此当SOA架构师遇到一个十分复杂的企业系统时首先考虑的应该是如何重用已有的投资而不是替换遗留系统因为如果考虑到有限的预算整体系统替换的成本是十分高昂的。
2.服务粒度的控制以及无状态服务的设计 当SOA架构师构建一个企业级的SOA系统架构时关于系统中最重要的元素也就是SOA系统中服务的构建有两点需要特别注意的地方首先是对于服务粒度的控制另外就是对于无状态服务的设计。
2.1服务粒度的控制 SOA系统中服务粒度的控制是一项十分重要的设计任务。通常来说对于将暴露在整个系统外部的服务推荐使用粗粒度的接口而相对较细粒度的服务接口通常用于企业系统架构的内部。从技术上来讲粗粒度的服务接口可能是一个特定服务的完整执行而细粒度的服务接口可能是实现这个粗粒度服务接口的具体的内部操作。 虽然细粒度的接口能为服务请求者提供更加细化和更多的灵活性但同时也意味着引入较难控制的交互模式易变性也就是说服务的交互模式可能随着不同。如果我们暴露这些易于变化的服务接口给系统的外部用户就可能造成外部服务请求者难于支持不断变化的服务提供者所暴露的细粒度服务接口而粗粒度服务接口保证了服务请求者将以一致的方式使用系统中暴露出的服务。虽然面向服务的体系结构并不强制要求一定要使用粗粒度的服务接口但是建议使用它们作为外部集成的接口。通常架构设计师可以使用BPEL来创建由细粒度操作组成的业务流程的粗粒度的服务接口。
2.2无状态服务的设计 SOA系统架构中的具体服务应该都是独立的、自包含的请求在实现这些服务的时候不需要前一个请求的状态也就是说服务不应该依赖于其他服务的上下文和状态即SOA架构中的服务应该是无状态的服务。当某一个服务需要依赖时最好把它定义成具体的业务流程BPEL。在服务的具体实现机制上可以通过使用EJB组件来实现粗粒度的服务。我们通常会利用无状态的Session Bean来实现具体的服务如果基于Web Service技术就可以将无状态的Session Bean暴露为外部用户可以调用到的Web服务也就是把传统的Session Facade模型转化为EJB的Web服务端点。这样就可以向Web服务客户提供粗粒度的服务。