当前位置:2009年第11期 总第119期 > 专题 现代服务业
港口物流信息化平台与J2EE技术框架
作者:欧阳钟辉 马瑾玉 阅读次数:1373
?
?
(泉州师范学院 陈守仁工商信息学院, 福建 泉州? 362000)
?
摘要:要高速发展港口城市,港口物流信息化平台建设首当其冲。为达此目标,该港口物流信息化平台应架设在一个全天候的、能连接全国全世界不同层次的、不受病毒和人为攻击影响的技术框架上。技术领先的基于MVC模式的Struts与IBatis结合的开发模型可保证系统的高可扩展及高可维护性,可使港口物流信息化平台具有高度灵活性、可扩展性、安全性、稳定性。
关键词:港口城市, 物流信息化平台, Struts, Ibatis, 开发模型
?
一、前言
??? 现代化港口物流信息化平台是连接与国内外贸易有关的政府部门(如交通、海关、外经贸、检验检疫等)、社会服务机构(如银行、保险、运输、仓储、港口、机场等)和各类贸易、生产、运输企业的内部管理信息系统并集成它们的数据,开展电子数据交换和电子商务服务的信息网络系统。作为口岸物流监管部门、企业间的信息中介,平台提供信息转换、传递、存证等增值服务,帮助相关政府部门实现高效的服务和监管,各类企业方便地开展标准化、电子化的国际贸易和电子商务,从而达到改善政府形象、提高通关效率,降低交易成本、增加贸易机会、增强城市综合竞争力的目的。
??? 现代港口综合物流服务已不再局限于码头本身和周围地带,其服务内容可延伸到整个供应链。根据世界经济结构调整和全球贸易发展的要求,现代港口应该成为实现资源重新配置的最为活跃的市场。对我国港口企业来说,特别是沿海大型码头,不仅仅满足于在国内发展,还应参与国际市场竞争,大力发展港口综合物流服务,努力向现代化、大型化的全球物流服务企业转变。
??? 现代物流是建立在电子信息平台基础上的产业,发展现代物流是把泉州建设成为现代化国际港口城市的需要。面对国内外主要港口日益激烈的竞争态势,泉州港必须加快利用现代信息技术的步伐。口岸城市现代化物流信息化平台作为一种公用系统,是与口岸物流硬件设备条件相并重的基础设施,其整体水平通常被当成是港口物流运作先进性的重要标志。
??? 早在唐末时期,泉州港就已是“市井十洲人”的国际性海港;宋代泉州港已设置市舶司,专管海外贸易,与世界上一百多个国家和地区有贸易往来;元代以后,泉州港进入鼎盛时期,海外贸易达到了空前繁荣的阶段,进出口贸易额居世界大港前列,不仅是当时的中国最大港口,而且是仅次于亚历山大港的东方第一大港、世界第二大港,享有“涨潮声中万国商”的美誉。然而,明清时期的海禁政策及后来其它历史原因导致泉州港走向衰落。改革开放使泉州经济重新焕发了活力,泉州作为1994年以来连续16年GDP高居福建省榜首的制造业中心城市、中国3000亿“俱乐部”成员,却因港口城市功能没被恢复,泉州市的内外贸集装箱货物90%以上都是通过沿海临近港口城市进出的。仅目前泉州鞋服板块的内外贸出口货值1000多亿元人民币计,其折合成集装箱有800-900万TEU。根据泉州市港务局介绍,到厦门的集装箱拖车运费每箱约为2000元左右。如果在泉州临港建设物流园区和工业园区,一年仅短途运输一项就可以节约10亿元以上。相当于可以建设6个5万吨级的码头,可以把泉州湾每一段航道挖到20米以上。
?
二、港口物流信息平台的需求分析
??? 为了使泉州港的发展能支撑高速发展的泉州制造业中心和经济龙头地位的需要,港口信息化、尤其是港口物流信息化平台建设首当其冲。泉州港需尽快利用现代信息技术装备物流企业各级部门,通过对信息资源的深化开发和广泛利用,不断提高物流企业生产、经营、管理、决策的效率和水平,最终达到提高物流企业社会、经济效益和企业竞争力的目的。
??? 目前,泉州口岸相关单位船公司、船代、海关、货主、码头、外理、国检、海事等都在实际业务操作和管理过程中感到口岸贸易过程中供应链网络存在的伴随着物流形成的信息流相互交错、信息传递环节多、信息滞后等问题,信息共享性和电子数据的交换量不高,获取和采信息不方便。泉州港在信息化的进程中,主要存在以下几方面的问题:
??????? 口岸贸易相关单位中存在着计算机应用水平很低或没有计算机应用的单位,因此,信息的电子化程度和覆盖率不高。
??????? 目前实现电子化的单证相对于整个集装箱贸易过程的单证来说,数量少,覆盖面不宽。
??????? 现有业务系统标准不一,数据不通用。电子数据的标准化程度不高,电子单证报文的标准化、统一性差距很大。
??????? 口岸贸易相关单位的计算机技术支持方面基本需要聘请总部或外单位人员承担,在技术保证上存在一定的差距。
??????? 在信息服务功能和服务范围上集成度不够,运作环节多,效率低。
??? 针对上述存在的问题,以具备良好运转条件的港口信息平台为核心和基础,进一步拓展覆盖范围,扩大应用功能,建设一个为口岸现代物流服务的现代化物流信息化平台,提供更多的信息采集、加工、利用的手段,集口岸物流业务节点信息发布、查询平台(WEB、语音、传真、短消息等),全透明的单证传输和货物跟踪平台,统一的传输数据标准,全面的物流信息技术提供平台于一体,为口岸物流相关单位的贸易电子化,降低物流成本,全面提速口岸物流,实现口岸物流信息的统筹管理、信息共享及商务过程电子化已迫在眉睫。
??? 根据以上业务需求的分析,项目建设应达到如下目标:
1.????? 系统功能目标:港证管理子系统子系统(包括港口经营人的基本情况、人员情况、设施情况、机械情况、码头情况、泊位情况及其船舶进出港情况),安全监督子系统业务功能需求子系统(包括安全生产活动日记录、安全生产教育记录、安全生产培训记录、安全生产会议纪录、安全生产管理意见书、事故隐患整改通知书),财务管理子系统子系统(包括收费汇总表、非直接收款明细表、发票领用存情况月报表、泉州市财政票据审核汇总表),审核审批子系统(包括对危险货物所作的详细登记等业务模块)。
2.????? 系统应用方式目标:系统的应用除了日常的信息管理、业务流程操作外,还应实现语音查询、大屏幕展示、触屏查询等应用方式。
3.????? 系统安全性目标:系统必须提供数据备份与恢复系统数据的功能,建立数据的安全策略、用户安全策略、数据库管理者的安全性策略、应用程序开发者的安全性策略,确保数据不会被非法访问与篡改,并建立容错容灾机制。
?
三、J2EE技术框架
??? 根据上述港口物流信息化平台需求分析,泉州港急需一个一体化的泉州港口物流信息化平台,该平台应架设在一个全天候的、能连接全国全世界不同层次的、不受病毒和人为攻击影响的技术框架上。
(一)系统需求:根据前述管理服务需求,建设泉州港口物流信息化平台需要有如下几项关键支撑:
1)????? 系统功能设计的规范性和前瞻性。系统功能设计和构建在符合相关行业规范的前提下,既能满足当前功能需求的满足,又具有面向更多功能扩展的设计前瞻性。
2)????? 系统运行的安全性与稳定性。系统的使用过程,必须保证数据的安全,以及系统运行的稳定性,必须保证系统的24×7稳定运行。
3)????? 标准的项目开发过程。项目开发过程必须采用标准的软件工程管理思想,引入先进的项目管理机制,保证开发过程的规范化,以及高质量的项目成果。
4)????? 周到的平台服务机制。提供本地化的技术服务团队进行到场维护,采用最全面高效的售后服务机制,保证24小时随时到场维护。
??? 面对蓬勃发展的泉州港口和明显落后的港口物流信息化这对矛盾,欲达到上述关键技术要求,显然只有采用开放式的编程模型J2EE+Oracle10g标准、具B/S多层架构并可跨平台安装的大信息平台。
??? 系统在体系结构设计上采用业界先进的多层体系结构,即浏览器/应用服务器/数据库服务器,它是基于J2EE体系框架(见图1)而构建的。该套符合港口物流信息化应用特点的技术层次结构,很好的满足了当今应用系统对可重用、利于扩展、利于系统衔接、适合分布式系统部署、适合大并发处理等性能的要求。在设计模式上应用了技术领先的基于MVC模式的Struts与IBatis结合的开发模型,保证了系统的高可扩展及高可维护性等。
?
图1. 采用J2EE体系框架
?
(二)设计与开发方法:本系统在软件设计中全面采用面向对象的软件设计方法,包括面向对象的系统分析,面向对象的系统设计,以及面向对象的编程。面向对象的设计方法保证了产品的可扩充性和稳定性。??? 面向对象的设计(OOD)过程依赖于抽象、信息隐藏和模块化三个极其重要的设计特征。
??? 面向对象的建模,把系统看作是相互协作的对象,这些对象是结构和行为的封装,都属于某个类,那些类具有某种层次化的结构。面向对象的建模可以视为是一个包含以下元素的概念框架:抽象、封装、模块化、层次、分类、并行、稳定、可重用和可扩展性。
??? 在面向对象编程中,程序被看作是相互协作的对象集合,每个对象都是某个类的实例,所有的类构成一个继承关系相联系的层次结构。面向对象的语言常常具有以下特征:对象生成功能、消息传递机制、类和遗传机制。在本港口物流信息化平台系统中,全面采用面向对象的JAVA语言进行编程。
??? 面向对象普遍应用的软件工程方法,提高了软件的重用度,有利于软件的修改和维护。
(三)系统开发方法:平台系统的开发,将采用基于JAVA的WEB开发技术,包括JSP、JavaBean、JavaScript、Servlet、Ajax以及DHTML、HTML、CSS等。
JSP是目前大型网络平台应用服务层开发的主流技术,它本身具有良好的扩展性、跨平台性,以及设计逻辑和页面内容分离的优点。
??? JavaBean提供了强大的程序复用和逻辑封装功能,它极大地简化了JSP代码,使得界面代码与逻辑代码相互分离,层次结构清晰,方便开发人员查看和调试。通过调用封装业务逻辑的 JavaBean,实现业务逻辑;同时,可重复调用的特点,极大地提高了开发效率。
??? JavaScript的使用,极大地提高了系统的反应速度和使用方便性。通过JavaScript,回应用户的操作需求无需服务器端来处理,而是直接在客户端处理。同时,它使得系统更人性化,更容易操作。
Servlet是用Java编写的Server端程序,它与协议和平台无关。Servlet运行于Java-enabled Web Server中。Java Servlet可以动态地扩展Server的能力,并采用请求-响应模式提供Web服务。Servlet是用Java编写的Server端程序,它与协议和平台无关。Servlet运行于Java-enabled Web Server中。Java Servlet可以动态地扩展Server的能力,并采用请求-响应模式提供Web服务。
??? JSTL是JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。JSP 标准标记库(JSTL)是 JSP 1.2 定制标记库集,这些标记库实现大量服务器端 Java 应用程序常用的基本功能。
(四)J2EE规范:J2EE是一种利用Java 2平台来简化诸多与多级企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、到处运行"的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。基于J2EE的系统能方便地移植到其他平台上,而无须重新开发,有效地节省了开发成本。
?
四、系统设计模型与底层框架
(一)系统设计模型
??? 系统在设计模式上将采用技术领先的基于MVC的Struts与IBatis结合的设计模型。图2所示为MVC模型。
?
?
?
??? MVC(Model-View-Controller,模型-视图-控制器设计模式)框架是一种基于请求响应模式的应用框架。
??? 模型(Model)包含了应用程序的核心,它封装了应用程序的数据结构和事务逻辑。处理绝大部分的业务逻辑和数据结构与数据库或文件系统进行交互。由JavaBean实现。
??? 控制器(Controller)是MVC框架的核心,它负责协调框架中各层之间的交互。接受View的请求,并把View的请求映射为Model层的动作,选择View的响应并把Model的更新告诉View。Controller一般由Servlet实现。
??? 视图层(View)是通过JSP来实现。大部分的MVC框架在View中大量使用自定义标签和JSP的标准标签语言(JSTL,JSP Standard Tag Language),标签能够很好的建立表单Form与JavaBean的映射。
(二)系统底层框架
??? 开发环境:WSAD5.1、Oracle10g
参考使用的第三方控件:apache-digester、apache-dbutils、apache-dom4j、apache-logging、sun-jstl、apache-beanutils、apache-fileupload、apache-standard和apache-struts。
??? 系统的底层框架(ISTFrame框架)的总体思想采用面向对象的开发思想。
1、框架的模式是MVC(model-view-controller模型-视图-控制器),即把一个应用的输入、输出、处理流程按照Model、View、Controller的方式进行分离,把应用分成三个相对比较清晰的层。分离了数据的存储(数据库操作)、数据的处理(业务处理)和数据的显示(View),这种设计模式不仅使程序更加容易理解而且在维护以及功能扩展会更加的容易。
2、权限管理方面我们采用用户角色控制相结合的方式,这样使权限的管理更加的灵活便捷。在权限控制的实现方面,采用严格的权限控制,除了传统web的控制url显示之外,在页面上的每一个涉及到权限的按钮也进行了控制,并且在访问接口上统一控制,尽量杜绝可能的非法访问。
3、数据层的处理,尽量实现对SQL语句的封装,提高开发效率
具体实现:在MVC的设计上我们采用一个Servlet(ISTFrameServlet)负责一切的动作转向以及资源的初始化。如框架图所示。ISTFrameServlet是一切动作的中转。用户登陆:用户通过专门负责登录的Servlet(LoginServlet)登录,在LoginServlet里校验用户登录信息,如果校验失败返回错误页面,成功则在会话层保存登录用户信息包括用户访问系统必要的信息并提交由ISTFrameServlet判断执行下一步的动作。在系统中,具体的MVC是通过JSP Page 、Servlet和JavaBean之间的协作实现的。页面数据自动填充至JavaBean中,而不是传统的那种傻瓜式的(通过getParameter一个个)获取请求数据,由Web程序进行相应的数据处理,并返回响应。
在Web程序调用ISTDAOOperator接口(封装了大部分常用的数据库操作),只需要把JavaBean做为参数传进去就可以实现添加、删除、修改或者查询。而不是每次都与烦琐的SQL语句打交道。在页面显示方面,使用了标签库以及自定义标签,使得页面编码更加快捷。框架对一些开发中烦琐的操作进行了封装,大大降低了工作量,而且业务逻辑的操作更为复用。对维护和扩展提供了方便。
??? 框架中权限控制的具体实现主要在两个方面:1、访问过滤,2、页面显示过滤。在系统中用户所能访问到的都叫资源,对这些资源的访问权限控制就是权限控制。B/S系统中唯一能标示资源的就只有通过URL。在B/S系统开发中,做到真正的过滤,除了不显示外,还在系统的统一接口上进行过滤,判断用户的权限;同时,如需要还可以对每一个按钮进行权限控制。这样完全杜绝了非法用户或者合法用户的非法访问,同时页面显示更加的人性化。图3即系统的框架结构图。
?
图3.系统的框架结构图
?
五、运行环境及部署
(一)操作系统
??? 数据库服务器:Linux或UNIX操作系统,或者Windows 2003 Server操作系统。
??? 应用程序服务器:Windows 2003 Server操作系统。
??? Web应用服务器:Linux或UNIX操作系统,或者Windows 2003 Server操作系统。
(二)数据库及应用服务器
??? 数据库平台:Oracle10g。
??? 应用服务器:IBM WebSphere Application Server 5.0及以上版本。
??? Web程序服务器:IBM WebSphere Application Server 或者Jboss4.0及以上版本。
(三)系统部署
系统设计主要具有以下组件:
????? 客户端(Client)
????? Java Application
????? Java Applet
????? HTML
????? Servlet 服务器(宿主基于 HTML 的应用程序)
????? 应用服务器
????? 数据库服务器
??? 所有的应用程序组件均可部署于能够运行 Java 的操作系统平台:Windows(NT,2000),Unix,Linux,Mac,等等。
支持广泛的配置部署策略。通信带宽允许的情况下,Java 应用程序客户端是最佳部署,128 kbps 的通信带宽就足够了。
??? 对于 HTML 客户端,需要 Java Servlet 与 JSP 服务器。除了可用标准的 HTTP 方式的 Internet 通信,还支持 SSL 安全协议。
数据库服务器(见图4)宿主了数据与应用程序逻辑,它通过标准 JDBC 协议得以访问。数据库级的功能通过 PL/SQL 实现。
?
?
六、系统平台及设计工具
(一)数据库平台
??? 根据系统的设计要求,系统数据库平台我们选择Oracle10g。
??? 要保障系统安全、稳定、快速地运行,必须要有高可靠、高性能的数据库平台作保证。作为在行业数据库系统中的旗舰产品,Oracle10g不但具有高性能、高可靠及易用性的特点,同时支持如:大规模联机事务处理 (OLTP)、数据仓库和电子商务应用程序的优秀数据库平台。它在关系型数据库方面的性能及特征进一步加强,在数据管理和分析方面也具有强大的功能。Oracle10g还具有操作简单、使用方便、与主流操作系统的良好合作等优点,在对大量数据处理时性能更加优于其它数据库系统,便于用户的数据空间管理,非常适合建立平台数据库。
(二)中间件与开发平台
??? 本系统的开发平台,建议采用Websphere Studio 6.x。WebSphere Studio 是利用一个通用界面实现网站全面开发的成套工具。内容编辑人员、图片设计人员、软件编程人员以及web站点管理员能够通过各自的路径获得所需文件,并可同时工作于同一个对象。利用WebSphere工作室,您可以轻松地协调各方面人员来创建、汇编、公布与维护生机勃勃的互动式Web应用。 WebSphere Studio 是一个强大的端对端的Web开发、调试和安装运行环境,它为您提供了加速Web站点开发和减少代价高昂错误所需的所有东西。它为您站点中的每一成员提供了易用的最佳工具:为HTML和JSP提供了带循环编辑功能的Visual Page Designer(可视化网页设计器),创立数据库驱动网页并可将其与Java?Beans集成的向导,为Java?提供了VisualAge专业版,以及业界第一个为JSP和Java?提供的远程Remote Debugger(调试器)。而且,您还可以将您喜欢的IBM或非IBM开发工具插入工具包。WebSphere Studio具有如下特点:
  · 方便地创建动态交互式网站,避免CGI和ASP的缺点;
  · 包括生成Java Servlet, 项目管理和编辑的开发工具;
  · 提供多种向导,减少开发Java Servlets 和JavaBeans的时间和费用;
  · 方便地发布全部网站到WebSphere 应用服务器上。
