Java实体传输的实现方法以及在网上采购系统中的应用

(整期优先)网络出版时间:2013-08-18
/ 2

Java实体传输的实现方法以及在网上采购系统中的应用

李旭泽

李旭泽齐齐哈尔工程学院161000

摘要实体传输可以在网络中直接传递或者存储对象,因而在网络编程中具有很重要的作用。文章介绍了Java实体传输的实现方法,Applet与Servlet之间的远程方法调用(RMI)以及Java实体传输在网上采购系统中的应用。

关键词Java实体传输实现方法网上采购系统

据统计,在大多数企业中,采购物料和物料的成本大大超过了劳动力或者其他成本。通过建立一个有效的网上采购系统,可以大大降低企业的采购周期和采购成本。同时,通过建立良好的采购商-供应商关系,可以形成一条低成本的、高效的、高质量的产品供应链,从而降低企业的生产成本,提高企业的竞争力。在Web实际应用中,B/S(Browser/Server)模式得到了广泛的应用。在这种结构中,客户端与服务器端之间传递大量的、复杂的各种类型的数据是很常见的。如果我们将要传输的信息封装在对象中,然后进行对象的传输,将会大大简化编程工作。在网上采购系统中,采购供应双方的电子数据交换是必不可少的内容。借助于Java实体传输,结合XML技术,很容易建立起一个功能强大的、高效的网上采购系统。

1.Java实体传输的实现方法实际上,Java实体传输技术已经广泛地应用在JavaBean和Java远程方法调用(RMI)的技术中。其实现的方法很简单,可以分为两步:(1)首先将对象进行序列化(serialize)。对象序列化机制可以在对象写入流、文件或者是从流、文件中读出时自动进行对象状态的保存与恢复工作。对象序列化机制通过实现transient关键字可以使得payRate属性不会被序列化。这样可以通过它来控制对象的哪一些属性不会被序列化。(2)通过使用对象流技术实现实体的传输。为此,首先要创建某些OutputStream对象,然后将其封装到ObjectOutputStream对象中。此时,只需要调用writeObject()方法就可以完成对象的序列化。然后可以将对象的实体在网络上传输。当要恢复该对象时,将一个InputStream对象封装到ObjectInputStream内,然后调用readObject()方法,下溯造型为原来的对象即可。

2.Applet与Servlet之间的远程方法调用由于在目前的Web应用中,数据库服务器和Web服务器通常位于不同的服务器上,因此单独使用Applet小应用程序不能直接访问数据库服务器来获取信息。解决这个问题的方法是:让Applet与位于Web服务器上的Servlet通信,由Servlet根据Applet提交的信息去访问数据库服务器或者别的服务器,然后将结果返还给Applet。这里面就牵涉到了Applet与Servlet之间的通信。下面就简要介绍一下Applet与Servlet之间进行远程方法调用的方法与实现。

2.1远程方法调用(RMI)的概念远程方法调用是对象序列化的姐妹概念。它允许用户沿着一个流传送一个对象,并且允许对象存放于不同的计算机并在这些计算机系统上激活该对象的方法。在Applet与Servlet之间进行的RMI通常是指在客户端运行的程序中(Applet)直接调用服务器端的远程对象的方法(用Servlet来实现),并且获得该远程对象方法的返回值的过程。

2.2远程方法调用的实现创建并实现远程对象通常需要5个步骤。下面给出一个简单的实例:客户程序调用位于服务器上的远程对象ProductImpl的方法getDescription(),返回一个字符串。通过这个实例来说明创建并实现远程对象所需要的5个步骤(此处省略了所需要导入的Java包)。(1)定义一个扩展远程接口的接口。该接口中的每一个方法必须声明它将抛出一个(2)定义一个实现该接口的类。该类驻留在服务器端。(3)使用rmic程序生成远程实现所需要的主干(stub)和框架(skeleton)。(4)创建一个客户程序对服务器进行RMI调用。(5)启动Registy(登记)并运行自己的远程服务器和客户程序。在Applet与Servlet之间进行远程方法调用的实现也一样。只需要把上面所提到的文件,加上用来运行Applet的网页文件,统统放到同一主机上即可,只是主干和框架文件需要与Applet程序放在同一个目录下。

3.Java实体传输在网上采购系统中的应用采购对于企业和政府而言是非常关键的一个环节,无论是生产资料的采购,还是非生产资料和服务的采购,都将直接影响到成本或利润的升降。由于传统采购缺乏透明度和稳定性,且难于管理,因此网上采购正在被大型企业或政府接受成为主流。

3.1一个典型的采购工作流程上海汽车工业集团的采购系统所采用的是以集中采购为主的网上集中采购系统,所有的采购任务均由集团供应商集中处理。其典型的采购工作流程如图1所示。

3.2Java实体传输在工作流程中的应用在上述网上采购系统的工作流程中,有许多环节需要进行客户端与服务器端的电子数据交换。比如:集团供应商提供给一般供应商的询价单;一般供应商的报价单;集团供应商的订单以及一般供应商的发货单等等。下面就以从集团供应商传递订单信息到一般供应商的过程为例,来说明Java实体传输在数据交换过程中的应用。当集团供应商确认订单信息以后,订单信息存放于集团供应商的数据库中。然后系统会自动通知相关的一般供应商。一般供应商收到通知,通过身份认证,登录到集团供应商的社区后就可以查看或者生成自己的订单,或者通过客户端应用软件(Applet)将订单信息存入自己的数据库中。众所周知,一般的Applet不能访问客户机的系统资源。但是经过签名认证的Applet可以享有与Application相同的权限,如可进行与其他服务器的Socket连接、访问客户机本地文件等。所以以上过程可采用Applet与Servlet技术来实现。实现的方法如下:定义一个远程数据库操作类(Data-Opr)和一个可序列化的结果集对象(DateSet)。在Applet中调用远程数据库操作类进行数据库操作,返回结果集对象后在Applet程序中取出数据生成XML文档并存放在本地机上。(1)定义远程数据库操作接口(2)定义一个实现该接口的类(3)定义一个可序列化的结果集对象(4)其余的服务器端程序、客户端程序、生成主干和框架的方法与前面介绍的Applet与Servlet之间的远程方法调用的实现方法一样。

过签名认证的Applet技术,不仅可以达到与应用程序相同的功能,而且也使得客户端程序的维护和升级变得简单。4.结束语使用Java实体传输技术,可以有效解决网络编程中传递大量、复杂的各种类型数据的问题。这在网上采购系统中有着很重要的应用价值。文章通过讨论Java实体传输的实现方法、Applet与Servlet之间的远程方法调用以及采购系统的工作流程,探讨了Java实体传输在网上采购系统中的应用,为建立一个有效的、功能强大的网上采购系统提供了一个行之有效的方法。