J2EE和其在电子政务中的应用

上传人:阳*** 文档编号:55318291 上传时间:2022-02-17 格式:DOC 页数:6 大小:89.50KB
返回 下载 相关 举报
J2EE和其在电子政务中的应用_第1页
第1页 / 共6页
J2EE和其在电子政务中的应用_第2页
第2页 / 共6页
J2EE和其在电子政务中的应用_第3页
第3页 / 共6页
点击查看更多>>
资源描述
J2EE及其在电子政务中的应用胡舜耕 王克宏 柳西玲 蔡月茹清华大学计算机系 (Email: )论文摘要: J2EE是支持开发基于Web的分布式事务应用的标准模型。本文概述了J2EE的体系结构和相关技术,介绍了一个基于J2EE的电子政务系统。关键词: J2EE,工作流,电子政务1. 引言历史上,信息技术的重点是数据管理。大规模的数据管理系统允许各种组织聚集,分析和解析数据。随着Internet和WWW的发展,信息技术的重点从数据管理转移到了应用。应用是企业与客户,供应商和合作伙伴建立安全健壮的联系的关键。激烈的竞争也要求各种组织具有快速高效地开发和部署基于Web的革新应用的能力。J2EE的目标是标准化基于Web的开发和部署,它提供支持开发分布式事务应用的标准模型。它为快速高效地开发和部署基于Web的应用提供强力技术支持。2. J2EE概述自从九五年Java语言发布以来,J2EE的技术就一直在演化之中。许多技术,如Java Servlets, JDBC和Java IDL等被用来简化应用的开发。J2EE平台将这些技术整合成一个单一的、统一的标准,以便建立各种需求的应用。在没有一个统一的标准以前,应用的集成要用到各种编程模型、API和开发者技能。而J2EE平台提供一个统一的编程模型和一个标准API集。J2EE的体系结构是基于构件和容器的,通过在多层应用的各层部署构件,简化应用的开发。2.1 构件和容器简单地讲,构件就是应用开发和部署的最小单元。它们提供标准化的功能,有严格定义的应用接口,能够根据特定商业目的,容易地进行开发和部署。J2EE平台包括Servlet, JSP和EJB等构件模型。支持构件的容器提供可靠的标准化服务,向各个产品供应商提供一致的环境。容器是一种机制,通过它,J2EE支持Java语言“Write Once, Run Anywhere”的承诺。容器提供对HTTP交互,事务管理和安全等的支持,构件能够利用这些服务完成自己的工作。J2EE容器以两种方式支持基于构件的应用编程模型。第一,它们使许多需要一定编程技能的标准功能自动化,如事务管理和安全。第二,它们提供了对构件有用的API,如消息传递(Java Message Service)和数据库访问(JDBC)。容器的这些特征统一了J2EE编程模型,简化了应用开发,支持构件和应用级的可移植性。容器提供构件一个工作环境。它们提供方法使得其服务能够注入到构件的操作中去,而不需要构件开发者编写特定的代码。这在分布式应用开发中尤其重要,在那里,提供这些服务是非常复杂的。容器是基于J2SE的,所以自动提供Java运行时环境的标准性质,如支持跨平台开发。另外,J2EE平台和构件标准定义的容器还具有安全管理,事务管理,生命周期管理等其它性质。2.2 Java Servlet技术Servlet提供了产生动态页面内容的机制。可以把它们想象成服务器的Java applets. Servlet是用来替代和改善CGI脚本的。CGI通常是平台相关的,支持交互的能力有限。从性能上来讲,服务器每接受到一个用户请求都要装载一次CGI,消耗内存和处理周期。而Servlet是基于Java编程语言的,因此具有可移植性,灵活性,且编程较简单。Servlet在第一次初始化的时候被装载到内存中,此后就可以服务于任何用户请求,所以,Servlet比CGI具有更好的性能。和所有的J2EE构件一样,Servlet运行在由J2EE平台提供者所实现的容器中。容器管理Servlet与客户的交互,并为Servlet访问各种基于Java技术的服务提供了丰富的环境。Servlet容器实现了J2SE的所有API. 因此,Servlet可以采用Java编程语言的各种技术,包括JDBC, JNDI(Java Naming and Directory Interface), RMI, Java Beans等。容器也允许Servlet通过session获取特定客户的信息,解决了由于HTTP协议的无状态性而引起的客户信息的不透明性问题。图1是一个典型的Servlet与Client的交互。一个客户通过HTTP向一个Web服务器发出一个请求。在Web服务器处理该请求时,将它传递给Servlet容器,由Servlet容器将请求传递给合适的Servlet. Servlet有一个请求对象,它提供给Servlet关于请求的信息,包括谁调用了该Servlet, 传送了什么样的表单参数,以及关于HTTP请求的其它信息。Servlet通过一个响应对象向客户反馈数据。在请求处理期间的任何时候,Servlet能够利用一个上下文对象将发生的事件记入日志,获得资源的URL引用,设置和存储在同一上下文的其它Servlet能够使用的属性。同样,Servlet也能访问向它提供客户状态信息的一个session对象。在Servlet规范中,除定义Servlet及其容器外,还定义了Web应用。一个Web应用是部署在一起以提供完整的交互流程的Servlet, JSP, HTML page以及如图象等支撑内容的一个集合。这些资源被打包在一个Web应用档案文件中,而且能很容易地部署到Web应用容器中。就扩展性而言,Web应用能够分布在多个web应用容器中。2.3 JavaServer PagesJavaServer Page(简称JSP)技术建立在Java Servlet技术基础上,目的是简化动态Web页面的开发。JSP支持基于Web页的多态性,能非常方便地分离动态和静态Web内容。JSP页面定义了一个静态的HTML模版,其中嵌入了用Java编程语言或JSP容器支持的任何一种语言编写的代码,以填充页面的动态部分。JSP页面包含四种类型元素,每一种元素在动态内容的表示中都扮演一个特殊的角色。(1)Text 元素是通过标准HTML或XML格式化的内容,表示页面的静态部分。(2)Directives是JSP处理器的指令。当把JSP页面编译成可执行形式时,JSP容器处理这些指令。(3)Tags调用JavaBeans以产生动态内容或执行其它计算。(4)Scripting 元素可以是declaration, scriptlet或expression. 象Tags元素一样,脚本元素可以用来执行计算以产生动态内容。当标准的Tags元素没有被定义或不适用的时候,可以使用Scripting 元素。在执行时,JSP被编译成Servlet,Servlet输出未被修改的模板文本,并处理JSP表达式。从结构上讲,JSP可以看作是Servlet的一个高层抽象实现,它已经成为开发动态网站的主要技术。页面开发者可以方便地使用HTML或 XML工具开发JSP页面,而Servlet更适合于后端开发者使用,它们的的开发工具是IDE. JSP和Servlet也可以结合起来使用,采用JSP表现页面,Servlet完成各种处理。Servlet是一个控制者,负责响应客户的请求,而JSP页面中不需任何商业处理逻辑。这种设计模式使得页面的表现和逻辑得以分离。2.4 Enterprise JavaBeansServlet和JSP构件可以提供丰富的用户界面,J2EE平台还提供Enterprise JavaBeans(简称EJB)模型以支持事务处理。EJB提供标准的体系结构以建立分布式的,面向对象的商业应用。与其它的J2EE构件一样,EJB支持Java语言的“Write Once, Run Anywhere”. EJB的客户视图与部署它的容器无关,任何容器向任何客户表现的是同样的接口。EJB的客户视图由两个接口提供:Home接口(Home interface)和远程接口(remote interface)。当部署一个EJB 时,基于它提供的信息,由EJB容器构造的类提供这两个接口。Home接口提供了创建EJB实例的方法,而远程接口提供构件的商业逻辑方法。EJB客户通过Home接口和远程接口直接与EJB交互。在基于构件的应用中,EJB体系结构支持分布式事务。这种分布式事务能自动更新多个数据库中的数据,EJB模型把管理这些事务的复杂性从应用开发者转移到了容器提供者。EJB构件模型支持三种类型的bean: session bean, entity bean和message-driven bean. session bean是一种通过Home接口创建并对客户端连接专有的bean. session bean分为无状态和有状态,session bean的部署必须声明该bean是无状态或有状态的。一个无状态bean在方法调用间不维护任何状态信息。它是多态的,一个无状态bean的任何实例能够在任何时间被任何客户使用。相反,有状态session bean常用来跟踪会话数据,代表客户保存状态。在线购物车是有状态session bean的典型例子。尽管session bean可以通过JDBC调用接收和存储数据,被一个有状态session bean跟踪的信息不必直接存储在数据库中。每一个有状态session bean与一个特定的客户相关联。在对有状态session bean的实例池的管理过程中,容器能自动保存和获取bean的状态。entity bean用来代表持久对象,如数据库中的记录或相关记录集。entity bean能用来表示商业记录,如一个客户(name, address, phone)或一个定货单(customer, items purchased, purchase price). entity bean的方法提供对表示这个bean的数据的操作。entity bean提供了一种机制,使得一个应用的多个用户能够共享对数据的事务访问。EJB 2.0标准定义了message-driven bean,与J2EE 1.3兼容的产品提供对message-driven bean的支持。message-driven bean提供了一种机制,利用JMS可以创建不直接通信的松散耦合的应用。2.5 J2EE标准服务针对分布式的企业应用的需求,支持J2EE构件的容器提供了大量标准化的服务,包括:(1) 通信服务。支持RMI-IIOP, Java IDL, Java Messaging Service和JavaMail.(2) 企业服务。包括JDBC,JTA, JNDI与能把已有的企业构件封装成EJB的连接器 API.(3) Internet服务。支持HTTP, SSL和XML. J2EE 1.3支持XML功能。XML提供类似于HTML的标记数据,不过XML的标记描述的是数据,而不是数据布局的方式。在Internet上,XML常用来在应用或服务器之间转换格式化数据。XML和Java本来是独立发展的技术,但都是平台无关的。因此,Java和XML的结合将提供一个完善的平台无关的解决方案。J2EE 1.3提供解析XML和将XML表示成对象的支持。3. 基于J2EE技术的电子政务系统电子政务(俗称“电子政府”)是一个综合的信息系统,它既不同于传统的办公自动化,也不同于简单的网上信息发布。它是基于Internet面向社会的政府办公自动化系统。它的基本功能包括政府办公自动化,信息资源管理和信息安全管理。政府办公自动化包括批文,发文,政府决策分析支持和报表汇总统计分析等。实现电子政务的关键,很大程度上取决于能否实现政府行政、办公过程中的工作流程及相关信息流的自动化。工作流是针对工作中具有固定程序的常规活动而抽象出的一个概念。通过将工作活动分解成任务、角色、规则和过程来进行执行和监控,达到提高工作效率的目的。国际工作流管理联盟(Workflow Management Coalition,WFMC)给出的工作流定义是:工作流是指整个或部分经营过程在计算机支持下的全自动或半自动化。WFMC定义的工作流是针对企业经营过程而言的,在实际情况中可以更广泛地把凡是由计算机软件系统(工作流管理系统)控制其执行的过程都称为工作流。工作流是政务自动化,办公自动化,生产经营管理自动化中有广阔应用前景的先进技术。应用工作流的思想实现政府行政和办公过程中的自动化是我们的电子政务系统的重要特色之一。用户可以灵活自主地定义工作流,采用“群件”技术实现工作流的自动化。工作流的应用使得政府各部门之间的协作更加紧密。由于信息的采集、处理、发布都嵌入到工作流中,省去了大量额外的手工处理过程,从而使办公效率得到极大提高。基于 J2EE体系结构和技术来建造电子政务系统是系统的又一重要特色。系统采用了JSP, Servlet, EJB, JNDI, JDBC, RMI等J2EE技术。在这个系统中,由各个部门的相关人员协同工作的公文批阅过程如下:首先,由系统超级用户定义批文的工作流。图2中的Application就是指可视化的工作流定义和管理界面。然后,每登记一个待批阅的公文,系统启动一个工作流。相关人员通过浏览器与工作流进行交互,根据不同的权限,查看工作流的完成情况,阅览公文和签署意见,提交意见以后,工作流引擎使工作流自动向前流转。在工作流引擎的监控之下,系统自动完成该工作流规定的全部任务。采用J2EE体系结构和技术的电子政务系统具有如下特点:(1)四层结构是J2EE支持的常见配置之一,也是基于Web的大型应用系统最常采用的体系结构,充分体现了技术先进性的设计原则。(2)利用可重复配置的构件,简化应用开发。在分层结构中,从表示层,商业逻辑层,到数据层,各层都是由各种构件组成的,它们都是可重用的。系统可以很容易地部署第三方提供的构件,从而加速系统的开发进程。(3)分割商业逻辑,使技能得以商品化。不同政府部门的政务系统既有特殊性,又有共性,这些共同的商业逻辑被抽取并设计建造成EJB,得以在不同的政务系统中重用。(4)标准化后,用户是最大的受益者。从运行在分时操作系统上的Client-Server应用,到基于灵巧PC的Client,再演化出基于Browser的应用,最后发展到基于Web的多层应用结构,所有这些配置在企业计算中都产生过重要影响。但在许多情况下,各个供应商都提供自己专有的编程模型和API. 因此,这些配置共同的主要缺陷是没有广泛接受的标准,因而没有统一的编程模型,使得应用系统实现困难。J2EE为开发多层的基于Web的应用提供了统一模型,简化了应用开发,打破了技术壁垒,使用户能自由地根据需求选择厂商。(5)扩展性。系统可以方便地得以扩展。利用JMS可以集成遗留系统。 使用Java IDL可以实现与用不同编程语言开发的应用的集成。J2EE支持分布式事务处理,因此,可以很容易地扩展成支持分布式数据库。此外,商业逻辑的封装性使得新应用能以EJB的形式快速部署,而不会对其它EJB的内部逻辑产生影响。(6)安全性。J2EE的体系结构是基于构件和容器的。构件开发者可以定义访问构件的权限,通过角色管理,J2EE提供有效的安全机制。4. 小结J2EE是建立在Java技术基础上的,这使它具有Java技术的所有重要特征,如平台无关性,健壮性和安全性等。J2EE支持基于构件的分层体系结构,符合软件工程的发展方向。J2EE得到了业界巨头的支持和推动,并为华尔街所青睐。事实上,J2EE已成为基于Web的应用系统开发和部署的首选平台。参考文献1, R. Cattell, et al. J2EE Technology in Practice. ADDISON-WESLEY, 20012, J2EE 1.3. 6 / 6文档可自由编辑打印
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 其他分类 > 论文指导


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

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


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