1 / 53

计算机软件的发展与新技术

计算机软件培训讲座. 计算机软件的发展与新技术. 福建广播电视大学计算机系 朱建忠 2009.09.17. CPU 内存 主板. 主机 外设. 硬件 软件. 输入 / 输出设备 外存. 计算机系统. 操作系统 语言处理程序 服务性程序. 系统软件 应用软件. 通用应用软件 特定应用软件. 软件技术发展趋势. 新的软件体系架构 —— Web Service 与 SOA 应用需求,网络服务, 面向服务架构( SOA , Service-oriented architecture ) 新的软件编程模型 —— 构件技术与软件工厂

toyah
Download Presentation

计算机软件的发展与新技术

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 计算机软件培训讲座 计算机软件的发展与新技术 福建广播电视大学计算机系 朱建忠 2009.09.17

  2. CPU 内存 主板 主机 外设 硬件 软件 输入/输出设备 外存 计算机系统 操作系统 语言处理程序 服务性程序 系统软件 应用软件 通用应用软件 特定应用软件

  3. 软件技术发展趋势 • 新的软件体系架构——Web Service与SOA 应用需求,网络服务,面向服务架构(SOA,Service-oriented architecture) • 新的软件编程模型——构件技术与软件工厂 网络构件:流动的是构件,应用和实现分离,提供标准接口和框架,构件组合; 软件工厂:一是批量自动生产,二是生产、下载、组装、使用、销毁等重要环节。 • 新的软件运行方式——点击运行与按需下载 点击运行:先启动应用,再启动服务的软件模型,用户不需维护; 按需下载:关卡收费,等待时间最少;滚动下载(运行时不断下载/加载必要的构件) • 异构环境下的网络构件互操作性 一般应用程序的二进制互操作;构件互操作(JAVA、.Net、C/C++、CAR、COM) Wine、Cgywin、JAVA、VS.Net、Windows / Linux / Elastos。 • 安全性与版本管理越来越重要 网络安全,系统安全,构件安全,应用安全、版本管理、Win Vista Bata1安全

  4. 讲座内容 一、网络促进软件发展 二、软件平台最新技术 三、高级软件应用技术

  5. 一、网络促进软件发展

  6. 因特网的发展对市场的影响 互联网促成了一个全球化的市场,信息技术是全球化进程中的主要推动力。 为客户创造需求

  7. 网络促进软件技术的发展 第二代互联网(1996-2000) 第一代互联网(1994-1996) 第三代互联网(2000+) 动态网页 网络服务(Web Services) (Program the Web) 静态网页 • FTP, E-mail, • 基本信息 • 个性化服务, • 电子商务 • Internet资源的共享,提供软件服务; • 不同设备的互联、互通、互操作; • 软件的兼容、互操作; • XML、SOAP,平台的标准化 Microsoft: ASP.NET;Sun:Java IE/Netscape, IIS/Apache DNA,ASP,三层结构 • 移动计算 • 网络计算 • 软件“零件” • 网络服务带来的软件革命: • 固定计算 • 分立计算 • 单一模块

  8. Ten Problems in Web • Seamless computing • problem: c:\windows\system32\drivers\tcpip.sys • solution://www.elastos.com/car/elastos/drivers/tcpip.dll • No software installation • problem: registry • solution: manifest • Binary code versioning • problem: allocating memory on stack • solution: allocate memory on heap • Binary module interoperability • problem: naked binary or incompatible symbols • solution: contract/interface based programming and meta-class • TCP/IP is irrelevant to programming paradigm • problem: X-Window died • solution: WEB Services and dynamic proxy

  9. Ten Problems in Web • Windows as a wrong programming paradigm • problem: WinProc() assumes source code availability • solution: function callback table • Message passing is out of question • problem: polling can't extend to distributed computing • solution: asynchronous pushing events • Scripting GUI vs. codec engines • problem: scripts are flexible but slow • solution: directly scripting codec engines with reflection • Unified storage model • problem: application data files are isolated • solution: XML and database • Software manufacturing at runtime • problem: C/C++ objects based on source code • solution: component aggregates aspects to form assembly in context

  10. The Progress of 3G • 3rd generation Internet (1st - Email, 2nd - Browser, 3rd - WEB Services) • 3rd generation programming paradigm (1st - structure oriented, 2nd – object oriented, 3rd – WEB Services) • 3rd generation operating system (1st - DOS, 2nd - Windows, 3rd – WEB Services) • Applications • 3rd generation mobile phone (1st analog, 2nd - digital, 3rd – wireless broadband) • 3rd generation digital TV markets. (1st – Black & white, 2nd - Color, 3rd – Digital HDTV)

  11. Web services

  12. 网络就是手机、数字电视 “网络就是计算机” 面向服务的软件平台 软件无需事先安装: • 用户点击运行 • 代码自动加载 • 代码自动删除

  13. Multimedia Appliances Software 给用户带来的服务体验

  14. 按需计算的软件平台 Office Home Public • 服务(daemon)按需启动 • 不同设备互联,即插即用 • 不需用户安装设备驱动程序

  15. 3G用户的无限需求 • 软件平台不能因为下载越多软件运行越慢 • 随机删除下载的软件不能影响软件的可用性

  16. 可信赖的软件运行平台 • 按需加载服务:限制病毒作案时间 • 动态分配运行环境:限制病毒作案地点 • 文件系统控制:限制病毒作案条件 • CPU地址空间:限制病毒作破坏范围 • 软件点击运行:极大改善病毒损坏预后

  17. 增值服务的软件平台 2.5G/3G手机市场价值链 移动运营商 内容服务商 移动用户 终端设备商 应用软件提供商

  18. 3C融合的网络软件平台(Computer, Communication, ConsumerElectronic) • 新闻、游戏、音乐、电影、软件共享

  19. …… 安全机制 通信 多媒体应用 认证机制 电子助理 操作系统的集 成开发环境 WAP浏览器 J2ME 彩信 动态链接 构件库 系统建模工具 构件运行环境 硬件仿真工具 文件系统 网络系统 专用系统 构件库 代码自动生成 图形系统 设备驱动 嵌入式实时操作系统 构件化灵活内核OS 软件分析工具 调试工具 硬件平台 构件化的软件开发平台

  20. Linux发展概况 • Linux发展现状: Linux特点:开放源码、桌面应用迅速发展 支持形式:政府采购、基金支持、嵌入式领域行业推广 构件技术:Wine: 部分实现Win DLL,不支持远程构件; XPCOM:提供自己的API,与COM不兼容,不支持进程间、远程构件; UNO: (Universal Network Objeets)通用网络对象, 兼容JAVA/C/C++,但效率比COM差。 • 网络时代Linux发展面临的问题: Linux与Windows/Elastos应用程序的二进制兼容问题(Wine) Linux上的.Net、JAVA、CAR、COM、XML构件相互调用问题 (Mono) 在Linux上开发在其它系统上运行的网络构件的开发环境问题 (eclipse) Linux上对网络构件的点击运行与按需下载问题 (Elanix) Linux系统对网络构件的安全验证与版本管理问题 (Elanix)

  21. 二、软件平台最新技术

  22. 清华大学. 国家信息技术实验室

  23. Internet Hard Disk Memory Registers 2.1 网络操作系统与软件漫游 网络计算机 • 层次化存储 传统计算机 • 硬件连接模型 • 传统计算机 • 网络计算机 • 软件漫游模型 • 与连接技术无关 • TCP/IP是连接技术 南桥、北桥、… IDE、SCSI、PCI、… TCP/IP、NETBIOS、HTTP、…

  24. 数据 数据 程序 数据 程序 数据 数据 数据 程序 程序 2.2 3G业务平台关键技术 • 基于URL的可执行二进制代码 • 无需安装软件 • 按需的增量下载 本机存储 本机存储 程序 浏览器模型 (包含URL的HTML文件) 移动计算模型 (包含URL的程序和数据)

  25. 传统计算模型: WEB服务模型: 图形 lib MP3 服务 应用程序 操作系统 文件 lib 排版 服务 网络lib 其他 服务 软件服务 操作系统 2.3 Web Service

  26. Application Web Services SDK and IDE CAR:ComponentAssembly Runtime CAR 构件技术 CAR构件,二进制代码可动态加载、跨平台运行 CAREngine CAREngine Elastos Windows Linux 2.4 CAR构件技术 • CAR构件技术 • 和欣构件运行平台 • 面向构件编程的应用软件集成开发环境 • CAR构件技术已经应用于Elastos中

  27. 安全机制 通信 认证机制 多媒体应用 电子助理 WAP浏览器 J2ME 彩信 2.5 软件工厂 • 由于下载的软件可以是不同厂家写的软件模块,模块间的配合、协同需要标准。 …… 动态链接 构件库 构件运行环境 采用命名服务技术 可根据需要替换为第三方的系统构件 通讯服 务支持 文件系统 网络系统 设备驱动 图形系统 操作系统内核 硬件平台

  28. 2.6 网络时代的“三个代表”:JVM、.NET、CAR的比较 JAVA .NET CAR • Java虚拟机做到了源代码级别的兼容 • 构建于NGWS RUNTIME基础上,废除了我们习惯使用的COM 体系 • 实现了二进制级别的代码兼容 • 真正实现了“编译一次,到处运行” • 需要在其他平台上再次编译 • Runtime 的基本运作方式是中途截取代码,并将它转译为普通机器语言 • Java虚拟机在多平台上对外提供相同的API • .NET是多语言兼容性 • 可以运行在Elastos、Windows系列操作系统和Linux操作系统之上

  29. (Elastos) 基于CAR的构件化网络操作系统,既是操作系统又是业务平台 同类手机OS 同类手机业务平台

  30. 2.7 3G Mobile Software Platforms CDMA2000 WCDMA TD-SCDMA BREW Symbian Elastos Elastos + TD-SCDMA = Chinese 3G

  31. 本地组件 代理 本地组件 Stub 本地组件 对象本身 远程组件 对象 远程组件 代理 远程组件 Stub 2.8 Marshaling/Unmarshaling 远程组件进程 客户进程 网络中间件 LRPC LRPC 用户程序 采用LRPC 实现跨进程 RPC RPC 采用RPC 实现跨网络 进程内 组件 CAR系统支持 RPC: Remote Procedure Call LRPC: Local RPC

  32. 2.9 构件模块间的依赖关系(滚动下载、按需加载)

  33. 2.10 命名服务机制

  34. 2.11 3G增值业务服务理念 • 终端无需安装软件 • 业务运营随需应变 • 促进个性化服务环境 • 有效抑制病毒、盗版 NC Mainframe Internet Internet NC

  35. 2.12 AOP支持Context • Object Person (原对象) • Class School (环境类) • Person  School: Student, Teacher • (新环境下的对象) • Aspect:某侧面的属性、方法,进入/离开此环境,意味着对某些Aspect属性/方法的重新赋值,语义、功能的改变. • EnterContext(); • LeaveContext();

  36. 2.13 XML-GLUE 换肤技术 • 界面被分为N个区域,不同区域对应不同处理逻辑体 • 不同逻辑体通过XML-GLUE沟通,实现相互协调,XML UI描述语言”将各种界面逻辑整合 • 换肤技术满足静态、动态界面要素要求及切换效果,并做到音视同步 • 界面工作简化为美工及人机工程 • “二进制+元数据” →软件构件,支持软件动态工厂化生产

  37. 同一应用引用相同构件时的版本管理: 规则一:主版本兼容规则 规则二:默认最新规则 规则三:版本全同规则 多个应用引用同一构件时的版本管理: 规则四:共享首份规则 规则五:独立版本规则 用户自定义构件管理 2.14 网络环境下的构件版本管理

  38. 基本特征 过程事件 管理规则 需求驱动性 点击事件 路径查寻规则 即载即用性 下载事件 安全验证规则 屏蔽用户性 运行事件 版本管理规则 网络普适性 清理事件 清理维护规则 网络构件点击运行的特征、事件与规则

  39. 2.15 智能软件平台其优点: • 系统级线程池 — 对用户透明,大大加快构件调用速度 • 多种构件复用技术 — 包容、聚合、二进制继承等。 • 多种构件间互操作技术 — 回调机制、脚本语言支持 • 语言无关性 — 可用C/C++、JAVA等多种语言开发应用 • 直接下载和执行二进制代码,不需要解释执行 • Domain管理应用程序 — 在安全性及速度上取得平衡 • 多种监测机制 — 内存泄漏监测、数组越界监测、文件关闭监测等,以保证程序的质量 • 多国语言支持 — Unicode、GB18030等

  40. 智能“傻瓜”软件运行平台 • 面向消费市场的软件需求, 实现“用户零维护”。 • 各类应用软件、游戏和新闻都像浏览器, 实现“点击运行”。 • 用户无需为各种硬件外设安装驱动软件, 实现“即插即用” • 不同厂家的软件,以目标代码形式, 实现“无缝链接”

  41. 层次数据库系统 网状数据库系统 关系数据库系统 面向对象 数据库 分布式 数据库 知识库 图像 数据库 并行 数据库 图形 数据库 统计 数据库 工程 数据库 面向对象数据库 关系数据库扩充 各类知识库 数据 仓库 Web 数据库 嵌入式 与移动数据库 安全数据库 对象关系数据库 2.16 数据库技术的发展 文件系统 数据库相关技术: 数据挖掘技术 Web搜索引擎 人工智能技术

  42. Domain Interfaces Domain Interfaces Domain Interfaces Application Interfaces Domain Interfaces Common Facilitices Object Request Broker Object Services 2.17 对象管理体系结构(OMA) OMG是上最大的软件团体,针对各类分布式应用系统,通过制定对象管理体系OMA及其核心规范CORBA,提供了完整的分布对象体系结构。 • OMA对象管理结构 对象模型:用于定义在异构环境中如何描述分布式对象接口。对象被定义为永恒不变的、始终唯一的、被封装的实体,只能通过被严格定义的接口访问,Client通过向对象发出请求,才能使用对象的服务。对象的细节和位置对Client透明。 引用模型: 提供接口的种类,对对象接口进行编组。所有接口由ORB连接在一起。通过ORB可以在Client和对象之间进行通信。当请求发送给对象时,ORB将负责透明地激活那些没有运行的对象。 作用与对象服务类似,但针对具体领域,与领域相关(垂直定向) 为特定应用程序而制、非OMG标准,但其中广泛应用的接口可作为接口标准化的被选项。 为业务对象所使用的水平和垂直应用框架 与领域无关的(或水平定向的)接口,用于各种分布式对象的应用程序

  43. 三、高级软件应用技术

  44. 3.1 分布对象技术 • 技术问题 • 自主性:计算能力 特征融合 方便使用 • 移动性:跨越平台 粒度问题 移动方式 • 协同性:协同模式 功能互通 通信问题 • 安全性:站点安全 Agent安全 通信安全 • 智能性:环境适应 学习机制 推理机制

  45. 3.2 服务器的动态组合技术 Data source Data source Task5:Visualization Node1:Task1 Node2:Task2 Node4:Task4 Node3:Task3

  46. 3.3 并行计算技术 SGI 银河 III 江南 JT006A 曙光 客户如何远程使用高性能计算资源 大型并行应用系统 研究领域应用框架 和功能组件 领域问题 如何使专业应用人员开发并行软件 抽象领域数据类型 与并行分割策略 数据类型 领域问题 领域问题 可移植性 可移植性 系统开放性 并行算法 系统开放性 并行算法 并行模型 可移植性 并行算法 并行模型 并行模型 进程通讯 进程通讯 开发周期 开发周期 系统开放性 系统效率 系统效率 开发周期 进程通讯 并行I/O 并行I/O 思路 设计并行抽象结构 屏蔽并行细节 数据分割 数据分割 系统正确性 系统正确性 数据类型 数据类型 数据分割 并行I/O 应用人员过多集中在并行细节 忽视了对领域问题的考虑 用形式化方法确保 核心代码的正确 系统正确性 系统效率 常用的并行环境 研究基于移动Agent 的协同计算网格 以及高性能资源的 远程共享模式 MPL,并行编程语言,自动并行…, rlogin, rpc

  47. 3.4 ERP电子商务化应用 ERP II 协同商务 ERP Enterprise Resource Planning 面向供需链 MRP II Manufacturing Resource Planning 面向企业 MRP Material Requirements Planning 物料信息 集成 物料 / 资金信息集成 需求市场 / 制造企业 / 供应市场 信息集成 (21世纪) MRP MRP II ERP 的扩展关系 (90年代) (80年代) 是发展/包罗 不是取代/否定 (70年代)

  48. 传递战略、机制、准则、计划,征求知识资源、意见反馈、调整建议传递战略、机制、准则、计划,征求知识资源、意见反馈、调整建议 知 识 管 理 团 队 机 构 全 体 成 员 管理平台 交互平台 意见反馈、建议 提供知识 提供知识 暂存知识库 过滤、分类、复核 正式知识库 获取知识 获取知识 3.5 企业知识管理体系 • 知识资源体系 • 知识管理团队 • 知识管理制度 • 知识管理系统 • 企业工作文化 机构知识库的维护及查询:

  49. Flash动画 点击查询: 动态加载运行与该位置有关的增值服务应用软件 音频、视频展示 与位置相关的游戏 电子购物 预订服务 …… 3.6 基于3G网络服务架构的导航与位置服务 • 基于网络服务架构的增值运营体系框架,实现位置与网络服务相关联的关键技术,可动态加载运行与该位置有关的增值服务内容应用软件,增加3G应用的表现力与趣味性,提供更加丰富的服务;

  50. 3.7 跨多平台构件技术 同一二进制构件直接在Windows、Linux、Elastos上运行

More Related