Structured Transaction Definition Language (STDL) is a block-structured language specialized for distributed transaction processing, developed by the Multivendor Integration Architecture consortium. The main design goals were application portability across multiple interoperable STDL implementations, and ease of implementation on different vendors' transaction processing systems — both new and existing ones. This paper describes STDL's transaction features: demarcating transaction boundaries, transactional remote procedure call, transactional queuing, recoverable terminal I/O, and transactional exception handling. STDL relies on standard C and COBOL for most application logic and all operations on files and SQL databases. All transactional features of STDL and new features outside standard C and COBOL are isolated in procedures written in the STDL task definition language. These features include demarcating transaction boundaries, transaction recovery, exception handling, transactional communications, access to data queues, submission of queued work requests, and invocation of presentation services. This isolation of transactional features is quite different than other persistent programming languages and has two important benefits: one can use applications written in standard C or COBOL; and to implement STDL, it is possible to map clauses of the task definition language onto operations of most any distributed TP monitor.
展开▼