`

分层架构中的服务层-SOA

阅读更多

SOA Service-Oriented Architecture 面向服务的架构

 

  1 引言

  分布式系统中的服务层和面向服务有很大关系。根据面向服务的规范设计出来的架构就叫做面向服务的架构SOA。

  SOA最有价值的地方是它增进了松散的耦合,进行业务流程建模的时候以服务为基础。SOA通过开放的标准实现相互通信和整合。在SOA中,方案由不同语言编写的服务组成,还可能宿主在不同的平台之上,可以支持不同的绑定模式。

  SOA不是一个服务,SOA是服务的设计原则,包括服务层中的服务。

  2 SOA的原则

  在一个SOA应用中,构建的块是服务而不是组件。服务应该遵循面向对象的基本原则,例如:封装和多态,还包括下面的原则:

  •   边界明确
  •   服务自治
  •   使用协议,而不是类
  •   兼容性

  这些原则应该反映到你设计的服务中。但是要记住每个组织都有自己的需求和希望。对于企业来说,很难找到两个相似的SOA。

  2.1 边界明确

  一个SOA服务暴露清晰和明确的协议。任何与服务的交互都通过公共的接口来实现。实现接口的方法是进入服务体系的入口。方法签名中的数据以消息的形式被服务使用和理解。

  设计服务的时候,作为开发者,你因该使得接口(协议)越简单越好,保留将来的升级空间。这意味着服务的操纵的输入消息和输出消息都要设计好。输入和输出消息应该是容易序列化的类,没有循环引用和依赖,只是一个普通的数据容器。

  

   2.2 服务是自治的

  每一个服务都是独立的,可以和系统的其他部分完全分离。

  从本质来说独立的服务才是松散耦合的服务。他的设计和部署都是独立于其他服务的,但是又可以使用在策略制定的协议基础之上的消息,和其他服务进行通信。

  服务协议被设计为静态的,在部署之后不应该被修改。

  2.3 使用

分享到:
评论

相关推荐

    33传统的可扩展架构模式:分层架构和SOA1

    本文将深入探讨两种传统可扩展架构模式:分层架构和面向服务架构(SOA)。这两种架构模式在软件工程中有着广泛的应用,为系统扩展提供了基础。 首先,我们来看分层架构,这是一种常见的设计模式,通常包括N层,N...

    33 - 传统的可扩展架构模式:分层架构和SOA.docx

    两者在实践中常常结合使用,例如,SOA服务可以部署在分层架构的不同层中,以提供更高级别的抽象和解耦。 在设计可扩展架构时,必须注意以下几点: 1. **稳定的核心接口**:接口的稳定性是保持扩展性的关键,如...

    SOA-SSH分层架构的设计与应用word版本.docx

    SOA-SSH架构是指在面向服务的架构(SOA)背景下,利用Struts、Spring、Hibernate三种技术组合形成的分层架构设计。这种架构设计旨在通过模块化的方法提高系统的灵活性、可扩展性和可维护性。 #### 二、SOA-SSH架构的...

    SOA-SSH分层架构的设计与应用.doc

    总之,SOA-SSH分层架构是Java Web开发中的一个重要选择,它通过整合Struts、Spring和Hibernate的优势,为构建可复用、可扩展的Web应用提供了坚实的基础。然而,随着技术的发展,开发者需要不断评估和调整架构,以...

    SOA(面向服务的体系结构)

    - UAP采用了分层架构设计,每一层都有明确的功能划分,便于管理和扩展。 5. **U9的SOA模型驱动** - U9采用了一种模型驱动的方法来简化服务的开发和管理过程。 6. **U9的快速开发平台UAP Studio** - UAP ...

    SOA-SSH分层架构的设计与应用word版本.pdf

    总的来说,SOA-SSH分层架构是Java Web开发中的一种经典模式,它通过合理的组件划分和松耦合设计,实现了高效、稳定的系统构建。然而,随着技术的演进,开发者需要持续评估和更新架构,以确保系统的可维护性和适应性...

    SOA软件架构的实现

    SOA作为现代企业应用架构的核心组成部分,通过构件化业务逻辑模型、标准化技术分层架构以及规范化管理框架等手段,解决了传统应用中存在的诸多问题,并带来了客户信息流畅、服务可用性提高、流程敏捷性和良好用户...

    java架构思想---------------------

    1. **分层架构**:这是一种常见的架构模式,将系统划分为多个独立的层次,如表现层、业务逻辑层、数据访问层等。每个层都有明确的责任,层与层之间通过接口通信,降低了复杂性并提高了模块化。 2. **微服务架构**:...

    精华版Oracle-SOA-主数据管理解决方案(74页).docx

    Oracle MDM方案采用了分层架构设计,包括数据源层、数据整合层、数据管理层和应用层。这种架构有助于实现数据的高效管理和灵活使用。 - **数据源层**: 收集来自各个业务系统的原始数据。 - **数据整合层**: 对收集...

    SOA专业人员指南(2 部分 soa 参考架构) pdf

    - **分层**:服务按功能划分为不同的层次,如表示层、业务逻辑层和服务访问层。 **4. SOA的挑战与最佳实践** 实施SOA时,需要注意以下挑战和最佳实践: - **服务设计**:确保服务粒度适中,既能满足重用需求,又...

    软件架构设计分层模型和构图思考.docx

    SOA 分层架构模型也是一个重要的架构分层方法,组件-服务-流程。SOA 架构分层重点是体现出独立的服务层,注意不是画服务总线,这里可以单独画出具体提供哪些业务服务能力,技术服务能力。在采用 SOA 架构进行开发的...

    理解SOA中的服务生命周期-运行时

    总之,理解SOA服务生命周期的运行时阶段,对于构建高效、灵活的SOA架构至关重要。有效的运行时管理确保服务能够无缝集成到业务流程中,同时支持未来的可扩展性和适应性。通过合理的服务分层、灵活的复合、细致的监控...

    架构设计师与SOA(二)

    1. **松耦合性**:在SOA架构中,服务之间保持低依赖关系,允许独立修改和更新而不影响其他服务,增强了系统的灵活性和可维护性。 2. **位置透明性**:服务调用者无需了解服务的实际位置,只需知道服务标识,提高了...

    JAVA教学中软件分层架构思维方式的引导.zip

    在Java教学过程中,引入软件分层架构思维方式是至关重要的,因为它不仅帮助初学者理解复杂的系统设计,还能培养他们良好的编程习惯和项目管理能力。软件分层架构是一种将应用程序拆分为多个独立、相互协作的组件的...

    Webservice良药还是毒药

    在接口层实现Inter-SOA解决方案,在业务层实现Intra-SOA解决方案,这样的分层架构能够更好地满足企业的需求。 ### 结论 综上所述,WebService作为一种技术手段,在SOA架构中扮演着重要的角色,但在使用时需要谨慎...

    系统架构与分层

    本文主要探讨了系统架构的基本概念、分层设计以及面向服务的架构(SOA)和基于J2EE的多层结构设计。 首先,架构(Architecture)是软件系统的骨架,它决定了系统的整体结构和关键组件的组织。Rational Unified ...

Global site tag (gtag.js) - Google Analytics