Chap基于分布构件的体系结构实用实用教案

上传人:牛*** 文档编号:73074572 上传时间:2022-04-10 格式:PPT 页数:45 大小:2.15MB
收藏 版权申诉 举报 下载
Chap基于分布构件的体系结构实用实用教案_第1页
第1页 / 共45页
Chap基于分布构件的体系结构实用实用教案_第2页
第2页 / 共45页
Chap基于分布构件的体系结构实用实用教案_第3页
第3页 / 共45页
资源描述:

《Chap基于分布构件的体系结构实用实用教案》由会员分享,可在线阅读,更多相关《Chap基于分布构件的体系结构实用实用教案(45页珍藏版)》请在装配图网上搜索。

1、1第1页/共44页第一页,共45页。2 简介( jin ji):EJB(Enterprise Java Bean)分布构件框架由SUN公司主导制定,它基于Java语言,面向企业级的分布式系统开发。第2页/共44页第二页,共45页。3实例(shl):HelloWorldEJB构件HelloWorldBean文件HelloWorldBean.java:第3页/共44页第三页,共45页。4实例(shl):HelloWorldEJB构件HelloWorldBean文件HelloWorld.java:第4页/共44页第四页,共45页。5实例:HelloWorldEJB构件HelloWorldBean编译

2、上述两个文件,便能够得到两个类文件HelloWorldBean.class和HelloWorld.class,它们分别描述了EJB构件HelloWorldBean和它的远程接口HelloWorld。将这两个类放在Jboss安装目录的examplesserver子目录下,然后(rnhu)打包成一个文件HelloWorld.jar。至此,EJB构件HelloWorldBean就开发好了。 第5页/共44页第五页,共45页。6实例:HelloWorldEJB构件HelloWorldBean的部署(b sh)在开发完EJB构件之后,需要将其部署(b sh)到EJB应用服务器中。对于Jboss,在成功启

3、动之后,只需要将上述的文件HelloWorld.jar直接拷贝到Jboss安装目录下的一个特定子目录中,Jboss就会自动完成EJB构件HelloWorldBean的部署(b sh)。第6页/共44页第六页,共45页。7实例(shl):HelloWorldEJB客户HelloWorldClient的开发第7页/共44页第七页,共45页。8实例:HelloWorld测试编译(biny)完文件HelloWorldClient.java后,即可运行命令“java examples.client.HelloWorldClient”,结果如下所示:第8页/共44页第八页,共45页。9原理分析:本实例中定

4、义的三个类之间的关系如下图所示。构件(gujin)HelloWorldBean的实例由构件(gujin)容器负责创建。第9页/共44页第九页,共45页。10原理分析:本实例中定义(dngy)的三个类之间的关系如下图所示。构件HelloWorldBean的实例由构件容器负责创建。第10页/共44页第十页,共45页。11原理(yunl)分析:RMI原理(yunl)第11页/共44页第十一页,共45页。12其它说明:在EJB构件框架下,客户端可以有各种不同的形式,如下图所示。无论简单( jindn)的Java程序,还是Web容器或者客户容器中的Java程序,它们都遵守上述的EJB构件框架,即通过远程

5、对象的存根访问EJB容器中的会话Bean。第12页/共44页第十二页,共45页。13第13页/共44页第十三页,共45页。14DCOM(Distributed Component Object Model,分布构件对象模型)是一个二进制代码层面的构件模型,由微软公司于1995年左右提出,从COM(Component Object Model,构件对象模型)扩充而成。按照这个模型,以二进制形式(xngsh)存在的构件可以被远程客户透明访问。 第14页/共44页第十四页,共45页。15基本概念DCOM客户:泛指所有与DCOM构件交互的程序片断。如果一个DCOM构件要与其他DCOM构件交互,那它同时

6、也是一个DCOM客户。DCOM构件:是具有特定格式要求(yoqi)的动态链接库(DLL)文件或可执行(EXE)文件。对象、类和类工厂接口接口的代理/残桩DLL第15页/共44页第十五页,共45页。16第16页/共44页第十六页,共45页。17整体(zhngt)结构第17页/共44页第十七页,共45页。18实例:HelloWorld,共包含十个文件:HelloComponent.cpp、HelloComponent.h:包含EXE构件的主函数WinMain()和相关代码。HelloClass.cpp、HelloClass.h:包含EXE构件向外提供的类CHelloClass的定义、以及(yj)向

7、外提供的工厂类CFactory的定义。Hello.idl:定义类CHelloClass向外提供的接口IHello。既用于EXE构件,也用于客户程序。HelloClient.cpp:客户程序。Registry.cpp、Registry.h:包含一些辅助函数的定义,用于访问Windows注册表。Makefile、HelloProxy.def第18页/共44页第十八页,共45页。19实例(shl):HelloWorldEXE构件主程序(HelloComponent.cpp)第19页/共44页第十九页,共45页。20实例(shl):HelloWorldEXE构件中的工厂类CFactory第20页/共4

