商业生态网络是我们作为不能免俗之人所在的生态系统,在市场环境越来越不确定的情形下,消费者和生产者的边界虽然日益模糊,但是个性需求与规模经济的搏斗俞演俞烈,不断造成有限资源的巨大浪费,本人试图通过实践来解释这个现象,以寻求最终的解决之道。初步的研究成果认为时间链可以通过对生产能力的韧性链接来兑现需求,而不需要一定通过“成品”来兑现。这个研究与实践从2007年12月1日开始。.........

SOA的群聊体会(野生项目笔记21)

上一篇 / 下一篇  2008-03-01 15:29:42 / 个人分类:野生项目笔记

查看( 30 ) / 评论( 4 )

    为了一个群聊的资料准备,找了许多SOA的资料,确实很有意思。原来我们所做的许多事情都是基于这样的一个需求环境啊。

    最近和万老师讨论了许多项目的问题,很深很细致。如何在生产现场和支持现场实现便利的集成,是一个很具体细致的东西,这比较符合SOA的思想。

    事实上SOA还缺乏标准,现在看来,这个标准只能等到谁最先深入到用户的心再说了。

    现在将2月27日的群聊活动中一些观点贴出来,供大家参考。自然也为自己做一个备份。时常来翻翻,对工作给予更多的启发。

---------

主持人的话

虽然我们对于SOA的认识还是模糊的,甚至是反感的,但是我们清楚企业需要的是即便是异构的系统,也要通畅使用,如臂使指。我们的焦点将通透到最根本的,异构如何同根。

纪要

    怎样描述SOA

 是不是所有通过松耦合、面向服务的方式作的产品都可以叫SOA产品?

    大连理工向楷说“SOA一种框架,用来指导设计软件,软件做的像硬件一样可以装卸”。深圳宇斯盾Eric认为“如果把软件做的像硬件一样可以随意组装,那还要学习计算机开发啊,是不是可以不学习了!”。主持人提供了关于SOA的定义(面向服务架构SOAService-Oriented Architecture)是一种架构模型和一套设计方法学,其目的是最大限度地重用应用程序中立型的服务以提高IT适应性和效率。它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。SOA的关键是“服务”的概念,W3C将服务定义为:“服务提供者完成一组工作,为服务使用者交付所需的最终结果。最终结果通常会使使用者的状态发生变化,但也可能使提供者的状态改变,或者双方都产生变化”。http://bbs.topoint.com.cn/showtopic-69703.aspx,以及仲萃豪先生在2006年的演讲录音稿SOA面向服务的体系结构》[seca1] 

 

SOA还是只见了个影子

看了SOA的一些资料,越看越糊涂。好像是IT专家谈论的事情。我的理解:SOA应该面向非专业人士。

去年周振在德国碰到一个专门做系统集成的系统架构分析师,就讲到这一点,目前还是概念阶段。

conan看过一些论文,基本上都是概念性的提出一个基于soa的系统,但是都没有给出过实现。如果让使用者说出自己的感受,从而让我们这些对这个SOA产品不理解的观众变为理解SOA。有人说web service就是一个soa的典型应用。

  钟紫剑说,2000年在软件研发部公司,老总是硅谷回来的,研发部经理是英国回来的,当时他们提出来的一种概念和SOA很相似:就是大家建立一种统一的接口标准,来建立一种共同遵守的规则。而CMM也是出于这样一个目的的。因为,我觉得SOA可以是一种好的名字,但会让国人有误解,把SOAOA结合到一起,我听过很多次这样的说法。

 

 SOA标准与大利益集团的利益

因为要做到真正的soa,势必所有的soa供应商都遵从一个标准,这在目前显然是不现实的,当然在朝这个方向在走,但很艰难的,因为涉及到利益太多。就像微软的open xml就是类soa,但概念是很好的,确实很好,但也是信息需要融合,集成度提高再提出来的概念范畴的。比如一个地方实施系统,不管在企业的erp系统,就举个例子,在企业里有个erp,然后又引入了crm,但这两个不是同一个供应商的,这时候soa就可以显示出优越性了特别当还要去收购别的企业的时候,而别的被收购企业也是用第三方的erp,那也是soa显身手的地方

SOA应该是一个通用标准。让用户在soa平台上像制作网页一样完成业务构建、调整。

像一些有名的公司都推出了自己的soa的产品,bea,ibm等。这和软件总线 系统集成的区别在哪里呢?

其实中国有多少软件公司乐意接受不是自己制订的标准啊。

XMLwebservice被各个厂商接受的接受的程度越来越多,这或者是一个方向。没有web service的,可以给衍生出interface to soa,这样大家可以沟通了其实企业现在将一个系统聚合到另外一个系统重建的成本将比集成的少SOA的意义又会在哪里?

