分析Java语言在网络通信程序中的应用
摘 要:本文简要介绍了Java语言简单、面向对象、分布性,具有可移植性、鲁棒性、安全性、多线性、动态性和对网络充分利用的特点。根据Java语言的特点,提出在Java进行网络通信程序应用,介绍了Jave与XML结合应用的基本方法、Java的通用开发结构等问题。
关键词:Java语言;网络通信;应用
1990年,SUN公司成立了GreenTeam小组,主要任务是开发一种能够在PDA、移动电话、信息电器等消费性电子产品操作平台上运行的分布式系统。为此研发了名为oak的编程语言,oak具有安全性、网络通信、面向对象、垃圾收集和多线程等特点。由于oak这个商标已被他人注册,将其改名为Java。Java语言的出现,引起了一场软件革命,有人称Java是网络上的“世界语”。
一、Java语言特点及Web应用
Java是一个广泛使用的网络编程语言,是一种新的计算概念。Java语言的出现,引起了一场软件产业的革命。首先,作为一种程序设计语言,它具有简单、面向对象、不依赖于机器的结构的特点,具有可移植性、鲁棒性、安全性,提供了并发的机制,并且具有很高的性能。其次,它最大限度地利用网络,Java的应用程序可在网络上运行而不受CPU和环境的限制。另外,Java还提供了丰富的类库,使程序设计者可以很方便地建立自己的系统。
(一)Java语言的特点
简单性:Java语言是一种面向对象的语言,通过提供最基本的方法来完成指定任务,只需理解一些基本的概念,就可以编写出适合于各种情况的应用程序。J略去了运算符重载、多重继承等模糊的概念,并且通过实现自动垃圾回收,大大简化了程序设计者的内存管理工作。
面向对象:Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法实现代码的复用。
分布性:Java是面向网络的语言。通过它提供的类库,可以处理TCP/IP协议,用户可以通过URL地址,在网络上很方便地访问其他对象。
鲁棒性:Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集功能来进行内存管理,防止程序员在管理内存时产生错误。通过集成的面向对象的例外处理机制,帮助程序员正确地进行选择以防止系统的崩溃,还可防止动态运行时不匹配问题的出现。
安全性:用于网络、分布环境下的Java必须要防止病毒的入侵。Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就可防止程序员使用“特洛伊木马”等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。
解释执行:Java解释器直接对Java字节码进行解释执行。得连接过程更加简单。
高性能字节码本身携带了许多编译时信息,使与其他解释执行的语言如BMic不同,Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。
体系结构中立:Java解释器生成与体系结构无关的字节码指令,只要安装了Java运行时系统,Java程序就可在任意的处理器上运行。这些字节码指令对应于Java虚拟机中的表示,Java解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。
可移植性:与平台无关的特性使Java程序可以方便地被移植到网络上的不同机器。同时,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。Java编译器是由Java语言实现的,Java运行时系统由标准C实现,这使得Java系统本身也具有可移植性。
多线程:多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。
动态性:Java的设计使它适合于一个不断发展的环境。在类库中可以自由地加入新的方法和实例变量,而不会影响用户程序的执行。并且Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。
(二)Java在网络通信程序中的应用
网络通信是Java程序的一个重要功能,中包含网络通信所需要的类。Java支持Internet的TCP、UDP协议,拥有网络操作的I/O特性。Java程序的网络通信有两种基本的方式,数据包方式和插座方式。数据包方式是服务程序将要传递的数据打包,分成一个个小的数据包。每一个数据包都有它要传送到的计算机的地址,一旦数据包发送,就不能够保证它一定能够到达目的地址。同样,在数据的传递过程中,也不能够保证数据不被破坏或者发送方能够得到应答。
因此,这种方式中服务主机跟客户机不是时时连接的,对于重要数据的传递是不太适用的。插座方式则是服务主机与客户机时时连接的,服务程序等待客户程序的连接,一旦建立客户程序与服务程序之间的插座连接,就可以通过流操作的方式来实现发送和接受数据的双向数据传递。在Internet上要传递数据,必须通过InterAddress地址来指明数据要达到的目的地和服务方的地址。
Web浏览:Web浏览是现在国际网甚至局域网的主要使用方式,能很容易地显示文本和各种图片,并且提供超文本链接。这种浏览器调用HIML语言写的文档,HTML/WWW浏览器技术只限于文本和图像。Java程序和它的浏览器肋Hotjava,提供了可让你的浏览器运行程序的方法。Java还能告诉你的浏览器怎样处理新的类型文件。当能在网络上传输视频图像时,Hotjava将能显示这视频。
网络应用系统:Java是一种与平台无关的语言,因此用Java开发的网络应用系统可以在各种平台上运行,大大增加了开发效率,减少重复劳动。而且,Java集成的网络功能十分有利于开发网络应用系统。
二、XML语言与Java的结台
Java由于众所周知的简单、跨平台、安全性和便于网络传输等优点,加上即时编译引擎使其运行速度显著提高,并成为网络应用软件开发的首选。Java和XML技术的结合促进了新一代Web应用的诞生,如电子商务和企业应用程序的集成。
目前许多XML解析器和处理工具都是用Java编写的。Java提供了字符串处理、哈希表支持、URL支持等特性,从而成为开发XML应用工具的理想语言,而XML以其数据的灵活性和高度的可移植性使Java应
用中的数据更容易在网络中传输。只要是需要在网络系统中交换数据,如EDI、电子商务,企业资源管理和供应链管理,XML和Java的结合是最好的选择。
(一)应用层
XML在应用层可以定义用户界面。如果应用程序开发人员运行XML的技术将界面的参数替换成XML的形式,用户就可以依照自己的需求编写自己的界面,或者开发人员可以轻易地提供多样化的用户界面供用户选择。
(二)表示层
在表示层,Java提供了Servelet和JavaServerPage(JSP)。可以把Servelet看成在服务器端执行的应用,它是Java处理网络应用程序的一个服务器端体系结构,提供了一个完整的网络交互环境。XML可以成为Servelet或是JSP的输入/输出语言。因为它不但提供具有意义的数据,也提供验证的方式,让表示层的程序能轻易地从核心层获得内容。同时依照应用层的需求改变其表达的方式。
(三)核心层
整个核心层是由JavaBean组成的。核心层对上层提供可以使用的数据,并根据不同的情况处理数据。对下层链路层而言,它将数据的处理和存储分离。XML在核心层的应用是数据的沟通和JavaBean参数的设置。
(四)链路层
Java数据库连接(JDBC)为所有Java程序提供了统一的数据库访问形式。可以将JDBC从数据库取回的结果替换成XML文件。另外XML。也可以替JDBC做一个定义,让这些数据自接在程序中使用。XML的另一个功能就是通信,将原本二进制形式传递的消息,用XML来表达。确保了所有的应用程序都可以读取这些消息,使整个分布式环境更加开放。
目前,软件业将以前所未有的速度在多种环境下集成起来(如B2B环境和互联网络),XML将成为软件工业中无法想象的东西。Java与XML的结合必将具有潜在的发展前景。
三、基于Java的通用开发结构
目前热门的电子商务(E-Business)以及各种Web项目开发越来越看重开发过程的规范化,以及开发架构的模块化与可扩充性。新兴的多层开发架构正是为实现这一点而出现的,其观念在于强调企业业务逻辑与系统应用逻辑及客户层之间的真正分离。以EJB为核心的J2EE设计思想体现了这一点。
基于纯Java的Web项目开发框架。同样着力强调业务逻辑与系统应用逻辑的分离,除在客户层实现了必须的、很少量的JSP代码,项目的主要框架都由纯Java设计,实现所谓的瘦客户端,并在设计过程中,利用Java的纯面向对象思想,适当地使用设计模式,提高系统架构的抽象度。在这个框架中,数据以对象(集)的形式进行传递,所有SQL语句自动生成。这个框架的提出,目的就是为了使整个开发架构不基于任何现有的设计标准,从底层到客户层完全由开发人员自己定义和完成,使其标准可以套用到任何一个开发项目,缩短开发周期,并具有强的可扩充性:
(一)设计模式
在面向对象语言中,数据的抽象化、继承、封装和多态性是几项最重要的语言特性,这些特性使得一个系统可以在更高的层次上提供对重用性。设计模式是对学习面向对象设计原则的具体指导。简单来说,就是在人们实际设计的过程中,逐渐累积起采的一些基本的实践经验,通过学习领会这些经验,并将它们运用到实际的项目设计中,以达到提高代码抽象程度和提供可重用性的目的。
(二)系统框架
任何一个Web项目的开发都离不开需求。通常在详细的需求确认后,进行业务流程分析,在此基础上可结合Rationalrose进行系统分析和逻辑建模,继而使用PowerDesigner、ERWin等数据库建模工具,完成数据库的物理设计。在完成数据服务层的设计后,就可进行系统应用层的编码工作。在数据库逻辑上映射到值对象层,实体层实现主要以值对象为参数的各种针对数据库的操作。在系统应用层之上,就是业务逻辑Business层。Business层包括企业逻辑层和Web层,企业逻辑实现Web层所需要的各种方法,这些方法在Web层的各类Action对象中得到调用,返回客户端所需要的数据,并最终把数据显示在网页上。
参考文献:
[1] 黄文胜. 程序设计技术-Java平台[M]. 重庆大学出版社.2008
[2] 朱喜福.戴舒樽.王晓勇. Java网络编程基础 第2版[M]. 人民邮电出版社.2008
[3] 丁敏.JAVA实现网络通信程序[J].电脑知识与技术.2008(8)
[4] 董钢.Java在网络通信程序中的应用[J].青年科学.2009(6)
[5] 李兰. 用JAVA编写网络通信程序[J]. 科技资讯.2009(7)
下一篇:浅谈电子商务中的数字签名技术