




免费预览已结束,剩余16页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件设计架构浅析摘要:本文介绍了软件体系架构产生的背景和架构模式的基本理论,然后以J2EE平台和NET平台为例进行剖析它是怎样应用该架构模式的,J2EE平台和NET平台的一些基本特性和所有主要技术;并做出J2EE和.NET各自的特点进行了比较。关键词:J2EE、RMI、EJB、Servlets、JSP、ADONET、 MicrosoftNET平台、ASPNET、NET、XML(可扩展标记性语言)、SOAP(简单对象访问协议)、通用语言运行时(CLR)、IL(中间语言)、名空间(namespace)、C#一、软件体系架构(一)、软件体系架构产生背景在经历60年代的软件危机之后,使人们开始重视软件工程的研究。来自不同应用领域的软件专家总结了大量的有价值的知识。 当初,人们把软件设计的重点放在数据结构和算法的选择上,如Knuth提出了数据结构+算法=程序。 但是随着软件系统规模越来越大、越来越复杂,使软件系统的架构越来越重要。软件危机的程度日益加剧,现有的软件工程方法对此显得力不从心。对于大规模的复杂软件系统来说,软件体系架构比起对程序的算法和数据结构的选择已经变得明显重要得多。在此种背景下,人们认识到软件体系架构的重要性,并认为对软件体系架构系统、深入的研究将会成为提高软件生产效率和解决软件危机的最有希望的途径。 这时对软件体系架构的研究如雨后春笋般,出现了百家争鸣的现象,如Rational公司提出了以架构为中心的统一软件开发过程(RUP)。 (二)、为什么要有架构好的开始相当于成功一半,开始之初的架构设计决定着软件产品的生死存亡。开始的架构设计也是最难的,需要调研同类产品的情况以及技术特征,了解当前世界上对这种产品所能提供的理论支持和技术平台支持。再结合自己项目的特点(需要透彻的系统分析),才能逐步形成自己项目的架构蓝图。软件设计的一个核心问题是能否使用重复的体系架构,即能否达到体系架构级的软件重用。也就是说,能否在不同的软件系统中,使用同一体系架构。基于这个目的,许多学者们开始研究和实践软件体系架构的模式问题。在Pattern-Oriented Software Architecture (面向模式的软件体系架构) 中首次提出了8种体系结构模式: 层(Layers)、管道和过滤器(Pipes and Filters) 、黑板(Black board )、代理者(Broker)、模型-视图-控制器(Model-View-Controller)、表示-抽象-控制(Presentation-Abstraction-Control)、微核(Microkernel)、映像(Reflection)。 (三)、架构的定义:架构(Architecture,原意为建筑学设计和建筑物建造的艺术与科学): 在RUP中的定义:软件系统的架构(在某一给定点)是指系统重要构件的组织或结构,这些重要构件通过接口与不断减小的构件与接口所组成的构件进行交互软件架构实践中的定义:某个软件或者计算系统的软件构架即组成该系统的一个或者多个结构,他们组成软件的各个部分,形成这些组件的外部可见属性及相互间的联系;IEEE 1471-2000中的定义:the fundamental organization of a system emboided in its components,their relationships to each other,and to the enviroment and the principles guiding its design and evolution,架构是系统在其所处环境中的最高层次的概念。软件系统的架构是通过接口交互的重要构件(在特定时间点)的组织或结构,这些构件又由一些更小的构件和接口组成。(“架构”可以作为名词,也可作为动词,作为动词的“架构”相当于“架构设计”)二、J2EE架构(一)、J2EE介绍:Java2企业版(J2EE)平台由四个关键部分构成:规格说明、参考实现、兼容性测试套件和蓝图(BluePrint)计划。J2EE是一种利用Java 2平台来简化诸多与多级企业解决方案的开发、部署和管理相关的复杂问题的体系结构。它使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。多层化应用为不同的每一种服务提供一个独立的层,J2EE 典型的四层结构如下: 运行在客户端机器上的客户层组件 运行在J2EE服务器上的Web层组件 运行在J2EE服务器上的业务逻辑层组件 运行在EIS服务器上的企业信息系统(Enterprise information system)层软件J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持,并提出了(JSP、Java servlet、JDBC、EJB、RMI 、JNDI)等13种技术规范。(二)、J2EE架构图1、J2EE服务器 J2EE服务器提供如下服务: *命名及目录允许程序通过JAVA命名和目录接口(JNDI)定位服务和组件 *验证对需要登入的用户加强安全性 *HTTP使WEB浏览器能接触servlets和JSP文件 *EJB允许客户端激活在Enterprise Bean的方法 2:EJB容器 Enterprise bean实例运行于一个EJB容器中。此容器是控制enterprise bean并为其提供重要的系统级别的服务的运行时环境。即是你可以不用自己开发这些服务,完全可以集中在enterprise bean的业务方法上。此容器为enterprise bean提供如下服务: *事务管理(Transaction Management) *安全(Security) *远程客户连接(Remote Client Connectivity) *生存周期管理(Life Cycle Management) *数据库连接池(Database Connection Pooling) (三)、J2EE组成部分对于开发人员来说,J2EE平台提供给他们的就是三种,Jsp、Servlet、EJB这三种开发方式。1、Jsp开发方式 Jsp其实是一种高层的Servlet。他与以往的其他网页编写脚本有很大的相似性,但是只是在执行时有一些不同。Jsp引擎将它和它所在的HTML文件一起合成Servlet的代码,然后它的执行就和Servlet的一样了:先编译成.class文件,然后由支持java虚拟机的服务器来执行,然后输出结果。我们在使用Jsp中可以使用JavaBean来进行更加灵活的处理。2、Servlet开发方式Servlet可以被看作是服务器端的applet,它通过ServletResponse以及ServletRequest这两个对象来输出和接收用户传递的参数,然后在内部的方法中执行操作,如访问数据库、访问别的Servlet方法、调用EJB等等,然后将处理结果返回给客户端。可以通过集成化的开发工具来进行开发。在一般的工具中都已经构建好一个框架,程序员只需要熟悉html标签以及熟悉一般的java语言就可以进行开发了。3、EJB开发方式EJB如果除去它的语言特点外,我想对于大多数有比较丰富编程经验的开发人员来说应该可以轻松理解,他非常类似于微软的DCOM。他有一个自己要存活要活动的一个容器,为了可以让客户进行透明调用,而不必关心位置,他还必须有一个本地和远程接口,同时还应该有一个相关的配置文件,以便告诉容器她要怎样的活法。对于开发人员来说,如果采用一种集成化的开发工具,如JBuilder,就可以大大减少工作量。在JBuilder中通过配置相关的服务器路径、容器信息,我们可以通过它的模板来完成一个EJB组件的开发以及分发,非常方便也非常简单。在开发过程中,建议的开发方式是在会话bean内部调用实体bean,因为实体bean没有状态但是对数据库的亲和,而会话bean中有我们为了控制程序而需要的上下文信息,因此,我们可以结合这两种bean的所有优点,来比较轻松的进行开发。比如在会话bean中用实体bean进行数据库的访问同时会话bean用来保存客户的上下文信息。(四)、J2EE的特点:J2EE 应用服务器(Application Server)采用目前国际最先进的开发理念、拥有许多适合基于Web 的应用系统需求的特点:1、 三层结构体系-最适合Internet环境,可以使系统有很强的可扩展性和可管理性。2、 分布式环境-可以保证系统的稳定性,同时拥有较高的性能。3、 面向对象的模块化组件设计-可以提高开发速度,降低开发成本。 4、 采用JAVA技术-完全跨平台,适应Internet需要,并能得到大多数厂商支持,保护用户投资。J2EE 应用服务器的这些特点和优势使其普遍为业界所看好,并成为软件市场新一轮竞争的热点。据预测,到2005年仅直接许可证收入就可使之市场规模达到25亿美元。目前,除了老牌中间件厂商BEA以外,HP 、IBM、Sun等IT巨头都瞄准了这块市场,演绎着互联网大舞台上的软件“战国时代”。 (五)、J2EE模型为了降低成本,并加快企业应用程序的设计和开发,J2EE 平台提供了一个基于组件的方法,来设计、开发、装配及部署企业应用程序。J2EE 平台提供了多层的分布式的应用模型、组件再用、一致化的安全模型以及灵活的事务控制。使用户不仅可以比以前更快的速度向市场推出创造性的客户解决方案,而且,平台独立的、基于组件的J2EE 解决方案不会被束缚在任何一个厂商的产品和API 上 。 J2EE提供了一个企业级的计算模型和运行环境用于开发和部署多层体系结构的应用(附图所示为J2EE的应用模型)。 图1.J2EE应用模型1、客户层(Client Tier ) J2EE 应用可以是基于Web 的,也可以是不基于Web 的。 在基于Web 的J2EE 应用中,用户的浏览器在客户层中运行,并从一个Web服务器上下载WEB 层中的静态HTML 页面或由JSP 或servlets 生成的动态HTML 页面 。 在不基于Web 的J2EE 应用程序中,一个独立的客户程序,可以不运行在一个HTML 页面中,而是运行在其它一些基于网络系统(比如手持设备或汽车电话)中的applet 程序。在客户层中运行,并在不经过Web 层的情况下访问Enterprise Beans 。该不基于Web 的客户层可能也包括一个JavaBeans 类来管理用户输入,并将该输入发送到在企业层中运行的Enterprise Bean 类来处理。 2、Web 层 J2EE Web 组件可以由JSP 页面、基于Web 的applets 以及显示HTML 页面的servlets 组成。 调用servlets 或者JSP 页面的HTML 页面在应用程序组装时与Web 组件打包在一起。就像客户层一样,Web 层可能包括一个JavaBeans 类来管理用户输入,并将输入发送到在业务层中运行的Enterprise Beans 类来处理 。 运行在客户层的Web 组件依赖容器来支持诸如客户请求和响应及Enterprise Bean 查询等。 3、业务层 作为解决或满足某个特定业务领域(比如银行、保险、零售或金融业)需要的逻辑的业务代码由运行在业务层的Enterprise Beans 来执行。一个Enterprise Beans 从客户程序处接收数据,对数据进行处理(如果需要),再将数据发送到企业信息系统层存储。一个Enterprise Beans 还从存储中检索数据,并将数据送回客户程序 。运行在业务层的Enterprise Beans依赖于容器来为诸如事务、生命期、状态管理、多线程及资源存储池等提供通常都是非常复杂的系统级代码。 业务层经常被称作Enterprise JavaBeans (EJB )层 。业务层和Web 层一起构成了3 层J2EE应用的中间层, 而其它两层是客户层和企业信息系统层. 4、企业信息系统层 企业信息系统层运行企业信息系统软件。企业信息系统层组件 处理企业信息系统软件包括企业基础建设系统例如企业资源计划 (ERP), 大型机事务处理, 数据库系统,和其它的遗留信息系统组成了企业信息系统层。 例如,J2EE应用组件可能为了数据库连接需要访问企业信息系统。 三、.NET什么是.NET?它是Microsoft面向XML Web服务的平台。(一)、.NET 的关键内容:1、Microsoft .NET 平台 包括用于创建和操作新一代服务的 .NET 基础结构和工具、用于实施多信息客户端的 .NET 用户经验,以及用于启用新一代智能 Internet 设备的 .NET 构造块服务和 .NET 设备软件。2、Microsoft .NET 产品和服务 包括 Microsoft Windows.NET(其核心集成了一组构造块服务)、MSN.NET、个人订阅服务、Microsoft Office.NET、Microsoft Visual Studio.NET 和 Microsoft bCentral for .NET。3、第三方 .NET 服务 许多领域的合作伙伴和开发人员都有机会在 .NET 平台上提供企业和垂直服务。(二)、微软技术简介 是 平台。 允许应用程序通过 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。 平台提供创建 并将这些服务集成在一起的系统环境。 作为一个 服务平台,由以下部分组成: 一个用来建立 信息系统的软件平台 一个编程模型和一套工具,用来建立和集成 服务 一套可编程 服务 一种可让用户通过 与范围广泛的智能设备进行交互的方法,可保证让用户而非应用程序来控制交互过程 一种可向用户提供个性化、简单、一致而且安全的应用程序、服务和设备的方法 中包括一个用来建立 信息系统的软件平台,此平台指的是运行数据库的服务器、 服务器,以及其他一些系统。这与如今我们企业所用的产品并无太大区别;区别仅在于这些产品能力大小不同。如今我们有像 这样的邮件系统和像 这样的数据库,而这些产品将成为 的基本组件。用来在企业中整合应用与数据的 ,用来管理这些运行 服务器的 ,以及为移动用户提供服务的 等产品,也是信息系统软件平台的一部分。 产品包括一个带工具的编程模型。这将使得开发人员能创建 所基于的 服务。该模型就是“ 框架”。.NET 框架是创建、部署和运行 Web 服务及其他应用程序的一个环境。它包括三个主要部分:公共语言运行时、框架类和 ASP.NET。 的最后一个组成部分是编程模型、工具和平台的最终结果。 服务将提供用户在 所要求的服务和信息。这些 服务是可以集成到业务信息系统中的,用户可以用任何设备访问信息以及与其他业务系统和服务共享信息。 框架 (见附图)(三)、解决方案的特点1、先进的技术架构和平台微软的基本思想是:将侧重点从连接到互联网的单一网站、系统或设备上,转移到计算机、设备和服务群组上,使其通力合作,提供更广泛更丰富的解决方案。用户将能够控制信息的传送方式、时间和内容。计算机、设备和服务将能够相辅相成,从而提供丰富的服务。企业可以提供一种方式,允许用户将它们的产品和服务无缝地嵌入自己的电子构架中。微软 是 平台。提供了一种从数据的视图分离出实际数据的方式。这是新一代互联网的关键,提供了开启信息的方式,以便对信息进行组织、编程和编辑;可以更有效地将数据分布到不同的数字设备上;允许各业务系统之间进行合作,提供一组可以相互作用的“服务”。2、良好的开发工具支持微软为开发人员创建一整套全新的微软开发工具,这些工具能使开发人员把从现在的静态信息显示模式转换成能提供丰富的交互服务。微软具有突破意义的新一代 工具组件能通过由 开发系统首倡的拖放快速应用发展范例,来自动进行“服务”开发。这些服务可以在任一支持的平台上执行。 还能自动生成代码。微软还在公布一套新的 工具,可以通过多种服务的综合,对商业进程进行可视化编程,从而使得商业分析人员能像开发人员那样开发自己的解决方案。3、可扩展性微软平台为企业级的信息系统提供了完整的扩展性支持。它不仅可以支持系统的向上扩展( ),也支持系统的水平扩展( )。(1)、向上扩展( )是通过向系统添加更多的资源,如内存、处理器和磁盘驱动器实现的。 家族产品可以支持至最多的对称多处理、内存、节点群集的扩展性。(2)、水平扩展( )就是当一个应用程序的吞吐率需求超出了单个系统的能力时,水平扩展( )的方法就提供了高的性能。通过将资源分布在多个系统上可以减少对这些资源的争用,从而也就提高了性能和有效性。群集和系统服务,如可靠的事务处理消息排队使得应用程序可以以这种方式进行扩充。 中 的核心思想就是由许多 服务器组成一个群集,通过 ,可以构建多级群集,它们可以使用各种负载平衡技术。负载平衡技术有助于 提供可伸缩性和稳定性。有两种负载平衡技术受到支持: 网络负载平衡 组件负载平衡 4、可靠性与高有效性微软的 、企业服务器产品以及应用架构在可靠性方面进行了全面的设计,采取了各种手段提供、保证微软系统平台的可靠性。微软的系统平台在核心操作系统服务、容错、灾难恢复以及可靠的存贮等方面都进行了加强和改进。 和 提供了群集系统服务作为产品的一个标准部分。群集的目的是为了提供非常高级别的应用程序和数据的有效性。微软的群集方案通过提供一个能够在单个系统发生故障时仍然保持整个系统继续运行的体系结构来将故障停机时间降到最低,并且减少损失。5、安全性 分布式安全性在集成成熟的、标准的身份验证同时引入了新的公钥安全性技术。 安全性体系结构在设计上明确地吸收了新的安全性技术,具体形式有协议、加密服务提供程序和第三方身份验证技术。部署 的客户可以选择使用什么安全性技术、将安全性集成到他们的应用程序环境中,以及当新技术出现后何时进行迁移。同时的应用开发也提供了丰富的安全性支持。6、易管理性 创建了一个优秀的管理基础架构和一批易于使用的集成工具。管理基础架构由一组不同的服务组成,使得 成为在其上建立管理工具和执行管理操作的最佳环境。 操作系统本身还提供了一组工具。这些服务也被用作增值管理解决方案(如 )和来自第三方管理供应商的产品中的关键组件。各种企业服务器也提供了相应管理工具,并且可以非常方便地集成到 的系统环境中。(四)、通信和共享性:.NET允许应用程序通过Internet进行通信和共享数据,它包括:1、NET体验:这些属于XML Web服务,它们允许以集成的方式,通过Internet从独立的应用程序中访问各种信息。诸如MSN bCentral Passport和Visual Studio.NET 都是.NET体验的实例.2、客户端:客户端包括个人计算机、掌上电脑、工作站、电话、手提电脑、平板型电脑、游戏控制器和其它智能设备.这些设备之所以智能是因为它们具有访问XML Web服务的能力.智能客户端使用支持XML Web服务的软件.无论用户位于何处、使用什么设备以及无论用多少个客户端,都能访问数据.3、XML Web服务:为应用程序之间交互提供直接的方法.本地应用程序和远程系统都可以通过Internet使用XML和简单对象访问协议(Simple Object Access Protocol,SOAP )进行消息通信.除了开发人员创建的各种XML Web服务, Microsoft公司也在编写一套核心基础构件服务,用于执行常规任务,以之作为开发人员进行开发的基础.正在编写的称为“.NET My Services”的第一套XML Web服务,是一个面向用户的服务:该服务的饿出发点是人而不是各种设备、网络或应用程序.4、服务器: Microsoft.NET 企业级服务器(包括Microsoft Windows2000 Server家族)构成了部署、管理、协调XML Web服务的Microsoft.NET服务器基础结构.5、工具: Microsoft Visual Studi.NET和o Microsoft.NET Framework为开发者提供了部署、管理、协调XML Web服务的完整解决方案.这些工具使XML Web服务的性能 可靠性和安全性发挥到最大限度. Visual Studi.NET是 Microsoft专为.NET 设计的通用多语言开发工具的新一带产品.NET Framework是高效且机遇标准的多语言应用程序执行环境,能够处理繁琐而必须的信息管道任务和简化部署.它为应用程序提供一个执行环境,以管理内存 处理版本发布 提高应用程序的可靠性 可伸缩性和安全性四、.NET与J2EE平台架构的比较 在计算机世界里,新技术不断地出现。以下就SUN公司推出的J2EE和微软的.NET在面向下一代企业计算方面比较一番。 J2EE平台提供了一个基于组件的方法,来设计、开发、装配及部署企业应用程序。J2EE平台提供了多层的分布式应用模型、组件重用、一致化的安全模型以及灵活的事务控制。同时保证您的平台独立的、基于组件的J2EE解决方案不会被束缚在任何一个厂商的产品和API上。通过以上的论述我们可以看到在设计新技术的出发点上应该说.NET和J2EE是非常相似的。但是这两种技术在实现方法和具体的实现技术上都有很大甚至对立的区别点。 首先需要指明的是.NET决不是简单的改进型的Windows操作系统。因为按照微软的设计思想,任何一个操作平台只要安装了CLR就能够运行.NET程序。 .NET的优点在于它使用XML语言和Web的性能,但它的成熟性和其他解决方案的集成能力还是一个问题。反观之,J2EE提供了多平台支持技术,但用起来却不如 .NET方便。能够执行其他应用程序,甚至不降低速度的情况下,调用其他应用程序中定义的方法,是NET的巨大优点。它可以使企业开发人员在一个程序集中开发和部署公共企业组件,而在其他程序中用这些组件。1、 在开发语言上,.NET的支持面是比较广的,C+、VB、C#、Perl、COBOL等等均得到支持,开发人员可以很容易找到适合自己的语言。而J2EE只支持JAVA语言。这就是说J2EE在语言的选择面上是比较窄的。当然,C#是.NET支持的最重要的一种语言,相对于JAVA而言,C#是支持JIT(just-in-time)编译方式的,而JAVA是基于解释方式的。同时微软为不同的平台环境提供了不同的JIT编译方式。对于类似于Windows CE这样的移动计算环境,微软提供了压缩的.NET框架,相应的也提供了EconoJIT(经济型编译器)。在一般的桌面环境下,微软提供了标准的编译器。另一方面,C#将成为一种工业标准,因为ECMA(欧洲计算机制造商协会)正在接纳C#;而JAVA语言只是SUN公司提出来的。 2、 J2EE支持JAVA、EJB,而.NET支持XML/SOAP。从标准的开放性上来说,XML/SOAP要好于前者。XML由W3C组织提出,得到众多厂家的支持,是下一代Internet上内容表示的标准,XML能够有效地表达网络上的各种知识,为信息的交换和计算提供新的载体。XML相对于网络计算的作用,完全可以与计算机起步阶段ASCII码的作用相提并论。XML也可以说是网络信息的标准代码,它表示的不是符号信息,而是知识化的块状内容。这种标准语言虽然不是程序设计语言,但是它代表的却是下一代网络上互操作的光明前景。说到这里,不由得让人想起了人们当年对 JAVA 的狂热。确实,JAVA有着非常诱人的初衷,让许多人能够在这样的一种理想的感召下为想象中的各种系统之间的互操作能力而投入积极的开发中。但是实际上,JAVA既没有成为人们想象中的成功的商业计算工具,也并没有实质上的技术进步。JAVA试图从统一计算平台的角度来实现互操作,但是这可能永远都是一个梦想。真正能够互操作的,只能是标准和通用的数据描述语言。而SOAP协议本身也是由微软和IBM这样的商业巨头联合推出开发。这一切都表明.NET技术标准的开放性是不错的。 3、 .NET的SOAP协议能够保证一个平台上的组件能够与.NET平台上的组件进行信息的交换。 4, 最重要的一点是,在现有的条件下,各种各样所谓的跨平台、“编译一次,多处运行”等口号只是商业炒做。JAVA的首席设计师James Goslin在谈到这个问题时曾经表达过这样的看法,所谓的“编译一次,多处运行”口号只是一种美好的想法。这就是说,基于某一种开发平台进行开发是不可避免的,假如你基于IBM公司的WebSphere利用JAVA开发商业程序的话,基本上就固定在这个平台上了。JAVA所号称的100%纯的口号其实不是这样;当然,C#也是如此。 5、 在.NET平台上开发程序的一个重要好处在于可以实现真正的“代码重用”。因为在设计.NET平台时,一个重要的思想就是运行时和具体的语言分开。所有的资源管理、内存分配、变量类型等均由运行时处理,这样的话,用C#写的类直接就可以用在C/C+程序中。这样的话,只要基于.NET平台,过去的程序不会因为要采用新型语言而做非常大的修改。而在J2EE平台上,JAVA就是JAVA,它将运行时和具体的语言混在一起。 从上面的比较不难发现J2EE 与.NET的相同点 、不同点、和优劣如下:(一)、相同点:1、适用:企业级开发平台,并且广泛应用于web开发领域; 2、Windows .NET 框架和 Java 都使用了一种托管的运行时环境,都将源代码转换为一种中间语言,然后将其编译为本地的可执行代码。两种平台的开发语言环境都提供垃圾收集、动态类加载和异常; 3、后台数据库领域中,.NET 和基于 J2EE 的应用程序都可以访问 Microsoft SQL Server、IBM DB2、Oracle、Informix、Sybase 和其他数据库上存储的数据; (二)、不同点: 1、关于OS 与windows紧密相连 独立于任何OS之上 2、强调 多语言间交互的通用运行环境,即解决语言差异性 write once, run anywhere即解决平台差异性 3、技术框架 展示层:ASP.Net, Windows Forms中间层:.Net组件事务服务:MTS消息服务:MSMQ目录服务:ADSI, UDDI对象池:Object Pooling异步组件:Queued Component数据层:ADO.Net远层调用:.Net Remoting/Web Service 展示层:ServLet/JSP中间层:EJB事务服务:JTA目录服务:JNDI消息服务:JMS异步组件:Message-Driven EJB数据层:JDBC远程调用 RMI/IIOP 4、提供商 开发环境和操作系统是由同一开发商所提供的,具备天生的兼容性 开发环境和操作系统由不同开发商提供,不同开发商提供的产品的兼容性不容忽视 (三)、优劣: 1、.NET更加方便的利用操作系统集成的服务。 2、J2EE架构的行业应用广泛、案例经验丰富,更加趋于成熟;当然,.NET随着近几年的推广应用也日趋完善、成熟。3、.NET平台架构的简单易用性,决定了使用它的开发效率较高。 4、使用.NET框架的开发和维护费用更低。与在.NET框架上编写的应用程序相比,J2EE 应用程序需要更多的代码来执行同样的任务,较短的代码意味着更轻松的维护工作。 5、.NET系统比J2EE系统的部署更加简单、方便。 6、J2EE 缺乏对 XML 和 Web 服务的支持。 (四)、小结J2EE与.NET: 1、两者的应用有着相似的架构、相应的主要技术。 2、.Net所有技术来自Microsoft,J2EE的技术有多个厂商的实现。3、两者均可以满足大多数应用的需求。 4、主要的差别不在技术的可行性上,而在于开发效率、性能、成本、稳定性等方面。 5、选择.NET应重视的因素:多语言开发、代码的版本控制、高效费比、部署方便、较高得开发效率、系统的稳定性等。6、选择J2EE应重视的因素:多平台部署、平台应用的成熟度、开发成本许可、冗长的代码等。7、如果没有特别的对多平台支持的要求,而系统应用又不是足够的复杂,通常倾向于选择.NET平台。总而言之,J2EE和.NET各有各的优点和缺点。二者都是非常优秀的开发企业计算软件的优秀平台。但就象不同的人有不同的嗜好一样
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 毛线球的猫咪课件
- 2025年美容整形师执业技能考核试题及答案
- 国开中央电大本科《行政领导学》期末考试试题及答案
- 国开本科《西方行政学说》期末考试总题库及答案
- 教科版科学三下 3.6 地球的形状 说课稿
- 2025年度科室虫控管理员培训考试题及答案
- 陕西省宝鸡市2024-2025学年八年级下学期期末物理试题(含答案)
- 教学机智第二章课件
- 传染病的预防教学课件
- 特色拉面培训专业知识内容课件
- 化工设备基础知识培训课件
- 2025-2026学年北师大版数学小学三年级上册(全册)教案设计及教学计划
- 医疗生产安全知识培训课件
- 2025年平凉市静宁县城镇公益性岗位人员招聘(78人)考前自测高频考点模拟试题及答案详解一套
- 2025年部编版新教材道德与法治二年级上册教学计划(含进度表)
- 2025年【秋季】小学【一年级】开笔礼校长致辞:翰墨初启 开笔破蒙
- 2025年“学宪法讲宪法”主题活动知识竞赛题库附答案
- 2025年秋八年级开学主题班会第一课课件(初二正青春拼搏向暖阳)
- 印章U盾管理办法
- 携手筑梦新学期共育成长向未来-2025-2026学年高二上学期开学家长会-
- 2025年重庆市永川区社区工作者招聘考试笔试试题(含答案)
评论
0/150
提交评论