基于SOA思想的电子口岸信息平台系统
更新时间:2023-04-22 00:07:01 阅读量: 实用文档 文档下载
- soa设计思想推荐度:
- 相关推荐
基于SOA思想的电子口岸信息平台系统
第24卷第9期 2007年9月 计算机应用与软件
ComputerApplicationsandSoftwareVol124No.9
Sep.2007
基于SOA思想的电子口岸信息平台系统
冯 靓 李立持 主振强 王 伟 宋 超
1
2
12222
(中国海洋大学/青岛海关 山东青岛266000)
(中国电子口岸数据中心青岛分中心 山东青岛266000)
摘 要 互联网技术、标准不断发展所带来的架构多样性使众多系统成为信息孤岛,SOA思想正是为整合这类系统而发展起来
的,成为当前企业应用的重要组成部分。探讨了SOA与BPM设计思想,对微软BizTalk技术进行了分析,并以山东电子口岸信息平台为例阐述了使用BizTalk实现BPM的方法。关键词 SOA BPM BizTalk 接口 业务流程
ASYSTEMOFINFORMATIONPLATFORMFORECONSOAIDEA
FengLiang LiLichi 1
2
1222
(OceanUChina/QShandong,China)
(Qingdao2ElectronicataCenter,Qingdao266000,Shandong,China)
Abstract Withinternettechnologyandstandard,itbringsthepersityofthestructureandmakesmanysystemsbe2comeinformationisisland.TheideaofSOAhasdevelopedforconformingthissystemsjustaboutanditbecomesanimportantpartinen2terpriseapplicationcurrently.ThispaperdiscussesthedeviseideaofSOAandBPM,analysestheBizTalktechnologyofMicrosoft,andelabo2ratestherealizationofBPMbyusingBizTalk,exemplifyingtheinformationplatformofShandongelectronicport.Keywords SOA BPM BizTalk Interface Operationflow
0 引 言
网络和通信技术的飞速发展使得从企业内部到不同的企业之间已建立起广泛的信息处理与通信机制,用户不再满足于孤立、分散的信息和应用,而是需要综合化、集成化的解决方案。企业应用集成(EAI)与业务流程管理BPM(BusinessProcessManagement)技术应运而生,成为解决该类问题的关键架构。
山东电子口岸的业务是整合山东关区海关与各口岸物流单位和企业之间的数据交换、共享和核查,建设一个统一的通关平台。相关单位有:政府、银行、运输企业、货代、海关、进出口企业、国检、边防、海事、商务、外汇管理、税务、铁路、机场、航空、船代、船公司、港务、理货、场站等,牵涉到多个系统的数据交换和复杂的业务流程。要把山东电子口岸建成体系完整、结构合理、互联互通的通关信息网络体系,必须解决的一个重要问题,就是如何在同构或异构的系统平台之间交互信息。若手工实现各系统集成以及流程控制,这种方式所生成的程序代码具有高度针对性与密切相关性的功能集合,此类开发工作具有高度线性化特征;其中每个步骤均依赖于上一步骤的完成,并且无法被轻松打断或修改。为此,我们采用了SOA(ServiceOrientedArchitec2ture,面向服务体系架构)的设计思想,使用BizTalkServer2004与C#对项目进行设计与开发。
1 SOA、BPM与BizTalk
SOA的出现,是软件开发新的里程碑。从面向对象体系结
构到S0A,软件体系结构实现了一次跨越。SOA是一种体系结
构,它采用松耦合的办法把现有的系统组成新的系统,从而使不同平台上的东西协同起来,能够相互交互。
BPM,是指根据业务环境的变化,推进人与人之间、人与系统之间以及系统与系统之间的整合及调整的经营方法与解决方案的IT工具。完整的BPM系统需由图形化流程设计环境、流程管理与监控、BPM引擎、使用者执行环境以及整合各种资源的底层EAI平台等主要元素所架构而成。BPM寻求改变业务与技术的交叉路口上无秩序的状态。BPM系统———即将图形流程建模功能与应用开发相结合,利用现有的EAI结构软件———鼓励双方建立次序。
一般来说,BPM基于SOA架构,从BPM的IT需求与SOA技术角度上看,BPM与SOA的融合也具有先天优势。借助于对XML和Web服务的支持,BPM系统正在对IT组织实施和执行工作流组件的方式加以变革。XML实现了信息的结构化,使其不依赖于任何操作它的软件。在另一方面,Web服务为应用程
收稿日期:2006-10-27。冯靓,硕士生,主研领域:软件工程,数据处理。
基于SOA思想的电子口岸信息平台系统
118
计算机应用与软件2007年
序间的消息传递和无边界网络上的调用提供了一个框架。BPM工具则为利用这些功能创建、部署和执行所有工作流管理工作、企业应用集成(EAI)以及商务伙伴集成(TPI)提供了附加的支持基础结构。
BizTalkServer是Microsoft企业应用集成(EAI)和业务流程管理(BPM)工具集的中心产品,它具体体现了XML和Web服务技术的应用程序集成和流程自动化能力,是其专门为充分利用SOA而设计的开发工具,其优点是通过将业务流程、应用软件、数据和硬件整合起来,可以在企业内部各个系统以及企业与上下游伙伴的系统间实现无缝集成。
借助于BizTalk强大的消息处理和数据整合能力,我们可以方便的集成相关部门和企业的业务系统,灵活地设计和修改业务流程,从而将复杂的口岸业务数据集中于山东电子口岸进行处理和交换,为实现大通关平台打下良好基础。
用于复杂多变的口岸业务系统。具体结构如图2所示
。
图2 业务流程引擎结构图
3 业务流程设计
下面以放行信息处理流程及预订流程为例说明业务流程设
计过程,,业务过程涉及到海关、港务场站、、。放行信息处:
H2000预订系。
接收到报文后需对报文内容进行备案。
根据报文内容,依据一定的规则提取数据并转换为港务局报文格式发送给港务局。
根据预订规则提取数据并转换为场站系统报文格式,并调用山东电子口岸传输系统发送服务发送给场站。
根据海关物流平台系统规则将预订过的放行报文转换成物流平台消息格式并发送到物流平台系统。
将预订结果发送到山东电子口岸WEB系统供企业查询。根据放行报文内容及预订结果依照计费规则生成计费消息,发送给山东电子口岸计费系统。流程图如图3所示
。
2 系统设计原理
信息平台体系框架如图1所示
。
图1 体系结构图
接口
外部系统包括了各口岸单位的相关运营系统,内部系统主要是使用C#开发的独立业务系统,以组件和服务的方式存在,接口方式包括纯文本及XML文件、MSMQ和WebService。使用BizTalk架构(Schema)编辑器定义各种消息格式,BizTalk适配器与各系统接口连接。
消息
BizTalkServer采用的是消息驱动的模式,从接口中接收的信息都会通过管道转化为XML格式的消息;发送时再通过管道将其转化为相应系统的接口格式。
业务流程
业务流程引擎采用BizTalkServer2004,是整个系统运转的控制核心。使用集成于DOTNET中的业务流程编排设计器以图形化的方式设计业务流程,业务流程引擎根据设计结果进行流程调度,调用组件与服务,利用适配器接口和各种异构系统及后台数据库交互,实现了各流程稳定流转、各系统平滑互通的目标。同时,易变的业务规则使用业务规则编辑器设计,由业务规则引擎进行控制并供业务流程引擎调用。将业务规则与业务流程相分离,使规则独立于流程是BizTalk的一大成功之处,它可以保证在不间断流程运行的情况下对规则进行修改与编辑,适
图3 放行信息处理流程图
使用BizTalkServer具体实现该流程的步骤:
接口定义 使用BizTalk架构编辑器为各系统接口创建相应的Schema(消息架构)。
创建消息转换 使用BizTalk映射工具创建Map(映射)。创建业务规则 使用BizTalk业务规则编辑器创建词汇和业务规则。
定义业务流程 使用BizTalkOrchestration,以图形化的方
基于SOA思想的电子口岸信息平台系统
第9期
冯靓等:基于SOA思想的电子口岸信息平台系统 119
式定义业务流程,首先创建接收形状接收放行信息;接下来按照
前述的处理流程添加相应的处理形状,并调用相应的规则与服务对消息进行备案、预订等处理操作;最后,引用设计好的Map进行消息转换并添加发送形状发送结果信息。
接口绑定 创建相应的端口和管道并与业务流程绑定。
vice接口负责,而在Xindice中由XPathQueryServiceImpl类实现。
本文仿照XPathQueryServiceImpl类生成了XQueryService类,在
XQueryService类实现XPathQueryService接口的query方法中调
用文档集合对象残根的queryCollection及queryDocument方法时
style参数的值为"XQuery",而XPathQueryServiceImpl类中调用
对应方法的值为"XPath"。在Xindice核心类Collection中修改
4 结 论
依据上述方法开发的山东电子口岸信息平台系统已经投入试运行并取得良好效果,实践证明,用BizTalk实现的业务流程管理系统能够满足跨部门、跨企业进行系统集成和数据交换的要求,能够以较为快捷的方式实现复杂多变的业务调度。
本文以在分析SOA设计思想的基础上,以山东电子口岸信息平台系统为实例阐述了使用BizTalk实现SOA的一种方式,能够对研究跨部门、跨企业的业务流程自动化管理和数据交换起到一定的借鉴作用。
queryCollection和queryDocument方法,通过判断其"style"参数
值是"XPath"还是"XQuery",从而确定采取XPath还是XQuery查询方式。
为了在命令行中能使用XQuery功能,作者在config目录中的command.xml文件里添加XQuery元素节点来为命令行工具添加XQuery功能。节点内容如下:
<commandswitch="xquery"
name="xquery"
class="mand.XQuery" helpclass="document"
descripti="QueriesaXQuery"/>
参考文献
[1]康建军,陈淳鑫,等.基于BizTalkServer的工作流引擎的研究与实
,,即可通过serv2
现.电子技术应用,2006(2):83-85.
[2]王治,姜浩.工作流管理系统的WebServices.:
(QueryService)col.getService("XQuerySer2,.;
术与发展,2006,1(16).
[3]WfMC.TheWorkflCo2
alition2[4]Microsoft.MicrosServer[R].http://www.
/biztalk/community/Product/a3.asp.
[5]Microsoft.企业应用集成服务平台白皮书[R].http://www.eu.mi2
/china/biztalk/community/Product/a3.asp.
2.3 集成XQuery的Xindice应用实例
为了实现引言中提及的XML文档的查询要求,将下列
XQuery查询语句作为输入,即可得到正确结果:
<bib>{
for$bindoc("/col1/bib.xml")/bib/book where$b/@year>1991 return
<book>{$b/title}{$b/price}</book>
}</bib>
(上接第67页)
对XPath查询的执行过程。客户提交的XPath查询是由客户端
通过CORBA向服务器提交查询请求,服务器将查询结果返回,数据库系统服务器和客户端的通信由CORBA完成。
客户端代码由两部分组成,它们的包路径分别为org.a2pache.xindice.client.corba与org.apache.xindice.client.xmldb(以下分别简称为corba与xmldb)。包corba包含数据库组件对象的CORBA框架和残根的实现,包xmldb是对XML:DBAPI接口的实现。用户对数据库的操作主要有命令行与CORBA接口调用两种。但是以上两种方法都是通过调用xmldb包(包xmldb含有对XML:DBAPI接口的具体实现类,这些类通过服务器组件对象的残根与位于服务器内核的服务器组件框架通信)来完成,具体实现流程如图2所示
。
采用上述方法可以直接取得符合条件的仅包含书名和价格的结果,不必再人工处理,从而有效地扩充了Xindice的功能。
3 总结与展望
Xindice是一个功能强大、非常流行、开放源代码的原生XML数据库服务器。由于其开发时间比较早,因此并没有实现XQuery查询功能。本文提出用Java实现XQuery的方法,在此
基础上为Xindice添加了XQuery查询功能,大大扩展了Xindice的查询能力。
但是XQuery本身是一个复杂的语言,它含有能根据XML
Schema进行静态类型检验等功能,这些功能能够对XQuery的
查询起到一定的优化作用。但是Xindice目前并不支持XML
Schema等xml模式的检验。因此,如何进一步改进Xindice,使
它更好地支持XQuery的功能,将是作者的下一步研究内容。
参考文献
[1]/xindice/.
图2 Xindice查询功能的执行流程
[2]/XML/Query.[3]https:///.
[4]程雷,朱茂盛.XQuery的实现机制[J].计算机工程与应用,2002,
24:78-85.
2.2 Xindice集成XQuery的实现方法
在XML:DBAPI设计中,XPath查询服务由XPathQuerySer2
正在阅读:
基于SOA思想的电子口岸信息平台系统04-22
2.3指数函数及其性质(一)06-10
陕西师范大学2015年硕士录取名单-历年考研真题-考研资料-重点讲义-课件-笔记-习题-模拟题03-11
民航英语口语03-16
沙湾古镇营销策划书10-02
建设工程监理概论(1、2章)08-10
2018年普通高等学校招生全国统一考试语文试题(浙江卷,含解析)06-16
出租车计价器课程设计05-08
机动车停车位尺寸、车行道宽度10-11
轴系结构设计实验指导与参考答案图03-22
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 电子口岸
- 基于
- 思想
- 系统
- 平台
- 信息
- SOA
- 电子元器件的防静电损坏措施
- 2014年淘宝金牌客服考试题及答案
- 第2章 单片机的组成原理
- 《动物组织胚胎学》全真模拟题
- 音乐搭台,历史唱戏
- 中国美术史名词解释及列举题总结
- 线平衡分析与瓶颈改善
- 行政组织理论复习资料2011.1
- 高效物流链让制造企业开拓更多业务机会 “2008中国(南京)国际物
- 《国家公务员制度》第13章 信息技术及其在电子政务中的应用
- 第一章 电子商务概述
- 多信道无线网络研究现状分析
- 脊髓的躯体运动功能
- 宏观经济学__失业与通货膨胀(2013.12.5)
- 常见多音字的正确读法
- 丙氨酰谷氨酰胺双肽肠外营养在胃肠道肿瘤化疗中应用的前瞻性研究
- 交通局综合运输科科长竞聘演讲稿
- 环境监察执法考试题库
- 十八大新党章做了以下六个方面的修改
- 西式冷餐会菜单系列