您的位置:首页 > 其它

SOA解决的问题----记录今天在客户那边讲解SOA

2010-09-03 00:31 225 查看
大型企业很多的IT系统,很早之前多是编程直接实现在操作系统之上跑的独立应用;之后出现了很多技术平台J2EE && .NET , 在他们之上开发组件,模块来实现应用;还有很多基于软件套件的应用,ERP && CRM. 出现4类问题。

1. 由于使用了不同的语言和技术平台,应用的接口多种多样,系统互联过于复杂。系统各自独立。无法快速实现覆盖多个已有系统的新的功能。

2. 系统复用性差,很多公共模块重复建设。

3. 没有统一的数据标准,没有统一的业务数据结构定义。没有标准的主数据,同一实体在不同IT系统里有内容不同的记录。

4. 没有统一的监控界面。如果业务跨多个已有系统,无法跟踪业务的进行状态。

SOA是一种IT系统规划和设计思想。主要是

1. 将已有系统按业务功能划分为具备一定层次的服务,服务具备标准接口。

2. 构建新应用时尽量复用已有系统的服务,开发新功能的服务,然后把这些服务组合成应用。

3. 使用ESB作为IT系统的服务总线,所有的服务都运行在ESB上,包括实现新功能的新服务,和连接已有系统的服务。

SOA可以解决以上4个问题。

1. 已有系统划分为服务,服务对外有标准的接口实现技术,使得系统之间的互联变得简单。即便由于性能等其他方面的原因,使得服务接口使用了多于一种的实现方式,但ESB可以帮助开发者实现异构接口之间的转换,不用开发者自己麻烦来做这部分工作。

2. 系统暴露了服务接口,自然可以复用这些服务的业务功能实现。

3. 尽可能使用系统所属业务领域的行业数据标准,即便已有系统内部改造代价太大无法进行,那至少已有系统封装的服务接口使用标准的数据定义,先使得系统之间互联的数据标准化; 提供获得标准主数据的服务,有监视流程让同一实体在多个系统中的不同记录保持内容的一致。

4. 除了封装系统业务功能为服务,还可以封装系统的监控接口为服务,基于这些服务可以构建一个集成的监控系统,在一个界面上监控企业的所有IT系统;其次ESB工具本身提供监控功能来监控运行在其上的各个服务,通过对服务接口调用情况的监控来达到监控各个系统的目的,虽然不知道系统内部运行情况,但可以通过了解接口调用情况来掌握系统的运行状况。这是黑盒的监控方式。如果一个业务流程复用了多个系统的多个服务,那么通过对这些服务接口的监控就可以了解这个业务流程的运行状态。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: