原帖http://esoft.ctocio.com.cn/40/12134540_2.shtml
SOA规范的要求
SOA的规范要达到的要求主要有以下几点:
·统一的交互方式:这个目标就是解决上面异构系统之间的通讯问题
·服务品质:也叫做QoS,包括了通讯的安全,可靠的访问。每个服务能支撑的访问量是有限的,流量控制,机器资源负载分配等等措施都是保证服务质量的。
·依赖管理:大系统内部往往是小系统之间的耦合工作来完成,那么系统和系统间少不了就要产生耦合,或者说是依赖。那么SOA就需要有解系统间耦合的规定,不能让不同系统强制耦合在一起。
·高性能,高可用:协作的系统,当然要性能过关,客户用着用着说,怎么报出Exception了,或者说"系统正在维护,请耐心等待"
与其说SOA提出这些规范,不如说SOA提出了这些目标。实现了这些目标,那么至少说您的大系统、大软件是符合SOA规范的。
实现SOA规范的,可参考的标准有SCA和ESB。
SOA实现
首先大家不要误会,SCA和ESB不是2个对立的东东,他们不是麦当劳和肯德基,他们的关系类似于JPA规范和Hibernate实现之间的关系。ESB更像是个抽象的概念,而SCA是一个面向应用的编程和组装方式。使用SCA,开发人员基本不用考虑技术接口, 代码是纯业务逻辑。
SCA的发布服务:
SCA为了减少对现有系统的入侵,将现有系统的服务类抽象成接口,当然如果原先就是接口+实现类就更方便了。通过SCA配置默认将系统接口暴露成为SCA服务。至于具体的配置文件格式和相关实现类的配置Demo在此先暂时放一放。
SCA的调用服务:
调用服务的方式可以采用xml配置实现,借助Spring集成相关SCA框架的整合可以很方便的使用SCA服务完成自己的业务。这个有点类似Spring集成CXF,这个内容在此也先不介绍。
SCA支持的通信及其交互方式:
SCA规范规定通讯方式有3种方式,JMS、WebService、跟情况而定,如果应用处于同一JVM采用JMS,不同则采用WebService。当然了,通过扩展SCA也可以支持其他通讯方式。
对于系统间的依赖管理SCA并没做太多解决的规范,而调试跟踪也没提出具体规定性的方案。这当然取决于具体的SCA实现框架,或者借助其他开源工具,比如Maven、TestNG整合等等手工措施待见属于你们公司自己的基于SOA思想的SCA平台。
ESB和SCA不是竞争关系,ESB算是提出一些基于SOA理念的一些抽象概念,核心思想是基于消息中间件来实现系统之间的交互,将系统要通讯的消息动作放到一个统一的寻呼台(消息中间件),处理消息队列的时候,消息自身带着目的信息,之后就发送过去,完成业务逻辑,就相当于麦当劳有个中央总控,所有人都有一个随身携带着的寻呼机,客户来了买餐,前台打开寻呼机往中央寻呼台发送一条消息:“客人点餐,儿童套餐”,发送完毕后,中央寻呼机将此消息发给了后厨,后厨赶紧炸薯条,烤面胚,微波炉热牛肉。一切皆由消息总线进行任务分发。
其实ESB相当于承担了SOA提出的统一服务方式进行交互。
sca 的实现 tuscany apache项目http://tuscany.apache.org/
esb 开源 mule serviceMix等等。
简单点就是camel+activemq.
分享到:
相关推荐
4. **聚合根**:例如,一个论坛板块可能就是一个聚合根,包含了帖子和子分类等子实体,所有对这些子实体的操作都必须通过聚合根来进行。 通过深入研究Jivejdon3论坛的代码,我们可以学习到如何有效地组织代码结构,...
因此,我们将构建一个基于XML的非官方后端。 V2EX V2EX是技术和设计社区。 它提供了一些API来获取最新帖子。 甘克 Gank.io是一个网站,为程序员提供了一些有趣的框架和项目。 因此,它也推动了软件工程方面的...
6. **集成与扩展性**:一个优秀的OA系统应具备良好的集成性和扩展性,能与其他企业系统(如ERP、CRM)无缝对接,同时允许添加新的功能模块。这通常需要遵循SOA(面向服务架构)原则,使用API接口或消息队列(如...
本实训项目的核心目标是设计并实现一个个人论坛系统,该系统采用J2EE框架(Struts+Spring+Hibernate,简称SSH)进行开发,主要功能包括用户登录、注册、删除、修改个人信息以及帖子的增、删、改、查等。 - **系统...
6. 面向服务架构(SOA):虽然这是一个简单的BBS,但开发者可能采用了面向服务的设计思想,使得各部分功能模块化,易于扩展和维护。 7. 用户认证和授权:为了保证论坛的安全性,开发者会实现用户登录和注册功能,...
- **MySQL或Oracle**:BBS系统通常需要一个关系型数据库来存储用户信息、帖子、回复等数据。安装说明文件可能包含了数据库的配置信息,如`database`目录下的文件,可能包含数据库创建脚本和连接参数。 - **ORM框架...
标题中的"SSH做的BBS"指的是使用SSH(Struts2、Spring、Hibernate)技术栈开发的一个论坛系统。SSH是Java Web开发中常见的三大框架,它们分别负责不同的职责: 1. **Struts2**:这是一个MVC(Model-View-Controller...
在这个名为“绝对不是论坛”的项目中,我们很可能是要创建一个简单的Web应用,尽管名字暗示这不是一个传统的论坛系统,但我们可以从中学习到ASP.NET的一些基础和关键概念。 首先,让我们从C#开始。C#是.NET框架的...
本篇文章将聚焦于".NET社区网站源码",这是一个基于C#和.NET框架的开源社区网站项目,名为DotNetEyeV10。通过对其深入剖析,我们可以了解如何构建一个功能完善的社区网站,以及.NET技术栈在实际项目中的应用。 首先...
在当今互联网时代,BBS(Bulletin Board System,电子公告板)论坛作为在线社区的一种重要形式,为用户提供了一个交流思想、分享信息的平台。本项目专注于利用J2EE(Java 2 Enterprise Edition)技术来设计和开发一...
### Moodle学习总结 #### 一、Moodle简介与特点 Moodle(Modular Object-Oriented Dynamic Learning Environment)...对于教育机构而言,Moodle是一个非常有价值的工具,可以帮助他们有效地管理和优化在线教学过程。
这将吸引更多的技术爱好者参与进来,共同构建和维护一个更强大的社区平台。 总的来说,LBXP论坛国际版3.0的更新涵盖了软件架构优化、用户体验提升、功能增强、安全性保障和性能优化等多个方面。通过对源代码的深度...
综上所述,基于Java企业级平台的社交管理系统充分利用了Java的技术优势,构建了一个高效、安全且稳定的社交平台。从开发到运维,整个流程都遵循了企业级的最佳实践,确保了系统的高质量和可靠性。
在C#论坛社区程序中,我们能深入学习以下几个重要的知识点: 1. **C#编程基础**:C#是微软开发的一种面向对象的编程语言,广泛应用于Windows平台和Web应用开发。了解其基本语法、类、对象、接口、异常处理、多线程...
11.2.4 一个高质量的缩略图水印模块 133 11.3 使用第三方组件生成缩略图水印 136 11.3.1 “AspJpeg”组件的功能特点 136 11.3.2 在项目中添加“AspJpeg”组件 137 11.3.3 使用“AspNetImage”组件生成缩略...
CSDN Reader是一个利用C#编程语言开发的网络应用,它的主要功能是收集并展示CSDN技术论坛的每日新帖,为开发者提供一个便捷的学习和获取最新技术资讯的平台。这款工具充分体现了C#在网络编程中的强大能力和灵活性,...
前段时间一直在做一个ERP系统,随着系统功能的完善,客户端(CS模式)变得越来越臃肿。现在想将业务逻辑层以下部分和界面层分离,使用Web Service来做。由于C#中通过直接添加引用的方来调用Web Service的方式不够...