java 模块化 soa_构建SOA风格的应用

当下,SOA这个词已经深入人心,几乎没有人不说自己设计的应用是遵从SOA的。

很多人对SOA的理解就是分层、模块化、面向对象。。。这种理解对不对后面再说。先看一些问题:

我今天看了一个开发团队的开发工程包结构,部分类的命名及组织产生了如下印象: 每个usecase是一根根烟囱

烟囱与烟囱之间连模型都没有共享。其实业务模型是有设计的,主要是实现模型没有保持业务模型的结构特征,全部成了“值对象”,开发人员天天把这些值对象叫做领域对象。

有三层,是Struts帮忙定义的,三层分别根据usecase分包

这也是我们宣称的SOA系统!!!!连最基本的模型设计、模块设计、分层设计都没做好,难怪年年重构、年年完成不可能完成的任务!!!我确信这种重构、这种不可能完成的任务还会年年持续下去!!!

究竟什么是符合SOA风格的系统?先看看SOA宗师IBM的一篇文章:

我来总结一下。

SOA能达到什么目的:

1.实现业务与IT的一致性;

2. 创建更灵活的反应更敏捷的IT基础设施;

3. 简化集成实现;

SOA要怎么做? 从应用程序到流程和服务。消除应用程序,将软件系统创建为一组由业务流程进行协调的交互服务。每个服务实现企业上下文中定义的特定业务目标或功能,业务流程表示必须实现的业务解决方案。这个讲的比较抽象,我的解读就是服务表示一个最细粒度的业务目标或功能,由业务流程来编排这些服务,实现更大粒度的业务目标或功能,业务流程也是服务。注意,这里隐式的定义了服务的概念,服务是自治的,可替换的,可被多个流程编排的,不耦合流程上下文的,是直接面向业务目标或功能的,不是一个公共函数库,服务不是封装了数据和方法的类。

SOA的服务基于业务资源(对象)定义,不支持操作者的执行上下文,而是支持业务资源(对象)。这里的业务资源是指业务实体。业务实体也是来自业务的。所以,SOA能保证IT与业务的一致性。

别再说你的应用程序或烟囱遵循SOA的架构风格!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值