?????? 在应用服务器方面,系统采用IBM WebSphere Application Server 5.0。IBM WebSphere Application Server (WebSphere应用服务器)是一个Web应用服务器(内含IBM Http Server),它本质上是适合于servlet的Web服务器插件,提供了增强的Servlet API和Servlets管理工具,并集成了JSP技术和数据库连接技术。它支持J2EE规范的全部编程模型和扩展模型,包括Servlet、JSP等等。
??? 多年来,由于Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台,它已成了 IBM Java 开发工具系列的基础。WebSphere Studio 和 Eclipse 无缝集成已提供了一系列创造高级软件平台的优秀案例,故本系统的开发平台已组合了Eclipse的开发环境,并获得相当好的效益。
(三)数据库设计工具
??? 在数据库设计中,我们将使用Sybase公司的着名CASE工具PowerDesigner,其特点是和数据库联系紧密,可视化,支持面向对象的数据库设计。利用它进行面向对象的数据库设计,有以下主要优点:
??? 数据库结构清晰,便于实现OOP。由于实现了应用模块对象对数据库对象的完全映射,数据库逻辑模型可以自然且直接地模拟现实世界的实体关系。
??? 数据库对象具有独立性,便于维护除了数据库表对象与应用模块对象一一对应外,在逻辑对象模型中我们没有设计多重继承的泛化关系,所以这样得到的数据库结构基本上是由父表类和子表类构成的树型层次结构,表类间很少有继承以外的复杂关系,是一个符合局部化原则的结构,从而使数据库表数据破坏的影响控制在局部范围且便于修复。
??? 需求变更时程序与数据库重用率高,修改少。在映射应用对象时,除关系映射规范化后可能出现一对多的表映射外,大多数应用对象与表对象是一一对应的。我们可以把规范化处理后的、由一个应用对象映射出来的多个表看成一个数据库对象。因此当部分应用需求变更时,首先系统修改可以不涉及需求不变更的部分;其次变更部分的修改可以基本上只限于追加或删除程序模块或追加新库表,而基本上不必修改原有程序代码或原有数据表定义,从而大大减少了工作量,减低了工作难度。
?
七、小结
??? 为了支撑高速发展的港口城市的需要,港口物流信息化平台建设首当其冲。要尽快利用现代信息技术装备港口物流企业各级部门,通过对信息资源的深化开发和广泛利用,不断提高物流企业生产、经营、管理、决策的效率和水平,最终达到提高物流企业社会、经济效益和企业竞争力的目的。为达此目标,该港口物流信息化平台应架设在一个全天候的、能连接全国全世界不同层次的、不受病毒和人为攻击影响的技术框架上。为此,设计模式应应用技术领先的基于MVC模式的Struts与IBatis结合的开发模型,它们可保证系统的高可扩展及高可维护性等。利用技术创新和港口物流企业实际情况相结合的原则,制定相应的J2EE技术架构规范,有利于规范港口物流企业的信息化建设,从而使港口物流信息化平台具有高度灵活性、可扩展性、安全性、稳定性,以高性能和港口物流业务的融合适配,为提高港口物流企业的信息化水平奠定基础,对港口物流企业的发展具有重要的优势意义。
?
参考文献
[1]???? Jim D’Anjou,ScottFairbrother等,Eclipse 权威开发指南(第2版),清华大学出版社,2006.12。
[2]???? [美]福勒 着;侯捷 熊节 译.重构-改善既有代码的设计.中国电力出版社.2003年
[3]???? 欧阳钟辉,《大信息平台CIP》,《泉州师范学院学报(自然科学)》,Vol.24,No4, Jul.2006
[4]???? [美]Roger S.Pressman着.梅宏 译.软件工程—实践者的研究方法[M].机械工业出版社.2005年.
[5]???? [美]库什纳 Howard Kushner主编.张云涛 龚玲 马颍华 苏贵洋 译.IBM WebSphere Studio J2EE应用开发.机械工业出版社.2004年
[6]???? 结城浩 着 博硕文化 译.设计模式-JAVA语言中的应用[M].中国铁道出版社.2005年
[7]???? Douglas K. Barry. Web Services and Service-Oriented Architecture: The Savvy Manager's Guide. Morgan Kaufmann Publishers.2003
[8]???? [美]Rod Johnson.Juergen Hoeller. J2EE Development without EJB. Publishing House of Electronics Industry, 2005.
[9]???? IBM DeveloperWorks: http://www.ibm.com/developerworks/cn
[10]? 中国对外服务工作行业协会网站:http://www.cafst.org.cn
?
基金项目
国家人事部外专局软件重点项目《现代化港口大物流信息化创新示范平台》,项目编号:RJZ2007350003;福建省高校服务海西建设重点项目《海西港口物流信息化平台建设》,项目编号:A103;泉州社科技局重点项目《港口物流信息化平台》,项目编号:2008G11;泉州社科规划课题《信息化助推泉州港口物流中心建设》,项目编号:2008A-YZ07。
?
作者简介
欧阳钟辉,泉州师范学院教授,厦门大学硕导;研究兴趣:J2EE架构与大信息平台。
马瑾玉,泉州师范学院副教授,;研究兴趣:信息检索,信息平台。
?

《电子商务》杂志社版权所有 未经本刊书面同意请勿转载

Copyright ? 2003-2006 eb-online.cn all reserved. 京ICP备10010770号-6