这么说呢,SOA就是一个软件融合与规划的平台,xml只是技术的实现手段。soa有技术层面的,也有服务层面的和管理层面的。

 

它就是技术厂家在玩一种概念 当然,这种概念对大家来说还是很有用的。也有钟紫剑提出的因素,但是我觉得是有了这个概念才会出现未来的可能。

 有一次和一位记者谈SOA我说可能是一些大的利益集团在控制它。厂商都在看到这个方向带来和利益,谁都得获这个的主导权。象硬件的INTEL获得PC架构的主导权一样。我们现在还不能看到这点对于厂商--超大的,如IBM到底有什么利益,但是确实表面上 它的诉求是为用户的。但同时从辩证的角度的来讲,也只是有这样的诱惑,厂商都愿意为此付出巨大的技术投资来推动他的发展。但想到PC这一架构来讲,也是公开的,但是INTEL却无形中将他自己的产品变成架构中最核心的部分。

或者软件厂商也在寻找这样的机会软件厂商似乎还没有发现建设性的逻辑应该是刚才谁说的,要想统一这个逻辑涉及的利益方太多了。这或者在未来会有一些厂商会联盟,如现的蓝光DVD联盟。目前国内企业应用情况,我认为还是替换更现实。

 

异构系统如何协同?[seca2] 

XML+webservice

这样理解软件,软件以业务为基础。工具只是辅助实现软件的要求,在前几年的时候提到了EAI的模式,来实现,企业业务的集成 来保证企业业务,能在企业的业务流程中,畅通。

两个异构系统中之间我觉如我们跟洋鬼子之间一样,由于语言关系而无法沟通,那么这时就可以大家采用同一样语言在沟通,我理解中的XML就是此类的东东,但XML可能比较初步级的,对不?可能就是如何通过什么手段去实现了。

我们实施过MSCRMSAP R3的集成项目,我们采用了XML,蛮好,我们不需要去了解SAP R3的技术,我们只要他定时向我们提供数据服务就行了。而且我们要求的数据有变化时,他提供的服务也可以方便作出调整,这是否可以理解为SOA的一种应用实例呢?没错,就是为了服务,就是为了接口的透明化,提法是soa,基本的组件用xml,很简单的文本来处理,这样大家也就省事了。

有人提出:但我关心一点,就是我所知道的属于SOA的应用主要XMLwebservice,那是否更为高级的应用是什么?

周振提供了一段经典的英文资料[seca3] ,似乎是说明SOA的效用的。

 

系统重构也是一条解决异构系统问题的路子

事实上现在的软件技术已经能够支持迅速重构局部系统的能力,可以通过逐步替换的方式来满足。

重构把所有的应用软件放在一起,好多企业不会这样选择的

数据库统一的问题如果有办法,也就有办法。不是巨无霸的大型企业的话,统一在一个数据库里面是很现实的。说到这一块,GONGO说得对,从技术角度是完全可行的,但实际企业在进行产品选型时却把应用考虑远高于数据库,故企业内部出现多种数据库类型就成为可能。

软件是什么?就是对数据库进行操作,共用的“记事本”, 数据库统一,数据结构上的规范是本源。而厂商又从自身利益出来,并不去支持其它的数据库,如OracleMS相应的软件都不支持在对方的数据库跑就是这个原因,这时技术被放在次要位置。

 

CIOSOA中的角色

如今的CIO应该首先是一个商人,其次才是技术领袖。这个时候需要用户自己维护利益。因此CIO要强势一点。 但在实现中,却有时让CIO难以选择,假设现企业很急需要上一个项目,在原的技术体现的产品表现的出来的特性又满足不了需求,而满足需求的产品跟现的系统是异构的,作为CIO,如何处理?应用优先企业以业务为主,还是以技术为主。主要是看企业自己的权衡?只有企业自己的实际情况。只有实在闲的没项目做的cio采取做基础架构整合。

 

 


 [seca1]这个讲稿请大家参见附件。非常值得一看,讲得很通俗。

 [seca2]从这个角度谈SOA,似乎位置比较正确。

 [seca3]believe that SOA can help businesses respond more quickly and cost-effectively to changing market conditions . This style. of architecture promotes reuse at the macro(service) level rather than micro(classes) level. It can also simplify interconnection to - and usage of - existing IT (legacy) assets.


TAG: 时间链 野生 项目 SOA

