Sha256: ec69f5981aa025939c520419953dcb63c96b8a09fd2ddc2611b35cb8ed9f05d2

Contents?: true

Size: 1.72 KB

Versions: 10

Compression:

Stored size: 1.72 KB

Contents

h1. Abstracting Services in Ruby

* Kurt Stephens
* 2012/12/11
* Slides -- "http://kurtstephens.com/pub/abstracting_services_in_ruby/asir.slides/":http://kurtstephens.com/pub/abstracting_services_in_ruby/asir.slides/
* Code -- "http://kurtstephens.com/pub/abstracting_services_in_ruby/":http://kurtstephens.com/pub/abstracting_services_in_ruby/
* Git -- "http://github.com/kstephens/abstractiing_services_in_ruby":http://github.com/kstephens/abstractiing_services_in_ruby
* Status -- "!https://travis-ci.org/kstephens/abstracting_services_in_ruby.png!":https://travis-ci.org/kstephens/abstracting_services_in_ruby

h2. Objectives

* Simplify service/client definitions.
* Anticipate new encoding, delivery and security requirements.
* Separate request/response encoding and delivery for composition.
* Elide deployment decisions.
* Integrate diagnostics and logging.
* Simplify integration testing.

h3. Features

* One-way and two-way requests as Module or instance methods.
* Request support:
** Delayed requests.
** Request meta-data: UUID, Timestamp.
* Support for multiple request/response transports:
** File.
** Named Pipe.
** TCP.
** HTTP under WEBrick or as Rack application.
** Beanstalkd. (gem asir_beanstalk)
** ZeroMQ. (gem asir_zmq)
** Resque. (gem asir_resque)
** Buffered transports.
** Broadcast transports.
** Fallback transports.
** Database transports (e.g.: gem asir_activerecord)
** Time-decaying retry and polling logic.
* Support for multiple encodings:
** Marshal.
** XML. (gem asir_xml)
** JSON. (gem asir_json)
** YAML.
** Base64.
** ZLib.
** Chained encodings.
** Signed payloads.

h2. Platform support

* CRuby 1.8.7
* CRuby 1.9.3-head
* CRuby 2.0-head
* Rubinius 1.8 and 1.9 modes.
* JRuby 1.6.x (with JRUBY_OPTS=--1.9) IN-PROGRESS

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
asir-1.2.11 README.textile
asir-1.2.10 README.textile
asir-1.2.9 README.textile
asir-1.2.8 README.textile
asir-1.2.7 README.textile
asir-1.2.6 README.textile
asir-1.2.5 README.textile
asir-1.2.3 README.textile
asir-1.2.2 README.textile
asir-1.2.1 README.textile