OS 2200 supports all commonly used, and many not so commonly used, distributed processing protocols, APIs, and development technology.
Distributed computing is a field of computer science that studies distributed systems. A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another. The components interact with one another in order to achieve a common goal. Three significant characteristics of distributed systems are: concurrency of components, lack of a global clock, and independent failure of components. Examples of distributed systems vary from SOA-based systems to massively multiplayer online games to peer-to-peer applications.
The X/Open Distributed Transaction Processing model and standards are the basis for much of the OS 2200 capability. [1] Full support for the X/Open XA APIs including two-phase commit are built into transaction middleware, the database managers, and even clustering.
In computing, the XA standard is a specification released in 1991 by X/Open for distributed transaction processing (DTP).
The J2EE model [2] is also fully supported. It uses the XA capabilities of the system but provides the J2EE APIs and protocols.
IBM WebSphere MQ (AKA MQSeries), [3] MSMQ, [4] and others are all fully integrated into the system taking advantage of the XA and integrated recovery facilities.
Microsoft Message Queuing or MSMQ is a message queue implementation developed by Microsoft and deployed in its Windows Server operating systems since Windows NT 4 and Windows 95. Windows Server 2016 and Windows 10 also includes this component. In addition to its mainstream server platform support, MSMQ has been incorporated into Microsoft Embedded platforms since 1999 and the release of Windows CE 3.0.
Access to OS 2200 data can be made from virtually any platform and technology.
Similarly, OS 2200 applications can access data on almost any other platform.
It is rare to find an application that is written completely in one language with one set of middleware. The languages and middleware continue to evolve and applications adopt new technologies when they best fit the business requirements. That is often dictated by the need to integrate with applications written by partners, clients, suppliers, and third-party software providers. They do not all make the same choices and are in any case evolving as well.
A composite application may be created by combining existing transaction logic with different middleware or a front-end written for a specific purpose. Unisys supports the X/Open DTP model (also implemented in Tuxedo) as Open DTP [1] and J2EE. They fully interoperate with each other and with the rest of the system. Two-phase commit processing is supported within the database managers including clustered environments. Connectors are available to other common distributed transaction processing environments.
A distributed transaction is a database transaction in which two or more network hosts are involved. Usually, hosts provide transactional resources, while the transaction manager is responsible for creating and managing a global transaction that encompasses all operations against such resources. Distributed transactions, as any other transactions, must have all four ACID properties, where atomicity guarantees all-or-nothing outcomes for the unit of work.
Tuxedo is a middleware platform used to manage distributed transaction processing in distributed computing environments. Tuxedo is a transaction processing system or transaction-oriented middleware, or enterprise application server for a variety of systems and programming languages. Developed by AT&T in the 1980s, it became a software product of Oracle Corporation in 2008 when they acquired BEA Systems. Tuxedo is now part of the Oracle Fusion Middleware.
The Java Transaction API (JTA), one of the Java Enterprise Edition APIs, enables distributed transactions to be done across multiple X/Open XA resources in a Java environment. JTA is a specification developed under the Java Community Process as JSR 907. JTA provides for:
The Java Message Service (JMS) API is a Java message-oriented middleware API for sending messages between two or more clients. It is an implementation to handle the producer–consumer problem. JMS is a part of the Java Platform, Enterprise Edition, and was defined by a specification developed at Sun Microsystems, but which has since been guided by the Java Community Process. It is a messaging standard that allows application components based on Java EE to create, send, receive, and read messages. It allows the communication between different components of a distributed application to be loosely coupled, reliable, and asynchronous.
In computer science, inter-process communication or interprocess communication (IPC) refers specifically to the mechanisms an operating system provides to allow the processes to manage shared data. Typically, applications can use IPC, categorized as clients and servers, where the client requests data and the server responds to client requests. Many applications are both clients and servers, as commonly seen in distributed computing. Methods for doing IPC are divided into categories which vary based on software requirements, such as performance and modularity requirements, and system circumstances, such as network bandwidth and latency.
An application server is a software framework that provides both facilities to create web applications and a server environment to run them.
Customer Information Control System (CICS) is a family of mixed language application servers that provide online transaction management and connectivity for applications on IBM mainframe systems under z/OS and z/VSE.
Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems. MOM allows application modules to be distributed over heterogeneous platforms and reduces the complexity of developing applications that span multiple operating systems and network protocols. The middleware creates a distributed communications layer that insulates the application developer from the details of the various operating systems and network interfaces. APIs that extend across diverse platforms and networks are typically provided by MOM.
IBM MQ is a family of message-oriented middleware products that IBM launched in December 1993. It was originally called MQSeries, and was renamed WebSphere MQ in 2002 to join the suite of WebSphere products. In April 2014, it was renamed IBM MQ. The products that are included in the MQ family are IBM MQ, IBM MQ Advanced, IBM MQ Appliance, IBM MQ for z/OS, and IBM MQ on IBM Cloud.
MessagePlus/Open is a communication platform for medium to large organizations designed specifically to handle high volumes of traffic within a high-availability environment. Currently supported communication channels include fax, fax over IP, e-mail and SMS, together withvarious options for integration with business applications. The product has been developed by INTERCOPE GmbH, Germany and is sold by both Intercope and IBM. It was previously known as FaxPlus/Open.
TmaxSoft is a South Korea-based multinational corporation specializing in enterprise software. It was founded in 1997 by Professor Daeyeon Park, former Professor at KAIST. The company is separated into 3 businesses: TmaxSoft, TmaxData,and TmaxOS. Currently, TmaxData and TmaxOS are run as affiliated companies.
Open Message Queue is an open-source message-oriented middleware project by Oracle that implements the Java Message Service 2.0 API (JMS). It is the default JMS provider integrated into GlassFish.
OS 2200 is the operating system for the Unisys ClearPath Dorado family of mainframe systems. The operating system kernel of OS 2200 is a lineal descendant of Exec 8 for the UNIVAC 1108. Documentation and other information on current and past Unisys systems can be found on the Unisys public support website.
The OS 2200 database managers are all part of the Universal Data System (UDS). UDS provides a common control structure for multiple different data models. Flat files, network (DMS), and relational (RDMS) data models all share a common locking, recovery, and clustering mechanism. OS 2200 applications can use any mixtures of these data models along with the high-volume transaction file system within the same program while retaining a single common recovery mechanism.
The OS 2200 communications management system includes CPComm and MCB along with many programs that provide communications related functions such as file transfer, e-mail, and distributed transaction processing protocols.
OS 2200 has had several generations of compilers and linkers in its history supporting a wide variety of programming languages. In the first releases, the Exec II assembler (SLEUTH) and compilers were used. The assembler was quickly replaced with an updated version (ASM) designed specifically for the 1108 computer and Exec 8 but the early compilers continued in use for quite some time.
HornetQ is an open-source asynchronous messaging project from JBoss. It is an example of Message-oriented middleware. HornetQ is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. During much of its development, the HornetQ code base was developed under the name JBoss Messaging 2.0.
HP Reliable Transaction Router (RTR) is a transactional middleware for computer software, marketed by Hewlett Packard. RTR is used to integrate with applications that require reliable transaction services.
Enduro/X is an open-source middleware platform for distributed transaction processing. It is built on proven APIs such as X/Open group's XATMI and XA. The platform is designed for building real-time microservices based applications with a clusterization option. Enduro/X functions as an extended drop-in replacement for Oracle Tuxedo. The platform uses in-memory POSIX Kernel queues which insures high interprocess communication throughput.