《论文(设计)基于流程的空间信息服务模式14029.doc》由会员分享,可在线阅读,更多相关《论文(设计)基于流程的空间信息服务模式14029.doc(6页珍藏版)》请在三一办公上搜索。
1、基于流程的空间信息服务模式陈应东1王玉海1,2崔铁军1(1 信息工程大学测绘学院 河南郑州 450052;2 信息工程大学理学院 河南郑州 450052)Email:chenyingdong摘要:本文分析了空间信息服务的现状,提出了以用户为主体的服务过程可以采用工作流的方式来进行信息的转换和传输。在目前工作流语言标准WS-BPEL2.0的基础上, 本文实现了基于一种以过程为中心的SOA空间信息服务,并以获取地图名称服务为例详细介绍了建立服务的各个过程和实现方法。关键字:工作流 SOA BPEL 空间信息服务Research and Realization of Spatial Informat
2、ion Service Based on BPELChen Ying-dong1,Wang Yu-hai1,2, Cui Tie-jun1(1)Institute of Surveying and Mapping, Information Engineering University, Zhengzhou 450052,China)(2)Institute of Science, Information Engineering University, Zhengzhou 450052,China)Abstract: This paper analysis the actuality of sp
3、atial information service, put forward that the service course of taking user as main body may use method of the workflow to process information conversion and transmission. On base of WS-BPEL 2.0, this paper realizes the SOA spatial information service which takes the course as center, and introduc
4、es particularly this implement means of getting map names service.Key words: Workflow, SOA, BPEL, Spatial information service.1、空间信息服务现状空间信息服务是可简单地定义为网络环境下可运行的一组与空间信息相关的软件实体,为空间信息的用户提供一种满足某种具体需求的信息或者处理功能。重点强调的是“服务”的观点,在国际质量管理中,是这样定义服务就是为下一道工序提供优质的产品。空间信息服务就可以理解为在空间信息传播的过程中为不同的用户提供优质的、满足需求的空间信息产品,这个产
5、品的形式是多样的,可以是具体的数据、图形、规范和功能等。所以,研究空间信息服务就是研究产生这些不同结果的服务过程,以及这些过程的实施方式。对用户而言,其关心的是结果;对服务实施者而言,其关心的是服务实现的过程和方法。当前主要有四种形式的空间信息服务(陈军等,2002;王方雄等,2004):提供空间信息的元数据信息;提供空间信息的在线浏览与制图;提供空间数据下载;提供开放式空间数据访问接口等。但用户无法灵活地运用网络GIS提供的处理功能来处理自己的本地数据,也无法获得特定的处理功能。服务模式归纳起来有以下几种(刘岳峰,2004):基于Internet和Web Service的地理信息服务模式、基
6、于无线通信和移动终端的地理信息服务模式、以位置服务为主的地理信息服务模式和提供数字产品方式的地理信息服务模式等。其中第一和第二种服务模式是通过服务传输的介质和实现方式来划分,第三和第四种模式是通过服务类型的不同来划分。可以看出,空间信息服务的研究目前主要侧重其实现的过程,重点在于数据共享和数据集成等以数据为中心的系统功能实现。然而在空间信息服务中,用户这个关键的主体却被忽略,这对空间信息服务的研究而言是一种缺乏服务主体的行为。把空间信息的用户作为整个服务过程的一个服务主体是本文研究的基本出发点,空间信息的服务过程包含有空间信息用户、空间信息服务管理和空间信息提供者,研究这三者之间信息传输转换的
7、关系就是空间信息服务工作流中所要研究的内容。在空间信息服务中的一个显著特点就是用户根据自己的需要来获取相关的空间信息服务内容。这种服务模式中必然存在信息转换,而且信息转换的节点分别是用户、服务管理和提供者,这些是构成服务工作流的主要内容。2、工作流语言BPELBPEL是一门用于自动化业务流程的形式规约语言。 用XML文档写入BPEL中的流程能在Web 服务之间以标准化的交互方式得到精心组织。这些流程能够在任何一个符合BPEL规范的平台或产品上执行。 所以,通过允许顾客们在各种各样的创作工具和执行平台之间移动这些流程,BPEL使得他们保护了他们在流程自动化上的投资。尽管以前想使业务流程定义标准化
8、,但BPEL已经引起了史无前例的兴趣,而且它最早在软件供应商中获得大量认可。采用的WS-BPEL规范,目前是WS-BPEL 2.0。2.1 简介WS-BPEL是基于WSDL建立的,采用XML定义的流程描述语言,它位于WSDL、XML Schema和XPath。其中WSDL消息和XML Schema类型定义提供了BPEL流程所用的数据模型;XPath为数据处理提供支持;所有的外部资源和伙伴被表示成WSDL服务。在这些规范中,WSDL对WS-BPEL语言的影响最大,WS-BPEL流程模型位于由WSDL 1.1所定义的服务模型之上。2.2 语法WS-BPEL描述的业务流程指定了一组Web服务操作的可
9、能执行顺序及其相互依赖关系、提供Web服务的合作伙伴及其在业务流程中扮演的角色、服务间共享的数据、故障及补偿处理等等一列问题。包括以下关键元素:(1)变量(variable)。变量用来保存组成业务流程状态的消息,它们通常是从合作伙伴那里接收到的消息,或是将被发送给合作伙伴的消息。同时,它们还有可能是与流程有关的状态信息,这些消息并不与合作伙伴进行交换。每个变量的类型可以是WSDL消息类型、XMLSchema简单类型或XMLSchema元素。(2)合作伙伴链接(partnerLink)。合作伙伴链接用于实现Web服务间的交互,它是由合作伙伴链接类型来描述。合作伙伴链接类型定义了服务在会话中扮演的
10、“role”,并指定了每个服务所提供的“portType”,以便接收会话的上下文的消息。合作伙伴链接类型与合作伙伴链接之间具有一对多的关系,同一个合作伙伴链接类型可以用来描述多个合作伙伴链接。虽然使用服务的用户必须静态的依赖于特定的port-Type,但是在执行过程中可以通过端口类型动态的发现和使用包括在端口定义中的信息。(3)活动(activity)。活动用于描述流程的正常行为,包括基本活动和结构化的活动,其中基本活动定义了组成业务流程的任务。结构化的活动定义了流程的逻辑顺序,即控制流。每个流程都是通过结构化的活动将基本活动组织起来,完成特定的任务。(4)相关性(correlation)。相
11、关性用来区别特定的实例,它依赖于消息特性,特性只是消息中由查询识别的“字段”,多个消息特性组合成相关集,用于定义流程中的相关性。(5)作用域(scope)。每个作用域提供了活动执行的上下文,括故障处理程序、事件处理程序、补偿处理程序、数据变量和相关集,作用域中的所有活动共享这些上下文的内容。(6)生命周期。WS-BPEL业务流程定义可被看成创建业务流程实例的模版,每个实例都具有自己的生命周期,从实例的创建到实例的终止。实例的创建是隐式的,当receive或pick活动的createlnstance属性被设为“yes”时,当活动执行到它们时就会检查该实例是否存在,如果不存在就创建一个新实例。实例
12、可以通过以下几种方式被终止:当定义流程行为的活动全部完成时;当故障到达流程的作用域时;当流程实例被terminate活动显示地终止。其中,只有第一种情况下流程的终止是正常的,其它都属于异常终止。3、构建基于SOA的空间信息服务工作流从用户到服务提供者之间的空间信息服务也是一个基于用户特定目标的工作流程,在这个流程中,用户首先提出空间信息服务的请求,相关的空间信息服务软件执行并完成这个请求。如果用户的请求涉及多个空间计算或软件功能,而且这些功能由不同的空间信息服务商提供,那么用户就需进行多种操作,并一直跟踪信息处理流程直到满足最后的要求,这就增加了许多不必要的人机交互操作,而且在这些人机交互有可
13、能因为各种因素导致错误的产生,这给用户的使用带来很多的不便。采用基于SOA的工作流技术可以有效地执行用户特定目标的操作,并进行全程自动处理,减少不必要用户交互的操作,提高空间信息服务的效率和准确性。SOA是面向服务的一种软件架构,描述的是一种编程思想,而不是具体的技术,本文介绍基于Web服务的SOA架构下的空间信息服务工作流的建立方法。基本思路是将各个空间信息的服务以Web服务的方式提供,这样每个空间信息服务都有其WSDL文件来描述。这些服务可以在不同的机器上,也可以是同一台机器。服务运行的平台可以是Windows、UNIX等各种不同的操作系统,同时这些服务采用目前各种流行的开发环境。下面描述
14、获取服务中地图名称的工作流实现步骤。3.1 建立相关Web服务的描述 本文采用的GIS服务器是ArcGIS 9.2,构建了一个基础的MapServer服务,同时还建立一个用户管理的服务,都具有相应的WSDL文件对服务进行描述。在编写BPEL时需要了解这两个服务,也称为合作伙伴链接。MapServer服务提供了地图访问端口MapServerPort,用户管理服务提供了UserInformationPort端口。在流程中首先检查用户的权限,这是通过访问用户管理服务提供的端口来确定;然后再访问MapServer服务来获取服务中地图的名称。3.2 为工作流程定义WSDL工作流程也是作为Web服务来发布
15、的,所以需要定义它自己的WSDL文件。此流程接受用户信息并返回地图服务的名称,所以需要定义一个UserRequestMapNamePT端口来接收用户信息,同时返回的用户结果。3.3 定义合作伙伴链接类型合作伙伴链接类型表示 BPEL 流程与相关方(包括 BPEL 流程调用的 Web 服务以及调用 BPEL 流程的客户端)之间的交互,本示例包含三个链接伙伴:客户端、用户管理和地图服务。合作伙伴链接类型在特殊命名空间http:/schemas.xmlsoap.org/ws/2003/05/partner-link/ 的 WSDL 定义,这是BPEL流程WSDL定义的必要部分。在流程中,把与客户端的
16、交互也定义为一个服务类型,这样用户所要求的服务就转变成工作流中各个服务之间的信息传输和交流。3.4 创建服务工作流程 创建服务工作流程就是建立相应的BPEL流程,目前这步工作都采用专门的编辑器来完成。虽然BPEL流程文件是基于XML语言的,可以采用任何文本编辑器,但由于BPEL流程与各个相关服务的WSDL文件具有紧密联系,同时为了避免不必要的语法错误,应采用专门的编辑器来完成,如Oracle BPEL编辑器,IBM的WID,还有ActiveBPEL Designer(本文采用的引擎)等。下图为BPEL工作流程图。3.5 测试和部署服务 基于BPEL流程的空间信息服务工作流本身也是一个Web服务
17、,是一个封装了用户复杂需求与操作的业务流程,与其它Web服务一样,在使用时也需要进行发布(本文采用ActiveBPEL 3.1 的引擎)。ActiveBPEL引擎是发布和实现BPEL业务流程的运行平台,在发布BPEL流程服务时需建立一个服务的具体配置文件来描述链接伙伴的访问等,最后生成引擎所需要的bpr文件,并将文件部署到引擎上就可以提供工作流服务。下图为部署了地图名称服务的工作流界面。4、总结本文主要介绍了一种基于SOA框架建立BPEL流程来提供空间信息服务的方法,包含建立空间信息服务工作流的主要步骤,采用同样的方法可以建立复杂的、能满足不同需要的工作流。充分利用BPEL语言中的各种基本活动
18、和结构化活动,可以实现空间信息的智能化服务。目前,还没有基于BPEL实现空间信息服务的商业化产品,但鉴于软件技术发展的主流,这样的产品将会是未来空间信息服务的主流产品。希望本文的研究成果能对后来的开发者起到探路的作用。参考文献1. 王莉,刘厚泉等 基于BPEL的业务流程管理系统架构的研究与应用.计算机工程与设计,2006.9:3507-35102. 陈华斌 面向服务体系结构的地理信息服务研究.博士论文,北京:中国科学院地理科学与资源研究所,2005 3. 陈应东,崔铁军. 基于Web Service地图服务传输理论的研究J. 中国地理信息系统协会第八届年会论文集,北京,2004.11:663-
19、665. 4. 黄俊斌,汤德佑 基于SOA的数据交换中间件研究.株洲工学院学报,2006.20(6).55-575. 袁世伦,李胜利等 一种基于规则的工作流模型互操作的实现方法.计算机应用,2007.2:400-4026. 刘岳峰,地理信息服务概述.地理信息世界,2004.12:26-29陈应东,男(1970-),福建宁化人,副教授,地图制图学与地理信息工程专业博士研究生,主要从事网格地理信息服务和地理空间数据库方面的研究。E-mail:chenyingdong更多测绘论文请登录测绘网论文频道查询:http:/ Editors note: Judson Jones is a meteorolo
20、gist, journalist and photographer. He has freelanced with CNN for four years, covering severe weather from tornadoes to typhoons. Follow him on Twitter: jnjonesjr (CNN) - I will always wonder what it was like to huddle around a shortwave radio and through the crackling static from space hear the fai
21、nt beeps of the worlds first satellite - Sputnik. I also missed watching Neil Armstrong step foot on the moon and the first space shuttle take off for the stars. Those events were way before my time.As a kid, I was fascinated with what goes on in the sky, and when NASA pulled the plug on the shuttle
22、 program I was heartbroken. Yet the privatized space race has renewed my childhood dreams to reach for the stars.As a meteorologist, Ive still seen many important weather and space events, but right now, if you were sitting next to me, youd hear my foot tapping rapidly under my desk. Im anxious for
23、the next one: a space capsule hanging from a crane in the New Mexico desert.Its like the set for a George Lucas movie floating to the edge of space.You and I will have the chance to watch a man take a leap into an unimaginable free fall from the edge of space - live.待添加的隐藏文字内容3The (lack of) air up t
24、here Watch man jump from 96,000 feet Tuesday, I sat at work glued to the live stream of the Red Bull Stratos Mission. I watched the balloons positioned at different altitudes in the sky to test the winds, knowing that if they would just line up in a vertical straight line we would be go for launch.I
25、 feel this mission was created for me because I am also a journalist and a photographer, but above all I live for taking a leap of faith - the feeling of pushing the envelope into uncharted territory.The guy who is going to do this, Felix Baumgartner, must have that same feeling, at a level I will n
26、ever reach. However, it did not stop me from feeling his pain when a gust of swirling wind kicked up and twisted the partially filled balloon that would take him to the upper end of our atmosphere. As soon as the 40-acre balloon, with skin no thicker than a dry cleaning bag, scraped the ground I kne
27、w it was over.How claustrophobia almost grounded supersonic skydiverWith each twist, you could see the wrinkles of disappointment on the face of the current record holder and capcom (capsule communications), Col. Joe Kittinger. He hung his head low in mission control as he told Baumgartner the disap
28、pointing news: Mission aborted.The supersonic descent could happen as early as Sunday.The weather plays an important role in this mission. Starting at the ground, conditions have to be very calm - winds less than 2 mph, with no precipitation or humidity and limited cloud cover. The balloon, with cap
29、sule attached, will move through the lower level of the atmosphere (the troposphere) where our day-to-day weather lives. It will climb higher than the tip of Mount Everest (5.5 miles/8.85 kilometers), drifting even higher than the cruising altitude of commercial airliners (5.6 miles/9.17 kilometers)
30、 and into the stratosphere. As he crosses the boundary layer (called the tropopause), he can expect a lot of turbulence.The balloon will slowly drift to the edge of space at 120,000 feet (22.7 miles/36.53 kilometers). Here, Fearless Felix will unclip. He will roll back the door.Then, I would assume,
31、 he will slowly step out onto something resembling an Olympic diving platform.Below, the Earth becomes the concrete bottom of a swimming pool that he wants to land on, but not too hard. Still, hell be traveling fast, so despite the distance, it will not be like diving into the deep end of a pool. It
32、 will be like he is diving into the shallow end.Skydiver preps for the big jumpWhen he jumps, he is expected to reach the speed of sound - 690 mph (1,110 kph) - in less than 40 seconds. Like hitting the top of the water, he will begin to slow as he approaches the more dense air closer to Earth. But
33、this will not be enough to stop him completely.If he goes too fast or spins out of control, he has a stabilization parachute that can be deployed to slow him down. His team hopes its not needed. Instead, he plans to deploy his 270-square-foot (25-square-meter) main chute at an altitude of around 5,0
34、00 feet (1,524 meters).In order to deploy this chute successfully, he will have to slow to 172 mph (277 kph). He will have a reserve parachute that will open automatically if he loses consciousness at mach speeds.Even if everything goes as planned, it wont. Baumgartner still will free fall at a spee
35、d that would cause you and me to pass out, and no parachute is guaranteed to work higher than 25,000 feet (7,620 meters).It might not be the moon, but Kittinger free fell from 102,800 feet in 1960 - at the dawn of an infamous space race that captured the hearts of many. Baumgartner will attempt to break that record, a feat that boggles the mind. This is one of those monumental moments I will always remember, because there is no way Id miss this.