
| 本书作者是微软Connected System Developer MVP,其中: Pablo Cibraro是一位企业架构师、Tellago地区的CTO。 Kurt Claeys是.NET企业级应用程序架构师和培训师,热衷于用WCF实现集成,拥有MCT、MCSD认证。 Fablo Cozzolino是FimeSan公司的软件架构师、分析师和开发人员。 Johann Orabner是微软Learning Partners项目的自由培训师。 .. << 查看详细 |
| 《wcf 4高级编程》 第1章 设计原理与设计模式 1 1.1 soa简介 1 1.2 soa架构的4条原则 3 1.2.1 边界显式定义 3 1.2.2 服务自动化 3 1.2.3 服务共享的是模式和契约,而不是类 3 1.2.4 基于策略的服务兼容性 4 1.3 服务的内部结构 4 1.4 组织业务流程中的服务 7 1.5 soa的底层技术 7 1.5.1 soap 8 1.5.2 ws -* protocols 8 1.5.3 wsdl 8 1.6 契约优先原则 9 1.7 wcf和.net服务如何实现soa模式 10 1.7.1 模式 10 1.7.2 解耦契约:接口与实现 10 1.7.3 代理模式 11 1.7.4 operationcontext模式 11 .1.7.5 并发契约 11 1.7.6 数据保密性 12 1.7.7 web服务原子事务 12 1.7.8 会话外观 12 1.7.9 异常保护 12 1.8 通信与集成模式 13 1.8.1 集成模式 14 1.8.2 消息交换模式 16 1.8.3 消息模式 22 1.9 业务流程模式 26 1.9.1 流程管理器 26 1.9.2 在工作流声明中的模式 28 第2章 服务契约与数据契约 31 2.1 服务契约 32 2.2 数据契约 32 2.3 消息契约 32 2.4 契约与代码 32 2.5 汽车租赁服务——实现示例 33 2.5.1 步骤1:定义服务契约 33 2.5.2 步骤2:提取服务元数据 34 2.3.3 步骤3:服务的实现 38 2.5.4 步骤4:生成客户端代码 39 2.5.5 [servicecontract]和[operationcontract]特性 40 2.6 数据契约 42 2.6.1 数据契约详解 47 2.6.2 knowntypes特性 49 2.7 服务契约与数据契约的版本控制 52 2.7.1 数据契约的版本控制 52 2.7.2 双向版本控制 54 2.7.3 服务契约版本控制的最佳实践 56 2.7.4 数据契约版本控制的最佳实践 56 2.8 消息契约 57 第3章 绑定 63 3.1 绑定的工作原理 64 3.2 地址 66 3.3 行为 67 3.3.1 服务行为 67 3.3.2 操作行为 70 3.3.3 终结点行为 71 3.3.4 契约行为 74 3.4 绑定 75 3.4.1 basichttpbinding和wshttpbinding 76 3.4.2 nettcpbinding 77 3.4.3 netmsmqbinding 77 3.4.4 基于上下文的绑定 77 3.4.5 如何选择要使用的绑定 78 3.5 配置绑定 79 3.5.1 基址 80 3.5.2 默认配置 82 3.5.3 设置多绑定 85 3.6 修改绑定 86 3.6.1 绑定的属性 86 3.6.2 创建自定义绑定 88 3.6.3 重用自定义绑定 90 3.7 持久双工服务 93 3.8 pollingduplexhttpbinding绑定:http轮询 95 第4章 客户端 97 4.1 basic profile 1.1标准 98 4.2 .net客户端 98 4.2.1 共享wsdl-契约 98 4.2.2 共享wsdl契约和数据契约-dll 101 4.2.3 共享接口和数据契约-dll 102 4.3 rest 104 4.3.1 rest与wcf 106 4.3.2 使用rest客户端 112 4.3.3 使用rest starter kit工具 113 4.4 ajax与wcf的关系 114 4.5 wcf 4与silverlight 118 第5章 实例化 121 5.1 实例上下文模式 122 5.1.1 perlcall模式 122 5.1.2 single模式 125 5.1.3 persession模式 127 5.2 服务的生命周期 131 5.3 性能 137 5.3.1 限流 137 5.3.2 最佳做法 144 5.3.3 负载均衡 144 第6章 工作流服务 147 6.1 剖析工作流服务 148 6.2 声明式服务 149 6.3 接收与发送活动 152 6.3.1 接收活动 152 6.3.2 发送活动 155 6.3.3 sendandreceivereply和receiveandsendreply活动 157 6.4 实现工作流服务的第一个示例 157 6.5 配置工作流服务 161 6.6 实现消息的关联 164 6.7 托管工作流服务 174 第7章 理解wcf安全 177 7.1 web服务安全的历史演变 177 7.2 web服务安全的基本原则 178 7.2.1 验证 178 7.2.2 授权 179 7.2.3 消息的完整性 179 7.2.4 消息的机密性 179 7.3 传输安全与消息安全 180 7.3.1 传输安全 180 7.3.2 消息安全 180 7.4 wcf安全概述 182 第8章 wcf安全实战 195 8.1 验证的起步 195 8.2 基于声明的身份验证模型 196 8.3 验证实战 199 8.3.1 建立在消息安全之上的用户验证 199 8.3.2 建立在传输安全之上的用户名验证 209 8.3.3 利用消息安全实现x509证书的相互验证 213 8.3.4 建立在消息安全之上的kerberos验证 221 8.4 声明转换与安全上下文的初始化 226 8.5 服务授权 228 8.5.1 基于角色的授权 228 8.5.2 基于声明的验证和验证上下文 232 8.5.3 授权管理器 233 第9章 wcf联合验证 237 9.1 联合验证 237 9.1.1 sts服务简介 238 9.1.2 多域之间的联合验证 238 9.1.3 saml语言 239 9.2 wif架构 241 第10章 windows azure platform appfabric 255 10.1 服务总线和访问控制简介 256 10.2 使用服务总线 259 10.3 中继服务 264 10.4 wcf中继绑定 265 10.4.1 netonewayrelaybinding绑定 266 10.4.2 neteventrelaybinding绑定 268 10.4.3 nettcprealybinding绑定 270 10.4.4 http中继绑定 272 10.5 使用访问控制服务(acs) 274 10.5.1 服务名称空间 275 10.5.2 作用域 276 10.5.3 发送者 276 10.5.4 规则 276 10.5.5 把第一个服务集成到访问控制中 277 第11章 创建一个soa案例 285 11.1 需求分析 285 11.2 建立解决方案 286 11.3 创建接口 288 11.3.1 创建carmanagement接口 291 11.3.2 创建customer接口 292 11.3.3 创建rental接口 293 11.3.4 创建external接口 294 11.4 创建服务 296 11.5 创建宿主程序 298 11.6 创建数据库 306 11.7 实现服务 306 11.7.1 为customerservice和rentalservice服务创建数据库访问 307 11.7.2 创建carmanagement服务 308 11.8 公开元数据 310 11.9 创建carmanagement客户端 313 11.10 创建rentalapplication应用程序 320 11.11 添加错误处理功能 325 11.12 模拟客户端 328 11.13 扩展carmanagement接口以接受汽车子类 328 11.14 实现externalinterface-facade 330 11.14.1 调用externalinterface-facade 331 11.14.2 给参与事务的方法设置事务支持 333 11.14.3 为servicehost配置额外的终结点 333 第12章 创建通信和集成案例 335 12.1 需求分析 335 12.2 建立解决方案 337 12.3 创建hqorderentryservice-interface接口项目 338 12.4 创建helperlib类库 340 12.5 创建hqorderentry-implementation项目 341 12.6 创建hqorderentryservicehost项目 342 12.7 创建orderentryapplication项目 343 12.8 创建localorderentryinterface接口项目 345 12.9 继续hqorderentry-implementation项目 346 12.10 创建hqproductserviceasmx项目 348 12.10.1 创建web服务 348 12.10.2 把hqproductservice-asmx作为服务引用添加到orderentryservice-implementation项目中 349 12.10.3 为checkiforderisvalid方法编写代码 350 12.10.4 为translateproduct-description方法编写 12.10.5 为convertorderentry-schema方法编写代码 351 12.11 创建hqlocalizationservice服务 352 12.12 为routeorderentry方法编写代码 354 12.13 创建realtimeordertracking-application应用程序 355 12.13.1 为realtimeorder-trackingapplication方法编写代码 355 12.13.2 添加isubscribetoorder-trackinginfo 接口 356 12.13.3 实现subscribeservice方法 356 12.13.4 在订单处理时调用订阅服务 357 12.13.5 打开subscribeservice服务 358 12.13.6 订阅来自realtimeorder-trackingapplication的事件 359 12.13.7 配置hqorderentry-servicehost宿主 359 12.14 创建路由 360 12.15 配置hqorderentry-servicehost宿主 362 第13章 创建业务流程 365 13.1 需求分析 365 13.2 建立解决方案 366 13.3 创建数据契约 367 13.4 创建calculatereferenceid-service服务 369 13.5 创建receiveapprovedholiday-requestsservice项目 370 13.6 给holidayrequestactivity-library项目添加服务引用 373 13.6.1 添加calculatereferenceid-service项目 373 13.6.2 添加对receiveapproved-holidayrequestsservice服务的引用 374 13.6.3 开发holidayrequestprocess项目 375 13.6.4 添加工作流 375 13.6.5 创建变量 376 13.6.6 配置receive活动 378 13.6.7 配置send活动 379 13.6.8 配置approverequest操作的receiveandsendreply活动 383 13.7 开发holidayrequest-processhost项目 388 13.8 测试这个服务宿主能否正确公开元数据 389 13.9 开发managersholiday-requestapprovalapplication项目 391 13.10 创建sqlworkflowinstance-store项目 391 第14章 托管服务 393 14.1 自托管 394 14.1.1 servicehost和servicehost-base 394 14.1.2 实现一个自定义的servicehost 397 14.2 iis托管 399 14.2.1 servicehostfactory与servicehostfactorybase 401 14.2.2 使用customservice-hostfactory类 401 14.2.3 不通过svc文件承载服务 402 14.2.4 windows激活服务 403 14.3 用windows appfabric管理和跟踪终结点 406 14.3.1 建立windows server appfabric 407 14.3.2 使用appfabric监视服务 409 14.3.3 启动事件查看器 412 14.4 路由服务 413 14.4.1 基于内容的路由 413 14.4.2 协议和安全桥接 417 14.4.3 错误处理 418 14.5 云托管 419 14.5.1 在windows azure中托管wcf服务 420 14.5.2 windows azure platform appfabric服务总线 420 14.5.3 通过云中继服务 421 |
商品评论(0条)