anchor.diff:  
   The Data Flow Server uses an embedded servlet container and exposes REST endpoints for creating, deploying, undeploying, and destroying streams and tasks, querying runtime state, analytics, and the like. The Data Flow Server is implemented using Spring’s MVC framework and the link:https://github.com/SpringSource/spring-hateoas[Spring HATEOAS] library to create REST representations that follow the HATEOAS principle.
   
  -.The Spring Cloud Data Flow Server 
  +.The Spring Cloud Data Flow Server
   image::{dataflow-asciidoc}/images/dataflow-server-arch.png[The Spring Cloud Data Flow Server Architecture, scaledwidth="100%"]
   
   [[arch-data-flow-server-customization]]
   === Customization
   
  -Each Data Flow Server executable jar targets a single runtime by delegating to the implementation of the deployer Service Provider Interface found on the classpath.  
  -
  -We provide a Data Flow Server executable jar that targets a single runtime.  The Data Flow server delegates to the implementation of the deployer Service Provider Interface found on the classpath.  In the current version, there are no endpoints specific to a target runtime, but may be available in future releases as a convenience to access runtime specific features 
  +Each Data Flow Server executable jar targets a single runtime by delegating to the implementation of the deployer Service Provider Interface found on the classpath.
  +
  +We provide a Data Flow Server executable jar that targets a single runtime.  The Data Flow server delegates to the implementation of the deployer Service Provider Interface found on the classpath.  In the current version, there are no endpoints specific to a target runtime, but may be available in future releases as a convenience to access runtime specific features
   
   While we provide a server executable for each of the target runtimes you can also create your own customized server application using Spring Initialzr.   This let’s you add or remove functionality relative to the executable jar we provide.  For example, adding additional security implementations, custom endpoints, or removing Task or Analytics REST endpoints.  You can also enable or disable some features through the use of feature toggles.
   
   [[arch-data-flow-server-security]]
   === Security
   
  -The Data Flow Server executable jars support basic http and OAuth 2.0 authentication to access it endpoints.  Refer to the security section for more information.  
  +The Data Flow Server executable jars support basic http and OAuth 2.0 authentication to access it endpoints.  Refer to the security section for more information.
   
   Authorization via groups is planned for a future release.
   
  
positive.code: === Topologies
  The Stream DSL describes linear sequences of data flowing through the system.  For example, in the stream definition `http | transformer | cassandra`, each pipe symbol connects the application on the left to the one on the right.  Named channels can be used for routing and to fan out data to multiple messaging destinations.
  
  Taps can be used to ‘listen in’ to the data that if flowing across any of the pipe symbols.  Taps can be used as sources for new streams with an in independent life cycle.  
  
  [[arch-streams-concurrency]]
  === Concurrency
  
negative.code: [[arch-streaming-functional-programming]]
  === Functional Programming Model
  
  However, Spring Cloud Stream can support other programming styles.  There is initial support for functional style programming via link:http://docs.spring.io/spring-cloud-stream/docs/1.0.2.RELEASE/reference/htmlsingle/index.html#_rxjava_support[RxJava Observable APIs] and upcoming versions will support callback methods with Project Reactor’s Flux API and Apache Kafka’s KStream API.
  
  [[arch-streams]]
  == Streams
  