第4章 商务逻辑层及其技术.

Slides:



Advertisements
Similar presentations
LOGO 第 9 章 Java Servlet 和 JSP 编程 孙焘. 重点: servlet 编程原理 1 servlet 的基础类与编程实现 2 JSP 编程原理 3 JSP 的常用语法 4.
Advertisements

1 Java 语言程序设计 计算机系 鲍金玲. 2 引子 甲骨文 甲骨文是全球最大的信息管理软件及服务供应商,成立于 1977 年,公司总部 设在美国加利福尼亚州的红木城( Redwood Shores ),全球员工达 名, 包括 名开发人员、 7500 多名技术支持人员和.
1 中 间 件 技 术中 间 件 技 术. 2 第 1 章 中间件产生背景及分布式计算环境 主要内容 开放系统 互操作性 中间件.
Java 程序分类 Java Application :是完整程序,需要独立的解 释器解释运行;以 “.java” 为后缀的文件,以 main() 方法作为程序入口,由 java 编译器编译生 成字节码,由 Java 解释器加载执行字节码。 Java Applet 没有 main() 方法作为程序入口,是嵌在.
程序设计语言基础 软件工程系 秦晓燕. 课程目标 了解面向对象程序设计的思想,以及软件 开发流程。 学习 Java 语言的基本概念和编程方法,基 本掌握 Java 类库的使用。 能够利用所学的方法开发简单的小型应用 程序.
Java 程序设计 案例教程 北京大学出版社 第 01 章. Java 程序设计案例教程 第 01 章 Java 语言与面向对象程序设计 Java 语言的历史 Java 语言的特点 Java 程序的分类 Java 环境配置 Eclipse 的安装 Java 程序的调试 教学目标.
姓名:柴伟龙 学号: 指导老师:邹立杰 姓名:柴伟龙 学号: 指导老师:邹立杰 2012 毕业论文 ( 设计 ) 答辩.
淮海工学院 计算机课程 第 1 章 Java 入门 1.1 Java 的起源与发展 1.2 Java 程序开发与运行环境 1.3 Java 程序设计步骤 1.4 Java 程序的构成 一个小游戏.
第16章 代理模式 Website:
IT运维管理解决方案 -轻松管理,自在运维 产品经理 刘曜.
《 Java开发环境配置》 主讲人:耿力.
Java 2实用教程(第3版)教学课件 主讲教师:张国平
第2章 电子商务相关技术设施 2.1 Internet技术 2.2 网络协议 2.3 与电子商务有关的标记语言 2.4 WWW客户机与服务器
Java程序设计教程 第一讲 Java概述.
微软与高校信息化 李 志 霄 博士 首席技术官 微软(中国)有限公司.
Java的程式架構與基本觀念 Java語言的歷史 Java程式的開發環境 Java程式的架構 輸出與輸入物件之使用 工具使用方法介紹
面向对象的程序设计(一).
《Java程序设计之网络编程》 教学课件 重庆大学计算机学院
面向对象程序设计(Java) 徐志红
第一章 JSP概述 学习目标 JSP技术是目前WEB开发技术中应用最广泛的一种.本章对JSP技术、优点、缺点、应用前景作了简要介绍。
建设数字化的卫生监督体系 深 圳 市 卫 生 监 督 所 2006年4月.
網頁技術簡介.
大型主机应用上的开放系统和中间件 2011年度教育部-IBM精品课程
学习目标 掌握电子商务网站体系结构 掌握企业电子商务网站体系结构 掌握PWS的安装与设置
第二章 JAVA语言基础.
第1章 java简介及环境搭建 第1章 Java简介及开发环境搭建.
mashup 林維甫 郭家伶 吳佩珊 蔡小倩 楊士毅 曾仕豪 Marshup起源 何謂Mashup Mashup類型 Mashup架構
作業系統 第二十章 分散式系統實例.
9.6 一个RMI的分布式应用的实例 用RMI编写一个分布式应用,核心有以下三方面: 定位远程对象 与远程对象通信:
Microsoft .NET 第4組 十月15, 2002 B 陳東傑 B 蔣佳勳
程式設計實作.
JSP程式設計 基本概論 歐陽芳泉 Fang-Chuan Ou Yang
国家“十一五”规划教材 数据库原理与应用教程(第3版).
国家“十一五”规划教材 数据库原理与应用教程(第3版).
J2EE 培训课程.
Arena System Technology Architecture 系统技术架构 1、Database V2(Lotus Notes)V3(Oracle8i) 2、Application Server SilverStream2.53 (Java as server side programming.
第五章 信息与系统集成技术 概述 数据流集成技术 信息流集成技术 信息管理集成技术 流程重组与业务流程集成 企业门户集成 企业集成架构
分布式对象标准介绍 企业要构建多层分布式系统,必须遵循分布式标准,基于什么样的标准将直接影响到企业应用系统的开放性和可扩展性。目前业界分布式对象技术主要有三种架构标准: Microsoft的COM/DCOM/COM+ OMG组织的 CORBA。 Sun Microsystems的Enterprise.
第9章 GIS新技术与”数字地球”简介 北京建筑工程学院 王文宇.
J2EE Course 2018/11/20.
2018/11/20 第一章 Java概述 武汉大学计算机学院计算机应用系 2018/11/20 14:33.
武汉大学国际软件学院 面向对象程序设计 武汉大学国际软件学院
.NET 簡介.
.NET 簡介.
第一章: Java Web 开发技术概述.
西南科技大学网络教育系列课程 高级语程序设计(Java) 第五章 继承、接口与范型.
高级Web技术 复 习.
网 站 设 计 与 建 设 Website design and developments
在一定程度上 人类的思维产生于 简单个体之间的相互作用 ——Marvin Minsky.
第5章 方案工程(Solutions Engineering)
Java语言程序设计 第五部分 Java异常处理.
MBL 327 Windows Mobile开发中的异构系统集成
第六章 系统集成建模技术 系统集成建模概述 统一建模语言及其他建模方法 常用软件建模工具 软件实现工具 软件测试优化工具 项目管理工具
2018/12/7 Java语言程序设计 教师:段鹏飞.
第一讲 J2EE基础 博和利初级培训 —开发技能.
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
張智星 台大資工系 多媒體檢索實驗室 第十二章 ASP基本介紹 張智星 台大資工系 多媒體檢索實驗室.
C/C++/Java 哪些值不是头等程序对象
学习导航 学习导航.
Network Application Programming(3rd Edition)
第1章 Java语言概述 学习目标 本章要点 上机练习 习 题.
企业级分布式应用平台 —— Orbix 2000 CTO 张 恂 博讯科技(上海)有限公司 2001年3月.
JAVA 编 程 技 术 主编 贾振华 2010年1月.
《JAVA程序设计》 语音答疑 辅导老师:高旻.
第十二章 过滤器.
開發Java程式語言的工具 JDK.
COM组件及其设计 一、COM组件定义和DNA思想简介 二、COM组件的特点 三、COM组件对象的软件工程方法 四、DNS、MTS
第二章 基于CORBA的分布式平台 苗启广 计算机学院.
W3C标准网页制作 主讲教师:张 涛.
作業系統 Operating System 第六單元 分散式系統
Presentation transcript:

第4章 商务逻辑层及其技术

§4.1商务逻辑层的构成与应用服务器 商务逻辑层的构成 核心商务逻辑应用(企业宣传、网上销售、网络银行等) 商务服务平台 商务支持平台   商务服务平台 商务支持平台 基础支持平台 web服务器平台、数据库平台 操作系统 计算机硬件及网络基础设施

§4.1商务逻辑层的构成与应用服务器 应用服务器 从Web服务器和数据库服务器中分离出来,能提供Web服务、部分的商务服务、商务支持、基础支持的软件包或应用平台; 属于三层架构的中间一层

§4.2应用服务器技术分析 4.2.1第一代:基于CGI的应用服务器 CGI工作原理 CGI程序 www server Web Browse Internet www server CGI程序 DB

§4.2应用服务器技术分析 4.2.1第一代:基于CGI的应用服务器 CGI工作原理 实例

§4.2应用服务器技术分析 4.2.1第一代:基于CGI的应用服务器 CGI工作原理 实例 p100 CGI中环境变量 缺点 将HTML标识嵌入在传统的程序设计语言中,修改HTML的内容不直观、不方便,维护困难; 每个CGI程序在服务器上运行时,对应一个独立的进程,这样在多用户请求时,会有大量的CGI进程在服务器上运行,过度地消耗服务器上的资源

§4.2应用服务器技术分析 4.2.2第二代:基于ASP的应用服务器 优点 缺点 逻辑控制代码嵌在HTML文件中,编辑HTML方便; 可使用控件和API来访问数据库 缺点 只能在Windows及IIS服务器下运行,不能实现跨平台的运行; 容易遭到黑客的攻击 其它安全问题

§4.2应用服务器技术分析 4.2.3 第三代:基于Java的应用服务器 优点 基于Java,易实现跨平台的应用; 支持中间件功能,易组建分布式的网络应用系统; 易实现网络负载均衡

§4.2应用服务器技术分析 4.2.3第三代:基于Java的应用服务器 从Servlet 到JSP JSP缺点 Browse JSP文件 类似CGI,将HTML标识嵌入在Java程序中,编辑与发布HTML不直观、不方便; JSP优点 类似于ASP,将Java控制代码嵌入在HTML中,但JSP是后台编译型的,而ASP是后台解释型的; JSP缺点 缺少组件开发的工具; 缺少系统集成的能力 Browse JSP文件 Bean DB

§4.2应用服务器技术分析 4.2.3第三代:基于Java的应用服务器 从JSP到JSP+Servlet+JavaBean 优点 具有组件开发与集成的能力 Browse Servlet JSP文件 Bean DB

§4.2应用服务器技术分析 4.2.4第四代:基于Java组件的应用服务器 优点 支持大型组件的开发; 支持异构系统的集成; 灵活的应用程序配置,有效的系统容量扩展

§4.2 应用服务器技术分析 4.2.5 应用服务器的产品类型及开发工具(http://developers.sun.com )

Product Type of Product Support for Java Servlets Support for JSP Pages BEA WebLogic Server 7.0 Server 2.3 1.2 Borland Enterprise Server, AppServer Edition Caucho Technology Resin Add-on Engine Computer Associates Advantage Joe EasyThings Web Server 2.2 1.1 Fujitsu INTERSTAGE Gefion Software LiteWebServer Hewlett Packard Total-e-Server

IBM WebSphere Technology for Developers Server 2.3 1.2   IBM WebSphere Application Server 4.0 2.2 1.1 IONA Orbix E2A Application Server Platform, J2EE Edition Jetty 3.1 4.0 Lutris Technologies Enhydra

Macromedia JRun 4 Server and Add-on Engine 2.3 1.2 New Atlanta ServletExec Add-on Engine 3.1 2.2 1.1 4.0 Novocode NetForge Server 2.1 No Oracle 9i Application Server Orion Application Server 2.3 PFD2 Pramati Server 3.0 Secant Technologies ModelMethods Enterprise Server 1.0 Servertec Internet Server Silverstream eXtendApplication Server 4.0 Beta

SITEFORUM Web Server and Interaction Platform Yes No SunTM ONE Web Server (formerly iPlanetTM Web Server) 2.3 1.2 SunTM ONE Application Server 7, Platform Edition (formerly iPlanetTM Application Server) Sybase EAServer Tagtraum Industries jo! 2.1, 2.2 1.1 Trifork Application Server 3.1 vqSoft vqServer 2.0 W3C Jigsaw 2.2 Zeus Technology Web Server  

一些支持JSP和Servlet的开发工具有: Product Support for Servlets Support for JSP Adobe GoLive 6 Yes Borland JBuilder 7 2.3 1.2 IBM WebSphere Studio 4.0 2.2 1.1 IBM VisualAge 4.0 Macromedia Dreamweaver UltraDev 4 No 1.0 Macromedia JRun Studio 4 MERANT PVCS Content Management Server NetObjects Fusion MX Oracle JDeveloper Pramati Studio 3.0 SunTM ONE Studio 4.0 (formerly ForteTM for Java) WebGain Studio

§4.3 应用服务器的基本功能 高性能的应用程序运行环境 内容缓存 数据库连接缓存 支持进程的多线程执行 大量用户访问情况下的负载均衡 为应用提供扩充性 会话管理 目录及内容管理 商务引擎 系统管理 性能配置管理 存取控制管理 系统日志管理

§4.4 分布处理与组件技术 4.4.1分布处理与组件技术概述 应用带来的挑战 首先,在企业级应用中,硬件系统集成商基于性能、价格、服务等方面的考虑,通常在同一系统中集成来自不同厂商的硬件设备、操作系统、数据库平台和网络协议等,由此带来的异构性给应用软件的互操作性、兼容性以及平滑升级能力带来了严重问题。另外,随着基于网络的业务不断增多,传统的客户/服务器模式的分布应用方式越来越显示出在运行效率、系统网络安全性和系统升级能力等方面的局限性。

§4.4 分布处理与组件技术 4.4.1分布处理与组件技术概述 分布处理 分布处理是指网络中两个或两个以上的软件相互共享信息资源,这些软件可以位于同一台计算机中,也可以部署在网络中的任一结点位置,基于分布计算模型的软件系统具有均衡系统负载、共享网络资源的技术优势。 分布处理的实现,大部分是基于Client/Server模式,结合组件的使用,实现多层的应用架构;但最近也有一些不属于Client/Server模式的分布处理,如Napster和BT应用。BT,即BitTorrent,一种P2P的文件传输应用系统与协议,由BramCohen首创,在2003年一鸣惊人,到2005年初,它已成为仅次于TCP/IP的网络垄断协议了。

分布处理的一些著名事件 1993年:DEC系统研究中心的研究员Lenstra和Manasse召集了600名志愿者,利用分布式处理方法参与由著名的美国RSA研究所发起的RSA-129密码破译活动。这次活动使人们见识了分布处理的威力,此后对它的研究空前活跃起来; 1995年:分布处理再接再厉,一举攻破了RSA-130。这是一个130位的加密算法,这次活动开启了分布处理和Internet结合的大门,使分布处理成为主流的研究方向,并最终导致网格的诞生; 1996年:著名的GIMPS即互联网梅森素数大搜索项目正式启动,近十年来,通过它已发现多个梅森素数; 1999年:著名的寻找外星智能生命信息的SETI@home项目正式推出,它以无比的神秘感吸引了因特网上数百万名志愿者,成为目前参加人数最多的分布式处理项目; 2000年:19岁的大学生Shawn Fanning开发出Napster,在网上掀起网络音乐交换热潮,催生了一个庞大的在线音乐市场; 2001年:IBM宣布自己的网格研究计划,并将为此投资40亿美圆; 2002年:由Bram Cohen开发的分布式下载工具BitTorrent横空出世,以革命性的面目改变了传统的网络交换方式; 2003年:IBM发起史上最大网格计算计划,共有1000万台电脑连入其中。

§4.4 分布处理与组件技术 4.4.1分布处理与组件技术概述 组件技术 组件技术是提高大型软件可重用性的一种技术,其最基本的出发点是通过软件模块化、软件模块标准化,使大型软件可以利用一个个能够重复使用的“软件零件”进行组装,加快系统的开发速度,降低复杂度、降低成本。这一思想在软件工程中早就提出过,但是在技术和工艺方面的成熟则是近几年的事。由此可知,组件技术的核心在于创建和利用组件(Component)。 组件技术是从面向对象技术发展而来的,但它是一种更高层次上的对象技术:它独立于语言和面向应用程序,只规定组件的外在表现形式,而不关心其内部实现方法;它既可用面向对象的编程语言实现,也可用非面向对象的过程语言实现。

§4.4 分布处理与组件技术 4.4.2 组件标准 几种组件规范 CORBA OMG是一个非盈利性国际组织,致力于使CORBA成为“无所不在的中间件”。1989年成立时仅有8家公司参与,而今天已经是拥有900多个机构成员的“议会式”标准化组织,世界上几乎所有最有影响的计算机公司(如IBM、Microsoft和HP等)、著名的工商企业(如Boeing、Citibank和FordMotor等)和大学研究机构都是这个组织的成员。OMG所制定的分布对象计算标准规范包括CORBA/IIOP 、对象服务、公共实施和领域接口规范。遵照这些规范开发出的分布处理软件环境可以在几乎所有的主流硬件平台和操作系统上运行。现在,CORBA/IIOP已成为Internet上实现对象互访的技术标准,OMG的IIOP也已成为许多公司(如Oracle、Netscape、Sun和IBM等)进行系统集成的基本协议。1995年以来,基于CORBA软件的企业级应用发展迅猛,大有覆盖古老的RPC、DCE之势。目前世界上有一定影响的CORBA软件制造商已有10多家。

CORBA是一种规范,它定义了分布式组件如何实现互操作,它由四个部分组成: l         Object Request Broker:CORBA对象互通讯的软总线; l        Object Services(可选):ORB所能提供的系统级服务,如安全性、命名/目录和事务处理; l         Common Facilities(可选):应用程序级服务,如复合文档等; l         Application Interface:CORBA对象和应用的外部接口。 在CORBA中专门以接口描述语言(Interface Description Language)来统一描述CORBA对象所提供的所有外部接口,脱离特定语言的约束,使得与语言无关。但同时需要一个从IDL接口到由本地语言(C/C++、Java)所编写的CORBA对象的“桥梁”——对象请求解析器(Object Request Broker)为中介,它可以架构在多种流行通信协议之上(如TCP/IP或是IPX/SPX)实现。在TCP/IP上,来自于不同开发商的ORB用InternetInter-Orb协议(IIOP)进行通讯 。

在CORBA应用程序运行期间,ORB可能被请求做许多不同的事情,包括: l         查找并调用远程计算机上的CORBA对象 ; l         负责不同编程语言之间的参数转换(如C++到Java); l         可超越本机界限的安全管理 ; l         为其它的ORB收集并发布本地对象的metadata ; l         用下载的代码(stub)中描述的静态方法调用去击活远程对象中的方法 ; l         用动态方法调用击活远程对象 ; l         自动击活一个当前没有装入内存运行的对象; l         将回调方法导引向其管理之下的本地对象 。

§4.4 分布处理与组件技术 组件标准与分布式系统开发 几种组件规范 CORBA ActiveX/DCOM /COM+ ActiveX/DCOM是由Microsoft推出的对象组件模型,最初用于集成Microsoft的办公软件,目前已发展成为Microsoft世界的应用系统集成标准,并集中反映在其产品ActiveX中。目前,只有OMG的技术能够支持异构环境中大型分布式电子商务应用的开发,而Microsoft的DCOM技术尚不能完全胜任。Microsoft的优势主要表现在应用和市场能力上,从市场策略考虑,Microsoft决定支持OMG提出的OLE/COM与CORBA的互操作标准,从而使COM的对象能够与CORBA的对象进行通信。今后若干年内,OMG和Microsoft的分布对象技术将共存,并在许多方面相互渗透。

§4.4 分布处理与组件技术 组件标准与分布式系统开发 几种组件规范 CORBA ActiveX/DCOM /COM+ RMI

RMI(远程方法调用,Remote Method Invocation)是分布在网络中的各类Java对象之间进行方法调用的一种ORB实现机制。之所以这么讲,是因为CORBA技术与Java技术存在着天然的联系。Sun是OMG的创始成员,CORBA标准中的许多内容(例如IDL标准、IIOP标准)是以SUN公司提交的方案为核心制定的。CORBA与Java/RMI的主要区别在于以下两个方面: · 程序设计语言无关性是CORBA的重要设计原则,而Java/RMI依赖于Java语言和Java虚拟机; · Java/RMI技术的最大成就是使对象能够作为参数在Internet上迁移和执行(对象序列化,serialize),而CORBA2.0标准中只考虑对象的远程访问,没有对象作为"值"传递的承诺。 正是由于这两个技术的天然联系和各自的优势,CORBA技术与Java技术的融合已成为必然。 RMI早期使用Java远程消息交换协议JRMP(Java Remote Messaging Protocol)进行通信。JRMP是专为Java的远程对象制定的协议。用Java RMI技术开发的应用系统可以部署在任何支持Java运行环境(Java Run Environment,JRE)的平台上。但由于JRMP是专为Java对象定制的,因此RMI对于用非Java语言开发的应用系统的支持不足,不能与用非Java语言书写的对象进行通信。随着Java与CORBA技术的融合,后期出现了支持与用非Java语言书写的对象进行通信的RMI-IIOP协议。这两种协议的实现机制不同,但编写RMI程序的过程基本相同,他们都是基于存根(stub)/骨架(skeleton)架构结构。RMI-IIOP和JNDI(J2EE中的目录和名字服务,商务支持平台的基本功能)是实现企业JavaBean的技术基础。

§4.4 分布处理与组件技术 组件标准与分布式系统开发 几种组件规范 CORBA ActiveX/DCOM /COM+ RMI Web Service SOAP+WSDL+UDDI

§4.4 分布处理与组件技术 4.4.3 分布式系统的开发 使用RMI机制进行组件调用 RMI机制的实现原理

④ Client ③ Stub ①Server Skeleton RMI Registry ② 调用Stub :         初始化与包含远程对象的远程虚拟机的连接; b)        对远程虚拟机的参数进行编组(写入并传输); c)        等待方法的调用结果; d)        解编(读取)返回值或返回的异常; e)         将值返回给调用程序。 首先,服务器程序要创建远程对象(1),并对它进行注册(默认在匿名端口1099上监听客户对象请求(2),等待客户的调用。客户程序调用远程对象时首先通过注册(3)与远程服务器建立连接,下载相应的远程调用的客户端代理stub对象(注:这一点与web service不同,在web service中,在设计程序期间客户端就要预先从服务器端下载到客户端),然后通过stub/skeleton框架(4)与远程服务器进行通信。 Skeleton: a)     解编(读取)远程方法的参数; b)    调用实际远程对象实现的方法; 将结果(返回值或异常)编组(写入并传输)给客户端的调用程序。

