[Info-vax] OT: Record locking for web transactions

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Mon Feb 17 16:25:33 EST 2014


On 2014-02-17 20:13:17 +0000, JF Mezei said:

> With RMS, things were simple. the process running the UI also had the 
> record locks. If process dies, any/all locks are released.

Technically with RMS on OpenVMS, you can end up needing and using 
DECdtm and RMS Journaling to really be able to get these applications 
working right, too.  If you're not going to use a transactional 
database, that is.  This because cleaning up dangling locks is but one 
potential outcome when an application process exits unexpectedly — for 
a non-trivial application, you can need to clean up partially-completed 
transactions, and back out various file updates, for instance.

> How does one handle this with web transactions ?

Pick your target programming language, start investigating the 
available web frameworks for it, and start looking at the features of 
your particular database.  
<http://en.wikipedia.org/wiki/List_of_Web_service_Frameworks>  Beyond 
language-specific frameworks, this area can also touch on Erlang, 
ZeroMQ and a variety of other mechanisms and tools, and with the HTTP 
2.0 work.

For general information, search for REST 
<http://www.packetizer.com/ws/rest.html> and HATEOAS and SOAP, among 
other search string targets.   There are many tutorials of RESTful web 
services, SOAP and the rest around the 'net for you to find.

You're already using REST web services, whether or not you realize it 
or not: the web.

As for options and tools, see Apache Tomcat and Axis or Axis2 and 
related web services chunks 
<http://www3.sympatico.ca/n.rieck/docs/openvms_notes_axis2.html#gsoap>. 
 Python with Django or such 
<http://stackoverflow.com/questions/713847/recommendations-of-python-rest-web-services-framework>, 
or Ruby on Rails, or other such options.    There is a gSOAP port 
around <http://gsoaponopenvms.blogspot.com> for OpenVMS, as well.

As for backing out transactions on errors, that's something that a 
transactional database generally deals with, just like on VMS with its 
use of RMS or a relational database.



-- 
Pure Personal Opinion | HoffmanLabs LLC




More information about the Info-vax mailing list