孙小英
摘要:该文根据当前企业信息化的现状,提出了实行企业应用集成(EAI)的必要性。同时基于J2EE集成平台并结合WebServices技术给出了企业应用集成的解决方案。
关键词:企业应用集成(EAI);J2EE;WebServices
中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2012)33-8063-03
随着企业信息化的不断发展,不少企业已经拥有了相当数量的应用系统,这些应用系统在各自的领域内发挥了较好的作用。但是,这些应用系统基本上是由各个部门自行选择开发技术和开发方案来建设的。因此,各应用系统之间无法进行交互,从而形成了一个个“信息孤岛”。显然,这些“信息孤岛”阻碍了企业的信息化建设。因此,有必要引入一种集成机制,将各个应用系统有机的连接起来,从而实现以下的功能:(1)能对异构数据库进行集成,实现数据的统一管理;(2)能对企业内部各应用系统进行集成,协同完成一项业务;(3)企业应能向客户提供多种接入方式来办理业务;(4)企业应能与有业务来往的第三方企业的应用系统集成,进而实现B2B的集成。
1基于J2EE的企业应用集成系统解决方案
J2EE采用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据它们所在的层分布在不同的机器上。J2EE的这种多层结构使得重用业务逻辑和界面逻辑非常方便。因此,J2EE是较为理想的开发平台。采用J2EE的企业应用集成系统体系结构(如图1所示)。
1.1用户接口层组件
用户接口组件包括:Browser、Applets、移动设备和GUI客户端等。其中Browser、Applets、移动设备是基于Web方式的;GUI客户端是基于传统方式的,它通常不经过Web层处理。用户接口层提供了如Browser、移动设备、Applets等多种的接入方式,为用户提供更大的灵活性和方便性支持。
1.2Web层组件
Web层组件可以是JSP或Servlet,另外还可能包含某些JavaBean对象来处理用户输入,并把输入发送给运行在业务逻辑层上的EJB来进行处理。容器是运行在服务器上用于管理特定类型组件的软件实体。Web容器管理所有J2EE应用程序中JSP页面和Servlet组件的执行,它为用户接口层的多种接入方式提供支持。
1)JSP页面通过在HTML代码中嵌入Java代码实现。JSP具有较高的平台独立性。服务器在接收到客户端的页面请求后对其中的Java代码进行处理,并生成HTML页面返回给客户端的浏览器。
2)Servlet是一种使用JavaServletAPI创建的Java类,它提供了一种强大、有效和高度可移植的机制来扩展Web服务器的功能。Web服务器将Servlet映射到一个或多个URL,从而对这些地址发出的所有客户请求都调用相关联的Servlet。
1.3业务逻辑层组件
业务逻辑层组件主要由EJB构成。EJB是一种分布式的组件结构,主要用于开发和部署J2EE应用业务组件。EJB规范定义了如何编写服务器端组件,提供了组件与管理组件的应用服务器之间的标准约定,使得开发人员能够快速开发出具有伸缩性的企业级应用。但EJB并不是实现J2EE的唯一途径,正是由于J2EE的开放性,使得有些厂商能够以一种和EJB平行的方式来开发同样的产品。EJB容器管理所有J2EE应用程序中Enterprisebean的执行。
EJB容器主要包括三种bean:会话(Session)bean,实体(Entity)bean,和消息驱动(Message-driven)bean。
1)Sessionbean表示与客户进行通常时间较短的通信会话。这些Sessionbean只在客户同J2EE应用的会话期间创建和存在。当客户会话结束时,Sessionbean和它使用的任何数据将不再可用。
2)Entitybean是持久的、以数据为中心的组件。Entitybean通过提供与之相关联的底层数据实体的逻辑视图来表示以业务为中心的数据视图。与Sessionbean不同,当客户中止程序或关闭服务器时,就会有潜在的服务保证Entitybean的数据得以保存,从而保持数据的一致性。
3)Message-drivenbean是能对异步消息做出反应的Enterprisebean。与Sessionbean和Entitybean不同的是,Message-drivenbean的方法不能直接由客户或是另一个组件调用,而只能由Sessionbean和Entitybean提供的接口进行调用。
1.4企业信息系统(EIS)层
企业信息系统层包括企业内部各信息系统。如:企业资源计划(ERP)、企业各部门独立开发的应用系统、要实现B2B集成的第三方信息系统和各部门的异构数据库系统等。
另外,J2EE还提供了一系列APIs(应用程序接口)。这些APIs分布在集成系统的各层中,为各层之间的通信和集成提供支持。APIs包括J2EEConnectorAPI、JDBCAPI、JMSAPI、JTAAPI、JTSAPI等。该文在此重点介绍一下J2EEConnectorAPI和JDBCAPI。
1)J2EEConnectorAPI为J2EE平台与异种应用服务器和企业信息系统的连接提供了一个标准的结构。它定义了一套可伸缩的、安全的和事务性的机制。这套机制促进了J2EE应用同现有的EIS应用和系统之间的集成。通过J2EEConnectorAPI,可以使用称为资源适配器的插件组件来实现同EIS的集成,从而实现EIS应用服务器和企业应用之间的无缝连接。
2)JDBCAPI通过SQL数据库提供跨平台DBMS连接来使Java程序能够访问多种多样的表格式数据源,为访问不同的数据库提供了一种统一的途径。因此,通过JDBCAPI企业就可以方便的对所有的数据库进行统一的管理,从而实现数据资源的共享。
2基于WebServices的企业应用集成系统解决方案
2.1WebServices相关技术
WebServices就是可以通过Web描述、发布、定位和调用的模块化应用。一旦WebServices被部署,其他的应用程序或是WebServices就能发现并调用这个部署的服务。WebServices是多项技术共同发展的结果,主要涉及的技术有:XML(eXtensibleMarkupLanguage)、SOAP(SimpleObjectAccessProtocol)、UDDI(UniversalDescription,DiscoveryandIntegration)、WSDL(WebServicesDescriptionLanguage)。
1)XML(可扩展标记语言)是一种可扩展的元标记语言。它可以创建标签并且能将数据定义和数据显示分开。它非常适合于异构平台之间的信息交换,因此常被用来在不同的业务过程中共享数据,从而得到一个完美的具有平台独立性的解决方案。
2)SOAP(简单对象访问协议)是一种轻量级的消息协议,它允许用任何语言编写的任何类型的对象在任何平台之上相互通信。SOAP消息采用可扩展标记语言(XML)进行编码,一般通过HTTP进行传输。
3)UDDI(通用描述、发现和集成)是分布式Web服务的信息注册规范,企业可以通过这一规范对其提供的WebServices进行注册,以便被其他企业发现。任何企业都可以通过UDDI注册中心提供的分类目录和关键词等自动找到其所需的WebServices,并自动完成工作。
4)WSDL(WebServices描述语言)是一种XML格式,用来描述服务器提供的网络服务。它可以用来创建一个文件指明服务器所提供的服务及服务器所支持的每个服务的操作集。对于每一个已指明的操作,WSDL文件还描述了在请求这个操作时客户端必须遵循的格式。
2.2使用WebServices实现B2B集成
由于WebServices提供了快速的、廉价的集成方案,并且J2EE提供了一整套API来对WebServices进行支持,如:使用JAXP处理XML;用JAX-RPC创建Web服务端点和客户;用SAAJ发送和接收XML消息;用JAXR访问XML注册库(UDDI)等,使得开发人员能方便的在基于J2EE平台的EAI实施过程中实现B2B集成。
通过WebServices技术实现B2B集成的过程大致如下(如图2所示)。企业(服务提供者)使用一个UDDI注册服务器(服务注册中心)作为和有业务来往的第三方企业(服务请求者)集成的机制。这样,企业就可以通过WSDL描述其提供的服务,并通过UDDI注册服务器发布服务;第三方企业也可以通过UDDI注册服务器来搜索其需要的服务,并使用SOAP调用和完成服务。因此,企业双方可以通过WebServices在Internet上方便的进行业务交易,从而实现了B2B的集成。
3结束语
企业应用集成(EAI)是一种全新的企业应用解决方案。由于J2EE和WebServices具有良好的开放性和扩展性,使得基于J2EE及WebServices的解决方案不会束缚在任何一个厂商的产品和API上,因此基于J2EE及WebServices平台构建的EAI可以随着企业的需要不断集成新的应用。
参考文献:
[1](美)AaronE.walsh.J2EE1.4基础教程[M].李化,潇东,译.北京:清华大学出版社,2003.
[2]《程序员2003合订本》(上、下册)[M].北京:电子工业出版社,2003.
[3]林颍贤,林大滨.基于J2EE的企业信息系统解决方案[J].计算机系统应用,2002(7).
[4]张再华.基于.NET平台Web服务安全性的研究与实现[J].电脑知识与技术,2012(6).