中间件是一种处于操作系统(底层)和应用之间的软件或者组件,起到让应用在操作系统上可以正常运行的作用,向apache,iis,sqlserver等。
成都创新互联2013年至今,是专业互联网技术服务公司,拥有项目成都网站设计、成都网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元金安做网站,已为上家服务,为金安各地企业和个人服务,联系电话:028-86922220
针对不同的应用需求涌现出多种各具特色的中间件产品。但至今中间件还没有一个比较精确的定义,因此,在不同的角度或不同的层次 上,对中间件的分类也会有所不同。由于中间件需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布环境下的通讯服务,将这种通讯服务称之为平台。基于目的和实现机制的不同,可以将平台分为以下主要几类:
远程过程调用(Remote Procedure Call)
面向消息的中间件(Message-Oriented Middleware)
对象请求代理(Object Request Brokers)
说实话 您的问题还是太广了
软件测试人员 要看您测试的方向、您所测试软件的技术构成来决定测试人员所必须具备的知识和技能。
总体上说,测试人员应该至少:
1、熟知1-2门编程语言,最好能熟知过程化程序设计语言和面向对象程序设计语言各1种;
2、掌握上述1-2们语言的相对应的可视化编程工具;
3、中间件一般是.net、java开发用的较多,可以了解其中1种的就可以,但是必须了解中间件的基本知识,如中间件定义、原理、使用的基本方法等;
4、web服务器,掌握常用的集中即可,比如tomcat tongweb iis等,这个应该不是必须的,但是最好能了解简单的,或者你有足够的学习能力,能自己查阅资料和文档掌握他们,搭建基本环境;
5、操作系统也是根据您测试的方向和测试的软件产品本身的系统环境,最好能掌握windows系列的服务器版操作系统,同时简单了解操作系统的原理、构成。还有足够学习能力,你可以不了解linux,但当您需要测试linux环境下的软件时,应该具备足够学习能力可以通过查阅资料自学基本知识;
6、软件架构这个可以在工作中积累,对于测试来说,只要有这方面意识就行,后期可以加强学习;
7、数据库:这个必须要掌握基础,oracle、sqlserver这两个是必须的,简单安装、使用、增删改查等基本操作都需要掌握。
这其实是一个比较虚的概念。广义的中间件范围很广。起沟通作用的都可以认为是中间件。甚至ODBC这样的东西你也可以认为是中间件。
现在用的比较多的中间件应该是BEA公司的tuxedo和IBM公司的weblogic?(好象是这个东西),我接触过一点tuxedo。oracle、sun和ms好象也有类似产品,不过用的人很少。tuxedo是这个领域的领导者,不过IBM正在追赶并有可能超过,毕竟,IBM就是IBM。
tuxedo这东西我们用来做数据库和前台应用之间的中间件。
使用了中间件之后,以前直接连接的前台应用程序和数据库之前就多了个tuxedo,现在前台程序把请求发给tuxedo,tuxedo再把请求发给数据库,数据库处理结束之后把结果返回tuxedo,tuxedo再把结果送回给前台。这样一搞,表面看复杂了很多。不过带来一些好处,比如:
安全。tuxedo的服务是定制的,这就有点象是存贮过程,因为应用程序无法直接接到数据库而只能通过tuxedo,所以应用程序无法做tuxedo服务之外的事情。你把你的应用逻辑写在tuxedo中,你就可以保证你的数据是安全的。
性能。有些数据库性能不好,比如oracle一个连接就是好多M,连接数一多,机器内存就没了,有了tuxedo之后,tuxedo负责连接数据库,连接数比较少,tuxedo可以用排队的方式来处理这些数据库请求,这样提高了性能。中间件的高级应用好象还可以把数据库分布在不同的机器上,由tuxedo动态分配前、后台的请求和处理,把它们搞在不同的机器上,所以你用了中间件之后如果后台数据库处理来不及,可以加一台机器,前台请求太多(比如网站)可以加多前台机器。你可以灵活的调整性能。
方便移植。业务逻辑做到了中间件里之后,你更换后台数据库、改变前台的开发工具什么的移植工作较小,因为中间件的工作改动不大。
应用服务器做的人好象就更多了。而且应用服务器这东西和中间件类似(逻辑上)我觉得它应用也是中间件的一种,不过大家一般说中间件都是指的狭义的中间件,就是tuxedo这些。
中间件应用领域很广的。简直大一点的应用都可以用到中间件。国内也有一些开发商自己写中间件,不过好象是自己用,没形成市场。