OpenSRF Protocol


The Primary Players

Message Types

Common Statuses

Communication Types

Example communication – stateful request to an authentication service

  1. Client sends CONNECT to the Router.

  2. Router looks up next server in the auth service server pool. For example, there could be 5 auth servers registered with the router. The next one in line gets the request.

  3. Router forwards CONNECT to the selected auth server.

  4. Auth server responds with a STATUS message with status 200 OK.

  5. Client sends REQUEST message directly to the auth worker process that responded with the OK status.

  6. Auth worker process performs the request and sends a RESULT message with any result payload

  7. Client sends a DISCONNECT to the auth worker process to terminate the session. Note that if the client neglected to send a DISCONNECT message, the auth server process would have responded with a STATUS 408 TIMEOUT after the configured amount of time.



------------------------------------------------------------------------------------------------

OpenSRF Software Architecture

See http://open-ils.org/documentation/OpenILS_Structural_Overview.png

Transport Subsystem

Components common to clients and servers

Server-specific Components

Application Modules

------------------------------------------------------------------------------------------------

OpenSRF Server Architecture

For an example server layout, see http://open-ils.org/documentation/OpenSRF_Server_Architecture.jpg