8、4页第二十页,共45页。21实例(shl):HelloWorldEXE构件中的类CHelloClass第21页/共44页第二十一页,共45页。22实例(shl):HelloWorld类CHelloClass的接口IHello第22页/共44页第二十二页,共45页。23实例(shl):HelloWorld类CHelloClass的接口IHello:Hello.idl第23页/共44页第二十三页,共45页。24实例:HelloWorldEXE构件HelloComponent.exe的生成和部署:部署时,需要将HelloComponent.exe和HelloProxy.dll拷贝到服务器上,并应该将

9、它们都注册(zhc)到服务器上的DCOM系统中。注册(zhc)HelloProxy.dll的命令是“Regsvr32 HelloProxy.dll”;注册(zhc)HelloComponent.exe的命令是“HelloComponent.exe -regserver”,也就是说它能够自我注册(zhc)。第24页/共44页第二十四页,共45页。25实例(shl):HelloWorld客户程序(HelloClient.cpp)第25页/共44页第二十五页,共45页。26实例:HelloWorld客户程序(HelloClient.cpp):客户端请求(qngqi)服务器创建对象的过程第26页/共4

10、4页第二十六页,共45页。27实例:HelloWorld客户方的部署和测试(csh):将HelloClient.exe和HelloProxy.dll拷贝到客户机上,并将HelloProxy.dll注册到客户机上的DCOM系统中。第27页/共44页第二十七页,共45页。28对原理的进一步分析:客户与EXE服务构件之间有三次直接的交互,如图上的数字6、8、9所标识。但在分布环境下,客户是不可能直接与EXE构件在接口( ji ku)层面直接交互的。实际上,上述三次交互都是由本地机器上的代理对象或残根对象完成的,而这些代理对象和残根对象都是由前面生成的代理/残根动态链接库HelloProxy.dll生

11、成,只不过这个过程由DCOM系统控制,外界看不到而已。第28页/共44页第二十八页,共45页。29第29页/共44页第二十九页,共45页。30第30页/共44页第三十页,共45页。31CORBA(Common Object Request Broker Architecture,分布对象请求代理(dil)体系结构)是一种异构平台下的语言无关的分布对象互操作模型。由OMG(Object Management Group,对象管理组织)于1990年首次提出,后经过多版改进,最新的CORBA规范是2008年发布的3.1版。第31页/共44页第三十一页,共45页。32基本( jbn)体系结构第32页/

12、共44页第三十二页,共45页。33基本( jbn)体系结构第33页/共44页第三十三页,共45页。34基本( jbn)体系结构第34页/共44页第三十四页,共45页。35实例分析(fnx):HelloWorld,包含四个文件和七个Java类第35页/共44页第三十五页,共45页。36实例分析:HelloWorld接口( ji ku)的定义(Hello.idl)第36页/共44页第三十六页,共45页。37实例(shl)分析:HelloWorld服务器端的对象实现类的定义HelloImpl.java第37页/共44页第三十七页,共45页。38实例(shl)分析:HelloWorld服务器端的主程序

13、(Server.java)第38页/共44页第三十八页,共45页。39实例(shl)分析:HelloWorld客户端程序(Client.java)第39页/共44页第三十九页,共45页。40实例分析:HelloWorld测试在服务器上使用JacORB的ns命令启动(qdng)CORBA命名服务。在服务器上启动(qdng)服务器主程序,使用的命令是“jaco demo.helloworld.Server”。启动(qdng)客户端主程序,使用的命令是“jaco demo.helloworld.Client”。 第40页/共44页第四十页,共45页。41完整(wnzhng)体系结构第41页/共44页

14、第四十一页,共45页。42完整(wnzhng)体系结构第42页/共44页第四十二页,共45页。43第43页/共44页第四十三页,共45页。44感谢您的欣赏(xnshng)!第44页/共44页第四十四页,共45页。NoImage内容(nirng)总结1。在开发完EJB构件(gujin)之后,需要将其部署到EJB应用服务器中。构件(gujin)HelloWorldBean的实例由构件(gujin)容器负责创建。原理分析:RMI原理。DCOM客户:泛指所有与DCOM构件(gujin)交互的程序片断。既用于EXE构件(gujin),也用于客户程序。Registry.cpp、Registry.h:包含一些辅助函数的定义,用于访问Windows注册表。但在分布环境下,客户是不可能直接与EXE构件(gujin)在接口层面直接交互的。第43页/共44页第四十五页,共45页。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!