账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
自由企业中介软体资源与参考架构
 

【作者: 自由軟體鑄造場】2006年09月10日 星期日

浏览人次:【10161】

企业应用下的中介软体

自由软体在企业的应用,包含从伺服器作业系统及相关服务更上一层楼(moving up the stack)到中介软体的阶段。以Linux、FreeBSD作为伺服器的作业系统,架上自由软体的网页伺服器(Apache, Tomcat等)、邮件伺服器(Postfix等)、档案伺服器(Samba)、资料库(MySQL)等,已成为企业提供基本服务的常见做法。然而除了这些基本服务外,企业整合需要更多标准化的程式元件与架构来满足如流程管理、分散式处理及资料交换的需求,而「中介软体」能满足这些需求。


自由软体铸造场(OSSF supports software freedom)从去年2005年起的重点工作项目,就是协助企业找到适合的自由软体元件,整体规划企业中介软体并建置咨询。有鉴于国际中介软体市场走向开放原始码及开放标准的趋势,自由软体也将在企业用的中介软体扮演举足轻重的角色。


自由企业中介软体资源

中介软体的种类繁多,彼此之间的定位也有不少重叠的地方,为了涵盖各个层面的中介软体,们对于资源分类的依据,将是由功能涵盖面从大到小的排序,做成一个自由企业中介软体资源目录;亦即上层分类里的软体功能可能会包括下层分类的部分内容。根据这个原则,第1类是Presentation/Framework,第2类是Application Platform,因为Framework大都是以Application Platform为基础再扩充(如Web Service)更多的功能。至于第3至第7类分别是Workflow、Web Service、EAI、ETL、Persistency/Database,这五类彼此并没有功能涵盖关系,都是目前企业软体中重要的元件,其功能也常常被Presentation/Framework以及Application Platform这两者涵盖,但是其中很多软体元件比Presentation/Framework或Application Platform更能提供更多的专属功能。第8类Developer Utility则是属于辅助开发者开发中介软体的元件,第9类General Information提供中介软体一般性的资讯。以下将分节叙述自由软体企业中介软体资源目录的分类。


Presentation/Framework

目前中介软体在Framework的发展上较受瞩目的是.NET以及Java相关的应用。而开放原始码的Framework则是以Java为基础的Framework、如Struts以及Spring的应用较为成熟,另外就是以Python为基础的Zope,也有不少的软体使用。


Application Platform

Application Server在目前的中介软体应用越来越普遍,尤其是Java相关的J2EE实作,而实作J2EE最成熟的开放原始码专案目前是JBoss的JBoss AS、ObjectWeb的JOnAS以及Apache的Geronimo。


Workflow

结合Workflow以及EAI等功能的BPM(Business Process Management),是现今企业软体新的热门领域,大部分的Workflow都是依照WfMC的规格设计。而目前Workflow最常用的描述语言分别是XPDL以及BPEL,在开放原始码的领域中,使用XPDL的Workflow元件较为成熟,如Enhydra Shark以及jBPM,而这两个元件都是以Java作为基础。使用BPEL的Workflow较少,目前成熟的是Active BPEL。


Web Service

现在的企业应用大都脱离不开网路,利用HTTP作为软体之间交换资料方式的做法(如SOAP)也越来越普遍。以Java相关规格为基础的Apache Jakarta Tomcat是目前最成熟、也是最广泛被使用的开放原始码Web Service。


EAI/ETL

对企业应用软体来说,软体跟软体之间的资料转换一直是很重要的一个功能,从以前的EDI,到现在因应B2B以及软体整合需求而演化成的EAI以及ETL,都是为了让软体之间的连结更顺利而产生。开放原始码所提供的EAI以及ETL种类跟数目非常多,从功能单纯的XML跟PDF转换、如Babeldoc到功能完整的JDBC跟JDBC转换如Octopus都具备。


Persistency/Database

资料库在企业软体中已是不可或缺,而连结资料库的规格也是琳琅满目,开放原始码的软体元件在在规格的实作或是扩充这方面的选择也很多,例如实作JDO规格的Speed​​o ,以及提供JDBC丛集(Cluster)能力的C-JDBC。


