登陆注册
36233100000029

第29章 组件实施和部署研究

PMS-DC用于开发专用DSS中的问题管理系统或基于问题管理的DSS,为使PMS-DC能够比较方便地应用于这些DSS及PMS的开发中,其本身开发环境的选择及其在专用DSS中的实施部署方案也是非常重要的。

5.6.1 PMS-DC的开发环境

实际上,任何一种面向对象的软件集成开发环境(IDE)都可以用来开发PMS-DC,但由于PMS-DC及i-GIDSSG本身并不是一种通用或独立的DSS,而只是开发DSS的工具或平台,它们必须嵌入到通用的IDE中,通过IDE调用这些组件中的对象、类或控件才能开发出专用DSS所需的各种功能模块,因此,组件应该尽可能对更多的IDE有良好的适应性,而不是只能嵌入到一种专门的IDE中使其应用环境受到极大的限制。这就要求PMS-DC及i-GIDSSG所用的开发环境本身要具有应用的广泛性。

目前,被广泛应用的IDE包括Microsoft Stídio。NET、Bor1and JBíi1der、Bor1and C Bíi1der、Bor1and De1phi、IBM WebSphere Stídio App1ication Deve1oper、BEA Visía1 Cafe、Orac1e JDeve1oper、Sín Forto for Java、PowerBíi1der等。虽然每种IDE都有自己的体系结构、特色和适用领域,但基本上分属于两大阵营:Microsoft公司的。NET和SUN公司的J2EE。其中。NET是由Microsoft公司于2000年6月推出的一种软件开发平台,它对Microsoft早期的开发平台(VB、VC等)作了重大的改进,可以让不同程序设计语言创建的应用程序相互通信,也可以让开发者创建基于Web的应用程序,这些应用程序能够发布到多种不同的设备上(如台式机、笔记本、嵌入式设备、手持设备等)。Microsoft的。NET为利用In-ternet和Web进行软件的开发、设计和使用开辟了广阔的新前景。NET策略的一个重要方面是它的跨开发平台性,它不要求程序员使用唯一的一种程序设计语言,程序员可以将多种与。NET兼容的语言结合起来开发。NET应用程序;多个程序员可以共同参与同一个软件项目,每个人可以使用自己最熟悉的。NET语言(如C 、C、Basic或其他语言)来编写代码。

而J2EE(Java 2 p1atform,enterprise edition)是SUN公司定义的一个开发分布式企业级应用的规范。它提供了一个多层次的分布式应用模型和一系列开发技术规范。多层次分布式应用模型是指根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器中运行(如serv1et组件在serv1et容器上运行,EJB组件在EJB容器上运行),容器间通过相关的协议进行通信,实现组件间的相互调用。遵从这个规范的开发者将得到行业的广泛支持,使企业级应用的开发变得简单、快速。

有关。NET和J2EE的比较分析比较多,根据我们的总结归纳,两者的相似性主要在于:

(1)。NET和J2EE都属于企业级开发平台,并且都可广泛应用于WEB开发领域。

(2)Windows。NET Framework和J2EE都使用了一种托管的运行时环境,都将源代码转换为一种中间语言,然后将其编译为本地的可执行代码。两种平台的开发语言环境都支持碎片整理、动态类加载和异常处理等功能。

(3)。NET和J2EE都倡导和支持面向对象的组件开发方式,也提供基础类库来执行I/O、XML处理、文本操作、网页脚本编写和带有连接池的数据库接入等。

(4)两者都经过特定的销售商进行发布。

(5)Windows。NET Framework和基于J2EE的产品都可以同第三方的产品一起工作。例如,数据库访问方面,。NET和基于J2EE的应用程序能访问储存在Microsoft的SQL、IBM的DB2、Orac1e、Informix、Sybase等服务器里面的数据。

两者的主要差别在于:

(1)在原理方面,J2EE是一个单一语言的平台,跨操作系统平台移植比较方便,但开发者必须接受关于Java的培训。Mi-crosoft提供的。NET属于多语言平台,只能用于Windows系列操作系统,但可跨开发工具平台,前提是支持。NET框架。开发人员一般无须接受一种新语言的重新训练。

(2)在体系结构方面,NET包括代码、产品、工具和构架,利用网络上全部的计算资源(包括设备、个人电脑和服务器等)。NET能使所有这些设备经过标准通信协议全部连接在一起,即所谓“XML web服务”。NET模型是广泛的分布式计算,它和许多代码互相通信并交换信息。而J2EE是面向服务器的模型,基于J2EE的产品只支持服务器端的应用程序。

