入题:软件领域的发展及分布式应用程序设计框架与技术(3学时).ppt_第1页
入题:软件领域的发展及分布式应用程序设计框架与技术(3学时).ppt_第2页
入题:软件领域的发展及分布式应用程序设计框架与技术(3学时).ppt_第3页
入题:软件领域的发展及分布式应用程序设计框架与技术(3学时).ppt_第4页
入题:软件领域的发展及分布式应用程序设计框架与技术(3学时).ppt_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Windows组件技术与编程,学时安排,12次课讲解+上机实习,提高动手能力!,2,作业(50%) 2次,考试 (50%),考核方法,3,课程参考书目, COM原理与应用 COM本质论 COM技术内幕 ATL Inside Advanced CORBA Programming with C+ ,4,Testing,1、class与structure的区别?为什么C+中要引入structure? 2、指针和引用的区别,选择指针和引用的标准? 3、在C+中,编译器是如何实现晚绑定的?,5,Testing,4、您对C/C+ 与 Java 的理解? 5、谈谈您对COM技术的理解? 6、对该门课程您期望能学到什么?,6,agenda,1、软件领域的发展 2、面向对象的程序设计思想 3、分布式应用程序的设计框架与技术,7,1、软件领域的发展,程序设计方法的发展 软件需求的发展 软件环境的发展,8,1.1、程序设计方法的发展,功能分解法 计算任务 结构化程序设计 以数据为中心 面向对象程序设计 以对象为中心,9,1.2、软件需求的发展,计 算 实 用 管 理(MIS) 分布式系统,10,1.3、软件环境的发展,11,1.4、发展的结果,软件学科的形成 不变因素: 计算机的基本运作模式,12,agenda,1、软件领域的发展 2、面向对象的程序设计思想 3、分布式应用程序的设计框架与技术,13,2、面向对象技术(OO),用一种新的思路看待问题 10多年的发展证明了OO符合软件的规律 面向对象技术的发展需要开发工具和开发语言的支持 三大特性: 封装性、继承性、多态性,14,2.2、对象(Object),对象是面向对象开发模式的基本成份。 对象= 属性+方法; 属性一般只能通过调用对象的方法来改变。 方法又称为操作或服务,它描述了对象执行的功能,若通过消息传递,还可以为其它对象使用。,15,2.3、类(Class),类是一组具有相同数据结构和相同操作的对象的集合。 类的定义包括一组数据属性和在数据上的一组合法操作。 类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象。,16,2.4、C+的类,Class CShape private: COLORREF color; public: CShape() color=0; virtual CShape() virtual void Display()=0; ,17,类是定义,它封装了状态和操作 对象是实例,它反映了具体的事物,2.5、对象与类的关系,18,封装,封装是指良好定义的类应对外部世界隐藏实现细节 一个类所支持的方法的集合就是该类的接口 接口是类提供给外界用于标明对象之间交互时所用的协议,19,继承,继承将一个对象与另一个对象的实现紧紧地绑定在一起。,20,多态性,程序在实施对象的操作时,允许对象按不同的方式完成不同类型对象的操作;不同类型对象有自己实现操作的方法。 虚函数 它实现了多态性 说明:在函数说明之前加上关键字virtual,21,agenda,1、软件领域的发展 2、面向对象的程序设计思想 3、分布式应用程序的设计框架与技术,22,3、分布式应用程序设计框架与技术,发展历史,单 机 时 代,24,Client/Server,客户/服务模式是一个分布式计算应用。它使用一个应用程序(客户)和另一个程序(服务端)交换数据。 客户端和服务端一般使用同样的语言来编写,使用相同的协议来相互通信。,25,Client/Server,工作方式:点对点 服务器端:系统软件,集中式数据 客户端:应用软件,集中业务逻辑 开发:客户端开发,资源独占方式 部署:工作集中在客户端,软件维护比较困难; 典型系统:关系数据库系统 开发工具:Microsoft公司VC+、VB、VJ6、C# Borland C+Builder、JBuilder、Delphi、Kylix2、Kylix3,26,Browser/Server,浏览器/服务模式也是一个分布式计算应用。 服务器端:完成全部计算工作 客户端:用于数据的显示(页面),使用通用浏览器 开发:服务器端。(页面描述分服务器解释还是客户机解释) 部署:服务器端。(客户端0维护) 典型系统:静态/动态网页发布系统 工作方式:点对点,27,Browser/Server,通用浏览器:IE/Netscape 浏览器语言:HTML 浏览器脚本:VB/Java Script,Web服务器:IIS/Apache 服务器脚本:VB/Java Script 开发技术:CGI,ISAPI,NSAPI ASP,JSP,PHP 开发工具:Microsoft公司VB、VJ Borland JBuilder 其他,28,分布式应用程序,1、需求 Internet/Intranet的快速发展 分布式数据存储管理的需要 多种软件系统、企业应用集成(EAI) 电子商务、电子政务、电子海关 2、技术发展 基础:OSI七层模型物理、数据链路、网络、传输、会话、表示、应用 协议:RS232、TCP/IP、IIOP、DCE-RPC RPC:Socket、SMTP、FTP、 HTTP、 COM+、CORBA、SOAP 系统:OS、DBMS、Web Server、Application Server 结构:C/S、B/S、DNA、多层 开发工具:汇编、高级语言(行编辑、编译、连接、调试分离)、高级语言(集成 开发环境:全屏编辑,集成编辑、编译、连接、调试)、多语言混合、 脚本语言、快速开发、企业应用开发,29,分布式应用程序架构,1、架构模型: DNA:COM DCOM COM+ 应用服务器:J2EE/CORBA 、RMI Web Services:SOAP/XML 2、实现策略: 基于服务器的开发 面向对象分析、设计、测试 基于组件的实现(COM组件、CORBA组件、EJB组件),30,COM/DCOM/COM+,工作机制:,Client process,In-process proxy,client,Remote Server,stub,In-process Object,网络,31,COM/DCOM/COM+,1、优点: 独立于语言。 有较完善的事务处理及安全机制。 2、缺点: 过分依赖Windows操作系统,没有实现跨平台。 技术复杂,实现困难。 3、基本概念: 组件类、接口、方法 接口描述:MIDL 4、运行机制: 注册表、Windows SCM、调用者维护组件生存期 可跨空间调用 5、开发工具:(丰富、易用) 微软系列开发工具。,32,CORBA,工作机制,ORB,ORB,Common Object Request Broker Architecture 公共对象请求代理架构。由OMG提出。,33,CORBA,1、优点: 实现了跨平台,独立于语言。 2、缺点: 各结点均需安装ORB。 技术复杂,难于实现。 3、开发工具: JDeveloper,JBuilder,CBuilder,Sun ONE,Delphi 4、基本概念: 组件类、接口、方法 接口描述:IDL 4、运行机制: ORB、由ORB维护组件生存期 可跨空间、跨时间调用组件,34,J2EE/RMI,工作机制,35,J2EE/RMI,1、涉及到的概念: JDBC:访问关系型数据库的API。 JTA,JTS:Java事务处理API,Java事务处理服务器 Servlet:服务器端运行的小程序 Applet:客户端运行的小程序 JSP:Java服务器页面 EJB:Enterprise JavaBean 2、开发工具 只要是基于Java的开发工具都实现了RMI。 实现J2EE:JBuilder,JDeveloper,Sun ONE等。,36,Web Services,传输文本协议。 涉及的技术: SOAP(简单对象传输协议) WSDL(Web Services描述语言) UDDI(统一描述、发现和集成协议 ) Web Services以SOAP为消息格式,用WSDL描述自身的实现,用UDDI实现自动发现机制。,37,Web Service 部署在Web上的对象,对象界面描述: WSDL 对象访问: SOAP 对象界面发现: UDDI 对象实现: EJB, COM+, CORBA以及任何可用于对象实现的技术,38,Web Services,工作机制,39,SOAP,SOAP(simple object access protocol,简单对象访问协议)。 支持分布式环境中的远程方法调用 支持富信息和复杂数据类型传输 支持任意负载的消息处理 独立于供应商和平台。 支持HTTP,FTP和SMTP等多种传输机制。,40,SOAP,SOAP 1.0: Userland, Microsoft, DeveloperMentor Specific to COM and HTTP SOAP 1.1: Userland, Microsoft, IBM, Lotus, DeveloperMentor 自由的传输绑定 (不仅仅是HTTP) 自由的语言绑定 (比如Java, C#) 可插入的数据格式 (当然必须基于XML) 完全的中立 (中立、公开的标准) 独立于任何编程语言、对象模型、操作系统、平台 SOAP 1.2: W3C,41,SOAP,SOAP 定义了一个“envelope”对象 使用“envelope”包装消息自身 消息可以采用自身特定的XML词汇 使用namespace来区分彼此,Message,Envelope,42,SOAP, MSFT ,43,SOAP, 78.2 ,44,为什么SOAP会成功,Internet环境下实现技术的多样性使得早期的分布式技术无法实现普遍的互相连接,DCOM 需要每个连接点都使用Windows CORBA 需要每个连接点都有ORB RMI 需要每个连接点都使用Java,SOAP是基于平台独立的选择 简单的XML格式 可以在任意平台采用任意技术 可以使用开放源代码资源,45,WSDL,以XML的格式描述Web Services。 作用类似于COM中的IDL。,UDDI,可以将UDDI理解成Web Services的搜索引擎。 它定义了如何创建商业目录的规范,这个目录包含一组对提供在线Web服务的公司的引用;它也保存了有关这个提供Web服务公司的附加信息。,46,Web Services,1、优点: 传输的易于理解接收的XML文本,完全实现了独立于平台和语言。 易于实现。 支持复杂数据类型。 可以穿透防火墙。,2、缺点: 传输数据量大,传输效率不高。 安全机制等细节还不健全。,47,48,Web Services,开发工具:,.NET(Microsoft) J2EE(Java 2 Platform Enterprise Edition/SUN) Delphi(Borland) C+ Builder(Borland) Apache SOAP(IBM) 几乎所有的大的开发工具都支持Web Services,49,.NET,按SOAP的定义格式手工编写。 用下载的SOAP工具包。 使用ATL Server。包含在.NET中。 使用.NET Remoting。 使用ASP.NET。,即使选择Microsoft平台,实现Web Services的方法也有多种:,50,J2EE系统的Web service结构,Web Service客户机,Web service服务器,HTTP上的SOAP,WSDL,查询,Web Service系统,Web service 工作时间,业务逻辑功能,EJB,DB,EIS,SOAP,51,J2EE的部署,客户端,防火墙,52,J2EE与.NET的比较,基本设计和对Web Services的支持 J2EE通过一组API包(JAXM,JAXP,JAXR,JAX-RPC)对Web Services提供支持。 Web Services直接构建在平台中,.NET框架提供完整的服务标准的实现如SOAP、WSDL和UDDI。,53,J2EE与.NET的比较,实现 J2EE的Web Service实现一般是通过EJB来实现的然而也可以把提供Web Service实现的Java应用独立出来,这完全依赖于设计和构建应用程序的业务处理和数据逻辑层。 .NET框架中Web Service的实现一般通过.NET Managed Component(包括Managed Class以及COM/COM+组件)来实现。,54,J2EE与.NET的比较,工具和服务器 有多家公司已经构建了基于J2EE的集成开发环境(IDE)和应用服务器。对We

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论