Developer Utility

中介软体的开发,除了提供适合的软体元件之外,是否有合适的工具软体提供给程式设计师,也是重要考虑的因素。这方面开放原始码的相关软体,包括从辅助编译软体的Apache Ant、提供IDE扩充功能的J​​OPE、针对中介软体提供效能测试的RUBiS等等,都有成熟的软体可供选择。


General Information

从包含提供软体元件以及制定规格等与自由软体企业中介软体相关的组织来看,大部分成熟的自由软体企业中介软体大都是组织合作之下的产物,其中较大专门提供自由软体企业中介软体的组织有Apache、JBoss、ObjectWeb、OpenSymphony等等。


自由企业中介软体参考架构

上述所描述的资源目录,其相关的自由软体元件不仅是已进入系统的开发成熟阶段,而且符合彼此整合的标准要件,可因应企业对中介软体的需求。根据这些中介软体的基本分类概念,我们可进一步建构一款中介软体参考架构,以便符合企业在整合、评比、选择相关中介软体时,可作为综观全局的参考依据。


如(图一)所示,中介软体参考架构,清楚的标示在应用程式(Application or Other Applications)、资料库(database)及作业系统(Operating System)之间,而中介软体的分别区块,正对应着上述中介软体资源目录、依其功能以及使用上的定位所整理出来的分类。


《图一 中间件参考架构》
《图一 中间件参考架构》

一般而言,大型的软体都会采用一个Framework或者是Application Server作为基础架构,其中有些Framework架构内便包含Application Server、Workflow、Web Service等元件。透过EAI/ETL、Web Service等元件可连结其他应用程式,也可透过Persistency/DB元件跟资料库连结。另外系统内部可能有一个或多个Workflow Engine作为企业流程控管的基础引擎,在开发的过程再使用一些Developer Utility加速其流程。


自由企业中介软体架构实例

《图二 ObjectWeb》
《图二 ObjectWeb》

目前的自由企业中介软体发展,大都是由大型组织或单位开发,以(图二)ObjectWeb为例,就是将ObjectWeb中以Java为基础的部份中介软体,用参考架构组织起来。 ObjectWeb最基础的元件,就是属于JonAS内容的J2EE Application Server,在上面采用BS Framework以提供更多的Java功能。 Workflow可采用Shark,如果有丛集的需求,则可用C-JDBC取代原有的JDBC。另外Axis与Xerces可提供SOAP以及XML解析的功能。 JOPE则是一个JOnAS的IDE外挂套件,可让程式设计师更有效率的使用JOnAS的功能。


结论

从ObjectWeb的例子来看,目前在自由企业中介软体,以J2EE为基础的相关软体较为完整,另外两个开发自由软体企业中介软体的组织如JBoss以及Apache对J2EE的支援情形也是类似。


用中介软体参考架构套用这些组织的专案就可以看出这个结果,所以利用参考架构不但可以看出中介软体开发组织的软体完整度,也可以拿来当作使用中介软体的参考标准。 (作者为中央研究院资讯科学研究所自由软体铸造场技术组)


未来我们将承续先前服务自由软体专案开发者及使用者的经验,研究台湾企业需求及国际技术趋势,以球达到利用自由软体提升企业竞争力的目标​​。


相关文章
科技变迁下低风险的机上盒设计
开放原始码与全球化趋势
从社群到商业化看台湾Linux市场的策略思维
2006年台湾大型企业自由软体应用现况与趋势
以自由软体文化酝酿资讯产业新出路
comments powered by Disqus
相关讨论
  相关新闻
» 达梭系统携手CDR-Life 加速癌症治疗科学创新
» 宜鼎独创MIPI over Type-C解决方案突破技术局限,改写嵌入式相机模组市场样貌
» 鼎新电脑串连生态系夥伴 数智驱动智慧低碳未来制造
» 鼎新电脑携手和泰丰田解缺工 以数位劳动力开启储运新时代
» Fortinet SASE台湾网路连接点今年落成 全台巡??落实云地零信任资安


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK84TE7FQYESTACUK1
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw