第8章 基于分布构件的体系结构.pptVIP

  • 6
  • 0
  • 约2.68千字
  • 约 30页
  • 2015-09-15 发布于广东
  • 举报
第8章 基于分布构件的体系结构

基于分布构件的系统体系结构 内容 8.1 EJB分布构件框架 8.2 DCOM分布构件框架 8.3 CORBA分布构件框架 8.1 EJB分布构件框架 简介:EJB(Enterprise Java Bean)分布构件框架由SUN公司主导制定,它基于Java语言,面向企业级的分布式系统开发。 8.1 EJB分布构件框架 实例:HelloWorld EJB构件HelloWorldBean 文件HelloWorldBean.java: 8.1 EJB分布构件框架 实例:HelloWorld EJB构件HelloWorldBean 文件HelloWorld.java: 8.1 EJB分布构件框架 实例:HelloWorld EJB构件HelloWorldBean 编译上述两个文件,便能够得到两个类文件HelloWorldBean.class和HelloWorld.class,它们分别描述了EJB构件HelloWorldBean和它的远程接口HelloWorld。将这两个类放在Jboss安装目录的examples\server子目录下,然后打包成一个文件HelloWorld.jar。至此,EJB构件HelloWorldBean就开发好了。 8.1 EJB分布构件框架 实例:HelloWorld EJB构件HelloWorldBean的部署 在开发完EJB构件之后,需要将其部署到EJB应用服务器中。对于Jboss,在成功启动之后,只需要将上述的文件HelloWorld.jar直接拷贝到Jboss安装目录下的一个特定子目录中,Jboss就会自动完成EJB构件HelloWorldBean的部署。 8.1 EJB分布构件框架 实例:HelloWorld EJB客户HelloWorldClient的开发 8.1 EJB分布构件框架 实例:HelloWorld 测试 编译完文件HelloWorldClient.java后,即可运行命令“java examples.client.HelloWorldClient”,结果如下所示: 8.1 EJB分布构件框架 原理分析:本实例中定义的三个类之间的关系如下图所示。构件HelloWorldBean的实例由构件容器负责创建。 8.1 EJB分布构件框架 原理分析:本实例中定义的三个类之间的关系如下图所示。构件HelloWorldBean的实例由构件容器负责创建。 8.1 EJB分布构件框架 原理分析:RMI原理 8.1 EJB分布构件框架 其它说明:在EJB构件框架下,客户端可以有各种不同的形式。无论简单的Java程序,还是Web容器或者客户容器中的Java程序,它们都遵守上述的EJB构件框架,即通过远程对象的存根访问EJB容器中的会话Bean。 内容 8.1 EJB分布构件框架 8.2 DCOM分布构件框架 8.3 CORBA分布构件框架 8.2 DCOM分布构件框架 DCOM(Distributed Component Object Model,分布构件对象模型)是一个二进制代码层面的构件模型,由微软公司于1995年左右提出,从COM(Component Object Model,构件对象模型)扩充而成。按照这个模型,以二进制形式存在的构件可以被远程客户透明访问。 8.2 DCOM分布构件框架 基本概念 DCOM客户:泛指所有与DCOM构件交互的程序片断。如果一个DCOM构件要与其他DCOM构件交互,那它同时也是一个DCOM客户。 DCOM构件:是具有特定格式要求的动态链接库(DLL)文件或可执行(EXE)文件。 对象、类和类工厂 接口 接口的代理/残桩DLL 8.2 DCOM分布构件框架 整体结构 8.2 DCOM分布构件框架 实例:HelloWorld, 1、开发:共包含十个文件: HelloComponent.cpp、HelloComponent.h:包含EXE构件的主函数WinMain()和相关代码。 HelloClass.cpp、HelloClass.h:包含EXE构件向外提供的类CHelloClass的定义、以及向外提供的工厂类CFactory的定义。 Hello.idl:定义类CHelloClass向外提供的接口IHello。既用于EXE构件,也用于客户程序。 HelloClient.cpp:客户程序。 Registry.cpp、Registry.h:包含一些辅助函数的定义,用于访问Windows注册表。 Makefile、HelloProxy.def 8.2 DCOM分布构件框架 实例:HelloWorld 2、EXE构件HelloComponent.exe的生成和部署:部署时,需要将HelloComponent.exe和HelloProxy.dll拷贝到服务器上,并应该将它们

文档评论(0)

1亿VIP精品文档

相关文档