(3)在编程模型的一致性方面,Windows。NET Framework提供了一个跨服务器、PC和其他设备的一致的、面向组件的模型。而J2EE提供EJB作为服务器端的组件模型,为客户端或是本地组件建立开放的完全用Java编写的API,为用户界面提供serv1et,也为移动设备提供另一种不同的模型。Microsoft的NET编程模型与Java平台相比较,在各种服务器和客户端上有更好的一致性。J2SE是基于开放的完全用Java编写的API,而J2EE则是基于Ja-va serv1et和EJB。

(4)在功能方面:

①Windows。NET Framework提供一个能识别版本的类加载器,因此开发者能确保他们开发的应用程序在一部分代码已经更新的情况下仍能运行。而Java和J2EE没有版本识别的类加载器,开发者和管理员不能完全保证代码被执行时是正确的。

②Windows。NET Framework显示了语言层面上的类属性,这使得编程更加简单。例如,在源代码中只用一个简单的属性就能把。NET组件标识为处理模式。而Java不显示语言层上的类属性。③。NET支持分离数据访问,主要用于在移动设备或偶尔联网的场合里运行的应用程序。数据能被脱机操作,接着再与起始数据重新同步。而不论是J2EE还是J2SE,现阶段都不支持分离数据访问,需要这项功能的J2EE开发者必须自己写“衔接”代码。

④为建立基于网络的用户界面,Windows。NET Framework为ASP。NET提供基于事件的模型,这些模型类似于Visía1 Basic中的智能客户端模型,它们使得建立、发布和维护一个基于网络的用户界面变得更加容易。而J2EE在JSP中不支持这样的模型,虽然有一些第三方的扩展程序部分弥补了这些功能,但是它们的实用性和简便性都不如ASP。NET。

(5)在简便性方面:

①从外部元数据的配置来看:对于J2EE,配置是由部署描述信息获得的XML格式的文件,它们和实际执行的商用逻辑代码有明显区别。这种方法有两个主要问题:第一,对于特定类的元数据,有些代码中的改变和元数据中的改变是相互依赖的,两个独立文件的同步性要求有可能产生错误。第二,对于应用程序层的元数据,在J2EE中缺乏从一个程序继承元数据到另一个程序的途径。与J2EE不同,Windows的。NET Framework包括了这个功能,使得可以在源代码中直接向类添加属性,从而不会产生第一个问题。Windows。NET中的元数据模型允许客户自己添加扩展程序,开发者可以编写和使用自己的属性,为程序继承元数据到另一个程序提供了途径。

②从数据库连接池的管理来看:在Windows。NET Framework中,是根据需要自动建立和管理这些池的。而在J2EE模型中,连接池必须被明确配置和管理。

③从XML Web服务上看:在。NET中建立一个XML Web服务就像在类中添加一个属性那样简单。有些基于J2EE的产品也想在Java中模拟这个功能。NET提供更简单的方法来建立和使用可由双方共同操作的XML Web服务。

④从应用程序部署来看:在。NET中,要部署一个应用程序,管理员只需要拷贝文件。而在J2EE中,管理员必须将很多编译文件和JAR、WAR以及EAR绑定,然后在一个特定的服务器部署工具中解开并运行它们,接着拷贝结果档案,这使得应用程序的部署较为复杂。

通过对。NET和J2EE的比较分析,我们认为在DSS组件的功能开发方面,两者均能满足要求。但在使用的简便性、开发出的组件对常用开发平台(IDE)的适应性和应用的广泛性方面,。NET平台占有一定的优势。为此,我们选用Microsoft的VS。NET作为PMS-DC乃至整个i-GIDSSG的开发平台。

5.6.2 PMS-DC的实现与部署

5.6.2.1 PMS-DC的实现

具体而言,PMS-DC采用VS。NET中的VB。NET来实现,主要应用于Windows系列操作系统下DSS或含有问题处理功能的信息系统的开发,分析和识别问题所需的资源——即问题知识(包括问题类型知识)和词库、语料库等,以及求解问题所需的资源(包括模型、知识、数据)均以数据的形式存储在数据库中,并通过DATABASE组件进行调用,以使i-GIDSSG对各决策资源在物理存储结构上进行统一管理。

此外,由于i-GIDSSG的MMS-DC和KMS-DC已先行开发出来,且MMS-DC在没有PMS-DC的情况下自带了问题求解对象(它采用的是由专家用户人工识别问题的方法),而KMS-DC中也未包含智能识别问题所需的规则和数据类知识,为此,在开发PMS-DC时还需对原来的MMS-DC和KMS-DC进行适当改造,将MMS-DC中所包含的问题求解模块分离出来归入PMS-DC中,同时将问题知识库加入KMS-DC,以实现PMS-DC对问题求解的统一控制,以及PMS-DC与MMS-DC和KMS-DC的协调运行。