商业生态网络之时间链 王甲佳 发布于2008-03-01 15:48:23
仲萃豪先生在2006年的演讲录音稿SOA面向服务的体系结构
仲萃豪先生在2006年的演讲录音稿SOA面向服务的体系结构

     我今天的报告是介绍SOA的,我们主持人给我出了一个题目,网上发给我的一个题目,我一看这个题目也给大家介绍一下,我是第一个报告,所以也希望大家听一下是什么内容。我根据这个情况,20分钟我就报告完了。 我根据这几个题目来介绍以下,因为我以前讲过几次,所以穿插起来讲一下。我介绍的题目是这几个,第一个是产生背景、解决什么问题?第二个是SOA是什么?它的二大目标。第三个SOA的实现框架与其特点。还有SOA是适用于何处、应用实例?最后介绍一下如何构建SOA?再一个是告诉大家如何去入门。 我们的分布式系统出来以后,如税务的数据大集中,银行的通存通、机票订票,这都是三层体系结构。它提供了一种解决方案,实现了一种紧耦合的分布式系统,组成一个自成体系的单个应用燃烧。而如何将现有的多个应用燃烧,通过网络将其整合成一个集成系统,以能做得更好。 随着网络的普及化,越来越迫切需要将现有多个应用系统集成。有大系统的时候最好的解决方法就是SOA,下面我来介绍一下。 我们国外讲起来是从2001年开始,已经取得了实际应用。现在国内开始不久,现在国外也是开始不久,如果我们现在加快努力的话完全可以赶上,因为差距不大

    第一个是讲什么是SOA呢?它是面向服务体系的结构,面向组建和面向服务的,其实他是一种体系结构,用构建组成一个系统,一个模型,这种模型才能松耦合的办法,有它也可以,没它的也许可以,把现有的系统组成新的系统,许多系统都能易构平台,不同平台上的东西协同起来,能够相互交互,这个采用一种服务的方式。 所以这做的是IBM公司提出来的两句口号,这是整合创新,随需应变。反应了SOA的特点,第一个特点灵活性,是第二个是适应变化。满足了这两个特点就是SOA。松耦合佩戴起来很方便,可以随需应变,随需应变还有一个特征就是可以提供BPEL。 第一个目标是跨平台,不再使用CORBA的方式来实现SOA,CORBA很难做,后来发现用WEBService这个东西大家很容易接受,很容易浏览同样我也可以交互,同样可以利用把它继续发展下去,WEBService广泛接受,在这个基础上,我们用一个WEBService的描述语言来描述,这个语言是满足XML的。第二个它传输的是通过简单存取协议,是由这两个东西组成的东西,WEBService是大家公认的一个规范,是一个标准,听到WEBService很快能接受,比学CORBA、.net都方便多了,所以很快推出来了。 在这个推测中间还有重要的一点就是能用松耦合的办法,松耦合的办法就是相当于我们现在采用的中介组织,像劳务市场一样,中介组织转一转弯浪费精力,还要花费钱,同样得到好处很大,能够很快的做。 现在面向服务的系统里面一个最大的特点就叫“面向服务”。“面向服务”有什么特点呢?为什么叫“面向服务”呢?我们举一个例子,我们社会由什么组成,不管怎么组成最好的还是市场经济,市场经济什么情况呢?每个人都有自己的服务,每个单位、每个公司、每个个人都是属于社会里面能够做贡献的,能做什么事情,这个做什么事情就是服务。这种机构就很容易合起来,我也有服务我就参加进来,这样通过服务相互联系起来,通过中间的组织连接起来。我们这里的服务是跟构件不同一点,我们是通过SOA协议来实现的。 我们是有一套机制,现在搞得已经很成熟了,这套东西我们不讲了。

     下面我们讲一下SOA怎么实现的?这张图是IBM网站上下的,我感觉比较好,这是其中的一部分,一部分是功能,SOA就是要服务功能属性,服务的时候有一个中介组织,服务是一层层的下去,最底层是传输协议,还有一个固层,我们后面会讲到,这套东西有了也会实现,功能实现以外很简单,还要保证它跟网络上的通信,这里就有数据传输的时候,还有安全性的要求,所以在体系结构里面出现好多的中间件,同样网络上面也有中间件需要做,这就是旁边的这部分。这就形成SOA的架构。一个是服务质量好,有安全性,还有传输的可靠性等等。 到现在为止,有了SOA是可以用CORBA也可以用其他,可以用中间件什么的,这里面比较集中,包括服务质量和服务通信的时候提出来用ESB,企业服务总线,用企业服务总线实现,用一个总线相当于PC总线一样,这要求通过总线实现就更简单,所以用ESB来实现它的总线功能。ESB实现把这个组成起来,现在国外好多公司都推出了ESB,国内的一些公司也有推出。

    我们做的时候要注意,这是最早的,最先对象、组件、面向服务,我们有一批系统可以面向对象做的,是比较方便的,我在计算机方面写了一篇文章,是操作系统的结构设计,实际上就是面向对象的体系结构做的,是比较早的。可是后来有一些东西不适应了,哪些能用呢?后来我提出用异构的办法做,就像我开发新系统的时候,我用构件的系统来做,构件提出以后通过远程调用的办法来做,通过TCPIP协议来做。 我们要做到随需应变我们还有其他一部分要做,我们怎么去实现用SOA?除了松耦合和随需应变以外,他用服务的办法来做,我们可以用用户需求,很快我们就推出了一个BPEL,这是相当于我们过去C语言一样,BPEL用公式的方法写出来,也有一系列的东西,这一套东西逐渐成熟,所以现在好多公司像清华大学,他们就有需求用XML,用它写工作流,工作写出来以后就不管了,检测信息就完了,后面不用管,这个很快,这个办法就很适用,你写一个需求,写完以后新的办法就自动转换变化过去了,所以现在开发这个系统很快,写出用户需求后面可以自动转化过去,这套能随需应变,这个平台都有了。

    最后我们归类一下SOA有什么优点?SOA它能把现有的资产很快的集中起来,你开发一个系统的时候,我上次碰到一个奥运会项目,北京自动交通,它要做一个试点,是奥运会交通的问题,北京交通阻塞嘛,可能它没有一个SOA的概念,体系结构概念没有,当时我们评审它很难,做不好,他给五千万也做不好,可是后来我给了几个报告,介绍给他们,当然对SOA不是很清楚,但是影响挺大,如果他们有八个系统,如果八个系统200万都可以做出来,北京现有的东西使用起来再加一加就行了,这样就快了,整合现有的系统最多半年,一般三个月可以做出来,效果也好,而且能够写流程很方便。 我是六年前最后一个博士生论文就是它,并获科学院奖,我的学生是证券公司的总经理,他是用SOA开发的,当开发之后他把消息告诉我,我感觉很好,去年不到三年时间,有很多公司都在搞,有很多公司开发布会,我每一个都去了,听了他们的报告,我听着他们的影响系什么样的?他们对SOA的标准大家都定了,他们把自己的东西结合起来,大同小异,名字解释不一样,SOA的定义不一样,可是做的都是一回事情,所有的大公司都来争这个瓜。现在有ESB这个最关键的,我感觉现在CORBA不行,.net的系统逐步要转后SOA结构,可是J2EE技术水平比较好一点,这两家很难说一个上下,我觉得有许多还要.net来做。
     我们比较一下,一个是服务,一个是构件。Web服务器的描述语言和协议来做的,一个采用处理中间件来做,一个是采用ESB来做,一个是松耦合,一个是紧耦合做的。一个是随需应变强一个是弱。 我们今天的正邦公司是国内第一个用SOA技术开发了上海证券公司的管理系统。中和威公司开发了ESB的SOA运行平台。还有北京市市科委投资1800万,北京也要做这个事,国家科委也要做,最近网上已经公布了,报告上面看不到SOA这个字,但是里面的技术部分都有SOA。 现在国内有这么多的项目在做,我们不讲了。我们的报告有几个数字,我们估计2008年基于SOA的软件产品将占有70%的市场份额。我们要做的是四个层次,今天没有时间讲。
    最后讲几句,其实现在DeveloperWorks上面都有,我根本来不及看,你要挑最好的东西看,我建议你们看这个文章“SOA and WebService新手入门”,我已经写了一部《软件开发方法》,已经讲过四五次了,博士生都听我的课,也有用UML技术。它的基础理论是什么,我把软件开发的东西浓缩了一下。大家如果有兴趣可以和我联系。我的报告到这,谢谢大家。
光明顶 萧秋水 发布于2008-03-03 08:44:57
学习一下。然后再发表意见。
天堂中央 天堂中央 发布于2008-03-03 09:11:50
系统重构也是一条解决异构系统问题的路子,确实如此!
关键是企业沉淀应有的文化,培训机制,在此基础上,集成或者更换都是可以成功的,而投资大部份时候对可以申请到项目资金的企业来讲都变得...
商业生态网络之时间链 王甲佳 发布于2008-03-03 09:34:26
天堂兄思考的深入!
如何沉淀是一个重要的问题.另外,类似EAS-BOS这样的产品对于重新构造一个系统的作用是非常大的,主要看怎么实践怎么用.

SOA存在的根本是技术进步使许多大公司的巨额投资贬值太快。其实大部分系统重构的速度是非常快的。而且数据又是可以继承的。
......

QUOTE:

原帖由 天堂中央 于 2008-3-3 09:11 发表
系统重构也是一条解决异构系统问题的路子,确实如此!
关键是企业沉淀应有的文化,培训机制,在此基础上,集成或者更换都是可以成功的,而投资大部份时候对可以申请到项目资金的企业来讲都变得... ...

我来说两句

(可选)

Open Toolbar