相关课程 Java C++; Data structure(数据结构): Operating system(操作系统): Ob.ject-oriented program analyzing and design(面向对象程序分析与设计): 3
3 相关课程 – Java / C++; – Data structure(数据结构); – Operating system(操作系统); – Object-oriented program analyzing and design(面向对象程序分析与设计);
火龙果·整理 uml.org.cn 软件发展的现状 ◆软件的出现还只有50多年的历史,是一种新兴的产业 。在没有条条框框、标准协议的情况下,各路软件天 才各显神通,呈现出百花齐放的局面、没有考虑整合 、兼容、互操作问题。 >操作系统:Unix,D0S,Windows, Machitosh,Linux; 程序语言:Fortran,Cobol,Pascal,Bacic,C,C+,Java, Object Pascal,C#,Script language. >函数调用规范:_cdecl,_stdcal1,_fastcal1,thiscall, pascal,_fortran,_syscall. >编程模式:Procedure-Oriented,Object-oriented, Component-oriented,Service-oriented. 6 >开发工具:Borland,Microsoft,IBM,Sun,Apple
6 软件发展的现状 软件的出现还只有50多年的历史,是一种新兴的产业 。在没有条条框框、标准协议的情况下,各路软件天 才各显神通,呈现出百花齐放的局面、没有考虑整合 、兼容、互操作问题。 ¾ 操作系统:Unix, DOS, Windows, Machitosh, Linux; ¾ 程序语言:Fortran, Cobol, Pascal, Bacic, C, C++, Java, Object Pascal, C#, Script language. ¾ 函数调用规范: _cdecl, _stdcall, _fastcall , thiscall, _pascal, _fortran, _syscall. ¾ 编程模式:Procedure-Oriented, Object-oriented, Component-oriented, Service-oriented. ¾ 开发工具:Borland,Microsoft, IBM, Sun, Apple
999。火龙果·整理 uml.org.cn 软件技术的发展是一浪接一浪、后浪催刖浪 ◆当一种软件技术打下一遍江山后,它又面临着新问题,被新的 软件技术所取代。 ◆新技术并不意味要推翻和抛弃已有的应用系统,因为用户习惯 ,成本,系统可靠性等等原因。 ◆已有的应用系统继续发挥着不可替代的作用,是宝贵的资源。 ◆ 新的应用系统不是要抛弃旧的应用系统,而是要集成旧系统, 达到旧貌换新颜的功效。 >高级程序语言屏蔽了操作系统API以及执行模式的差异:C++,Java. >虚拟平台的出现瓦解了编程中的机器和操作系统概念; >SOA则把软件的重心从计算(功能实现)移到了互操作的语义上; 7
7 软件技术的发展是一浪接一浪、后浪催前浪 当一种软件技术打下一遍江山后,它又面临着新问题,被新的 软件技术所取代。 新技术并不意味要推翻和抛弃已有的应用系统,因为用户习惯 ,成本,系统可靠性等等原因。 已有的应用系统继续发挥着不可替代的作用,是宝贵的资源。 新的应用系统不是要抛弃旧的应用系统,而是要集成旧系统, 达到旧貌换新颜的功效 。 ¾ 高级程序语言屏蔽了操作系统API以及执行模式的差异:C++, Java. ¾ 虚拟平台的出现瓦解了编程中的机器和操作系统概念; ¾ SOA则把软件的重心从计算(功能实现)移到了互操作的语义上;
火龙果·整理 uml.org.cn 现代应用系统的基本特征 ◆分布 任务已不只是在单机上运行,而是由网络中多台计 算机上的相关应用共同协作完成,需考虑网络传输、数据安全、 数据一致性、同步等诸多问题; ◆异构 计算机硬件、操作系统、网络协议、数据库系统 以及开发工具种类繁多,需考虑数据表示、调用接口、处理方式 等诸多问题; ◆动态协作 参与协作的应用允许位置透明性、迁移 透明性、负载平衡性等需求。 8
8 分布 任务已不只是在单机上运行,而是由网络中多台计 算机上的相关应用共同协作完成,需考虑网络传输、数据安全、 数据一致性、同步等诸多问题; 异构 计算机硬件、操作系统、网络协议、数据库系统 以及开发工具种类繁多,需考虑数据表示、调用接口、处理方式 等诸多问题; 动态协作 参与协作的应用允许位置透明性、迁移 透明性、负载平衡性等需求。 现代应用系统的基本特征
- uml.org.cn 应用1 服务器1 应用2 服务器2 应用3 服务器3 9
9 应用1 应用2 应用3 服务器1 服务器2 服务器3
火龙果·整理 uml.org.cn 中间件 ◆中间件(Middleware)是一种软件,处于系统软 件(操作系统和网络软件)与应用软件之间,它 能使应用软件之间进行跨网络的协同工作(也就 是互操作) ◆允许各应用软件之下所涉及的“系统结构、操作 系统、通信协议、数据库和其它应用服务”各不 相同 10
10 中间件(Middleware)是一种软件,处于系统软 件(操作系统和网络软件)与应用软件之间,它 能使应用软件之间进行跨网络的协同工作(也就 是互操作) 允许各应用软件之下所涉及的“系统结构、操作 系统、通信协议、数据库和其它应用服务”各不 相同 中间件
- uml.org.cn 应用1 服务器1 应用2 中间件 服务器2 应用3 服务器3 11
11 应用1 应用2 应用3 服务器1 服务器2 服务器3 中间件
-理 uml.org.cn 应用软件 4可协同工作 应用软件 中间件 中间件 网络软件 网络软件 操作系统 操作系统 利用中间件进行协同工作的系统 12
12 应用软件 中间件 网络软件 操作系统 应用软件 中间件 网络软件 操作系统 利用中间件进行协同工作的系统 可协同工作
0是耀 组成部分 ◆执行环境(Execution Environment)软件 如果一个网络的各个节点安装了EE软件, 各节点的应用软件就可以实现相互合作 ◆应用开发(Application Development)工具 一组工具,用来帮助开发内含"透明动用对 方“成分的应用软件,或改造原有的无透明 动用能力的应用软件 13
13 组成部分 执行环境(Execution Environment)软件 – 如果一个网络的各个节点安装了EE软件, 各节点的应用软件就可以实现相互合作 应用开发(Application Development)工具 – 一组工具,用来帮助开发内含“透明动用对 方”成分的应用软件,或改造原有的无透明 动用能力的应用软件
火龙果·整理 uml.org.cn 中间件对于应用之间协同工作的贡献 合作方A 合作方B 合作方C ◆提供了合作对象透明设施 Ti 合作一方不必知道另一方 合作对象透明设施T1 是谁和在何处,只说明自 己需要怎样的服务,T1 就能为其物色一个合适的 合作对象透明设施T2 合作方 提供了下层设备透明设施T2 平台 网络 平台 网络 平台 合作一方不必关心合作的 另一方所用的节点设备( 机器和操作系统)与本节 中间件的层次结构 点的差异 14
14 中间件对于应用之间协同工作的贡献 提供了合作对象透明设施 T1 – 合作一方不必知道另一方 是谁和在何处,只说明自 己需要怎样的服务,T1 就能为其物色一个合适的 合作方 提供了下层设备透明设施T2 – 合作一方不必关心合作的 另一方所用的节点设备 ( 机器和操作系统 )与本节 中间件的层次结构 点的差异