服务站: Web服务软件工厂建模版本

Web 服务软件工厂:建模版本也称为“服务工厂”,它是一个资源集合,这些资源可帮助您以简单有效的方式在 Windows Communication Foundation (WCF) 和 ASMX 中建模和构建 Web 服务。与先前版本的服务工厂相比,最新版本使用的是模型,而先前版本使用的是基于 Guidance Automation Toolkit (GAT) 的向导。服务工厂现在允许您通过创建三种不同的模型来构建 Web 服务:数据约定模型、服务约定模型和宿主模型。我们将首先讨论这三种模型,然后再为您介绍如何自定义服务工厂。您可以在“在线服务工厂资源”侧栏中列出的网站内找到更多信息。

使用 GAT 向导生成代码的主要缺点是在对生成的代码进行必要更改时会比较复杂。假设您想要重命名生成服务中的某个操作,您必须保存自定义代码,然后重做要在其中使用新名称或者在生成的代码中重命名操作的整个向导。重做向导是一项耗时的工作;因为向导没有记忆,您必须重新指定全部内容。更改由向导生成的代码也不是理想的做法,因为您要返回去重新处理许多细节问题,而向导的目的恰恰是要避免这一点。模型为此问题提供了一种不错的解决方案,与向导相比,它可以记住您输入的内容。

构建集成到 Visual Studio 中的建模语言在过去是一件很困难的事情,但是附带有 Visual Studio SDK 的 Domain-Specific Language (DSL) Tools 使此项工作变得非常容易。现在服务工厂附带了使用 DSL Tools 构建的三种模型。请注意,没有针对数据访问和服务安全的模型。先前版本服务工厂中的“数据访问指导包”现在成为一个单独的工厂(称为存储库工厂),而“安全性指导包”也成为服务工厂社区站点单独的一个可用数据包。

新版本的服务工厂还为如何构建自己的软件工厂提供了良好示例,因为它使用并组合了所有可用工具来构建一个:

用来生成项目并提供上下文菜单的向导 GAT

用于三种不同模型的 DSL Tools

支持交叉模型引用的 Designer Integration Service (DIS)

服务工厂源代码还包含一些有趣的库,这些库拥有目前工厂工具没有的一些功能。如果要构建自己的工厂,则重用以下各项内容可能会让您受益匪浅:

代码生成库,允许您在单独的文件中生成代码

交叉模型验证库,可协助您验证交叉模型引用

Visual Studio 模拟对象库,可帮助您方便地对工厂进行单元测试

正如我们曾提到的,服务工厂由三种模型构成。在数据约定模型中,定义了 Web 服务的数据约定。在服务约定模型中,定义了服务、服务约定、操作以及消息。最后,宿主模型被用来建模服务端点和客户端代理。

为了介绍工厂,我们将创建一个从 Peedy 的比萨饼店订购比萨饼的 Web 服务。此 Web 服务可以接受比萨饼订单,并允许您选购大小和浇头不同的比萨饼。提交订单后,会将订单价格返回给客户作为确认。

时间: 2025-01-19 10:57:58

服务站: Web服务软件工厂建模版本的相关文章

服务站: Web服务软件工厂

作为架构师和开发人员,我们始终希望确信我们是在以正确的方法解决问题.因此,在开发人员领域,始终需要正确的指导.通常,此类指导来自开发人员社区,开发人员通过这个社区彼此分享经验,相互学习.但是,现在有许多新技术不断涌现,社区成员彼此可以交流的经验常常是微乎其微.因此,软件供应商提供有价值的指导也就显得愈加重要.毕竟,这些工具和技术是这些供应商设计和开发的,他们应该有好的建议教大家如何正确使用这些工具. 指导的形式多种多样,但大致可以分为两种类型:书面指导和代码为主的指导.书面指导是最常见的类型.它

ASP.NET+Web服务实现软件共享

asp.net|web|web服务 摘 要 本文提出一种新的通过软件功能共享而实现软件共享的方法,这种方法的优点是以远程调用Web服务的形式实现软件功能的共享,而不将软件拷贝到客户端,也减小了网络上的一些资源冗余,也有利于共享现有Web服务集成新的系统.而且本文通过学生身份验证模块实例分析了这种新方法的有效性. 关键字 Web服务;软件共享;Web Services 引言 传统的软件共享是将软件从网络的服务器拷贝到客户端,以实现软件的共享,这种方法的缺点是每一个需要使用该软件的客户端都必须先拷贝

