从世界是平的看软件架构

互联网 | 编辑: 江海明 2008-07-31 14:09:00转载

2006年是中国辞旧迎新的一年,在过去的这一年中,炒楼的炒铜的炒油的炒股的炒期的,大家炒的热火朝天;但如果要评出个炒得最火的,我还是选炒书的—托马斯·弗里德曼在2005年写就的热门书籍《世界是平的:21世纪简史》在06年发行热到疯狂,连带他在1999年发行的《世界是平的:“凌志汽车”和“橄榄树”》也进入热门图书排行榜并多次重印发行。

在《世界是平的》书中,弗里德曼简明地概括了今天我们所处的时代——全球化3.0新纪元。世界从小缩成微小,竞赛场也铲平了。在“1.0”时代,推动全球化的力量来自国家,在“2.0”时代,推动力来自企业,在“3.0”时代,推动力则来自个人。个人的力量大增,不但能直接进行全球合作,也能参与全球竞逐。托马斯·弗里德曼用这本书揭开了笼罩在这个世界上的神秘面纱,深入浅出地讲述复杂的外交政策和经济问题,为读者们释疑解惑。

世界是平的,“平”即指“全球化”。从经济学中的交易这个角度来看,全球化的表征分为三类:其一是交易范围的扩大,第二是交易费用的降低,三是交易规则的变化,而这三者又相互推动,造成了交易的繁荣。

其实我们所处的应用技术开发领域又何尝不是如此呢?我们的业务系统越来越多地需要和外部系统及legacy(遗留)系统打交道,系统间的接口交互越来越频繁,我们的接口规则也发生了巨大的变化,三者交叉,造成了软件业务系统的繁荣。

《世界是平的》也告诉了我们面对“全球化”趋势应该做些什么,应该用什么理念应对。那么我们应对应用技术开发领域的“全球化”又应该做些什么呢?面对Integration(整合)大潮流,业界已经有了多套方案供我们选择,下面我们一一道来:

◆Jini

早年接触Java技术的同仁大都听过Jini这个名词。Sun公司标榜Jini技术可让软件和硬件组件透过网络寻觅彼此,进而互相支持。但和早期的Java技术一样,Jini最初的目标是为新奇的消费者装置使用者服务,这明显和市场脱节。当初Sun推出Jini软件,是为了打入消费者电子装置市场。

随着网络服务技术的发展,Jini也不断调整自己的战略目标,但一直没有得到其他公司的大力支持,所以发展不太迅速。毕竟,Jini反反复复做的一件事就是,让java平台成为一个全世界共融共通的操作系统;这个目标比起Integration要更加的艰深,也更加难以实现。

◆Jxta

很多朋友对Jxta都是从2005年才开始了解,这一切都是因为当年流行的P2P技术。Jxta是为了构建P2P网络而制订的一组协议,是处理构建P2P网络所碰到问题的解决方法。Jxta是由Sun制定的标准体系中少有的不限制于Java的规范之一。

使用Jxta协议,Peer(对端)可以互相合作建立自我组织、自我管理的对等组,而不必关心它们在网络中所处的位置(在网络边缘或者防火墙后),并且也不需要集中的管理机构。通过小型、简单、便于开发的构造模块,Jxta将使开发者从建立各自框架的复杂工作得以解放,可以潜心关注于建设各类新颖、创造性的、分布式计算应用。

◆Jbi

Jbi是Java业务组件集成规范,它提供了一个逻辑的XML消息网络,这一网络能够很容易地映射到http/jms/mom等协议,并很方便地适应遗留系统,然后通过二进制方式传输,再和rpc(远程过程调用)系统(ejb和corba等)交互。Jbi可以看做是对Jms(Java消息系统)更高层次的逻辑抽象,并提供了不同的消息交换方式(单步/请求应答等)。一般来说,Jbi是单Jvm(Java虚拟机)的,并且限制于Java平台。

◆SOA

对于目前已经存在大量CRM、ERP、SCM、信息安全等系统,SOA的实践者们的目标就是抹平系统间的间隙,实现SOA架构。他们首先将那些掩藏在各应用系统之中的业务功能模块切割开,加以包装之后成为标准的服务构件(SCA),然后将分散在不同系统中的数据整合包装成为数据服务(SDO),最后根据业务的需要用BPEL将分散的服务连接成为新的服务。

SCA是一种全新的、跟语言无关的编程模型,这种面向服务构件的编程模型可以大大简化客户的编程,提高应用的灵活性,将会对现有软件开发方式产生颠覆性的影响。服务模型提供了比WSDL更多的功能,它允许服务开发者不单定义服务的接口,而且还可以定义这个服务和其他服务的依赖关系,以及服务间的交互策略。

开放SOA(OSOA)组织是一个由多家软件提供商包括IBM、 BEA和甲骨文等公司自发成立的组织,目前正在致力于SCA和SDO规范晋升成为SOA标准的工作。就笔者看到的内部资料而言,DAS的规范化工作也已经在BEA的带头下展开。

◆OSGI

OSGI(开放服务网关互联)规范为网络服务定义了一个标准的、面向组件的计算环境。将OSGI服务平台添加到一个网络设备中,可以为其增加在网络的任何地方管理组件的生命周期能力。Eclipse 3.0采用OSGI作为其Plugin Architecture实现的依据,但目前的OSGI框架大多是基于Console进行管理的,也许这个局势很快将发生变化。

软件领域的世界是平的,前面提到的五大技术,都能够和Integration的“全球化”大潮流挂钩。但在技术本身就越来越“全球化”的今天,我们可能很快就能发现,这些技术可能被同化、吸纳,最后发展为一统的思想。最后,用《世界是平的》文章的观点来结束本文:世界是平的,技术是共享的,思想是独立的。

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