Transcript WG-27_REST

Applying REST to DICOM
Chris Hafey
Feb 23, 2011
Introduction
• Three Types of Web Services
– RPC Based (WS*)
– REST
– REST/RPC Hybrid
• Pure REST is a great fit for DICOM
– Simple
– Wide technology support
– Many DICOM use cases are CRUDish
Resource Oriented Architecture
•
•
•
•
•
•
•
Resources
URIs
Addressability
Statelessness
Representations
Links and Connectedness
Uniform Interface
Resources
• Entities
– DICOM Modules
• Patient
• Study
– UID Based
• Study, Series, Instance
– Internals
• Image Frame
• Algorithms
– Render Image
– Search
• Complex Transactions
– Merge Studies
URIs
• Entites
– Use path to specify where an entity is
– E.g – A study
• http://server/study/1.2.3.4.5
• Algorithms
– Use Path to specify which algorithm/entity to run
– Pass algorithm parameters via http query parameters
– E.g. – render a sop instance as a JPEG with a specific window center/window
width
• http://server/study/1.2.3.4.5/series/1.2.3/instance/1.2.3?windowWidth=400&windowC
enter=40
• Transactions
– Use path to specify transactions
– The transaction resource can point to other entities that will be affected
Addressability
• Expose interesting aspects of its data set as
resources
– Allows data to be used in ways not originally
anticipated
– E.g. exposing individual DICOM Modules to be
independently accessed
Statelessness
• Each HTTP Request happens in complete
isolation
– No “session”
– Simplifies error conditions
– Can send the same web request multiple times
without side effects
Representations
• Leverage MIME Types
– Application/XML
– Application/JSON
– Application/DICOM
– Image/JPEG
– Image/PNG
• A resource can be returned in multiple
representations
Links and Connectedness
• Use HREF to link between resources
• DICOM Examples
– Patient to Study
– Study to Series
– Series to Instance
– Presentation State to Image
– Structured report to Image
Uniform Interface
HTTP Method
Purpose
RDBMS Analog
GET
Retrieve
Select
PUT
Update
Update
POST
Create
Insert
DELETE
Delete
Delete
Reference Books
• RESTful Web Services
– Leonard Richardson & Sam Ruby
• RESTful Web Services Cookbook
– Subbu Allamaraju
• REST in Practice
– Ian Robinson, Jim Webber, and Savas Parastatidis