1、计算机软件的发展与新技术计算机软件的发展与新技术 计算机系统计算机系统硬件硬件软件软件主机主机外设外设CPU内存内存主板主板输入输入/输出设备输出设备外存外存系统软件系统软件应用软件应用软件操作系统操作系统语言处理程序语言处理程序服务性程序服务性程序通用应用软件通用应用软件特定应用软件特定应用软件软件技术发展趋势软件技术发展趋势n 新的软件体系架构新的软件体系架构Web ServiceWeb Service与与SOASOA 应用需求,网络服务,面向服务架构(面向服务架构(SOASOA,Service-oriented architectureService-oriented architect
2、ure)n 新的软件编程模型新的软件编程模型构件技术与软件工厂构件技术与软件工厂 网络构件:流动的是构件,网络构件:流动的是构件,应用和实现分离,提供标准接口和框架,构件组合; 软件工厂: 一是批量自动生产,二是生产、下载、组装、使用、销毁等重要环节。 n 新的软件运行方式新的软件运行方式点击运行与按需下载点击运行与按需下载 点击运行:先启动应用,再启动服务的软件模型,用户不需维护; 按需下载:关卡收费,等待时间最少;滚动下载(运行时不断下载/加载必要的构件)n 异构环境下的网络构件互操作性异构环境下的网络构件互操作性 一般应用程序的二进制互操作;构件互操作(JAVA、.Net、C/C+、CA
3、R、COM) Wine、Cgywin、JAVA、VS.Net、Windows / Linux / Elastos。n 安全性与版本管理越来越重要安全性与版本管理越来越重要 网络安全,系统安全,构件安全,应用安全、版本管理、Win Vista Bata1安全讲座内容讲座内容一、网络促进软件发展一、网络促进软件发展二、软件平台最新技术二、软件平台最新技术三、高级软件应用技术三、高级软件应用技术一、网络促进软件发展一、网络促进软件发展互联网促成了一个全球化的市场,信息技术是全球化进程中的互联网促成了一个全球化的市场,信息技术是全球化进程中的主要推动力。主要推动力。网上订货货比三家市场透明性新的服务新
4、的体验用户参与设计地理界限的结束快速响应24/7服务按照客户的要求做直接的销售渠道以客户为中心因特网的发展对市场的影响因特网的发展对市场的影响 为客户创造需求为客户创造需求DNA,ASP,三层结构,三层结构IE/Netscape, IIS/Apachen 个性化服务个性化服务,n 电子商务电子商务n FTP, E-mail,n 基本信息基本信息动态网页动态网页第二代互联网第二代互联网(1996-2000)静态网页静态网页第一代互联网第一代互联网(19941996)Microsoft: ASP.NET;Sun:Java网络服务网络服务(Web Services) (Program the Web
5、)第三代互联网(第三代互联网(2000+)网络促进软件技术的发展网络促进软件技术的发展Ten Problems in WebTen Problems in WebThe Progress of 3Gn 3rd generation Internet(1st - Email, 2nd - Browser, 3rd - WEB Services)n 3rd generation programming paradigm(1st - structure oriented, 2nd object oriented, 3rd WEB Services)n 3rd generation operating
6、 system (1st - DOS, 2nd - Windows, 3rd WEB Services)n Applicationsn 3rd generation mobile phone (1st analog, 2nd - digital, 3rd wireless broadband)n 3rd generation digital TV markets. (1st Black & white, 2nd - Color, 3rd Digital HDTV)Web servicesCAR W eb服务代理解析和转发S OAP请求数据包,返回S OAP结果或错误数据包;自动生成和返回WS
7、DL文件;互 联 网W eb服 务器进程 0命名服务 0命名服务 1.进 程N命名服务 M.进 程 1命名服务 K.中 间 件 平 台提 供 的 远 程方 法 调 用 机 制W SDL文 件 下 载 请 求SOA P请 求 数 据 包软件无需事先安装:软件无需事先安装:q用户点击运行用户点击运行q代码自动加载代码自动加载q代码自动删除代码自动删除面向服务面向服务的软件平台的软件平台给用户带来的给用户带来的服务体验服务体验SoftwareAppliancesMultimediaOfficePublic服务(服务(daemondaemon)按需启动)按需启动不同设备互联,即插即用不同设备互联,即插
8、即用不需用户安装设备驱动程序不需用户安装设备驱动程序Home按需计算按需计算的软件平台的软件平台n 软件平台不能因为下载越多软件运行越慢软件平台不能因为下载越多软件运行越慢n 随机删除下载的软件不能影响软件的可用性随机删除下载的软件不能影响软件的可用性3G用户的用户的无限需求无限需求按需加载服务:按需加载服务:限制病毒作案时间限制病毒作案时间动态分配运行环境:动态分配运行环境:限制病毒作案地点限制病毒作案地点文件系统控制:文件系统控制:限制病毒作案条件限制病毒作案条件CPU地址空间:地址空间:限制病毒作破坏范围限制病毒作破坏范围软件点击运行:软件点击运行:极大改善病毒损坏预后极大改善病毒损坏预
9、后可信赖可信赖的软件运行平台的软件运行平台移动用户移动用户移动运营商移动运营商内容服务商内容服务商终端设备商终端设备商应用软件提供商应用软件提供商增值服务增值服务的软件平台的软件平台3C融合融合的网络软件平台的网络软件平台(Computer, Communication, ConsumerElectronic)新闻、游戏、音乐、电影、软件共享新闻、游戏、音乐、电影、软件共享 现现 在在 转转 播播 构件化构件化的软件开发平台的软件开发平台安全机制安全机制通信通信多媒体应用多媒体应用认证机制认证机制电子助理电子助理WAPWAP浏览器浏览器J2MEJ2ME彩信彩信文件系统文件系统网络系统网络系统图
10、形系统图形系统设备驱动设备驱动专用系统专用系统构件库构件库操作系统的集操作系统的集成开发环境成开发环境软件分析工具软件分析工具系统建模工具系统建模工具硬件仿真工具硬件仿真工具代码自动生成代码自动生成调试工具调试工具动态链接动态链接构件库构件库LinuxLinux发展概况发展概况n Linux发展现状:发展现状: LinuxLinux特点:开放源码、桌面应用迅速发展 支持形式:政府采购、基金支持、嵌入式领域行业推广 构件技术:WineWine: 部分实现部分实现Win DLLWin DLL,不支持远程构件;,不支持远程构件; XPCOM XPCOM:提供自己的:提供自己的APIAPI,与,与CO
11、MCOM不兼容,不支持进程间、远程构件;不兼容,不支持进程间、远程构件; UNOUNO: (Universal Network (Universal Network ObjeetsObjeets) )通用网络对象,通用网络对象, 兼容兼容JAVA/C/C+JAVA/C/C+,但效率比,但效率比COMCOM差。n 网络时代网络时代Linux发展面临的问题:发展面临的问题: Linux Linux与与Windows/Windows/ElastosElastos应用程序的二进制兼容问题应用程序的二进制兼容问题 (Wine) LinuxLinux上的上的.Net.Net、JAVAJAVA、CARCAR
12、、COMCOM、XMLXML构件相互调用问题构件相互调用问题 (Mono)(Mono) 在在LinuxLinux上开发在其它系统上运行的网络构件的开发环境问题上开发在其它系统上运行的网络构件的开发环境问题 (eclipse)(eclipse) Linux Linux上对网络构件的点击运行与按需下载问题上对网络构件的点击运行与按需下载问题 ( (ElanixElanix) ) Linux Linux系统对网络构件的安全验证与版本管理问题系统对网络构件的安全验证与版本管理问题 ( (ElanixElanix) ) 二、软件平台最新技术二、软件平台最新技术清华大学清华大学. 国家信息技术实验室国家信
13、息技术实验室n 硬件连接模型硬件连接模型l 传统计算机传统计算机l 网络计算机网络计算机n 软件漫游模型软件漫游模型l 与连接技术无关与连接技术无关l TCP/IPTCP/IP是连接技术是连接技术InternetHard DiskMemoryRegisters南桥、北桥、南桥、北桥、IDEIDE、SCSISCSI、PCIPCI、传统计算机传统计算机网络计算机网络计算机n 层次化存储层次化存储TCP/IPTCP/IP、NETBIOSNETBIOS、HTTPHTTP、2.1 网络操作系统与软件漫游网络操作系统与软件漫游程序数据n 基于基于URL的可执行二进制代码的可执行二进制代码n 无需安装软件无
14、需安装软件n 按需的增量下载按需的增量下载浏览器模型(包含URL的HTML文件)数据本机存储数据移动计算模型(包含URL的程序和数据)2.2 3G业务平台关键技术业务平台关键技术数据程序程序本机存储数据数据程序程序2.3 Web Service文件文件liblib图形图形liblib应用程序应用程序网络网络liblib操作系统操作系统排版排版服务服务MP3MP3服务服务其他其他服务服务2.4 CAR构件技术构件技术ElastosElastosWindowsLinuxCAR EngineCAR EngineApplicationWeb ServicesCAR CAR 构件技术构件技术 CAR:C
15、omponent Assembly Runtime CARCAR构件,二进制构件,二进制代码可动态加载、代码可动态加载、跨平台运行跨平台运行SDK and IDESDK and IDEn 由于下载的软件可以是不同厂家写的软件模块,模块间的配合、协由于下载的软件可以是不同厂家写的软件模块,模块间的配合、协同需要标准。同需要标准。安全机制安全机制通信通信多媒体应用多媒体应用认证机制认证机制电子助理电子助理WAPWAP浏览器浏览器J2MEJ2ME彩信彩信 构件运行环境文件系统网络系统图形系统设备驱动通讯服务支持操作系统内核硬件平台动态链接构件库2.5 软件工厂软件工厂采用命名服务技术可根据需要替换为
16、第三方的系统构件nJava虚拟机做到了源代码级别的兼容n构建于NGWS RUNTIME基础上,废除了我们习惯使用的COM 体系n实现了二进制级别的代码兼实现了二进制级别的代码兼容容2.6 网络时代的网络时代的“三个代表三个代表”: JVM、.NET、CAR的比较的比较JAVA.NETCARn需要在其他平台上再次编译nRuntime 的基本运作方式是中途截取代码,并将它转译为普通机器语言n真正实现了真正实现了“编译一次,到编译一次,到处运行处运行” nJava虚拟机在多平台上对外提供相同的APIn.NET是多语言兼容性n可以运行在可以运行在Elastos、Windows系列操作系统和系列操作系统
17、和Linux操作系统之上操作系统之上(Elastos) 基于基于CAR的构件化网络操作系统,的构件化网络操作系统,既是操作系统又是业务平台既是操作系统又是业务平台同类手机同类手机OS同类手机业务平台同类手机业务平台CDMA2000WCDMATD-SCDMABREWSymbianElastos2.7 3G Mobile Software PlatformsLRPCLRPC采用采用LRPCLRPC实现跨进程实现跨进程客户进程客户进程用用户户程程序序RPCRPC采用采用RPCRPC实现跨网络实现跨网络CAR系统支持远程组件进程远程组件进程本地组件对象本身 远程组件 对象远程组件远程组件 StubSt
18、ub本地组件本地组件 StubStub本地组件本地组件 代理代理远程组件远程组件 代理代理进程内进程内组件组件RPC: Remote Procedure CallLRPC: Local RPC2.8 Marshaling/Unmarshaling2.9 构件模块间的依赖关系构件模块间的依赖关系(滚动下载、按需加载滚动下载、按需加载)2.10 命名服务机制命名服务机制Server用户进程空间Stub对象组件对象内核空间Client用户进程空间Proxy对象Object对象NameHook对象通过字符串查询找到绑定object返回创建Proxy所需的信息代表远程构件返回调用返回数据调用方法n 终端
19、无需安装软件终端无需安装软件 n 业务运营随需应变业务运营随需应变n 促进个性化服务环境促进个性化服务环境n 有效抑制病毒、盗版有效抑制病毒、盗版InternetNCMainframeInternet NC2.11 3G增值业务服务理念增值业务服务理念2.12 AOP2.12 AOP支持支持ContextContext2.13 XML-GLUE 换肤技术换肤技术n换肤技术满足静态、动态界面要素要求及切换效果,并做到音视同步换肤技术满足静态、动态界面要素要求及切换效果,并做到音视同步n界面工作简化为美工及人机工程界面工作简化为美工及人机工程n“二进制二进制+元数据元数据” 软件构件,支持软件动态
20、工厂化生产软件构件,支持软件动态工厂化生产界面被分为界面被分为N个区域,不同区域对应不同处理逻辑体个区域,不同区域对应不同处理逻辑体不同逻辑体通过不同逻辑体通过XML-GLUE沟通,实现相互协调,沟通,实现相互协调,XML UI描述语言描述语言”将各种界面逻辑整合将各种界面逻辑整合2.14 网络环境下的网络环境下的构件版本管理构件版本管理n同一应用引用相同构件时的版本同一应用引用相同构件时的版本管理:管理:n规则一:主版本兼容规则规则一:主版本兼容规则n规则二:默认最新规则规则二:默认最新规则n规则三:版本全同规则规则三:版本全同规则n多个应用引用同一构件时的版本多个应用引用同一构件时的版本管
21、理:管理:n规则四:共享首份规则规则四:共享首份规则n规则五:独立版本规则规则五:独立版本规则 n用户自定义构件管理用户自定义构件管理否是是是加载此版本的构件存在四级编号完全相同的版本吗选择与初始构件主版本号相同的构件选择四级编号完全相同的构件版本本地或远程URL存在多种版本还有多种版次的构件存在吗选择四级编号最新的构件版本成功加载吗应用正常吗服务失败提供服务构件加载全同标志变量为0吗是否否否 网络网络构件点击构件点击运行运行的特征、事件与规则的特征、事件与规则基本特征基本特征过程事件过程事件管理规则管理规则需求驱动性点击事件路径查寻规则即载即用性下载事件安全验证规则屏蔽用户性运行事件版本管理
22、规则网络普适性清理事件清理维护规则2.15 智能软件平台智能软件平台其优点:其优点:n 系统级线程池系统级线程池 对用户透明,大大加快构件调用速度n 多种构件复用技术多种构件复用技术 包容、聚合、二进制继承等。n 多种构件间互操作技术多种构件间互操作技术 回调机制、脚本语言支持n 语言无关性语言无关性 可用C/C+、JAVA等多种语言开发应用n 直接下载和执行二进制代码,不需要解释执行n Domain管理应用程序管理应用程序 在安全性及速度上取得平衡n 多种监测机制多种监测机制 内存泄漏监测、数组越界监测、文件关闭监测等,以保证程序的质量n 多国语言支持多国语言支持 Unicode、GB180
23、30等n面向消费市场的软件需求, 实现“用户零维护”。n各类应用软件、游戏和新闻都像浏览器, 实现“点击运行”。 n用户无需为各种硬件外设安装驱动软件, 实现“即插即用” n不同厂家的软件,以目标代码形式, 实现“无缝链接” 2.16 数据库技术的发展数据库技术的发展文件系统文件系统层次数据库系统层次数据库系统网状数据库系统网状数据库系统关系数据库系统关系数据库系统面向对象数据库面向对象数据库关系数据库扩充关系数据库扩充各类知识库各类知识库对象关系数据库对象关系数据库数据数据 仓库仓库Web 数数据库据库嵌入式嵌入式与移动与移动数据库数据库安全数安全数据库据库面向对象面向对象数据库数据库工程工
24、程数据库数据库图形图形数据库数据库图像图像数据库数据库统计统计数据库数据库 并行并行 数据库数据库分布式分布式数据库数据库知识库知识库数据库相关技术数据库相关技术: :数据挖掘技术数据挖掘技术WebWeb搜索引擎搜索引擎人工智能技术人工智能技术DomainInterfacesDomainInterfacesDomainInterfacesObject Request BrokerApplicationInterfacesDomainInterfacesCommonFaciliticesObject Services对象模型:对象模型:用于定义在异构环境中如何描述分布式对象接口。对象被定义为永恒
25、不变的、始终唯一的、用于定义在异构环境中如何描述分布式对象接口。对象被定义为永恒不变的、始终唯一的、被封装的实体,只能通过被严格定义的接口访问,被封装的实体,只能通过被严格定义的接口访问,ClientClient通过向对象发出请求,才能使用对通过向对象发出请求,才能使用对象的服务。对象的细节和位置对象的服务。对象的细节和位置对ClientClient透明。透明。引用模型:引用模型:提供接口的种类,对对象接口进行编组。所有接口由提供接口的种类,对对象接口进行编组。所有接口由ORBORB连接在一起。通过连接在一起。通过ORBORB可以在可以在ClientClient和对象之间进行通信。当请求发送给
26、对象时,和对象之间进行通信。当请求发送给对象时,ORBORB将负责透明地激活那些没有运行的对象。将负责透明地激活那些没有运行的对象。2.17 对象管理体系结构对象管理体系结构(OMA)n OMA对象管理结构对象管理结构OMGOMG是上最大的软件团体,针对各类分布式应用系统,通过制定是上最大的软件团体,针对各类分布式应用系统,通过制定对象管理体系对象管理体系OMAOMA及其核心规范及其核心规范CORBACORBA,提供了完整的分布对象体系结构。提供了完整的分布对象体系结构。为特定应用程序为特定应用程序而制、非而制、非OMGOMG标准,标准,但其中广泛应用但其中广泛应用的接口可作为接的接口可作为接
27、口标准化的被选口标准化的被选项。项。作用与对象服务类作用与对象服务类似,但针对具体领似,但针对具体领域,与领域相关域,与领域相关(垂直定向)(垂直定向)与领域无关的(或水平定向的)与领域无关的(或水平定向的)接口,用于各种分布式对象的应接口,用于各种分布式对象的应用程序用程序为业务对象所为业务对象所使用的水平和使用的水平和垂直应用框架垂直应用框架三、高级软件应用技术三、高级软件应用技术3.1 分布对象技术分布对象技术n 技术问题技术问题n 自主性:自主性:计算能力计算能力 特征融合特征融合 方便使用方便使用n 移动性:移动性:跨越平台跨越平台 粒度问题粒度问题 移动方式移动方式 n 协同性:协
28、同性:协同模式协同模式 功能互通功能互通 通信问题通信问题n 安全性:安全性:站点安全站点安全 AgentAgent安全安全 通信安全通信安全n 智能性:智能性:环境适应环境适应 学习机制学习机制 推理机制推理机制3.2 服务器的动态组合技术服务器的动态组合技术进程通讯3.3 并行计算技术并行计算技术 进程通讯MRP MRP II ERP的扩展关系的扩展关系ERP需求市场需求市场 / 制造企业制造企业 / 供应市场供应市场 信息集成信息集成面向供需链面向供需链Enterprise Resource Planning MRP II物料物料 / 资金信息集成资金信息集成面向企业面向企业Manufa
29、cturing Resource Planning MRP物料信息物料信息集成集成Material Requirements PlanningERP II 协同商务协同商务(70年代)(80年代)(90年代)(21世纪) 是发展发展/包罗包罗不是取代取代/否定否定3.4 ERP电子商务化应用电子商务化应用3.5 企业知识管理体系企业知识管理体系n 知识资源体系知识资源体系 知识管理团队知识管理团队 知识管理制度知识管理制度 知识管理系统知识管理系统 企业工作文化企业工作文化机构知识库的维护及查询:机构知识库的维护及查询:过滤、分类、复核获取知识传递战略、机制、准则、计划,征求知识资源、意见反馈
30、、调整建议提供知识获取知识交互交互平台平台管理管理平台平台正式知识库正式知识库暂存知识库暂存知识库提供知识意见反馈、建议知知识识管管理理团团队队机机构构全全体体成成员员3.6 基于基于3G网络服务架构的导航与位置服务网络服务架构的导航与位置服务n 基于网络服务架构的增值运营体系框架,实现位置与网络服务相关联的关键技基于网络服务架构的增值运营体系框架,实现位置与网络服务相关联的关键技术,可动态加载运行与该位置有关的增值服务内容应用软件,增加术,可动态加载运行与该位置有关的增值服务内容应用软件,增加3G应用的表应用的表现力与趣味性,提供更加丰富的服务;现力与趣味性,提供更加丰富的服务;点击查询:点
31、击查询:动态加载运行动态加载运行与该位置有关与该位置有关的增值服务应的增值服务应用软件用软件3.7 3.7 跨多平台构件技术跨多平台构件技术同一二进制构件直接在同一二进制构件直接在WindowsWindows、LinuxLinux、ElastosElastos上运行上运行3.8 3.8 普适计算综合应用技术普适计算综合应用技术面向普适计算的广义网络构件运行平台 小结:小结:n网络促进了计算机技术的快速发展,软件技术已经全面进入网络促进了计算机技术的快速发展,软件技术已经全面进入网络化时代;网络化时代;n构件技术与构件运行平台已经当前的计算机软件研究热点;构件技术与构件运行平台已经当前的计算机软件研究热点;n基于网络服务与构件技术的软件跨平台编程模型与运行机制基于网络服务与构件技术的软件跨平台编程模型与运行机制正逐渐形成;正逐渐形成;n在满足客户需求的同时,尽力创造客户需求。在满足客户需求的同时,尽力创造客户需求。 谢谢大家谢谢大家! ! Q & A ?Q & A ?