§4.4 分布处理与组件技术 4.4.3 分布式系统的开发 使用RMI机制进行组件调用 几个名词 对象序列化 RMI通过网络在客户机和服务器之间进行参数传递,而参数在网络之间是以字节流的方式传递的。当参数是对象时,在传递前需要将参数转换成字节流,而在另一端接收时需要将字节流还原成对象。RMI可以利用Java的序列化机制,实现这种功能。

§4.4 分布处理与组件技术 4.4.3 分布式系统的开发 使用RMI机制进行组件调用 几个名词 对象序列化 远程接口 使用RMI时应先定义一个远程接口,即一个继承自java.rmi.Remote的接口(所有的RMI接口都必须扩展这个接口),与序列化接口一样,远程接口不包含任何方法,它只是一个标志,表示这是一个RMI接口,远程接口允许客户机利用远程调用的方法访问RMI对象。远程接口也可以用做远程调用方法的参数或返回值。当RMI服务是一个用于创建其他RMI对象的工厂时,这是一个通常的做法。

§4.4 分布处理与组件技术 4.4.3 分布式系统的开发 使用RMI机制进行组件调用 RMI的实现和运行步骤 定义一个远程接口 创建一个实现接口的类 编译远程服务器 创建Stub和Skeleton 创建RMI客户端程序,并编译 启动RMI注册表(或名字/目录服务) 设置安全控制策略 启动RMI服务端程序 运行RMI客户程序

