架构、构件、组件、框架、中间件的区别

什么是中间件?

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系统的核心。

1、组件应用

使用现成的组件来开发应用程序时,组件工作在两种模式下:设计时态和运行时态。

在设计时态下,组件显示在C++ Builder窗体编辑器下的一个窗体中。设计时态下组件的方法不能被调用,组件不能与最终用户直接进行交互操作,也不需要实现组件的全部功能。

在运行状态下,组件工作在一个确实已经运行的应用程序中。组件必须正确地将自身表示出来,它需要对方法的调用进行处理并实现与其他组件之间有效的协同工作。

设计时态下所有的组件在窗体中都是可见的,但在运行时态下不一定可见。如TTable、TQuery和TDataSet在运行时态下就不可见,但他们均完成了重要的功能。

2、组件创建

创建组件就是自行设计制作出新的组件。

设计组件是一项繁重的工作。自行开发组件与使用组件进行可视化程序开发存在着极大的不同,要求程序员熟知原有的VCL类库结构,精通面向对象程序设计。

设计组件是一项艰苦的工作。对于组件的开发者,组件是纯粹的代码。组件的开发不是一个可视化的开发过程,而是用C++或Object Pascal严格编制代码的工作。实际上,创建新组件使我们回到传统开发工具的时代。虽然这是一个复杂的过程,但也是一个一劳永逸的过程。

创建组件的最大意义在于封装重复的工作,其次是可以扩充现有组件的功能。

组件创建过程包括设计、开发、调试(就是所谓的3D''s)工作,然后是组件的使用。

组件开发者应该掌握的三项主要内容是:属性、事件和方法。

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

时间: 2024-08-02 10:23:09

架构、构件、组件、框架、中间件的区别的相关文章

Activiti实战. 1.5Activiti架构与组件

1.5Activiti架构与组件 Activiti架构中最重要的肯定是引擎,当然还有刚刚提到的外部工具和组件,如图1-2所示. 下面依次介绍Activiti架构图中的各个组件. Activiti Engine:作为最核心的模块,提供针对BPMN 2.0规范的解析.执行.创建.管理(任务.流程实例).查询历史记录并根据结果生成报表. Activiti Modeler:是模型设计器,其并非由Activiti公司所开发,而是由业界认可的Signavio公司赠送的(Signavio原本是收费的产品,现在

开源容器集群管理系统Kubernetes架构及组件介绍

Together we will ensure that Kubernetes is a strong and open container management framework for any application and in any environment, whether in a private, public or hybrid cloud. --Urs Hölzle, Google Kubernetes 作为Docker生态圈中重要一员,是Google多年大规模容器管理技术的

mvc和三大框架有什么区别

问题描述 网上有人说mvc是在展示层,也有些人说模型包含业务逻辑层和持久层,我们老师也是第一种观点请问这个该怎么理解才好? 解决方案 解决方案二:mvc是一种软件架构思想,将软件的组成部分划分成三种不种类型的模块:分别是model(模型):封装业务逻辑(业务逻辑指的是对业务数据的处理过程以及为保证处理能够正常执行的一些基础服务,比如事务.安全.日志等等,封装指的是模型应该提供接口,调用者使用接口来调用模型的功能).view(视图):实现表示逻辑(视图要对模型处理之后返回的数据提供合适的表现形式,

.NET架构设计、框架设计系列文章总结

从事.NET开发到现在已经有七个年头了.慢慢的可能会很少写.NET文章了.不知不觉竟然走了这么多年,热爱.NET热爱c#.突然想对这一路的经历进行一个总结. 是时候开始下一阶段的旅途,希望这些文章可以在发挥点价值作用.     架构设计: ElasticSearch大数据分布式弹性搜索引擎使用 (推荐) DDD实施经验分享-价值导向.从上往下进行(圈内第一个吃螃蟹DDD实施方案)(推荐) 软件工程-思考项目开发那些事(一)(推荐) SOA架构设计经验分享-架构.职责.数据一致性(推荐) .NET

架构-.net多层框架分层问题

问题描述 .net多层框架分层问题 举例说明IBLL层,IDLL层的好处?都说大项目接口方便扩展和维护?反射获取接口下的实例? 解决方案 分层的作用是,层可以单独替换,而不需要修改别的层的代码.一个典型的场景是,你的程序需要同时适配mysql sqlserver oracle等数据库,你肯定不希望差不多的代码写三份,那么就把数据库独立出来(不叫dll,叫dal) 但是分层是牺牲灵活性作为代价的,分层后每一层的接口一旦变动,必须所有的实现类全部都要改.所以分层绝对不是为了什么"好处".分

控件开发和组件开发有什么区别?

问题描述 RT好像很多地方都说差不多可是VS2005中为什么添加的时候有服务器控件还有组件选项?如果不一样,哪个简单,是控件开发简单吗?请回答的尽量详细,谢谢! 解决方案 解决方案二:我们所说的控件一般是指按钮文本框图表控件等等组件是一个更广泛的概念,其可以包含可视化的控件,也包含不可视的后台服务.组件就是一个独立的执行单位,其一般通过接口方法被调用,实现高内聚,松耦合解决方案三:想问下<庖丁解牛>这本书说说的组件/控件,目录里写的又都是控件,那这本书里的是都是组件和控件,还是什么?解决方案四

AgileEAS.NET SOA 中间件平台.Net Socket通信框架-介绍

一.前言      AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市场快速变化的开发团队,以达到节省开发成本.缩短开发时间,快速适应市场变化的目的.      AgileEAS.NET SOA中间件平台提供了敏捷快速开发软件工程的最佳实践,通过提供大量的基础支撑功能如IOC.ORM.SOA.分布式体系及敏捷并发开发方法所支撑的插件开发体系,以及提供了大量的

一套较完整的技术框架

一套较完整的技术框架 转载自http://blog.csdn.net/phenixiii/article/month/2007/11 1 引言 1.1 前言 本文将基于目前现有的软件开发架构(以下简称'架构')(Packer for Delphi),同时如何合理地引进新技术等问题,进行系统地分析和研究,以指导新架构的研发. 1.2 研发依据 1.2.1 公司发展 1.2.2 开发方式 1.2.3 技术升级 1.2.4 产品线 行业领域软件需要个性化的服务,如果对应以作坊式的开发方式,将会陷于项目

《IT运维之道》——13.2 中间件软件

13.2 中间件软件 随着网络和硬件技术的高速发展,大大地提高了计算机系统的处理能力.信息系统也由传统的C/S架构转变为B/S架构,大量的Web应用充斥在工作生活的每个地方,这些分布式应用程序大多数都是在网络环境的异构平台上运行,使得网络和分布式应用的开发.测试和移植中所投入的代价非常高.为了降低开发.集成和维护成本,具有前瞻性的系统开发商提出了中间件(middleware)这一概念,为集成系统的发展带来了革命性的变化. 中间件是一种独立的系统软件或服务程序,位于客户机.服务器的操作系统之与分布