Skip navigation
Currently Being Moderated

lzVistA REST Server Released

Posted by Wally Cash on Jan 2, 2010 12:32:08 PM

The beauty of the thing is it's simplicity. I have released a REST server which will form the basis for future development of this project. The server infrastructure is derived from MDB (MGateway's SimpleDB clone) and incorporates many of the Fileman interface tools of M2Web as modified by this project. Support currently exists for Get, Help, Put, RPC, Query, and Validate actions. The RPC action is a new and simplified version of my earlier attempt to implement brokerless RPC execution. RPCs can now be invoked by an authenticated user by providing an option number, RPC number, and any required arguments. Given these pre-conditions, the server will perform the following:

 

1. Verify that the user has access rights to the option.
2. Verify that the RPC is valid for the given option
3. Resolve the RPC number into routine and file names.
4. Load and examine the RPC source to determine the call signature.
5. Given the proper arguments the RPC is then executed.
6. Analyze the return variable by applying a few simple heuristics and render it into XML.

 

This feature needs further evaluation and is perhaps somewhat naive, but I think it has potential. In addition to the security provided by AWS style digitally signed requests, token based sessions are now provided for authenticated VistA users. I have also included a simple RIA tool that has been useful in the development and debugging of the server, and also demonstrates how a client might be constructed to interact with it.

 

ss.png

 

The primary goal of this effort has been to provide a simple, effective, and transparent server scaffolding that can be easily customized and extended.

 

Finally, I have decided not to include the original client framework in this branch. To borrow a term from golf "I'm going to take a Mulligan" on that one. It seemed like the right approach at the time but I was never really satisfied with the results and just couldn't get the implementation right. But I learn and, as with many aspects of this project, have some new ideas. The latest updates are available under the "devel" branch of this project at launchpad. More to come soon...

 

Thanks for the opportunity to contribute and Happy New Year! --Wally

Attachments:
288 Views


Jan 4, 2010 6:10 AM Andy Pardue Andy Pardue    says:

This looks to be a great contribution, Wally.  Thanks and congratulations.  One thing though... I am unable to untar the attachment... tried unzipping it too but no luck.  Can you double check the attachment?

 

Andy

Jan 4, 2010 7:37 AM Wally Cash Wally Cash    says in response to Andy Pardue:

Thanks Andy. It really is a very simple tool and a work in progress. I'll check the archive tonight as I left my laptop at home today. Meanwhile the source has been checked in to bzr at the lzvista Launchpad site.

 

--Wally

Jan 4, 2010 2:44 PM Wally Cash Wally Cash    says in response to Andy Pardue:

I have removed the archive so please obtain the release from Launchpad. While the archive saved locally opens as expected, once uploaded here I cannot download and reopen it - it is not recognized as a tar archive. Thoughts anyone - could it be a MIME issue?

Jan 4, 2010 2:57 PM Andy Pardue Andy Pardue    says in response to Wally Cash:

Try zipping it?

Jan 4, 2010 3:35 PM Wally Cash Wally Cash    says in response to Andy Pardue:

Thanks! The zip has been uploaded and works. Interesting ...