软件构件与中间件

2008-6-22 Jerry 软件

第一章 概述

1. 软件划分:系统软件、支撑软件与应用软件三类
2. 应用服务器:网络环境中应用系统的高层运行平台,使应用系统的代码更为简洁,使开发人员的精力可以更加集中于系统的逻辑部分。
3. 网络环境具有明显的分布性、开放性、演化性、异构性、并发性等特点。
4. 软件发展策略:提供共性成分,屏蔽系统低层的复杂度,降低高层复杂性。于是应用服务器诞生。
5. 应用服务器以公共服务的方式实现了多数中间件功能。
6. OMA(对象管理体系结构)参考模型的构成:对象请求代理(ORB)、公共对象服务、公共设施、领域接口和应用接口。
7. CORBA:公共对象请求代理结构。组成:ORB内核、对象实现、客户、客户指代、静态骨架、动态骨架、对象适配器、动态调用、ORB接口。
8. 微软,DNA。三层:表示层,业务逻辑层和数据层;包括:构建对象模型(COM+),微软消息队列(MSMQ)、因特网信息服务器(IIS)。
9. Sun,Java EE。界面层:Applet与独立客户程序。中间层:EJB,JSP,Servlet。
10. 应用:应用程序的简称,一个可以独立运行的软件实体。(应用层概念,包含若干构件)应用服务器:系统层概念。
11. 软件构件:软件系统中可以明确辨识的构成成分,由构件规约与构件实现组成。构件=规约(接口)+实现(代码实现体)。划分:基础构件、领域构件、专用构件。
12. 网络环境中应用之间交互两种方式:互操作与数据交换。
13. 服务由服务描述与服务体组成。
14. 服务:应用层。公共服务:系统层。
15. 软件体系结构=构件+关系+约束。
16. 应用服务器实现:网络通信,事务服务,命名服务,安全服务等。提供三种功能:构建运行环境、互操作机制、公共服务(查找服务、事务服务、安全服务)
17. 复杂问题原则:抽象、分治、分层。-> 软件领域:信息隐蔽、模块化、层次化。

第二章 软件互操作

1. 协议:对等实体间交换消息时所必须遵守的规则的集合。
2. OSI七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
3. IP v4:32位,v6:128位,端口:16位。
4. 互操作:网络环境中应用层的一个实体对另一个实体所提供功能的直接使用。
5. RPC:OSI第五层和第六层。RPC利用指代完成客户与服务器的关联(编排、还原)。服务器端指代:骨架。
6. X86,低位优先格式,构成数据的字节从右向左编码。SPARC,高位优先,左向右。
7. 互操作体系结构:由互操作协议、互操作接口定义语言、互操作查找方式等构成。
8. RPC,协议:RPC,接口定义:IDL,查找方式:RPC注册表。
DCOM,协议:ORPC,接口定义:MIDL,查找方式:系统注册表
CORBA,协议:GIOP(IIOP),接口定义:IDL,查找方式:命名服务
JavaEE,协议:JRMP/IIOP,接口定义:Java,查找方式:JNDI(Java命名与目录接口)
Web服务,协议:SOAP(简单对象访问协议),接口定义:WSDL(Web服务描述语言),查找方式:UDDI(统一描述查找与集成)

第三章 互操作协议

1. 互操作协议要素:数据表示、消息格式、向低层协议的映射、引用表示、连接管理。
2. CORBA互操作协议:GIOP定义八种消息:请求消息、应答消息、撤销请求消息、定位请求消息、定位应答消息、关闭连接消息、消息失败消息、分短消息。
3. 典型的GIOP消息三部分:GIOP消息头、具体消息类型的消息头、具体消息类型的消息体。
4. GIOP映射到TCP/IP上结果是IIOP。IIOP是GIOP的一个具体实现。
5. IOR:互操作对象引用。
6. 简单对象访问协议:SOAP=HTTP+RPC+XML。设计原则:简单、易于扩展。
7. SOAP消息:SOAP封装、SOAP头、SOAP体(SOAP块)。
8. 协议不同:
(1)互操作开销:IIOP,JRMP使用二进制形式(CDR,XDR)编排消息。SOAP采用字符型的XML编排,开销大。
(2)适应能力不同:IIOP,JRMP制约与防火墙。
(3)适用环境不同。

第四章 互操作接口定义语言

1. 接口:对操作的描述:功能性描述、约束性描述、执行方式、参数传递方式
2. IDL:接口定义语言。6种元素:常量、类型、例外、接口、值类型、模块。
3. 互操作接口规定了服务器所提供服务的内容。互操作协议规定了客户与服务器之间基于消息的交互规则。
4. Web服务描述语言,WSDL。抽象定义:类型、消息、端口类型;具体说明:绑定、服务的定义。

第五章 软件构件

1. 软件开发组织目标:投入少、质量高、时间短。
2. 质量6个特性:功能性、可靠性、易使用性、效率、易维护性、易移植性。
3. 构建模型,三类:分类/描述模型,规约/组装模型,实现级模型。
4. 类:边界类、控制类、实体类。
5. EJB划分构件:
(1)会话构件(人机交互)
实现了业务逻辑与运行在服务器端的非持久性Java类。
(2)实体构件(数据访问)
存储在永久存储介质上的实体(例如数据库)的对象视图。
(3)消息驱动构件(处理消息)。
实现一定业务逻辑的异步Java消息消费者。
6. 软件开发人员三类:构件开发者、构件管理者与构件复用者。
7. EJB主要通过容器实现,独立于具体的构件实现。
8. 构造性和演化性是软件的本质特征。


发表评论:

Powered by emlog sitemap