`
jdlsfl
  • 浏览: 161351 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

架构,构件,组件,框架,中间件之间区别!

阅读更多

中间件作为一大类系统软件,与操作系统,数据库管理系统并称"三套车",其重要性是不言而语的.

那什么是中间件?

我们来看看以下的几种定义:
http://middleware.internet2.edu/ 给出了middleware的一个定义:
Middleware, is a layer of software between the network and the applications. This software provides services such as identification, authentication, authorization, directories, and security. In today's Internet, applications usually have to provide these services themselves, which leads to competing and incompatible standards. By promoting standardization and interoperability, middleware will make advanced network applications much easier to use.
同样,IDC给出的一个定义:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

从这些定义中可以看出:
– 中间件是一类软件,而非一种软件;
– 中间件不仅仅实现互连,还要实现应用之间的互操作;
– 中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。

接着,我们再来看看什么是Web Services?
Web Services就是可以通过web描述、发布、定位和调用的模块化应用。Web Services可以执行任何功能,从简单的请求到复杂的业务过程。一旦Web Services被部署,其他的应用程序或是Web Services就能够发现并且调用这个部署的服务。
Web Services通过简单对象访问协议 (Simple Object Access Protocol,SOAP)来调用。SOAP是一种轻量级的消息协议,它允许用任何语言编写的任何类型的对象在任何平台之上相互通信。SOAP消息采用可扩展标记语言(XML)进行编码,一般通过HTTP进行传输。与其它的分布式计算技术不同,Web Services是松耦合的,而且能够动态地定位其他在internet上提供服务的组件,并且与它们交互。
Web Services使用诸如SOAP消息这样的XML消息,通过一种良好定义的消息交换模式来调用。通过描述调用服务所必需的数据,Web Services描述语言 (WSDL)文档定义了消息交换模式。


一、组件概念
  简而言之,组件就是对象。C++ Builder中叫组件,Delphi中叫部件,而在Visual BASIC中叫控件。
  组件是对数据和方法的简单封装。C++ Builder中,一个组件就是一个从TComponent派生出来的特定对象。组件可以有自己的属性和方法。属性是组件数据的简单访问者。方法则是组件的一些简单而可见的功能。
  组件是C++ Builder环境中最令人激动的部分。使用组件可以实现拖放式编程、快速的属性处理以及真正的面向对象的设计。VCL和CLX组件是C++ Builder系统的核心。
二、组件应用
  使用现成的组件来开发应用程序时,组件工作在两种模式下:设计时态和运行时态。
  在设计时态下,组件显示在C++ Builder窗体编辑器下的一个窗体中。设计时态下组件的方法不能被调用,组件不能与最终用户直接进行交互操作,也不需要实现组件的全部功能。
  在运行状态下,组件工作在一个确实已经运行的应用程序中。组件必须正确地将自身表示出来,它需要对方法的调用进行处理并实现与其他组件之间有效的协同工作。
  设计时态下所有的组件在窗体中都是可见的,但在运行时态下不一定可见。如TTable、TQuery和TDataSet在运行时态下就不可见,但他们均完成了重要的功能。
三、组件创建
  创建组件就是自行设计制作出新的组件。
  设计组件是一项繁重的工作。自行开发组件与使用组件进行可视化程序开发存在着极大的不同,要求程序员熟知原有的VCL类库结构,精通面向对象程序设计。
  设计组件是一项艰苦的工作。对于组件的开发者,组件是纯粹的代码。组件的开发不是一个可视化的开发过程,而是用C++或Object Pascal严格编制代码的工作。实际上,创建新组件使我们回到传统开发工具的时代。虽然这是一个复杂的过程,但也是一个一劳永逸的过程。
  创建组件的最大意义在于封装重复的工作,其次是可以扩充现有组件的功能。
  组件创建过程包括设计、开发、调试(就是所谓的3D's)工作,然后是组件的使用。
  组件开发者应该掌握的三项主要内容是:属性、事件和方法。

http://www.vchome.net/dotnet/webservice/webservice15.htm
http://www.csdn.net/develop/read_article.asp?id=15399


模式,即pattern。其实就是解决某一类问题的方法论。你把解决某类问题的方法总结归纳到理论高度,那就是模式。

Alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。

模式有不同的领域,建筑领域有建筑模式,软件设计领域也有设计模式。当一个领域逐渐成熟的时候,自然会出现很多模式。

 

什么是框架?

框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。

构件(component)是可复用的软件组成成份,可被用来构造其他软件。它可以是被封装的对象类、类树、一些功能模块、软件框架(framwork)、软件构架(或体系结构Architectural)、文档、分析件、设计模式(Pattern)等。构件分为构件类和构件实例,通过给出构件类的参数,生成实例,通过实例的组装和控制来构造相应的应用软件,这不仅大大提高了软件开发者的开发效率,也大大提高了软件的质量。

 
分享到:
评论

相关推荐

    架构_框架_模式_构件_组件_中间件之间区别

    架构、框架、模式、构件、组件、和中间件之间的区别是软件开发中一个重要的概念。架构是从大到小的一种关系,也是一种组合关系,通常针对一个行业或一类应用,是技术和应用的完美结合。框架是从技术的横切面去解决...

    架构,构件,组件,框架,中间件之间区别

    在IT领域,尤其是在软件开发与系统构建中,“架构”,“构件”,“组件”,“框架”以及“中间件”是常见的术语,它们各自扮演着不同的角色,对于系统的整体设计与功能实现至关重要。下面将深入探讨这些概念的区别与...

    框架、组件、插件、控件中间件概念及区别

    本文旨在详细解析框架、组件、插件、控件以及中间件这几个概念,并探讨它们之间的区别与联系。 #### 几个概念 1. **类库** 类库是指程序员用来实现各种功能的一系列类的集合。例如`FileUtil`和`XMLUtil`等工具类...

    《软件构件与中间件技术》全真试题

    根据给定文件的信息,我们可以提炼出以下几个...以上是根据给定文件总结的关于“软件构件与中间件技术”的关键知识点,涵盖了分布式系统的架构、中间件的功能、CORBA和EJB的相关概念以及WebService的基础等方面的内容。

    武汉理工大学软件构件与中间件重点

    29. **SFA (Server Framework Adapter)**:服务器框架适配器是一种用于在不同服务器框架之间进行转换的组件。SFA可以帮助实现不同框架之间的兼容性。 30. **MOF (Meta Object Facility)**:元对象设施是一种用于...

    面向构件中间件平台-EOS

    面向构件中间件平台-EOS,是一种先进的软件架构技术,它为构建、部署和管理分布式企业应用提供了强有力的支持。本文将深入探讨EOS的核心概念、特点、优势以及如何在实际开发中运用这一技术。 首先,让我们理解...

    应用中间件开发高端服务软件.pdf

    ERP(Enterprise Resource Planning)系统的中间件框架就是构件化思想的体现,它允许企业灵活配置和扩展系统功能,适应业务变化。 【微服务与中间件】 随着微服务架构的流行,中间件也在不断演进以适应这种新型的...

    服务体系架构(SOA)和业务组件(BC)的思考

    服务组件架构(Service Component Architecture,SCA)是支持SOA的编程模型和技术规范,由主要的中间件提供商如BEA、IBM和Oracle共同制定。SCA定义了三个层次:域(Domain)、组合构件(Composite)和构件...

    中间件和J2EE技术

    在J2EE架构中,应用程序被组织为多个可重用的构件(components),这些构件通过容器提供的服务进行交互。主要构件类型包括: - **EJB(Enterprise JavaBeans)**:用于构建服务器端的业务逻辑,分为会话Bean和实体...

    IBM面向服务的体系架构(SOA)和业务组件(BC)的思考.docx

    服务组件框架(SCA)是SOA的一个技术规范,由包括IBM在内的几家主要中间件供应商共同制定。SCA提供了一种编程模型,用于构建基于服务的应用系统。它由域(Domain)、组合构件(Composite)和构件(Component)三个...

    DCAM平台下的分布式方面构件模型及协同框架的研究.pdf

    【分布式方面构件模型及协同框架】是针对DCAM(分布式方面化中间件)平台的一种扩展研究,旨在增强其在分布式环境中的功能和性能。DCAM平台最初设计时,其核心实现机制并未考虑到分布式环境下方面构件之间的通信支持...

    java中间件问答题.pdf

    综上所述,Java中间件和构件技术在构建企业级应用中起着至关重要的作用,而SSH架构和Hibernate则提供了强大的工具和框架,用于简化开发和管理复杂系统。开发者需要根据项目需求选择合适的中间件和框架,并充分理解...

    中间件技术概述

    - **微服务架构**:微服务架构的兴起推动了中间件技术的革新,例如Spring Cloud等框架的出现。 - **容器化技术**:容器技术的发展使得中间件部署更加灵活高效,如Docker容器等。 - **人工智能集成**:AI技术的集成...

    综合电子信息系统面向构件的软件开发与集成技术 (1).pdf

    4. **中间层**:作为构件的容器,包含数据库访问组件、消息中间件等,隔离不同操作系统环境,支持构件的部署和运行。 5. **网络层**:处理通信和协议安全,实现网络设备集成和高效通信。 6. **基础层**:提供构件间...

    构件说明分析文档(例子)

    以上是对Web相关构件系统的初步分析,涵盖了系统设计的各个方面,包括架构、组件关系、设计目标以及核心构件的介绍。通过这份文档,开发者可以更好地理解项目的需求,按照既定的思路进行开发,从而确保项目的顺利...

    几种ESB(企业服务总线)架构介绍.pdf

    ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务协调运作,实现了不同服务之间的通信与整合。 从功能上看,ESB提供了事件...

    AUTOSAR架构软件结构简介.doc

    AUTOSAR 软件架构的整体框架包括: 1. 应用层(Application Layer) 2. 中间件 RTE(Runtime Environment) 3. 基础软件层 BSW(Basic Software) 基础软件层 BSW 又可以分为四层: 1. 服务层(Services Layer) ...

Global site tag (gtag.js) - Google Analytics