320 likes | 456 Views
Give it a REST already. Arnon Rotem -Gal-Oz VP R&D xsights www.xsights.com www.rgoarchitects.com/nblog. Some Theory. Making sense of the terminology soup. Architectural Styles. Architectural Patterns. Design Patterns. Architecture. Design. Code/Detailed Design. SOA vs. REST.
E N D
Give it a REST already ArnonRotem-Gal-Oz VP R&D xsights www.xsights.com www.rgoarchitects.com/nblog
Some Theory
Making sense of the terminology soup Architectural Styles Architectural Patterns Design Patterns Architecture Design Code/Detailed Design
SOA vs. REST Distributed Agents Pipes and Filters Layered System Client Server Replicated Repository Uniform Interface Virtual Machine Stateless Comm. Cacheable Code On Demand SOA REST
REST = "Representation State Transfer" WebApp Representation(JSON) Cache (Resource) Get (Latest State) Put (New State in XML) Dispatcher OK
Layers should have some constraints on communications Layer? Layer? Layer? Layer?
Layers should have some constraints on communications Layer Layer Component Componet Component
Client/Server Client Server Request Capabilities (services) Requests initiator Reply
Replicated Repository is about having more than one copy providing the same service looks like one copy better performance and latency copy copy copy copy copy copy copy copy copy
Document Centric messages provide the client with the needed stateand allow stateless communications
But you can create others Waka canoe
POST = Create a subordinate resource with ID set by server / update
OPTIONS – The currently available verbs / requirements for communication
http://devrig:52141/RM/Sessions/abc/ • ATOMPUB • Session details • URI (ID) • State (start/end/status etc.) • Resources • Knows status • URI for the Resource representation on the RM • URI for the Resource itself
REST will automagically make you write perfect distributed systems