Tuesday, May 27, 2008

Example-Land: More tasty than Jam on Pickles

Today, I finished reading the OGSA-DAI and Globus user manuals. I found them very informative.

To my delight, I learned/discovered web-services support included in the overarching architecture for Globus. (For this example, call this a Pickle). This suggested that we may be able to wrapper the Medley NLP API, hosted at Columbia with a WSDL using bindings created by an open source toolkit such as gSOAP or Axis C++, I need to point out to the newbies, that the C development language is a Subset of C++. (Henceforth call this Jam). Once we have a WSDL, we might be able to deploy Medley as a web-service to the Globus container. Once deployed we should be able to call the NLP in a variety of ways; Java/JSP, Another Web-Service, A LINUX/UNIX command line, etc

This week I intend to spread jam on pickles, and taste sweet success. Here is the baby "use case scenario"

The Goal: Submit a file of Free Text information, such as an admissions record residing on a remote hospital management system. Receive an HL7 or ICD9 encoded file in XML format on your local node/file-system.

Preconditions: A web-service enabled Globus container is installed on All nodes in the system, security privileges for the user have been setup to allow the operation. A set of free text admissions records in ASCII.

Primary Flow

1. User opens a browser.
2. System prompts user to specify a file to be scanned by Medley-NLP.
3. User selects the desired file from the local file system and submits it.
4. Remote Medley-NLP parses the file
5. Medley-NLP emits an encoded in XML format.
6. Globus transfers the file to the local file system.
7. The file is displayed in the Browser.

Alt. Flow 1.

A. In step 2, the user may select the encoding to receive, HL7 or ICD9

Alt Flow 2.

A. The user can select multiple files for NLP processing


Peter casey said...

Please provide comments and or feedback

Brian Alexander Lee said...

I think the use case needs to compensate for the asynchronous nature of medley. So instead of a user sitting at their browser for a couple of minutes waiting, they need some way of getting notified that their response file is ready (and where it was sent).

I see a couple of possibilities:
1) wait- maybe the user has nothing better to do than wait for 2 minutes for a response
2)transfer file- transfer the file to a specified location on the grid
3)WS callback- specify a web service to call with the response when finished
4)email/SMS- email/SMS a notification that the file is ready (and where it is)
5)Inbox- web site that will show status of the request and provide a link to the result when it is ready

Ken said...

...or maybe a combination of several possibilities. I especially like the SMS response. Does anybody know of an SMS SOAP API that's actually free?