技术开发 频道

SOA融合开发与集成实现按需服务仓库

【IT168 技术文章】

    从IT的"黑洞"谈起

    最近参加了一个IT的高层年会,在会上众多的社会学家、金融专家和IT人士都谈到了IT的黑洞问题。让人们觉得IT似乎已经成为阻碍行业发展,乃至社会进步的障碍。IT的'丑陋面'竞相暴露:

    IT部门,实实在在的成本中心

    IT正在从支撑业务、引导业务变为限制业务发展

    80%-90%的IT预算和IT人力都花在了维护老系统上

    新业务的推出都需数月,乃至年计,跟不上客户的需求和市场的反应

    难道IT真的成了鸡肋?难道我们可以舍弃IT?我想原因很简单,IT与业务其实就是一对发展中的矛盾共同体,互相依存、促进与平衡:

    *互相依存。现在一定没有人会怀疑业务离不开IT,如果没有了IT,任何的金融、电信、政务和生产制造业务都将瘫痪;而如果没有了业务的需求,IT也将失去存在和发展的价值。

    *互相促进。业务的发展要求IT不断地创新,如各个行业对于异地交易(通存通兑、通保通赔)的需求带来了消息中间件的发展;而同样地IT的创新也带来了新的业务模式,互联网的发展毫无质疑地带动了诸如金融业的网上银行、网上证券、网上保险,带动了电信的网上营业厅,甚至于直接影响我们衣食住行的网上商旅、网上商城,带来了许多新的商务模式。

    *互相平衡。业务与IT既然是一对矛盾体,那么任何一方的滞后或是超前都会带来另一方的"不安",都会表现为矛盾的激化,都会涉及到现有平衡的打破与再建。

    因此,我们看到的其实是如何发展IT的问题,而不是那些耸人听闻的需不需要IT的问题。正是有了这种矛盾的持续存在,IT才会有持续发展的土壤。

    传统的开发或是集成,带来了复杂 

    传统来讲,IT实现业务的方式无外乎定制开发项目或是专业集成项目。也就是为了开发而开发,为了集成而集成。

    当立为开发项目时,就根据需要确定集成商、开发商。然后选择相关的开发平台,如服务器、数据库、应用服务器、开发工具等。而在不同的开发项目中很有可能选择了不同的应用商,而采用了不同的开发平台。这样就带来了开发越多,未来集成越是困难。

    而在专业集成项目中,由于大型企业的应用必须与一个或多个数据源进行业务数据交互,部分数据源可能就是其他的应用。换句话来说,应用在没有集成的情况下无法进行开发。应用集成会包含一定的应用开发任务,如开发和组装组件,将它们连接到后端系统,实现过程流和工作流,开发用户界面,以及进行测试和调试。而如果在集成项目中只根据现有的各种系统,选择一个集成商,采用一个专门的集成服务器,如门户集成服务器或是信息集成服务器或是应用集成服务器,这样是远远不够得,因为对于在集成过程中新的业务流程所需的再次开发就会捉襟见肘。

    传统的三种最通用的应用集成方法是点到点集成、企业消息总线或中间件的集成(EAI)、基于业务流程的集成,都不十分理想,主要问题在于:

    消息总线和应用之间的定制或专有集成。与对等方法相比,EAI 和基于业务流程的集成减少了集成点的数量。但是,三种方法都需要在消息总线和每项应用间进行定制化或专有集成,并且,在每个集成点都需要采用不同的专有数据格式。

    消息总线和应用之间的紧密耦合。所有的应用都需要知道与其集成的其它应用的内部工作机制。系统之间的集成是粒度化的,并与消息类型存在紧密耦合关系。传统的 EAI 实现所使用的业务流程管理 (BPM) 工具是专有的。这妨碍了其他优秀标准产品的应用。

    程序化而非抽象式的数据访问。大部分数据访问、集成和转换工作(企业信息集成)都留给了开发人员采用人工编码方式来完成。企业IT环境中存在多个不同的数据源,开发人员要有不同的适配器来访问这些数据源、要有转换引擎来重新定义数据格式、还需要进行数据复制以实现数据的物理整合。要实现数据源的集成,开发人员需使用以上工具将集成需求编写到应用中去。尽管以上方法是可行的,但这既没有效率也缺乏灵活性。

    所以,当用孤立的眼光来看开发与集成时,矛盾重重。而其实开发与集成已是一对矛盾共同体。任何定制开发的应用都需要去访问别的应用,也需要被别的应用来访问,因此开发离不开集成;而任何集成也都是为了新的应用需要而来,当然会有新的业务流程的开发,所以集成也离不开开发。

    结论很简单,如果独立地考虑应用开发和应用集成是毫无价值的。而且传统的应用开发和集成方法不够灵活,未能基于标准。因此,传统方法无法构建能够满足动态企业变化需求的、敏捷的企业IT环境。

0
相关文章