对SOA的一些思考

        在国内一家大型的通讯设备制造企业的IT部门工作的3年,让笔者对企业应用软件有了更深的了解。在我门公司,IT部门自主开发和维护着支撑企业业务的大多数软件系统,少量外购的软件,也要由我们进行二次开发以适应公司的特殊情况。目前IT部门开发和维护的软件系统总数有数十个。这些系统绝大部分采用J2EE和.NET开发。早几年的时候,公司还没有统一数据库,各系统自主选择,Oracle、DB2、SQL Server都有,现在基本上都统一到Oracle上了。我刚进公司的时候,各个系统之间的数据交换和互操作还不是太多,基本上是独立应用。到最近几年系统之间的数据交换越来越频繁。由于公司统一了数据库平台,这种数据交换基本上都是在数据库层面进行,通过对外公布视图,或建立DB Link进行远程操作。笔者负责的几个系统,涉及与外系统的数据交换,目前基本上都是采用这两种方法。
        最近看了不少关于SOA的文章,我就在想,如果把SOA应用到我们公司,会是什么样子呢?我们公司的情况与很多大公司一样,有应用多年的非常复杂的软件体系。妄想在一夜之间把整个企业应用体系转向SOA可以说是 Impossible Mission。如果由我来规划,我会首先把各系统共有的一些功能抽象出来,采用SOA构建。一个最明显的例子就是:身份验证与权限控制,这是所有系统都免不了的。另一个例子是工作流(审批流)。有意思的是我们的IT部门曾经想统一工作流调用,为专门成立了平台项目组,结果他们输出的产品是一套.NET装配件,可想而知,这是个失败的尝试,根本没有人费力去使用。如果构建基于SOA的平台系统,则整个身份验证与权限控制,或工作流都表现为一系列的Web Service,应用系统只需要按约定调用这些服务即可。
        实现平台功能的SOA化是整个企业应用结构转向SOA的第一步,下一步则是逐步把各个具体的应用也实现为Web Service。如果整个企业的所有应用都转向了SOA,那么从客户端看,应用系统之间的界限就已经消失。通过在客户端调用不同的服务,可以非常灵活的组合功能,以满足用户多变的需求。这对于IT部门来说,是一个巨大的进步。从笔者的切身体会来看,任何一个企业应用在生命周期中都会遇到频繁的业务流程重组、业务逻辑变化,而SOA的出现为我们提供了灵活重组业务,改变业务逻辑的强大手段。
        到最后的阶段,我们可以把公司对外的接口提供为Web Service,并要求我们的合作伙伴对我们提供Web Service,把SOA延伸到整个供应链。

转载于:https://www.cnblogs.com/Ericfan/archive/2006/05/27/410556.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值