SOA Service-Oriented Architecture 面向服务的架构
1 引言
分布式系统中的服务层和面向服务有很大关系。根据面向服务的规范设计出来的架构就叫做面向服务的架构SOA。
SOA最有价值的地方是它增进了松散的耦合,进行业务流程建模的时候以服务为基础。SOA通过开放的标准实现相互通信和整合。在SOA中,方案由不同语言编写的服务组成,还可能宿主在不同的平台之上,可以支持不同的绑定模式。
SOA不是一个服务,SOA是服务的设计原则,包括服务层中的服务。
2 SOA的原则
在一个SOA应用中,构建的块是服务而不是组件。服务应该遵循面向对象的基本原则,例如:封装和多态,还包括下面的原则:
这些原则应该反映到你设计的服务中。但是要记住每个组织都有自己的需求和希望。对于企业来说,很难找到两个相似的SOA。
2.1 边界明确
一个SOA服务暴露清晰和明确的协议。任何与服务的交互都通过公共的接口来实现。实现接口的方法是进入服务体系的入口。方法签名中的数据以消息的形式被服务使用和理解。
设计服务的时候,作为开发者,你因该使得接口(协议)越简单越好,保留将来的升级空间。这意味着服务的操纵的输入消息和输出消息都要设计好。输入和输出消息应该是容易序列化的类,没有循环引用和依赖,只是一个普通的数据容器。
2.2 服务是自治的
每一个服务都是独立的,可以和系统的其他部分完全分离。
从本质来说独立的服务才是松散耦合的服务。他的设计和部署都是独立于其他服务的,但是又可以使用在策略制定的协议基础之上的消息,和其他服务进行通信。
服务协议被设计为静态的,在部署之后不应该被修改。
2.3 使用
分享到:
相关推荐
本文将深入探讨两种传统可扩展架构模式:分层架构和面向服务架构(SOA)。这两种架构模式在软件工程中有着广泛的应用,为系统扩展提供了基础。 首先,我们来看分层架构,这是一种常见的设计模式,通常包括N层,N...
两者在实践中常常结合使用,例如,SOA服务可以部署在分层架构的不同层中,以提供更高级别的抽象和解耦。 在设计可扩展架构时,必须注意以下几点: 1. **稳定的核心接口**:接口的稳定性是保持扩展性的关键,如...
SOA-SSH架构是指在面向服务的架构(SOA)背景下,利用Struts、Spring、Hibernate三种技术组合形成的分层架构设计。这种架构设计旨在通过模块化的方法提高系统的灵活性、可扩展性和可维护性。 #### 二、SOA-SSH架构的...
总之,SOA-SSH分层架构是Java Web开发中的一个重要选择,它通过整合Struts、Spring和Hibernate的优势,为构建可复用、可扩展的Web应用提供了坚实的基础。然而,随着技术的发展,开发者需要不断评估和调整架构,以...
- UAP采用了分层架构设计,每一层都有明确的功能划分,便于管理和扩展。 5. **U9的SOA模型驱动** - U9采用了一种模型驱动的方法来简化服务的开发和管理过程。 6. **U9的快速开发平台UAP Studio** - UAP ...
总的来说,SOA-SSH分层架构是Java Web开发中的一种经典模式,它通过合理的组件划分和松耦合设计,实现了高效、稳定的系统构建。然而,随着技术的演进,开发者需要持续评估和更新架构,以确保系统的可维护性和适应性...
1. **分层架构**:这是一种常见的架构模式,将系统划分为多个独立的层次,如表现层、业务逻辑层、数据访问层等。每个层都有明确的责任,层与层之间通过接口通信,降低了复杂性并提高了模块化。 2. **微服务架构**:...
Oracle MDM方案采用了分层架构设计,包括数据源层、数据整合层、数据管理层和应用层。这种架构有助于实现数据的高效管理和灵活使用。 - **数据源层**: 收集来自各个业务系统的原始数据。 - **数据整合层**: 对收集...
- **分层**:服务按功能划分为不同的层次,如表示层、业务逻辑层和服务访问层。 **4. SOA的挑战与最佳实践** 实施SOA时,需要注意以下挑战和最佳实践: - **服务设计**:确保服务粒度适中,既能满足重用需求,又...
SOA 分层架构模型也是一个重要的架构分层方法,组件-服务-流程。SOA 架构分层重点是体现出独立的服务层,注意不是画服务总线,这里可以单独画出具体提供哪些业务服务能力,技术服务能力。在采用 SOA 架构进行开发的...
总之,理解SOA服务生命周期的运行时阶段,对于构建高效、灵活的SOA架构至关重要。有效的运行时管理确保服务能够无缝集成到业务流程中,同时支持未来的可扩展性和适应性。通过合理的服务分层、灵活的复合、细致的监控...
1. **松耦合性**:在SOA架构中,服务之间保持低依赖关系,允许独立修改和更新而不影响其他服务,增强了系统的灵活性和可维护性。 2. **位置透明性**:服务调用者无需了解服务的实际位置,只需知道服务标识,提高了...
在Java教学过程中,引入软件分层架构思维方式是至关重要的,因为它不仅帮助初学者理解复杂的系统设计,还能培养他们良好的编程习惯和项目管理能力。软件分层架构是一种将应用程序拆分为多个独立、相互协作的组件的...
在接口层实现Inter-SOA解决方案,在业务层实现Intra-SOA解决方案,这样的分层架构能够更好地满足企业的需求。 ### 结论 综上所述,WebService作为一种技术手段,在SOA架构中扮演着重要的角色,但在使用时需要谨慎...
本文主要探讨了系统架构的基本概念、分层设计以及面向服务的架构(SOA)和基于J2EE的多层结构设计。 首先,架构(Architecture)是软件系统的骨架,它决定了系统的整体结构和关键组件的组织。Rational Unified ...