SOA融合开发与集成实现按需服务仓库
作者:程朝晖
从IT的"黑洞"谈起 最近参加了一个IT的高层年会,在会上众多的社会学家、金融专家和IT人士都谈到了IT的黑洞问题。让人们觉得IT似乎已经成为阻碍行业发展,乃至社会进步的障碍。IT的'丑陋面'竞相暴露: 难道IT真的成了鸡肋?难道我们可以舍弃IT?我想原因很简单,IT与业务其实就是一对发展中的矛盾共同体,互相依存、促进与平衡: 因此,我们看到的其实是如何发展IT的问题,而不是那些耸人听闻的需不需要IT的问题。正是有了这种矛盾的持续存在,IT才会有持续发展的土壤。 传统的开发或是集成,带来了复杂 传统来讲,IT实现业务的方式无外乎定制开发项目或是专业集成项目。也就是为了开发而开发,为了集成而集成。 当立为开发项目时,就根据需要确定集成商、开发商。然后选择相关的开发平台,如服务器、数据库、应用服务器、开发工具等。而在不同的开发项目中很有可能选择了不同的应用商,而采用了不同的开发平台。这样就带来了开发越多,未来集成越是困难。 而在专业集成项目中,由于大型企业的应用必须与一个或多个数据源进行业务数据交互,部分数据源可能就是其他的应用。换句话来说,应用在没有集成的情况下无法进行开发。应用集成会包含一定的应用开发任务,如开发和组装组件,将它们连接到后端系统,实现过程流和工作流,开发用户界面,以及进行测试和调试。而如果在集成项目中只根据现有的各种系统,选择一个集成商,采用一个专门的集成服务器,如门户集成服务器或是信息集成服务器或是应用集成服务器,这样是远远不够得,因为对于在集成过程中新的业务流程所需的再次开发就会捉襟见肘。 传统的三种最通用的应用集成方法是点到点集成、企业消息总线或中间件的集成(EAI)、基于业务流程的集成,都不十分理想,主要问题在于: 所以,当用孤立的眼光来看开发与集成时,矛盾重重。而其实开发与集成已是一对矛盾共同体。任何定制开发的应用都需要去访问别的应用,也需要被别的应用来访问,因此开发离不开集成;而任何集成也都是为了新的应用需要而来,当然会有新的业务流程的开发,所以集成也离不开开发。 结论很简单,如果独立地考虑应用开发和应用集成是毫无价值的。而且传统的应用开发和集成方法不够灵活,未能基于标准。因此,传统方法无法构建能够满足动态企业变化需求的、敏捷的企业IT环境。 SOA融合开发与集成,化繁为简 三种传统的应用集成方法都很复杂、昂贵,并且不灵活。这些集成方法难于快速适应基于企业现代业务变化不断产生的需求。基于面向服务架构 (SOA) 的应用开发和集成可以很好的解决其中的许多问题。 不同的行业分析家或专家对SOA有不同的定义和理解。Gartner 提出了SOA 这一术语,并定义如下: "面向服务的架构是一种客户机/服务器软件设计方法,其中应用由软件服务和软件服务使用者组成(也称为客户机或服务请求者)" 。SOA 与多数一般的客户机/服务器模型不同,它明确地强调了软件组件之间的松散耦合,以及其独立标准界面的使用。CBDI 论坛如下定义了"面向服务" (SO),重点强调了服务的提供和管理: "SO 是业务和技术服务的提供、使用和生命周期管理,这些业务和技术服务是自描述、松散耦合和以技术中立的方式来实现的。"SOA 描述了一套完善的开发模式来帮助客户端应用连接到服务上。这些模式定制了系列机制用于描述服务、通知及发现服务、与服务进行通信。 不同于传统的应用集成方法,在 SOA 中,围绕服务的所有模式都是以基于标准的技术实现的。大部分的通信中间件系统,如 RPC、CORBA、DCOM、EJB 和 RMI,也同样如此。可是它们的实现都不是很完美的,在权衡交互性以及标准定制的可接受性方面总是存在问题。 SOA 试图排除这些缺陷。因为几乎所有的通信中间件系统都有固定的处理模式,如RPC 的功能、CORBA 的对象等等。然而,服务既可以定义为功能,又可同时对外定义为对象、应用等等。这使得 SOA 可适应于任何现有系统,并使得系统在集成时不必刻意遵循任何特殊定制。 上一篇:在JAVA中如何实现长时间任务 下一篇:巧用tmpfs加速你的linux服务器 更多相关文章
|
推荐文章
精彩文章
|