没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子笔记160(2006)239-253www.elsevier.com/locate/entcsFACS面向Web服务组件化Abbas Heydarnoori1加拿大滑铁卢大学计算机学院Farhad Mavaddat2加拿大滑铁卢大学计算机科学学院Farhad Arbab3软件工程系Centrum voor Wiskunde en Informatica(CWI),荷兰摘要在本文中,我们提出了我们的工作正在开发一个自动化的部署规划的Web服务的组合作为软件组件使用的Reo协调中间件在分布式环境中。Web服务是指通过Web访问服务。Reo是CWI(荷兰)开发的基于移动通道演算的组件连接器Reo有很强的理论基础,这使它成为协调参与组合的Web服务的工作的一个很好的候选模型。假设一个新的Web应用程序是通过组合具有不同需求和约束的多个Web服务开发的。为了运行应用程序,需要将其部署在具有可用于分布式环境中的应用程序的不同计算能力的多个主机上(例如,互联网),以便满足所有约束和要求。由于在这样的部署问题中有许多参数和约束,因此很难手动完成。 因此,自动化部署规划器为此目的需要。关键词:软件构件,软件部署,Reo协调模型。这是一个初步版本。最终版本将发表在《理论计算机科学网址:www.elsevier.nl/locate/entcs1571-0661 © 2006 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2006.05.026240A. Heydarnoori等人/理论计算机科学电子笔记160(2006)2391引言互联网正在迅速地从一组传输数据包的电线和交换机转变为一个复杂的基础设施,为最终用户提供一组复杂的增值服务[1]。术语“Web服务”的出现是为了表示一个组织向万维网上的其他组织公开的业务逻辑单元。Web服务正逐渐成为互联网上最流行的分布式计算范例[2]。Internet基础设施的进步和WWW的快速发展是Web服务的主要推动力。Web服务可以是独立的,也可以链接在一起以提供增强的功能。换句话说,Web服务是构建应用程序的可互操作的构建块。因此,Web服务的组合是一个重要的问题,需要一个通用的协调模型来组合Web服务。Reo协调模型是一个很好的候选者,可以达到这个目的[3]。Reo提出了一种基于移动通道概念的软件组件组合和外生协调的范例。在Reo模型中,复杂的协调器,称为连接器,是由简单的协调器组成的。 REO有着强大的理论基础和逻辑是数学模型。在[4]中,可以找到Reo的余代数形式语义。Reo促进了松耦合、分布、移动性、外生协调和动态重构。这些属性使Reo成为在分布式环境中组合Web服务的合适候选模型假设已经开发了一个分布式应用程序,该应用程序利用了许多具有不同需求和约束的Web服务。此外,Reo协调中间件用于协调这些Web服务的工作。在该方法中,Web服务被视为黑盒软件组件,即,对它们的发展和内部结构没有任何担忧。要运行应用程序,需要在不同的主机上实例化应用程序的不同组件,这些主机具有分布式环境中应用程序可用的不同计算能力。此外,在这样做时,应满足所有要求和限制。这个过程称为软件部署。对于大型应用程序,其中包括许多组件与许多约束,并应分布在大量的主机具有不同的特性,手动部署是不切实际的。此外,用户可能在这种部署中有特定的要求。例如,他们可能希望在特定主机上实例化特定组件。这使问题更加复杂。因此,需要一个自动化的部署计划器来有效地指定不同的组件应该在分布式环境中的何处实例化。在本文中,我们正在进行的工作,1电子邮件地址:aheydarnoori@uwaterloo.ca2 电子邮件地址:fmavaddat@uwaterloo.ca3电子邮件:Farhad. cwi.nlA. Heydarnoori等人/理论计算机科学电子笔记160(2006)239241描述了这样的自动化部署规划器本文的组织结构如下。第二部分是本研究所需的背景.在本节中,将简要介绍Web服务和Reo协调模型。在第3节中,讨论了使用Reo协调中间件为Web服务组合第4节回顾了一些相关的工作,最后在第5节,结束语提供。2背景以下主题构成了我们工作的背景:Web服务和Reo协调模型。在本节中,我们将描述它们。2.1Web服务正如术语根据IBM对Web服务的定义[5],“Web服务是一种新的Web应用程序。它们是自包含、自描述的模块化应用程序,可以通过Web发布、定位和调用。Web服务执行的功能可以是从简单的请求到复杂的业务流程的正如这个定义所示,Web服务可以被看作是构建分布式Web应用程序的构建块Web服务模型与其他现有模型(如CORBA/IIOP、COM/DCOM和Java/RMI)之间的一个重要区别是,Web服务可以用任何语言编写,并且可以使用HTTP协议进行访问。换句话说,在Web服务计算模型中,分布式软件组件通过非对象特定协议进行接口[6]。2.1.1将Web服务视为软件组件基于构件的软件开发的目的是通过组合和集成现有的软件构件来构建一个新的系统。这种软件开发方法具有许多优点,它已被提出作为在更短的开发时间内开发更可靠和更高质量的软件系统的范例,降低成本和费用[7]。由于CBSD的许多优点,人们普遍认为有一天开发人员可以很容易地从预构建的组件组装应用程序,而不是从头开始编写它们。如前所述,Web服务是自包含的、自描述的模块单元,提供独立于位置的业务或技术服务,这些服务可以通过Web发布、定位和调用。因此,可以将它们视为软件组件思想的自然扩展。Web服务作为软件组件,代表了可以重用的黑盒功能,而不必担心这些服务是如何实现的,或者在哪里实现的。242A. Heydarnoori等人/理论计算机科学电子笔记160(2006)239(8)位于。换句话说,它们可以用作开发复杂分布式应用程序的构建块。2.2Reo协调模型Reo是一种基于通道的协调模型,它外生地协调基于组件的应用程序中组件实例的协作行为[3]。从Reo的角度来看,应用程序由许多组件实例组成,这些组件实例通过协调它们活动的连接器进行通信。Reo的重点是连接器,它们的组成和行为。区域选举事务办公室并没有过多地说明它所协调的活动的组成部分。在Reo中,连接器由一组简单的通道组成。 因此,通道表示原子连接器。 信道是一种通信媒介,它有两个信道端。通道末端是源通道末端或接收通道末端。源通道端接受数据进入其通道。接收通道端将数据分发到其通道外。虽然每个通道都有两个端点,但这些端点可以是相同或不同的类型(两个源、两个汇或一个源和一个汇)。Reo假设有一组任意的通道类型,每种都有用户提供的定义良好的行为。然而,[3]中的一组示例表明,可以通过I/O操作表示为正则表达式的外源协调协议对应于Reo连接器,该连接器由仅五种原始通道类型组成的一小组组成• 同步:它有一个源和一个汇。 当且仅当在同步通道的接收器上获取值同时成功时,在同步通道的源上写入该值才成功• LossySync:它有一个源和一个接收器。源始终接受所有数据项。如果接收器没有挂起的读取或take操作,则LossySync将丢失数据项;否则,该通道将作为Sync通道。• SyncDrain:它有两个来源。当且仅当在SyncDrain通道的一个源上写入值成功时,在另一个源上写入值才成功写入此通道的所有数据项都将丢失。• AsyncDrain:此通道类型类似于SyncDrain,不同之处在于其两个源端上的两个操作不会同时成功。写入此通道的所有数据项都将丢失。• FIFO 1:它有一个源和一个接收器,以及一个数据项的信道缓冲器容量如果缓冲器为空,则源通道端接受数据项并且其写入操作成功。接受的数据项保存在内部缓冲器中。在接收通道端的适当操作(读或取)获得缓冲器的内容。在Reo中,连接器被表示为节点和边的图,使得:零个或多个通道末端在每个节点上重合;每个通道末端A. Heydarnoori等人/理论计算机科学电子笔记160(2006)239243图1.一、Reo中的屏障同步连接器图二、基于Reo的机票预订系统建模恰好在一个节点上重合并且当且仅当存在其信道端在两个(不一定是不同的)节点上重合的信道时,在这些节点之间存在边。作为Reo连接器的示例,图1显示了Reo中的屏障同步连接器。 在此连接器中,数据项从 A到D仅与数据项从G到J的传递同时进行,反之亦然。这是因为Reo中的2.2.1一个使用Reo组合Web服务的例子在下文中,我们提供了一个简单的示例,说明如何使用Reo连接器(如屏障同步)将多个Web服务组合在一起。假设一家旅行社想要提供航班预订服务(FRS)。对于某些目的地,可能需要连接权限。例如,如果您想从多伦多前往格拉斯哥,则需要从多伦多前往伦敦。然后,你需要从伦敦前往格拉斯哥。 假设其他代理商提供国际航班预订(IFRS)和国内航班预订(DFRS)服务。因此,只要IFRS和DFRS服务都成功提交,FRS就成功提交。这种行为可以很容易地通过Reo中的屏障同步连接器进行建模(图2)。FRS服务在通道端点A和B上发出提交请求。当且仅当IFRS和DFRS服务的保留同时成功时,这些提交才会成功。这个例子展示了Reo如何成功地对复杂的行为进行建模。在Reo中,可以很容易地通过一组简单的组合规则从一组非常小的原始通道类型中构造不同的连接器。人们可以在[9]中找到对Reo更详细的介绍,并在[3]中详细描述语言及其模型。244A. Heydarnoori等人/理论计算机科学电子笔记160(2006)2393开发部署计划器在上一节中,我们描述了Reo协调模型,并将其作为组合和协调Web服务的一个很好的候选模型进行了介绍。关于使用Reo协调模型组合构建Web服务的更多信息,您可以参考[10],其中讨论了支持Reo的Web服务的需求。这篇文章展示了Web服务和Reo协调中间件之间的必要层,这些层是使用Reo连接器将它们组合在一起所必需的。在本节中,我们将考虑这个问题的另一个方面,并介绍我们正在进行的工作,即为支持Reo的Web服务的组合开发一个部署规划器我们首先描述软件部署过程。3.1软件部署过程软件部署是一系列相关活动,用于将开发的应用程序放置虽然软件部署的定义是合理和清晰的,但为了开发自动化部署计划器,必须更清楚地描述部署活动在软件部署过程的文献中提到了不同的活动序列其中一些将在第4节中讨论。然而,在我们看来,软件部署过程至少应该包括以下活动:获取、规划、安装、配置和执行。以下是这些活动的简要说明:• 获取:在此活动中,要部署的应用程序的组件和指定应用程序的元数据从软件生产者处获取,并放入存储库中供部署过程的其他活动使用。• 规划:给定基于组件的应用程序的规范、目标环境和用户定义的约束,该活动确定应用程序的不同组件将在目标环境中的何处执行,从而产生部署计划。• 安装:此活动使用前一个活动中生成的部署计划将应用程序安装到目标环境中。更具体地说,此活动将应用程序的组件从存储库传输到目标环境中的主机• 配置:将应用程序组件安装到目标环境后,可能需要修改其设置和配置。例如,在安装应用程序之后,可能想要为不同的用户设置不同的欢迎消息。• 执行:安装和配置软件后,A. Heydarnoori等人/理论计算机科学电子笔记160(2006)239245可以运行。更具体地,启动安装到主机中的应用组件,实例化它们之间的互连,将组件连接到互连,并且软件应用实际上开始工作。在本文中,我们的重点是这个过程的规划阶段。为对于与本文所考虑的Web应用程序类似的大型复杂应用程序,不应要求用户在分布式环境中的多个主机上手动部署大量具有不同属性的组件。因此,这一过程应尽可能自动化。在下面的部分中,我们将更详细地讨论这个自动化部署规划器。3.2部署计划器在上一节中,我们定义了一般的软件部署过程,并激发了开发自动化部署规划器的需求用于将大型、复杂、基于组件的应用程序部署到分布式环境中。在本节中,我们将在使用Reo协调中间件的Web服务组合的上下文中描述一个自动化部署计划器。假设已经给出了要部署的Web应用程序的规范。在这个应用程序中,通过使用Reo电路将许多Web服务组合在一起。因此,此规范指定了这些Web服务、它们的需求和约束,以及它们之间使用的Reo电路。这些Web服务及其内部的实现并不重要,它们被视为黑盒软件组件。此外,该规范通过指定Reo电路的节点、这些节点之间的通道及其类型以及每个Web服务连接到哪个节点来描述Reo电路。除了这个规范之外,还给出了分布式环境中可用资源的规范。此规范描述了许多主机及其计算能力。这些主机的计算能力是它们可以支持的Reo通道的不同实现。在这个抽象层次中,底层硬件参数如CPU速度、内存、磁盘等。并不重要原因是我们希望专注于软件抽象而不是硬件抽象。作为计算能力的示例,假设主机A可以支持Reo的Sync信道的三种不同实现简单消息传递、加密消息传递以及使用共享存储器)。从逻辑上讲,它们都是同步通道的实现,但它们的要求、成本和速度不同。同样,不同的通道类型在不同的主机上有不同的实现。此外,用户应该能够指定他们的限制和要求,有关的应用程序的部署其中一些例子246A. Heydarnoori等人/理论计算机科学电子笔记160(2006)239需求是某些主机上的某些Web服务,某些服务质量(QoS)需求,如成本、速度等。部署计划器使用这些规范作为输入,并生成部署计划的规范。在这个部署计划中,应用程序的不同部分(Web服务和Reo节点)根据给定的约束映射到可用资源。换句话说,这个部署计划指定了Reo电路的每个Web服务和节点应该在目标环境中的哪个位置运行。在下面的部分中,将讨论在开发这样一个部署规划器时应该考虑的不同问题。3.3开发部署规划器在前面的部分中,我们提供了我们正在进行的为Web应用程序开发自动化部署规划器的工作的问题定义。在本节中,我们将介绍这个问题的不同方面,并提供一个我们必须处理的子问题列表,以解决整个问题。应该考虑的一个重要的子问题与资源分配有关。部署规划器应该最佳地分配不同主机上的可用资源,以适应应用程序的要求和约束。因此,生成这样的部署计划成为约束满足问题,因此,应该可以开发该问题的数学表示,然后解决它。通常,找到具有许多参数的此类问题的最佳解决方案是不可能的。因此,我们应该努力为他们找到最好的解决方案。为此,应开发并应用一套算法来有效地解决此类约束满足问题。在第3.4节中,这样提供化学品部署中的另一个重要问题是其质量。对于任何大型、复杂的Web应用程序,通常都可以在分布式环境中进行多个部署。显然,在某些服务质量(QoS)要求(如成本、可靠性、速度、效率等)方面,这些部署中的一些部署比其他部署更有效。最大化给定系统的QoS可能需要重新部署系统[11]。因此,考虑与QoS相关的问题代表了该项目的另一个重要方面其他问题与特定语言有关。如前所述,要部署的Web应用程序的规范和分布式环境的规范应该作为部署规划器的输入提供。因此,为此目的需要特定语言。 我们将这些语言分别命名为应用程序规范语言(ASL)和资源规范语言(RSL)。ASL将用于指定应用程序中使用的Web服务、用于组合它们的Reo电路以及应用程序的需求。RSL将用于指定应用程序可用的分布式环境中的不同主机,它们的计算A. Heydarnoori等人/理论计算机科学电子笔记160(2006)239247→--能力及其限制。此外,为了生成部署计划,应该设计部署规范语言(DSL)。部署计划器将使用此语言生成部署计划。3.4基于图的部署规划在撰写本文时,我们已经使用了基于图的方法来解决软件部署问题。 为此,在这种方法中制作了两个图:应用程序图和目标环境图。应用程序图将基于组件的应用程序建模为由不同通道类型连接的组件图。目标环境图将分布式环境建模为通过不同通道类型连接的主机的图,这些通道类型可以存在于每两个主机之间。换句话说,在开始部署规划之前,指定目标环境中每两台主机之间可以存在的通道类型。然后,应用程序的部署规划被定义为应用程序图到目标环境图的映射,以最大化所需的QoS参数。作为如何应用这些高效算法和技术来有效解决部署问题的一个示例,下面我们将讨论如何找到最具成本效益的部署配置。假设目标环境中的不同主机具有不同的成本,并且无论何时使用它们,它们的成本都应该支付给它们的管理员。在这种情况下,应该找到最具成本效益的部署配置。为此,必须选择分布式环境中的可用主机集合,以使部署的总成本最小,并且所有组件也都分配给主机。很容易证明这个问题等价于图论中的最小集覆盖问题[12]。定义3.1(最小集合覆盖问题)给定n个元素的有限集合U,U的子集的集合S ={s1,s2,...,s k},使得U的每个元素属于至少一个s i,以及成本函数c:SR,问题是找到S的最小成本子集合,该子集合覆盖U的所有元素。成本效益部署问题可以通过以下方式转换为最小集合覆盖问题:• 设置U = C1,C2,...,Cn,即,将应用程序的组件设置为全域的元素• 设置S={CSH1,CSH2,., CSHm},其中CSHi对应于主机H i,并且它表示可以在主机H i上运行的应用程序的组件的集合。• 定义c:S−→R返回每个主机的成本。248A. Heydarnoori等人/理论计算机科学电子笔记160(2006)239图3.第三章。保存有预订系统的应用图的链表见图4。保存目标环境中可用主机属性的示例链接列表然而,证明了最小集覆盖问题是NP-难问题,不能在多项式时间内求解[12]。但是,存在一些贪婪近似算法,可以在多项式时间内找到合理的好答案[12]。因此,为了解决成本效益部署问题,首先可以将其转换为上面提到的最小集合覆盖问题。然后,通过使用现有的算法来解决最小集合覆盖问题,应用程序的所有组件将被分配到至少一个主机和部署的成本也将接近最小3.5原型实现我们已经实现了一个部署规划工具,Java来表示我们的方法在实践中是如何工作的。此工具可用于规划任何类型的基于组件的应用程序的部署,它并不特定于基于Web的应用程序。要部署的应用程序和目标环境的规范通过两个输入文件提供给此工具。使用的数据结构用于保存有关应用程序和目标环境的信息的链表。在这种结构中,应用程序的拓扑结构被保持为组件的链表.每个组件本身指向一个链接列表,其中包含有关相邻组件的信息以及用于将当前组件连接到它们的通道类型(图3)。此外,有关目标环境的信息将作为主机的链接列表保存。 每一个主持人都指向保存该主机属性的链接列表(图4)。这些属性包括它们可以支持的不同的信道类型、它们的成本、它们的IP等等。在图3和图4中,Tis表示不同的信道类型或实现。正如我们所看到的,这种链表数据结构是灵活的,A. Heydarnoori等人/理论计算机科学电子笔记160(2006)239249我们可以自由地为不同的主机定义尽可能多的属性。在处理输入文件并生成这些链接列表之后,部署计划器工具使用它们并开始生成实际的部署计划。在撰写本文时,该工具可用于在多项式时间内找到最具成本效益的部署配置(O(log(n),方法是使用上一节中介绍的技术和[12]中提出的贪婪近似算法。对于未来的工作,我们计划设计一些算法,以最大限度地提高其他QoS属性(例如,可靠性、性能、安全性等),并将它们包含在这个工具中。4相关工作将基于组件的应用程序部署到分布式环境中是研究和工业界的一个开放问题,可以找到大量与之相关的工具和论文。在本节中,考虑了两个最相关的工具和论文:Software Dock和OMG D C Specification。4.1软件坞科罗拉多大学软件码头研究项目已经创建了一个分布式的,基于代理的部署框架,支持软件生产者之间的合作,以及软件生产者和软件消费者之间的合作。Software Dock架构如图5所示。此架构具有以下组件:• 发布坞:其目的是作为软件生产商提供的软件系统的发布库在这个存储库中,每个软件版本都使用一个标准的语义模式进行语义描述:可部署软件描述或DSD。• Field Dock:它是驻留在消费者站点上的服务器,提供有关消费者站点的资源和配置的• 代理:每个软件版本都伴随着通用代理,这些代理在解释软件版本的语义描述的帮助下执行软件部署过程。• 广域事件系统:发布坞在其托管的软件发布在Software Dock研究项目中,软件部署被定义为形成软件部署生命周期的相关活动的集合[14]。此周期包括以下活动:发布、安装、激活、更新、调整、重新配置、停用、删除和停用。 这些活动可分为两类:• 生产者方活动:发布:这包括打包、准备、提供和发布系统以部署到消费者站点所需的所有任务。这项活动·250A. Heydarnoori等人/理论计算机科学电子笔记160(2006)239图五、Software Dock架构(摘自[13])作为开发和部署之间的桥梁退出:当软件系统或软件系统的给定配置不再由软件生产者支持时,此活动完成。• 消费者方面的活动:安装:此活动配置并组装使用给定软件系统所需的所有资源。Activate:负责运行或执行已部署的软件系统。Deactivate:负责关闭已激活软件系统的任何执行组件。更新:这将修改以前安装的软件系统,并部署一个新的,以前不可用的软件系统配置。Adapt:此活动维护已部署软件系统的当前选定配置的一致性。Recon figure:其目的是从现有的语义描述中选择一个不同的配置。删除:当用户站点不再需要软件系统时,执行此活动。下面描述图5中所示架构的实际部署。当软件系统要安装在给定的消费者站点上时,最初负责安装该软件的代理和该软件的DSD描述从原始发布坞加载到消费者站点上。此代理停靠在本地字段坞站,并使用该软件的DSD描述和字段坞站提供的使用者站点状态信息来确认软件系统。完成此配置后,此代理会从其释放坞请求所需的精确配置。它还可以从其发布坞请求其他代理(例如更新和适配)来停靠在本地字段坞并执行其他部署活动。广域事件服务提供了一种········A. Heydarnoori等人/理论计算机科学电子笔记160(2006)239251软件生产者和软件消费者之间的连接。4.2OMG部署和配置规范“OMG部署和配置规范”或“OMG D C规范”是一种尝试,旨在为基于组件的应用程序的部署提供一个统一的本规范中定义的部署过程包括五个阶段:• 安装:在安装过程中,软件包被放入一个存储库。此活动不涉及向主机传输二进制文件。• 配置:当软件安装在存储库中时,可以配置其功能。• 规划:这个规划包括选择软件将在其上运行的主机、运行所需的资源,决定哪些实现将用于组件实例,等等。• 准备:此活动为软件的执行准备目标环境• 启动:在这个阶段,应用程序被执行。按照计划,创建组件实例并在目标环境中的主机上进行配置,并建立实例之间的连接OMG DC规范定义了三个平台无关的模型:组件模型、目标模型和执行模型。这些模型中的每一个也被分为数据模型和运行时(管理)模型,以降低复杂性。运行时模型处理运行时实体,它们超出了本文的范围。下面是数据模型的简要描述:• 组件数据模型:此模型提供有关存储库中已安装和已配置软件包的信息这些信息包括有关接口、实现、配置等的描述,包的组成部分。• 目标数据模型:该模型描述了应用程序将部署到的目标环境• 执行数据模型:这是部署计划,并根据组件实例、它们之间的连接以及将实例分配给目标环境中的计算主机来指定如前所述,这些模型是独立于平台的。为了将它们与特定的组件模型一起使用,它们应该被转换为平台相关的模型,捕获具体平台的特性[16]。在[15]中可以找到一个转换到CORBA组件模型(CCM)的例子。252A. Heydarnoori等人/理论计算机科学电子笔记160(2006)2395结论软件部署过程的目的是将开发好的应用程序部署到目标环境中,并使其可供使用。对于大型、复杂、基于组件的应用程序,其中包括许多具有不同要求的组件,并且应该分布在具有不同计算能力的许多主机上,手动部署并不容易,因此需要使用自动化工具。在本文中,我们介绍了我们正在进行的使用Reo协调中间件为Web服务应用程序开发自动化部署规划器的工作。Reo强大的形式化基础及其易于使用的组合规则促使我们选择Reo作为Web服务组合的协调模型。在这种方法中,Web服务被视为黑盒软件组件。对于要部署的Web应用程序的给定规范、分布式环境中的可用资源以及用户定义的约束,部署计划指定应用程序的每个组件应在哪个主机上运行,以实例化正在运行的Web应用程序,从而满足所有要求和约束。确认作者要感谢尼古拉·迪亚科夫博士在发展本文所表达的思想引用[1] Chandra,P.,Fisher,A.,科萨克角,Ng,T. S. E、 Steenkiste,P., 高桥湾 和Zhang,H.,“达尔文:增值网络服务的可定制资源管理”,在第六届IEEE网络协议国际会议论文集中,10月15日。1998年[2] Gergic , J. , Kleindienst , J. , Despotopoulos , Y. , Soldatos , J. ,Patikis , G. , Anagnostou , A. 和 Polymenakos , L. , “An Approach toLightweight Deployment of Web Services , ”In Proceedings of the 14thInternationalConferenceonSoftwareEngineeringandKnowledgeEngineering 2002(SEKE 2002),ACM Press,635- 640.[3] Arbab , F. “Reo: A Channel-based Coordination Model for ComponentComposition,”[4] Arbab , F. 和 Rutten , J.J.M.M. “A Coinductive Calculus of ComponentConnectors,” In Proceedings of 16th International Workshop on AlgebraicA. Heydarnoori等人/理论计算机科学电子笔记160(2006)239253[5] https://www6.software.ibm.com/developerworks/education/wsbasics/wsbasics-“Web services: the Web’s next revolution,” 2005年30日[6] “Introduction to Web Services,”[7] Heydar Noori , A. , 和 Mavaddat , F. , “On Software ComponentsCharacterization[8] Stojanovic,Z.,Dahanayake,A.和Sol,H.,“Agile Modeling and Design ofService-Oriented[9] Arbab,F.和Mavaddat,F.,“Coordination through channel composition,” InProceedings of the 5th International Conference on Coordination Models andLanguages (Coordination 2002), LNCS 2315, Springer-Verlag,[10] Diakov,N. K.和Arbab,F.,“Compositional Construction of Web ServicesUsing INSTICC Press,2004,49-58.[11] Mikic-Rakic , M. , Malek , S. , Beckman , N. 和 Medvidovic , N. , “ATailorableEnvironmentforAssessingtheQualityofDeploymentArchitectures in Highly Distributed Settings,” In Proceedings of the 2ndInternational Working Conference on Component Deployment (CD 2004),Edinburgh, UK, May[12] Cormen , T. H 、 Leiserson , C.E. , Rivest , R.L. , 和 Stein , C.“Introduction to Algorithms”, Second edition, MIT Press,[13] 霍尔,R.S.,Heimbigner,D.,A Cooperative Approach to Support SoftwareDeployment Using the Software Dock. 1999年软件工程国际会议论文集,ACM出版社,纽约,1999年5月,174-183。[14] Carzaniga,A.,Fuggetta,A.,霍尔河,巴西-地美国,Hoek,A.诉D、Heimbigner,D.,沃尔夫,A. L.,“软件部署技术的特征化框架”,技术报告CU-CS-857-98,部门计算机科学,科罗拉多大学,1998年4月。[15] 对象管理组,2005年30日[16] 布勒伊湖和Bures,T.在OMG DC规范的上下文中使用连接器部署异构应用程序。国际刑警组织-欧空局2005年会议,瑞士日内瓦,2005年2月
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- StarModAPI: StarMade 模组开发的Java API工具包
- PHP疫情上报管理系统开发与数据库实现详解
- 中秋节特献:明月祝福Flash动画素材
- Java GUI界面RPi-kee_Pilot:RPi-kee专用控制工具
- 电脑端APK信息提取工具APK Messenger功能介绍
- 探索矩阵连乘算法在C++中的应用
- Airflow教程:入门到工作流程创建
- MIP在Matlab中实现黑白图像处理的开源解决方案
- 图像切割感知分组框架:Matlab中的PG-framework实现
- 计算机科学中的经典算法与应用场景解析
- MiniZinc 编译器:高效解决离散优化问题
- MATLAB工具用于测量静态接触角的开源代码解析
- Python网络服务器项目合作指南
- 使用Matlab实现基础水族馆鱼类跟踪的代码解析
- vagga:基于Rust的用户空间容器化开发工具
- PPAP: 多语言支持的PHP邮政地址解析器项目
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功