--- riterate: version: "1.0" do_not_update: true ordered_slides: - Abstracting Services in Ruby - Stuff Gets Complicated - "Back when things were simple..." - "Trying to improve user's experience..." - "Use other machines to poll a work table..." - "Use queue infrastructure" - "Issues" - "Problem Domain, Solution Domain" - "Service Middleware Semantics" - "Testing, Debugging, Diagnostics" - Objectives - Foundations of Objects - Messaging - REST - "Design" - "Design: Nouns" - "Design: Verbs" - "Abstraction Leads to Rich Features" - "Simple" - "Client-Side Message" - "Server-Side" - "Client-Side Result" - Sample Service - Using a Client Proxy - Example Message - Client support for any Module - Client Proxy - Message - Result - Coder - Identity Coder - Transport - Client Transport - Call service directly - "Call service directly - Output" - In-core, in-process service - Sample Service with Client Support - "In-core, in-process service - Output" - One-way, asynchronous subprocess service - Subprocess Transport - "One-way, asynchronous subprocess service - Output" - "Subprocess service with continuation" - One-way, file log service - "One-way, file log service - Output" - Replay file log - "Replay file log - Output" - One-way, named pipe service - Named Pipe Server - "One-way, named pipe service - Output" - Chain Coder - One-way, named pipe service with signature - "One-way, named pipe service with signature - Output" - One-way, named pipe service with invalid signature - "One-way, named pipe service with invalid signature - Output" - Socket service - "Socket service - Output" - Socket service with forwarded exception. - "Socket service with forwarded exception. - Output" - Example Exception - Encapsulated Exception - "Socket service with local fallback." - "Socket service with local fallback. - Output" - Implementation - Transport - Transport#send_message - Local Transport - Null Transport - YAML Coder - File Transport - File Transport Support - Payload IO for Transport - Transport#receive_message - Process (receive) messages from a file. - Stream Transport - Serve all Messages from a stream. - Serve a Message from a stream. - Marshal Coder - Sign Coder - TCP Socket Transport - TCP Socket Server - TCP Socket Client - "Transport#send_result" - "Transport#receive_result" - "Sends the encoded Message payload String." - "Receives the encoded Message payload String." - "Sends the encoded Result payload String." - "Receives the encoded Result payload String." - Fallback Transport - Buffer Transport - Synopsis - Slide Tools - Appendix - Modules and Classes - Object Initialization - Diagnostic Logging - Null Coder - Sign Coder Support - Broadcast Transport - HTTP Transport - Transport Support - Message Identity - Message Delay Support - Code More - Client Mixin - Proxy Configuration unknown_slides: [] unordered_slides: []