《协同技术架构对比分析.doc》由会员分享,可在线阅读,更多相关《协同技术架构对比分析.doc(11页珍藏版)》请在三一办公上搜索。
1、协同平台技术架构对比分析目 录一、协同技术平台简述31、J2EE架构32、.NET架构33、Domino/Notes架构3二、J2EE与Lotus Domino/Notes对比41、J2EE架构特点42、Lotus Domino/Notes特点43、对比分析54、Domino /Notes的应用风险6三、J2EE与.NET的对比71、.NET简介72、J2EE与.NET的比较7四、J2EE、Domino/Notes、.NET综合对比11一、协同技术平台简述企业在进行协同OA系统建设时,所采用的技术架构至关重要。目前,建立协同OA系统所采用的技术架构主要有三种:一种是以J2EE为主的技术架构,一
2、种是 .NET架构,另一种是Domino/Notes架构。1、J2EE架构J2EE的全称是Java2EnterpriseEdition,它是由SUN公司领导,各厂商共同制定,并得到广泛认可的工业标准。其设计初衷就是利用分布式结构的可扩充性来建立强壮的互联网应用。J2EE是一个开放的系统构架,使用符合J2EE规范的软件,客户可以依据其喜好和实力来选择不同应用服务器,从基于open source的免费软件到高端满足B2B需求的套件来搭建自己的系统。2、.NET架构Microsoft .NET是微软公司推出的一个系统构架。它的最大的优势是具有很大的Windows装机量做后盾,对客户端应用的支持比较好
3、。但基本上只能占领低端应用的市场,而对关键应用的支持比较差。跨平台能力差,只支持微软平台,是私有的技术,只由微软提供支持。3、Domino/Notes架构Lotus Domino/Notes架构是由IBM公司在90年代初期推出的基于文档和邮件的应用开发平台。它提供了文件共享、文件传输、用户管理的基于局域网的整体解决方案。Lotus 发明了“Groupware”并且把Notes设计和定位成“桌面”,任何操作都从Notes桌面中开始。用户能够访问文件、发送信息、安排会议、列表以及更多的工作事务。在广域网普及之前,Notes是基于局域网的组织内共享信息主要的方案。随着科技的发展,J2EE和.NET等
4、新技术的不断应用,Lotus Domino/Notes平台呈现出越来越多的不足,并面临着逐渐被淘汰的趋势。二、J2EE与Lotus Domino/Notes对比1、J2EE架构特点J2EE是与实现企业级应用有关的各种技术规范的集合。其优点包括:1)支持所有的硬件和操作系统平台,使用户在操作系统和硬件的选择上有更大的自由度;2)技术规范更全面,对企业级应用的支持更强大;3)具有“编写一次,到处运行”的优点;4)系统的可扩展性更强,后期维护费用较低;5)适合大型的系统和关键的业务;6)先有标准,后有实现,标准的设计很完善;7)只需用Java一种语言,开发效率高。l 新的J2EE架构下,采用Java
5、技术能提供的服务有以下几个优势1)每个部分提供了独立的标准服务,它保证了不和其他部分的服务相互重叠和干扰。 2)每个部分都能被独立的开发和应用,确保了用户在每一类中都能从最好的产品中获益。3)既然各个部分是相互独立的,就很容易开发和应用。这并不象Notes群件系统那样,所有的服务项目都集中在一起,使它变得很复杂和难以定制开发。4)用户能自己便捷的配置所需服务,并根据管理的需要,增加服务、扩展应用。 2、Lotus Domino/Notes特点Notes被认为是满足所有群组软件需求的完美解决方案。这些需求包括信息交流、文件的管理、共享及复制、数据库、用户界面、网络服务商、应用发展、传真、时序安排
6、和日历功能等等。这是一个很有雄心的目标,但为了实现这一目标,Notes和不可避免地产生了一些严重的技术和结构缺陷。1)、从结构上说,Notes 违背了软件业发展的基本原则,例如模块的设计。Notes把包括信息、数据库、日历、网络服务商安排、复制等等所有的东西都压缩到一个空间里。2)、Notes的安装比较复杂,因为它需要完成很多事。3)、因为它的复杂性,Notes 的应用开发比较困难且花费较大。4)、Notes处理速度很慢因为它有很多层的界面。5)、同样由于它的复杂性,Notes限制了第三方去创造新的应用的能力。尽管Notes有很多商业伙伴,但是大多数是系统集成和架构的顾问。很多独立软件开发商的
7、所开发的最好应用无法架构于Notes 平台上。正是由于上述这些原因,导致了Notes 实际上只能解决所有的表面问题,而对任何事都无法彻底的解决,这就是限制Notes发展和它遇到有竞争力的威胁时显得很脆弱的根本原因。l 另外,随着技术的进步和应用需求的发展,Domino/Notes平台的应用缺陷还表现在:1)、开放性差,与业务系统的结合能力差Domino/Notes是一种封闭的私有的构架,从平台到开发方式都是其独有的,不利于用户进行进一步的功能扩展。而且办公自动化系统与业务系统的结合已经成为一种趋势,需要随时从办公自动化系统中访问业务系统中的数据。Domino私有的技术不便于与其他关系型数据结合
8、,也不利于Domino/Notes和其他业务系统的连接;2)、用于B/S 结构开发没有优势Domino /Notes从邮件系统发展到文档数据库,其主要优势如安全认证,灵活的表单定制等,在C/S 结构下利用Notes 才能实现。虽然Domino /Notes也支持基于Web 的开发,但是丧失了大部分的先进的功能。用于B/S 应用开发并没有优势,相反由于Domino /Notes使用私有的技术,导致其Web 开发的效率低功能差。3)、对关系数据库的支持较差Domino 不是基于关系数据库,因此不适合处理大量的数据。另外,从Domino 中访问关系数据库比较困难,虽然Domino 提供了相应的组件,
9、但仍然不能满足实际系统的需要。4)、没有真正意义的工作流管理系统。3、对比分析我们可以从以下几个方面来比较:1)拥有成本:notes平台需另外购买,50用户价格在3万元左右,而J2EE完全是免费的;2)开放程度:notes开放程度低,J2EE开放程度高,易学易用;3)管理/学习成本:notes开放程度低,因此对系统管理员的素质要求较高,很多东西都必须由管理员来操作,很大程度上增加了系统管理员的负担。J2EE平台系统系统管理员只需要在管理端进行简单的设置,其他工作在客户端都可以实现。4、Domino /Notes的应用风险1)应用推广风险基于Notes开发的OA系统应用相对复杂,特别是针对工作流
10、的应用,包括工作流程的定义、模板的定义等等,都需要系统管理员及普通应用人员具备一定的信息系统应用基础和学习能力,同时需要应用单位预留相当的学习推广时间,支付较高的学习成本,降低应用期望值,以达到应用推广目的。2) 开发风险Notes的技术架构自成体系,其开放性远不及Java技术。现在Notes的这套体系结构已逐渐不能适应当前和未来的互联网发展模式,已呈逐渐淘汰趋势。IBM公司也正在将Notes的技术架构向Java技术转移。3) 维护风险由于Notes技术的封闭性,必将导致专业人才的有限和维护成本的提高,同时维护工作的延续性也将出现危机。三、J2EE与.NET的对比1、.NET简介.NET来自于
11、微软,是一套全能的框架平台,支持C+、C#、J+、VB、ASP等语言,能够解决C/S、B/S和单机等结构的软件开发需求。.NET平台将这些语言编译成CLR语言,使它们可以无差别的运行在.NET Framework上,是2000年以后微软最为重要的软件开发套件产品。.NET的绝大部分是微软Windows DNA(Distributed Network Architecture)的重写,DNA是微软以前开发企业应用程序的平台。Windows DNA中包括了许多已经被证实的技术,新的.NET框架取代了这些技术,并包含了Web服务层和改良的语言支持。2、J2EE与.NET的比较1)体系架构的比较作为彼
12、此竞争的应用平台,J2EE和.NET开发平台在目标和体系结构上极其相似,但在实现上又完全不同。()类似的平台基础构造 J2EE和.NET两个平台在底层的执行引擎都源于托管的虚拟机概念,但.NET的CLR沿着Java虚拟机(JVM)走得更远,CLR在借鉴了JVM的自动垃圾收集、异常处理等机制的同时,又为.NET平台添加了多语言支持、组件自描述等新的特性。(2)相同的三层/多层体系 基于三层/多层分布式计算结构已毋庸置疑地成为当今企业应用的主流模式,也是两个平台较量的着力点。两种架构的简单对照如表1所示。表1 J2EE与.NET架构比较架构比较项J2EE.NET通信协议Remote Method
13、Invocation over Internet InterOrb Protocol (RMI/IIOP)XML编程语言JavaC#,VB.NET,COBOL等运行时环境Java Virtual Machine (JVM)Common Language Runtime (CLR)胖客户端Java SwingWindows Forms目录服务Java Naming and Directory Interface (JNDI)Active Directory Services Interface (ADSI)数据访问Java Database Connection (JDBC)Java Conne
14、ctors ADO.NET异步消息处理Java Message Service (JMS)Microsoft Message Queue表示层技术Servlets, Java Server Page(JSP)ASP.NET中间层组件模型EJB,JavaBeanCOM+,COM安全访问JAASCOM+ Security Call Context事物处理Java Transaction Server (JTS)Microsoft Distributed Transaction Coordinator (MS-DTC)开发工具Borland JBuilder,IBM VisualAge 等Visua
15、l Studio.NET2)移植性比较在移植性方面,.NET支持跨语言,J2EE支持跨平台。微软通过.NET 通用语言运行时来消除编程语言的差别,“选择.NET平台就意味着选择Windows”,这句话至少在可预见的一段时间里仍然是一个基本事实。J2EE则通过Java虚拟机来消除平台差别,跨平台是它的一大卖点,也是在选择企业应用开发平台时的一个重要参考因素,几乎所有的主流操作系统都提供了对J2EE的支持;实际上如果要搭建跨Unix、Windows等多个操作系统平台,J2EE平台几乎是惟一的选择,J2EE更关注跨平台而不是跨语言。3)安全性、稳定性比较WINDOWS本身的安全漏洞,使得.NET的安
16、全性不如J2EE。同时,在应用服务器的选择上,.NET只能用IIS,安全性、稳定性难以保证;而J2EE有更多的选择,可以在诸多遵循标准的厂商所提供的应用程序服务器中,选择最符合需要、成本最低、而且又被认为是最佳的平台。4)可扩展性比较.NET平台的扩展思想是基于软件的横向扩展,而J2EE平台的扩展思想则是基于硬件的纵向扩展。Windows系统一般只能扩展到不超过8个处理器,而Sun的系统却可以扩展到100个甚至更多处理器。基于J2EE平台的应用程序可被部署到各种操作系统上,例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器,这是NT服务器所望尘莫及的。J2EE领域的
17、供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。5)成熟度比较在平台的成熟度方面,两者也有一比。J2EE在1999年形成了成熟的架构,发展至今已经具有相当成熟的、经过检验的企业应用系统。而.NET究其渊源是源自微软以前开发企业应用程序的平台DNA(Distributed Network Architecture),其中包括了许多已经被证实的技术,并且这些技术已经在产品中得到实现,包括微软的事务服务器、COM+、消息队列和SQL Server数据库等。6)第三方厂商的支持J2EE作为一种开放的
18、规范,从一开始就得到了众多厂商的支持,IBM、BEA、HP、Oracle等在J2EE的实施上都有较大的投入。目前市场上最好的J2EE应用服务器并不是Sun与Netscape合资的iPlanet,而是BEA的WebLogic和IBM的Webshpere。开发工具有Borland的JBuilder、Sun的Forte for Java、BEA的WebLogic Workshop、Oracle 的JDeveloper、IBM的VisualAge for Java等。而.NET在设计之初就紧紧地把平台规范与产品胶合在一起。虽然,NET架构的一小部分具有开放性(如C#语言、通用语言基础构造CLI 和We
19、b服务标准),但至少目前很难想象会有一个非微软的.NET实现。Visual Stdio.NET是其唯一的开发工具。7)开源支持比较J2EE开源产品众多,免费框架居多,相应的最佳实践设计模式层出不穷。而.NET无开源社区支持,是以框架开发者为主导的设计。8)学习成本比较J2EE门槛较高,由于多且杂,需要开发人员花费很长时间才能熟悉整个体系。而.NET门槛较低,使用方便,学习成本较低。但是,对于开发人员来说,.NET在系统整体架构的设计方面不如J2EE易于把握。四、J2EE、Domino/Notes、.NET综合对比J2EE.NETDomino架构平台免费:Tomcat、Resin、Apache收
20、费:weblogic、websphereIIS免费Sharepoint收费Lotus Domino(收费)对系统管理员要求较高在此基础上开发的应用软件可以实现屏蔽后台软件的管理对系统管理员要求一般对系统管理员要求很高,安装维护复杂在此基础上开发的应用软件无法屏蔽对Lotus的管理编程语言编程语言通用性强Java/Jsp、html、php、javascript等编程语言通用性强C#.NET、J#.NET、VB.NET、ASP.NET、html等Lotus特有编程语言包括:Lotus公式语言、Lotusscript语言(类VB语言)、html语言、Javascript语言、Java语言(Lotus
21、特有类库)等应用很广泛,有开放技术标准。从业人员多,技术交流充分。应用广泛,微软体系技术标准。从业人员极多,技术交流充分应用范围有限,效率低,不适合需要做大量计算要求的软件。 从业人员少,技术相对封闭,应用开发十分困难且花费巨大 开发框架功能强大,跨平台支持,支持多种数据库与Windows平台结合紧密,无跨平台性 通过各类工具实现与J2EE架构的相结合关系型数据库免费:Mysql收费:DB2、Oracle、SQl Server、Sybase关系型数据库SQL Server文档型数据库Lotus Domino安全性软硬件相结合的安全保障体系,设置复杂软硬件相结合的安全保障体系,设置复杂提供7层安
22、全保障体系,设置简单安全性高部署支持分布式部署支持分布式部署支持分布式部署支持跨操作系统平台支持Windows平台支持跨操作系统平台硬件要求一般服务器也可保证系统正常运行。可以支持各类操作系统软件对硬件要求较低。仅支持基于Windows平台对硬件要求高。可以支持各类操作系统软件应用系统交付简单与开发商的关系为松耦合二次开发简单交付简单与开发商的关系为松耦合二次开发简单交付复杂与开发商关系为紧耦合二次开发困难总结应用范围广、技术开放、扩展性好、性能好、跨平台性良好、多平台部署、平台应用的成熟度高应用范围广、微软件技术标准、无跨平台性、软件实施难度小、扩展性较好、硬件要求较低 应用范围窄、系统稳定性、安全性好、软件实施后期维护成本高