数字化口岸电子中间件应用

来源:互联网 发布:vscode 拆分 编辑:程序博客网 时间:2024/04/28 00:15

做了一个“数字化口岸电子中间件”的项目,没有实际开发多少东西,只是为了应付结项。但对中间件有了些许了解,记录下来!

1,什么是中间件

        客户机/服务器已经流行多年,尽管有专家预测到2010年,传统的客户机/服务器结构有可能过时,代之于Web技术、对象技术、数据仓库技术等新的概念和结构,但是,实际上客户机/服务器还在发展,如三层或多层客户机/服务器结构,客户机/服务器方式的应用还在迅猛扩张。
随着对各种旧有应用的不断扩充和新应用的不断增加,各企业IT部门面临的问题也越来越多,诸如不同硬件平台、不同网络环境、不同数据库之间的互操作,多种应用模式并存,系统效率过低,传输不可靠,数据加密,开发周期过长,等等,这些问题如果单纯依赖传统的系统软件或工具软件提供的功能已经不能满足要求,诸如此类的问题便产生了中间件,就象JAVA产生的最初起因是人们不满足于为各种不同的环境重复开发功能相同的程序。这些问题中许多是由各种不同的厂商的产品并存所引起的,又不能靠传统的系统软件(如操作系统、数据库等)、工具软件(如CASE 工具、4GL等)解决。中间件可以理解成是处于应用软件和系统软件之间的一类软件,或者是独立于硬件或数据库厂商(处于其产品的中间,实现其互连)的一类软件,或者是客户方与服务方之间的连接件,或者是需要进行二次开发的中间产品。总之,中间件是在中间。
        应用的互连和互操作是中间件要解决的第一位的问题。不管这些应用分布在什么硬件平台上,使用了什么数据库,透过了多么复杂的网络,或是同一电脑中的不同应用系统。中间件是一种应用级的软件,是一种应用集成的关键构件,一个好的中间件产品要能解决应用互连带来的各种问题,通讯要支持各种通讯协议、各种通讯服务模式、传输各种数据内容、数据格式翻译、流量控制、数据加密、数据压缩等;中间件核心要解决名字服务、安全控制、并发控制、可靠性保证、效率保证等。应用开发要能提供基于不同平台的丰富的开发接口、支持流行的开发工具、支持流行的异构互连接口标准(如XA、IDL等);系统管理要解决对中间件本身的配置、监控、调谐,为系统的易用易管理提供保证。(见BEA TUXEDO网站)
       另外,针对不同的应用领域,对中间件又有各种不同的要求。如对于邮件系统需要提供存储转发功能;对工作流应用需要以条件满足状态将信息从一个应用传递到另一个应用;对联机交易处理系统,需要保证数据一致性、不停机作业、大量并发的高效率;对于一个数据采集系统需要保证可靠传输,等等。

       本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wangtaosuccess/archive/2005/09/06/473278.aspx

 

 


        中间件所包括的范围十分广泛,针对不同的应用需求涌现出多种各具特色的中间件产品。但至今中间件还没有一个比较精确的定义,因此,在不同的角度或不同的层次上,对中间件的分类也会有所不同。由于中间件需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布环境下的通讯服务,我们将这种通讯服务称之为平台。基于目的和实现机制的不同,我们将平台分为以下主要几类:
  远程过程调用(Remote Procedure Call)面向消息的中间件(Message-Oriented Middleware)对象请求代理(Object Request Brokers)

  中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。
  中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
  IDC对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。

        本文来自百度空间摘取,转载请标明出处:http://hi.baidu.com/jhduckling/item/0003c3930ac02e48f0421557

        总结:中间件具有很广泛的含义,是一种为用户提供统一接口,统一功能的一大类软件

2,数字化口岸电子商务中间件
        项目主要是将电子商务中间件应用在数字化口岸的发展,为信息化科学管理提供技术手段,实现高度集成、高度共享的综合信息系统。

    电子商务中间件主要功能:1,异构数据整合。对不同信息源、不同结构的信息进行有效的实时地整合。

                            2,口岸电子商务平台和信息化服务体系。多种信息访问界面电子商务中间件应用信息的用户群是多样化的,为满足不同用户群的需求,中间件需要涵盖口岸贸易交易、监管、物流、信息服务以及相关电子商务等领域,建立高效安全的口岸电子商务平台和信息服务体系。

    总结:本项目电子商务中间件的主要职责是:将不同的数据来源整合到一起,供不同的访问来源访问。

 

3,项目流程图:

        此“中间件”是用开源basex开发的,web客户端(Demo)是一个php的web项目,通过webservice访问中间件里的数据。“数据插件”程序通过访问不同的数据库将不同的数据转换成XML格式,通过远程调用(webservice)将XML格式数据插入到中间件里。注:中间件就是一个XML数据库。

  

4,接触到的相关技术:

       XML数据库:XML数据库是一种支持对XML格式文档进行存储和查询等操作的数据管理系统。在此我用了一个开源的XML数据库“BaseX”数据库,此数据库用java开发,有客户端操作界面,支持XQuery查询等。

       XQuery:XQuery 被设计用来查询 XML 数据 - 不仅仅限于 XML 文件,还包括任何可以 XML 形态呈现的数据,包括数据库。

       XPath:XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。

       WebService:1.XML:描述数据的标准方法.

                           2.SOAP:简单对象访问协议.

                           3.WSDL:Web服务描述语言.

                           4.UDDI(Universal Description, Discovery and Integration):通用描述、发现与集成,它是一种独立于平台的,基于XML语言的用于在互联网上描述商务的协议。

      CXF:Apache CXF 是一个开源的 Services 框架。CXF 继承了 Celtix 和 XFire 两大开源项目的精华。我用CXF来发布webservice。

 

      有几点不是太明白也没有细研究:

      1,XML数据库都用在什么地方?有什么好处?

      2,XQuery是不是只能查询XML数据库里的数据,能修改么?对XML数据库的操作还是不是太熟悉,总觉得比关系型数据库差很远!!

      本人一点点浅谈,欢迎各位大师批评指教!!

原创粉丝点击