5.6.2.2 PMS-DC的部署

由于PMS-DC本身只是一个问题管理子系统的开发组件,所以不能构成一个可独立运行的DSS。一个问题驱动的DSS或者带有辅助决策功能的MIS如果用i-GIDSSG进行开发,它至少需要其中的PMS-DC、MMS-DC、KMS-DC和DMS-DC四个组件,同时需要模型库、知识库、数据库和算法库存储所需的决策资源以及调用这些资源的接口组件。为了保持i-GIDSSG的灵活性,我们允许i-GIDSSG中的组件、资源库及其资源接口针对DSS的需求采用不同的部署方案:

1.C/S模式系统

如果用i-GIDSSG开发的实际DSS采用C/S工作模式,对于PMS-DC的组件部署,可以根据实际DSS的需要采用两种不同的部署方案:

(1)两层结构部署:即将PMS-DC与MMS-DC、KMS-DC和DMS-DC及资源调用组件一起部署在客户端,而将包含问题知识库、词库、语料库在内的知识库与模型库、算法库、业务数据库一起部署在服务器端,即可构成客户——服务器两层结构的DSS。

(2)三层结构部署:将PMS-DC与MMS-DC、KMS-DC和DMS-DC部署在客户端,将模型库、知识库、算法库、业务数据库等部署在数据库服务器端,而Database、Metadata(MMS-DC中的元数据管理组件)等接口层组件部署在应用服务器上,即可构成客户——应用服务器——数据库服务器三层结构的DSS。这种部署结构可以比较方便地支持DSS的Internet应用,即将Database组件封装成一个WebService组件,并将它部署在Web服务器(Web server)上,就可实现一个基于Web的DSS。

2.B/S模式系统

如果用i-GIDSSG开发的实际DSS采用B/S工作模式,则需要将PMS-DC与MMS-DC、KMS-DC和DMS-DC及资源调用组件部署在Web服务器上,将模型库、知识库、算法库、业务数据库等部署在数据库服务器上,构成浏览器——Web服务器——数据库服务器三层结构的DSS。也可以采用类似C/S模式的三层结构部署,将接口层组件部署在Web server上,但此时需将PMS-DC与MMS-DC、KMS-DC和DMS-DC改造成浏览器组件,相比之下,没有基于C/S模式的三层结构部署方案反而更方便。

同类推荐
  • 店铺资金与成本管理

    店铺资金与成本管理

    本书主要从店铺现金流的管理、成本的控制,以及相关的财务管理知识的方面入手,阐述了店铺的管理。通过通俗易懂、深入浅出的语言,简洁明了地讲述了创业人必备的财务知识。针对管理人员的特点,内容上实用性强、针对性强、可操作性强。既帮助店主准确而又轻松地理解和认识管理方法与财务知识,又帮助店主更好地经营店铺,实现店铺的利润最大化。这本书不但是店铺从业者实际工作的必备手册,还是一本日常管理的工具书。
  • 发现你自己的力量:如何开发自己和员工的潜力

    发现你自己的力量:如何开发自己和员工的潜力

    这里我们给你提供了11条成功信念,供读者朋友参考。它们是:自我欣赏,目标明确,敢想敢做,良好动机,心胸宽广,控制情绪,锤炼意志,克服恐惧,积极心态,挖掘潜能和心理暗示。人类最大的弱点就是自贬,因此在“自我欣赏”这一条中,告诉我们绝不要看轻自己,要把“不可能”从你的字典中去掉;而很多人没有成功,是因为没有一个明确而坚定的目标。本书将为你深刻阐述一种操作性强的激发活力并释放潜能的奇妙方法。
  • 领头雁:优秀班组长必须具备的职业素养

    领头雁:优秀班组长必须具备的职业素养

    《领头雁:优秀班组长必须具备的职业素养》面对班组长这一企业中最基层的领导岗位,针对其既是生产者又是组织者的特性,以优秀班组长必须具备的各项职业素养为主要内容,就技能、道德、情商、决策、沟通等方面的多维含义和具体应用法则作了详尽阐述,结合现实案例,提供了完备的素养参考,以帮助班组长依靠自身卓越的业务能力和管理能力赢得认可,像雁阵中的领头雁那样带领团队拼搏奋进。《领头雁:优秀班组长必须具备的职业素养》论证全面、案例鲜活,不仅可以作为企业的培训材料,还可以作为班组长和广大员工自我提升的读本。
  • 李嘉诚:财富人生(上)

    李嘉诚:财富人生(上)

    自1988年开始登上华人首富的宝座,多年来,李嘉诚已经成为华人圈里最耀眼的商业明星。他白手起家的经历鼓舞着无数中国逐梦者。他居华人首富多年,让华人企业家心悦诚服。他是财富和成功的象征。他的故事传遍了华人世界的大街小巷,他的“超人”名号妇孺皆知。既是超人,必有超人之处。作为成功的商人,他的财技和资本运营手段成为人们争相研究的对象;作为成功的商人,他以信为本的处世哲学让众多的同行对他交口称誉;作为成功的商人,他不遗余力的慈善行为让其他的企业家难以望其项背。
  • 炒股致富心理学:沃伦巴菲特笑傲股市的28个简单法则

    炒股致富心理学:沃伦巴菲特笑傲股市的28个简单法则

    巴菲特思考的基本方式不外乎两个方面。其一,付出的买价决定投资报酬率;其二,必须先能够合理地推算企业的未来盈余。巴菲特说:“投资企业,是购买它的未来。”“你应当投资于一家甚至连傻子都可以经营的企业,因为有朝一日,可能真会有傻子这么做的。因此我喜欢那种根本不需要管理仍能赚大钱的行业,它们才是我喜欢从事的那种行业。”年轻的巴菲特想要开一家公司赚更多的钱。如果他要获取复利的好处,他知道越早开始越好。
