1协议
协议就是规则的集合。在网络中药做到有条不紊地交换数据,就必须遵循一些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及相关的 同步问题。这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议(Network Protocol),它是控制两个(或多个)对等实体进行通信的规则的集合,也就是水平的。网络协议也简称为协议。
协议由语法、语义和同步三部分组成。
2接口
接口是统一结点内相邻两层间交换信息的连接点,是一个系统内部的规定。每一层只能为紧邻的层次之间定义接口,不能跨层定义接口。在典型的接口上, 同一结点相邻两层的实体通过服务访问点(Service Access Point,SAP)进行交互。服务是通过服务访问点SAP提供给上层使用的,第n层的SAP就是第n+1层可以访问第n层服务的地方。每个SAP都有一个能够标识它的地址。服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口(类似于邮政信箱),但和通常所说的两个设备之间的硬件接口是很不一样的。
3服务
服务是指下层为紧向邻的上层提供的功能调用,也就是垂直的。对等实体在协议的控制下,使得本层能为上一层提供服务,但要实现本层协议还需要使用下一层所提供的服务。
一定要注意,协议和服务在概念上是不一样的 。首先,本层协议的实现才能保证向上一层提供服务。本层的服务用户只能看到服务而无法看见下面的协议,即下面的协议对上层的服务用户是透明的。其次,协议是“水平的”,即协议是控制对等实体之间通信的规则。但服务是“垂直的”,即服务是由下层通过层间接口向上层提供的。另外,并非在一层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见”的功能才称为服务。
可以这么讲。接口是 信息调用的出口 ,服务是 建立在 协议的基础上
"端口"是英文port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。电话使用RJ11插口也属于物理端口的范畴。
如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536(即:2^16)个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535(2^16-1)。
在Internet上,各主机间通过TCP/IP协议发送和接收数据包,各个数据包根据其目的主机的ip地址来进行互联网络中的路由选择,把数据包顺利的传送到目的主机。大多数 *** 作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据包传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。
本地 *** 作系统会给那些有需求的进程分配协议端口(protocol port,即我们常说的端口),每个协议端口由一个正整数标识,如:80,139,445,等等。当目的主机接收到数据包后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。
常用端口对应的协议程序是:
21 文件传输服务器(控制连接)(FTP)
23 运程终端服务器(TELNET)
25 简单邮件传输服务器(SMTP)
80 万维网服务器(>
解决分布异构问题,人们提出了中间件(middleware)的概念。中间件是位于平台(硬件和 *** 作系统)和应用之间的通用服务,这些服务具有标准的程序接口和协议。针对不同的 *** 作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。
也许很难给中间件一个严格的定义,但中间件应具有如下的一些特点:
满足大量应用的需要
运行于多种硬件和OS平台
支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互
支持标准的协议
支持标准的接口
由于标准接口对于可移植性和标准协议对于互 *** 作性的重要性,中间件已成为许多标准化工作的主要部分。对于应用软件开发,中间件远比 *** 作系统和网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的 *** 作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。
执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或 OS 环境。
中间件是介于 *** 作系统和应用软件之间,为应用软件提供服务功能的软件,有消息中间件,交易中间件,应用服务器等。由于介于两种软件之间,所以,称为中间件。
具体地说,中间件屏蔽了底层 *** 作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。
中间件带给应用系统的,不只是开发的简便、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。
为解决分布异构问题,人们提出了中间件(middleware)的概念。中间件是位于平台(硬件和 *** 作系统)和应用之间的通用服务,如下图所示,这些服务具有标准的程序接口和协议。针对不同的 *** 作系统和硬件平台,它们可以有符合接口和协议规范的多重实现。
是指同一计算机不同功能层之间的通信规则称为接口。
java接口作用:
1、利于代码的规范。这样做的目的一方面是为了给开发人员一个清晰的指示,告诉他们哪些业务需要实现;同时也能防止由于开发人员随意命名而导致的命名不清晰和代码混乱,影响开发效率。
2、有利于对代码进行维护。可以一开始定义一个接口,把功能菜单放在接口里,然后定义类时实现这个接口,以后要换的话只不过是引用另一个类而已,这样就达到维护、拓展的方便性。
3、保证代码的安全和严密。一个好的程序一定符合高内聚低耦合的特征,能够让系统的功能较好地实现,而不涉及任何具体的实现细节。这样就比较安全、严密一些,这一思想一般在软件开发中较为常见。
API:应用程序接口(API:Application Program Interface)
应用程序接口(API:application programming interface)是一组定义、程序及协议的集合,通过 API 接口实现计算机软件之间的相互通信。API 的一个主要功能是提供通用功能集。程序员通过使用 API 函数开发应用程序,从而可以避免编写无用程序,以减轻编程任务。
API 同时也是一种中间件,为各种不同平台提供数据共享。根据单个或分布式平台上不同软件应用程序间的数据共享性能
面对一个实习生,我的研究方向是大型的数据处理,分布式计算,中间件的hadoop,似乎是说我很感兴趣的话,中间件,直接问我,我的理解的中间件,我很少思考这样一个问题:中间件有自己的理解是硬件, *** 作系统和应用平台,可以屏蔽不同性质的 *** 作系统。
一个完整的系统平台由一套,中间件通常集成,包括开发平台和运行平台。中间件这组,通常会是至少一个通信中间件。中间件是分布式系统中使用的一个概念。
中间件屏蔽了底层 *** 作系统的复杂性,应用开发简单的统一。降低编程的复杂性(Hadoop是一个很好的例子),专注于自己的业务,没有程序在不同的系统上的软件移植和重复劳动,大大降低了技术负担。中间件把应用系统,而不是只是简单的开发,缩短开发周期,还减少了工作量的系统维护, *** 作和管理(这并没有觉得在hadoop直接写MPI程序,也可以运行不需要任何额外的维护,容错机制,Hadoop的声音,满足了这一点)。此外,还降低了电脑的整体成本投入。
中间件,以便为解决分布式异构分布式计算系统的问题比较困扰,不得不面对的一个问题。中间件提供了一个标准的程序接口和协议的应用程序调用,或更确切地说,是中间件服务过程调用的应用程序接口来完成的任务。
其中:特性的中间件
可以概括为如下:
1。满足大量的应用程序的需求
各种硬件和OS平台上运行
跨网络,应用或服务的硬件和OS平台的透明性,支持分布式计算
4支持标准协议的互 *** 作性
5。支持标准接口的便携性
,中间件成为许多标准化工作的重要组成部分。对于应用软件开发,中间件是 *** 作系统和网络服务更为重要,中间件提供了一个相对稳定的高层应用程序接口定义,不管底层的计算机硬件和系统软件更换,只要将中间件升级更新并保持中间件的外部接口定义了相同的应用软件,几乎不需要任何,从而保护重要的企业应用软件开发和维护的投资。
:中间件的分类
在分布式环境中,中间件必须提供通信服务,我们调用这个服务平台,根据不同的目的和实现机制,可分为下列几大类:
远程过程调用(RemoteProcereCall,远程过程调用)
面向消息的中间件(面向消息的中间件)
对象请求代理(对象请求代理)
它们的功能:
第一:起来,提供不同形式的通讯服务,包括同步,排队订阅出版,广播,这些基本的通讯平台,可以建立各种框架,为应用程序提供服务,在不同领域的事务处理监视分布式事务处理访问对象交易经理OTM。
二:中间件本身定义的相应字段的应用程序的体系结构,标准的服务组件,用户只需告诉框架感兴趣的事件,然后提供处理这些事件的代码。当一个事件发生时,框架将调用用户代码。用户不必调用框架,用户程序不关心的框架结构,实施过程中,系统API调用,框架是负责基于中间件的应用程序开发完成后具有良好的可扩展性,可管理性,高可用性和可移植性。
21分类介绍:
211远程过程调用
RemoteProcereCall,远程过程调用是一种广泛使用的分布式应用程序的方法。应用程序使用RPC来“远程”执行一个不同的地址空间的过程中,从效果来看,执行相同的本地电话。
212面向消息的中间件
的MOM是可靠,高效的消息传递机制,独立于平台的数据交换和集成的分布式系统数据通信的基础上。通过提供消息传递和消息排队模型,它可以扩展的分布式环境中,进程间通信,并支持多种通讯协议,语言,应用程序,硬件和软件平台。流行的MOM中间件产品有IB?M的MQSeries,:BEAMessageQ。
消息传递和排队技术有三个主要特点:
通信程序可以运行在不同的时间,程序是在网络上直接相互通话,而是间接地将消息放入消息队列,因为程序之间有没有直接的联系。因此,他们不被同时运行。到合适的队列中的消息,目标程序或根本不需要正在运行的运行,即使目标程序并不意味着他们应该立即处理该消息。
:复杂的应用程序的应用的结构上,图2是不具有约束力,通信处理不仅可以是一个之间的一一对应关系,并且也可以是一对一一对多和many-to-one上,或什至是的各种方法的组合。多种通信手段的构造函数不增加的应用程序的复杂性。
3。计划和网络复杂性的性隔离:程序会把消息放入消息队列,或删除的消息从消息队列中的沟通与此相关的所有活动,比如维护消息队列,维护之间的关系程序和重新启动网络和移动网络中的消息队列处理的任务的MOM不直接与其他程序调用,不涉及复杂的网络通信。
213对象请求代理
随着时代的发展对象技术与分布式计算技术,既能互相形成一个分布式对象计算,并发展成为当今软件技术的主流方向。1990年底,对象管理集团OMG对象管理结构OMA(对象管理体系结构),对象请求代理(对象请求代理)是这个模型的核心组成部分。它的作用是提供一个通信框架,透明的请求异构分布式计算环境中传递对象。CORBA规范包括了ORB的所有标准接口。CORBA11于1991年推出,定义了接口描述语言OMGIDL和支持的客户机/服务器对象特定的ORB互 *** 作性API。CORBA20规范描述了不同厂商的ORB之间的互 *** 作性。
对象请求代理(ORB)是对象总线,它在CORBA规范的核心,定义异构环境下对象透明的基本机制发送请求和接收响应,是一个客户机/服务器对象之间的关系建立中间件。ORB允许向其他对象的对象的请求可以是透明的或接受的其他对象的响应,这些对象可以位于本地到远程机器上,也可以位于。可以实现ORB拦截请求调用,并负责寻找所请求的对象,传送参数,调用相应的方法,并返回结果。客户端对象在同一台服务器对象的沟通和激活机制或存储服务器对象,不知道,也不用知道服务器对象,它是什么语言,什么作业系统或其他系统组件不属于对象的接口。
这是值得注意的,客户端和服务器的角色,仅仅是用来协调对象之间的交互,根据不同的场合,在对象上的ORB可以是客户端,也可以是一个服务器,或者甚至两者。当对象发出请求时,它是在客户端的角色,当它接收到一个请求时,它是在一个服务器角色。大多数的对象都发挥客户端扮演的角色在服务器的角色。此外,没有一个是负责传输和服务器管理,客户端和服务器之间的直接连接对象请求ORB,因此,与RPC支持简单的客户机/服务器体系结构相比,ORB可以支持更加复杂的结构。
214事务处理监视器
事务处理监控程序(交易处理监视器)最早出现在大型机上,大规模事务处理环境中的可靠运行提供支持。随着分布式计算技术的发展,分布式应用系统需要大规模的事务处理,如大量的关键事务处理的商业活动。交易监控社会之间的客户端和服务器,事务管理和协调,负载平衡和故障恢复,以提高系统的整体性能。它可以被看作是事务处理应用程序的“ *** 作系统”。一般来说,事务处理监视器具有以下特点:
流程管理,包括启动服务器进程,分配任务,监督其执行情况和负载平衡。
事务管理,即确保在其监测的原子性,一致性,独立性和持久性的交易。
在客户端和服务器之间的通讯管理提供了多种通讯机制,包括请求响应会话,排队,订阅发布和广播。
交易监控提供了大量的客户端,如飞机订票系统的服务。如果被分配给所需要的资源,然后为每个客户端的服务器,该服务器将被淹没(如在图2中所示)。但实际上,在相同的时间,并非所有的客户端需要请求服务,一旦客户端请求的服务,希望得到一个快速的反应。事务处理监视器 *** 作系统之上提供一组服务,管理和分配相应的服务进程,使服务器可以有效地为大型客户提供服务,在有限的系统资源,客户端的请求。
:中间件的不足之处
最流行的中间件服务使用专有的API和专有的协议,使来自不同制造商的应用程序建立在一个单一的制造商的产品实现互 *** 作性是困难的。一些中间件服务平台实现,从而限制了异构系统之间移植的应用。应用程序开发者建立自己的应用程序,这些中间件服务也需要承担相当大的风险,他们往往需要重写他们的系统,随着技术的发展。中间件服务的分布式计算的抽象程度提高,应用程序开发人员需要面对很多困难的设计选择,例如,开发人员还需要在客户端和服务器端的功能分配决定的分布式应用程序。通常是指客户端的显示设备上的服务,方便的使用数据服务的服务器上关闭到数据库中,但它并非总是如此,更何况其他应用程序是如何分配的,它是不容易的确定。
以上就是关于协议,服务与接口的定义及关系全部的内容,包括:协议,服务与接口的定义及关系、21、23、25、80等常用端口对应的协议程序是什么、软件业中常提到的“中间件”是指什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)