使用 UDDI 的 Web 服务描述和发现(第一部分)[转自微软]

web|微软 使用 UDDI 的 Web 服务描述和发现(第一部分) Karsten JanuszewskiMicrosoft Corporation 2001年10月3日 查看和下载本文的源代码(英文).简介到目前为止,At Your Service 专栏已经介绍了如何建立 Web 服务的实际案例:从最初的设计文档到业务关联,直至最终的部署.下一步就是要考虑如何发布 Web 服务,以便感兴趣的客户能够轻松地发现该服务并将其应用到自己的应用中.现在已经有了实现这种要求的发现机制:通用说明.发现和

将Web服务集成到WebSphere Application Server V8.5.5中

IBM® http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere® Application Server V8.5.5 和 IBM Rational® Application Developer V9.0 引入了服务映射,该功能通过服务客户端与服务提供程序之间的请求和响应拦截.路由和转换,帮助您消除服务客户端对服务提供程序的位置和接口的依赖.本文将介绍服务映射的概念,并提供一个实用的示例,展示原始服务客户端如何通过开发和使

ASP.NET+Web服务实现软件共享_实用技巧

摘 要 本文提出一种新的通过软件功能共享而实现软件共享的方法,这种方法的优点是以远程调用Web服务的形式实现软件功能的共享,而不将软件拷贝到客户端,也减小了网络上的一些资源冗余,也有利于共享现有Web服务集成新的系统.而且本文通过学生身份验证模块实例分析了这种新方法的有效性. 引言 传统的软件共享是将软件从网络的服务器拷贝到客户端,以实现软件的共享,这种方法的缺点是每一个需要使用该软件的客户端都必须先拷贝该软件,导致网络上的空间冗余,因而导致产生了大量孤立的数据和重复的业务逻辑. Web ser

《企业软件交付:敏捷与高效管理精要》——3.5 软件工厂的关键要素

3.5 软件工厂的关键要素 建立一个软件工厂,需要一张蓝图来组织和搭建提供必要能力的方法和工具.从一个简化的角度来看,企业软件交付关注若干虚拟的卓越中心[43].图3.1描绘了一个软件工厂的蓝图.它是一组能力的集合,支持企业软件的管理和交付,并涵盖了五个关键领域[44].我将按顺序简要讨论这几个领域. 3.5.1 业务管理高效的业务和IT规划以及投资组合管理,有助于实现更快更明智的决策并优先考虑支持业务目标的企业软件投资,由此精简业务并降低成本.如果这一方面最终非常成熟,就可以让战略意图转换成可

J2ME Web 服务入门

web 简介 WSA 设计用于与 J2ME 配置文件协同工作,J2ME 配置文件要么基于 Connected Device Configuration (CDC),要么基于 Connected Limited Device Configuration (CLDC 1.0 或 CLDC 1.1).远程调用 API 基于 J2SE 的 Java API for XML-Based RPC (JAX-RPC 1.1) 的一个完整子集,它包含了一些远程方法调用(Remote Method Invocat

VS.NET: 通过Web服务瞄准电子商务

web|web服务|电子商务     从上次Microsoft更新其Visuabl Studio IDE到现在有两年的时间了,而Visual Studio也开始显得老了,特别是在迅速发展的电子商务应用开发工具市场上. 虽然Visual Studio在服务器/客户机领域比其竞争对手作的要好,但是它却难以提 供新一代工具应该提供的功能.支持了这个工具在竞争中的领导地位的只是 Microsoft庞大的市场分额以及Visual Studio广大的用户群,而不是领先的技术. 即将发布的VS.NET是Mic

如何创建RESTFul Web服务

想写这篇文章很久了,这是个大话题,不是一时半会就能说清楚的. 所以准备花个一星期整理资料,把思路理清楚,然后再在Team里做个sharing:) 其实RESTFul是架构风格,并不是实现规范,也不一定非要用HTTP,但鉴于HTTP的普世性和 SOA的实现基本都基于HTTP实现. 这句话只对了前一半, 实际上REST和HTTP是息息相关的,是一种Web架构,WWW是世界最大型的分布式应用,而其实现就是基于REST的web架构的设计标准,REST架构的提出者(Roy T. Fielding 2000