热门推荐
  • 妖孽王爷:一笑倾城为红颜

    妖孽王爷:一笑倾城为红颜

    他,独傲一方只为寻找那永恒不变的初心。她,一朝穿越只有你想不到没有她做不到,他孤傲冷淡,她腹黑奸诈,傲世如神的他却情愿跟在后面当跟班……“大哥,你能不能别在跟着我了”轻儿无语的说到“你好麻烦”只听某尊大神不耐烦的说到,……众人无语……要不要这么妖孽霸道……
  • 天香阁

    天香阁

    琅玥十二岁这年,父亲获罪,家中被抄。天子颁下诏令:其府内所有男眷充军入营,女眷入籍为妓!琅玥被迫带着年幼的弟弟进入天香阁成为官妓。十五岁挂牌,取艺名——烟罗,成为一名清倌人。在这声色犬马,风花雪月之地艰难求存。然而以色事他人,能得几时好?从今往后,我言琅玥的命运在自己手里!我要选,就选别人做不到的!我要走,就走别人走不出的路!!
  • 固执分散

    固执分散

    不断地成长,慢慢懂得,一路笑闹,也确有辛酸(谢谢收藏本文的,更有动力写文了O(∩_∩)O,有什么意见都可以留言)
  • 掠灵诀

    掠灵诀

    田园山色边逍遥自在,阡陌径独自行。刀山血海中穿插而过,江湖路血一路。朝堂争斗里风起云涌,天下事骨成山。
  • 邪王宠妻无下限:王妃有毒

    邪王宠妻无下限:王妃有毒

    云舞依,因家中势力组织火拼,一朝穿越,竟成为丞相府人尽皆知的废柴小姐。寒王府内,一记眼神淡漠疏离,引起寒王兴味,却因此惨遭追杀。生在阴间有散场,死归地府又何妨!阳间地府俱相似,只当漂流在异乡。异世大陆,逆境蜕变,破镜重生,与君共征异界,弹指江山,睥睨天下!
  • 九玄证道

    九玄证道

    大丈夫立于天地,行事光明磊落,但求无愧于心,即便举世皆敌,又有何惧?————《九玄证道》主角语。灵脉天成,九玄证道,玄门领袖,唯吾独尊。
  • 第五天灾毁灭

    第五天灾毁灭

    对一个文明而言,向前迈出一小步,所需要的付出的牺牲与努力已经很难用数字量化衡量。星空之下,多少英勇无畏的生命被翻滚的浪潮吞没,又有多少雄心壮志轻易夭折,那些可歌可泣的故事又被埋藏了多少...无人知晓。六代星系统治者,五大宇宙天灾,将在这片星空之中,谱写毁灭之诗。
  • 都市极品浪子

    都市极品浪子

    球球说:花无心是我见过最不要脸的外星人,没有之一。呼噜说:花无心是一个大骗子。萌萌说:花无心是一个花心大萝卜。花无心大呼冤枉,堂堂都市大少,龙神之主,蛮族亲王竟然被你们说成这样!以后还怎么浪了!
  • 我的系统不一般

    我的系统不一般

    主角:我叫柳严,想我如花似玉,风流倜傥,好不潇洒,但当系统加身的那一刻,我平凡的人生将一去不复返。系统:呵呵。——————————————分割线“我要回家啊!”“诶,这个世界不错,小姐我们交个朋友吧。”当主角得到超乎凡人的力量时又会怎样?无尽的虚空里又隐藏着什么?“咱从今天起开始做魔王!”反正就是一个家伙带着系统肆意妄为的故事。
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!