Weblogic为例: u 定义一个远程接口 这个接口必须扩展java.rmi.Remote接口,该接口中的每一个方法必须声明将抛出一个RemoteException异常。例如: import java.rmi.Remote; import java.rmi.RemoteException; public interface RemoteInterface extends java.rmi.Remote { String message(String msg) throws java.rmi.RemoteException; }

Weblogic为例: u u 创建一个实现接口的类 定义一个实现该接口的类,该接口扩展了Remote,满足此类作为远程对象类的要求,该类还必须提供一种对象引用的方法,这可以通过实现接口java.io.Serializable,或通过扩展java.rmi.server.UnicastRemoteObject类实现。 import javax.naming.*; import java.rmi.RemoteException; import java.rmi.RMISecurityManager; public class RemoteObject implements java.io.Serializable,RemoteInterface {String name; public RemoteObject(String name) throws RemoteException { super(); this.name=name; } public String message(String msg) throws RemoteException { return "My name is:"+name+",thanks for your message:"+msg ; } public static void main(String args[]) { System.setSecurityManager(new RMISecurityManager()); /* try { String myName="ServerTest"; RemoteObject theServer=new RemoteObject(myName); Naming.rebind(myName,theServer); /* } catch(Exception e) { System.out.println("an Exception occurred while creating server");} }

Weblogic为例: u 编译远程服务器 javac RemoteInterface.java javac RemoteObject.java   u       创建Stub和Skeleton rmic RemoteObject 这样会生成几个相应的文件,如:RemoteObject_Skel.class 、RemoteObject_Stub.class等。

Weblogic为例: u 创建RMI客户端程序,并编译 import java.rmi.RMISecurityManager; import java.rmi.Naming; public class RemoteClient { public static void main(String args[]) { System.setSecurityManager(new RMISecurityManager()); try{ RemoteInterface server=(RemoteInterface)Naming.lookup("ServerTest"); String serverString=server.message("hello,nice to meet you"); System.out.println("The server says:\n"+serverString); } catch(Exception e) { System.out.println("Error while performing RMI");} } } Weblogic为例:

Weblogic为例: u 启动RMI注册表(或名字/目录服务) 若使用RMI注册表,则运行命令rmiregistry 或start rmiregistry,它会在默认的端口启动注册表;为了在其他端口上启动RMI注册,可这样:rmiregistry portNumber或start rmiregistry portNumber。  u   设置安全控制策略 由于在上面创建了一个SecurityManager,这里就需要创建一个安全策略文件,安全管理器通过安全策略进行安全控制,下面是一个简单的安全策略文件policy内容: grant { permission java.security.AllPermission;}; u    启动RMI服务端程序 注册或名字/目录服务启动后,就可以启动服务器程序了。 javaw RemoteObject java –Djava.security.policy=policy RemoteObject u       运行RMI客户程序 java –Djava.security.policy=policy RemoteClient Weblogic为例:

§4.4 分布处理与组件技术 组件标准与分布式系统开发 命名与目录服务 命名服务 目录服务 JNDI接口 一个简单分布系统的开发(略)

§4.5 EJB组件开发与使用(略)

Any Questions or Comments?