zoukankan      html  css  js  c++  java
  • WCF 学习系列——WCF的学习基础

    这个系列的博客由WCF4 高级编程学习记录,如有错误请指正。

    首先介绍一些概念:

    SOA: (Service-Oriented Architecture 面向服务架构),一种架构方法,也是一种编程模式。SOA架构允许用户一定的方式组织分布是应用程序。SOA基本思想就是构建一个松耦合的系统,SOA构架的技术基础是SOAP标准。

    SOAP:(Simple Object Access Protocol 简单对象访问协议),交换数据的一种协议,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议。使用XML语言来定义一个服务操作所发送和接收消息的内容。一个SOAP包含一个消息头(可选)和一个消息体(必须),消息头与业务无关,消息体包含有用数据。

    XSD: 指XML结构定义 ( XML Schemas Definition )

    WS-* Protocols:WS-*是一系列标准协议,他们规定了使用分布式消息传递时如何实现某个需求和行为;描述了如何通过SOAP头元素实现安全、可靠、事务性的消息交换等。

    WSDL:对契约的XML格式的定义,包括服务接口的元数据,函数名称、参数名称、数据类型、函数返回值类型等。WSDL文档主要作用就是按跨平台方式定义契约,因为它是按照XML格式定义的。

    SOAP架构的原则:

      • 1. 边界显示定义:服务运行时所处的进程和内存空间必须独立于引用服务的客户端程序所在的进程和内存空间,客户端通过地址访问服务。通俗的讲:客户端和服务运行在完全不同的两个地方,服务告诉客户端地址。
      • 2. 服务自动化: 服务是不依赖其他服务的行为的独立程序模块。服务之间没有任何耦合,且每个服务的不同版本相互独立。
      • 3. 服务共享的是模式和契约,而不是实现类:模式是对服务操作的定义,它以独立于平台的方式来描述签名。契约是服务的元数据,是服务作为黑盒的对外接口。我的理解是:客户端和服务共享的只有接口,而不是具体的实现类。
      • 4. 基于策略的服务兼容性: 也就是说服务决定在满足一定条件的情况下才能处理客户端发送的消息。如消息的格式和对安全方面的要求,必须使用策略。

    服务的生态系统:

    image

    SOA服务生态系统组成示意图

    • 1. 应用程序由服务组成:整个系统的核心就是服务,由服务组成的模块构建起完整的应用程序。
    • 2. 服务的状态管理: 服务的任务和操作就是持久化数据和读取数据。
    • 3. 服务的实施策略:服务幽泉制定与服务逻辑有关的策略,策略定义了服务使用者行为模式的先决条件。该策略大多数是安全方面的协议。
    • 4. 策略实施操作要求:客户端必须实施某种安全策略才能调用服务。
    • 5. 服务是由契约绑定的: 当服务描述的操作签名存在时,服务才存在。契约显示定义,并且在运行时要绑定到服务。
    • 6. 契约定义了消息交换模式:消息交换模式分为三种:

    1. 请求-相应模式: 最常见的模式,每次调用都返回消息。

    2. 单向模式: 服务没有返回结构,可以异步调用。

    3. 双向模式: 服务和客户端可以项目调用。

    • 7. 契约包含模式,而模式定义消息的结构: 模式采用XSD文档格式来描述参数。XSD用来描述传入服务操作的参数和返回的结果。
    • 8. 消息交换模式是一个消息集: 消息的组合和调用顺序可以用一个更加复杂的交换模式来描述。消息交换模式定义哪个操作先调用,哪个操作后调用。
    • 9. 服务交换信息: 交换信息意味着调用一个操作和接收来自此操作的相应。交换信息也就是,一个消息把客户端的输入参数传输给服务,另一个消息把相应传送给调用者。

    这篇文章介绍了基本的SOA程序的构成部分和服务在SOA程序中的作用,下一篇文章介绍WCF的基础内容。

  • 相关阅读:
    scp(secure copy)安全拷贝
    rsync 远程同步工具
    Ansible:遇到错误 "sudo: /etc/sudoers is world writable sudo: no valid sudoers sources found, quitting
    kafka数据分区的四种策略
    SwitchHosts—hosts管理利器
    HDU 2577 How to Type (字符串处理)
    HDU 1465 不容易系列之一 (错排公式+容斥)
    FZUOJ 2205 据说题目很水 (无三元环图最大边数)
    约瑟夫环问题 ( 最简单的数学解法)
    POJ 3279 Fliptile ( 开关问题)
  • 原文地址:https://www.cnblogs.com/zhaoxixi/p/4574010.html
Copyright © 2011-2022 走看看