Managing Transactions in a Distributed Environment

By: Borland Staff

Abstract: In this white paper, we discuss recent trends in transactional requirements for distributed object applications.

Integrated Transaction Service

Managing Transactions in a Distributed Environment

Introduction

In this white paper, we discuss recent trends in transactional requirements for distributed object applications. We look at various approaches for managing transactions in a distributed environment. We give a technical overview of INPRISEs VisiBroker Integrated Transaction Service and review the advantages of developing distributed applications with this industry-leading product.

INPRISE Corporation is a leading provider of high-quality software products for corporate application developers worldwide. INPRISE is distinguished for its award-winning family of rapid application development tools and scalable middleware technology for desktop, client/server, Internet/intranet, and enterprise systems. The leading supplier of distributed object technology to the software industry, INPRISE develops pioneering products that enable IT organizations to protect their investments in existing applications while moving to distributed object computing and embracing the new opportunities presented by the Internet.

Overview

Enterprise Information technology (IT) professionals have reached the practical limits of two-tier architectures. Facing growing pressure to deliver broad-reaching application functionality quickly and cost-effectively, IT departments are turning to distributed object computing as the adaptive software architecture on which to build applications that meet these challenging business requirements. With object-oriented computing, IT departments can develop applications faster and less expensively by reusing software components; adapt quickly to new technology while integrating existing systems; flexibly deploy applications across platforms; and simplify maintenance by isolating volatile code in frequently changed objects.

The explosion of the Internet has fueled this shift to distributed objects. Internet business opportunities require a new breed of IT solutions that are suited to this new, rapidly expanding forum. A rapidly growing number of organizations are deploying Internet-based services that require an initial, modest IT investment, yet enable the organization to recover that investment nearly overnight with the low-overhead, high-volume sales that they can generate. The prolific development of these Internet-based applications reinforces the need for a standards-based distributed-object architecture, which enables functionality and data to be shared across applications and over multiple platforms.

As a growing number of sophisticated services are provided over the Internet, the need arises to coordinate application objects into transactions. Web-based applications typically require flexible access to multiple data sources-such as inventory, customer, or shipping data-while maintaining data integrity across these data sources to ensure a consistent state. Such applications create the need for a software solution that coordinates their activities, ensuring consistency, isolation, and durability.

To achieve this, Web-based applications require an object-based transaction service that enables the following:

  • Coordination of multiple components into a single transaction
  • Multiple components to access a single data source or multiple data sources
  • Data integrity across multiple data sources
  • Security of business over the Internet or corporate intranets

How Did We Get Here?

IT professionals began by building high-performance monolithic mainframe applications. Years later, they began to divide many of these applications into client and server components for proprietary two-tier environments. The goal of these client/server applications was to share essential company datastored locally in DBMSs, or on mainframes under the control of CICS or other TP Monitors-among many users, while ensuring data integrity as users updated the information-either relying on the features of the DBMS or using a TP Monitor such as Tuxedo to coordinate the update. However, these two-tier systems were expensive to implement, complex to learn and build, and difficult to adapt to new technologies. Furthermore, the scarcity of skilled programmers made these applications difficult to change and expensive to administer, deploy and maintain.

A New Application Paradigm for the Internet Age
The Internet has placed greater pressure on IT organizations. Not only does it create a new forum on which companies must provide services to stay competitive, it also raises to new heights such issues as security, scalability, data integrity and access to multiple data sources.

Faced with the practical limits of two-tier computing and static three-tier environments, and charged to deliver comprehensive Internet-based solutions, IT organizations have turned to distributed objects. With distributed objects, IT organizations can respond quickly to business demands by reusing functionality across applications, integrating existing systems with new technology, and taking advantage of standards-based languages and protocols to deploy applications across platforms. However, the use of distributed objects brings forth a new application paradigm that affects the way we conceptualize, design, develop, deploy, and maintain business applications: Component-based applications. Instead of building monolithic or two-tier applications, organizations must break applications into components. Components (or objects) enable IT organizations to react quickly to change, allowing them to update only the parts of an application that require it. These objects can be distributed across the network, enabling the flexible deployment of applications.

Software and Platform Interoperability
Proprietary, platform-dependent solutions hinder the interoperability on which distributed object computing is based. Instead, IT professionals must develop open solutions using industry-standard languages and protocols. Using industry-approved standards-such as Java, the Common Object Request Broker Architecture (CORBA(r)), and the Internet Inter-ORB(tm) Protocol (IIOP(tm))-makes applications easier to administer, deploy, and maintain; and results in cross-platform solutions.

The Role of Distributed Transaction Processing
In order to successfully share data and functionality and ensure data integrity across multiple sources, organizations employing the distributed object computing model must coordinate the activities of multiple objects into transactions. To do so, they need a transaction-processing solution that reliably delivers business-critical functions, while ensuring transactional integrity and consistency.

We will use the example of an office supply store that has created a Web-based storefront. From this online store, customers can purchase office supplies and have their purchases express-mailed directly to them. The applications used for the online store must be able to update multiple sources of data at once to ensure that a customers order is processed on timeinventory, credit, and shipping data must all be updated to reflect the same status. The application objects that participate in these transactions must be coordinated to ensure the appropriate actions are taken. To accomplish these goals, the office supply store must integrate existing data stored in mainframes or in DBMSs with the latest Internet technology. This requires a standards-based object-oriented architecture, where components of the application reside on servers inside or outside the company firewall.

Distributed-object architectures require a transaction-processing solution that not only delivers the features of traditional TP Monitors, but also meets the challenges of todays heterogeneous computing environments. This solution must deliver the following:

  • Support for industry-endorsed standards, such as CORBA, Java, and IIOP
  • High performance and scalability in distributed computing environments, such as the Internet
  • Support for object-oriented applications
  • Efficient use of network resources using mechanisms such as connection multiplexing to databases
  • Reliable, fast, transaction-safe access to multiple data sources
  • Access to existing systems (i.e. CICS, DBMSs, and TP Monitors)
  • Rapid changeeasy administration and quick deployment
  • Security and administration for distributed environments
  • Support for multiple platforms and programming languages

What is a Distributed Transaction?
In the world of distributed objects, a transaction is a unit of work composed of a set of operations on objects. An example is transferring money from one bank to another. The transfer is two separate actions-a debit from one account and a credit to another-that comprise a single transaction. A transaction is an atomic unit of work. It either succeeds as a whole or fails as a whole. In our money transfer example, consider the case if we had no surrounding transaction. If the withdrawal of funds succeeded, but the deposit failed, out-of-balance accounts would result. Using a transaction, these operations either both succeed or both fail, so balance is maintained while transfers and changes are made between accounts.

Single Transaction

Transactions do not necessarily involve the transfer of funds. For example, the office supply store we presented earlier needs transactions to perform many activities including: ordering and transferring inventory from suppliers, updating available quantities of supplies accurately, charging customers appropriately for purchases, and fulfilling customer orders. All of these events-and a multitude of others-may need to be executed within transactions.

CORBA: The Industry Standard for Distributed Objects
CORBA has emerged as the de facto standard architecture for distributed object computing. Developed by the Object Management Group (OMG), this distributed object infrastructure enables organizations to build and deploy robust distributed object applications across the Internet and enterprise intranets. Furthermore, CORBA has been adopted by such software industry powers as Oracle, Netscape, Novell, Sybase, Informix and Silicon Graphics, which have integrating CORBA-compliant object request brokers (ORBs) into their products and architectures. (For more information on CORBA, IIOP and ORBs, please see the white paper entitled, Distributed Object Computing in the Internet Age, also available from INPRISE.)

The CORBA Transaction Service
The CORBA Transaction Service, defined by the OMG, enables mission-critical use of distributed applications by providing transactional integrity. It defines IDL interfaces that allow multiple distributed objects to participate in coordinated transactions, and enables a distributed application to handle the various impediments to transaction completion over the Internet and intranets. INPRISEs implementation of the CORBA Transaction Service is embodied in the VisiBroker ITS Transaction Service, a component of the VisiBroker ITS architecture.

The Need for a Transaction-Processing Solution

Rapid delivery of business-critical information over the Internet and corporate intranets requires a solution that integrates the functionality of multiple objects, provides these objects with access to multiple data sources, and ensures data integrity, scalability, and security across every business transaction. To establish and maintain a competitive IT edge, organizations of today must implement these types of solutions.

Enabling Distributed Access to a Single Resource
Even a company with only a single data resource needs a transaction processing solution. When an application initiates a transaction, although it may only interact with a single database server, that application requires transaction coordination across the distributed objects that participate in the transaction.

For example, an application that simply transfers money from a checking account to a savings account typically requires separate objects in a distributed, object-oriented environment. For this application it is most natural to use three objects-one for the transfer function, and one for each of the checking and savings accounts.

Enabling distributed access to a single resource
Figure 1. Enabling distributed access to a single resource.

Even though the data may be stored in a single database, the transaction must be coordinated between the objects. The transfer object begins the transaction, but completion of the transaction is dependent on successfully debiting on the checking account object and crediting the savings account object. If these transactions are not coordinated, inconsistent data could result.

Rather than handle the complexities of transaction management from the transfer object, developers can use a transaction processing solution and focus instead on developing the necessary business logic.

Greater Scalability and Performance
A transaction-processing solution can also bring greater scalability and performance to transactional applications. Some transaction-processing solutions-VisiBroker ITS, for example-provide connection management enhancements such as multiplexing database connections. Multiplexing database connections provides fast, reliable, transaction-safe access to multiple databases, and can improve performance because a new connection is not opened for every process.

Greater Scalability
Figure 2. Greater scalability from database connection multiplexing.

A transaction-processing solution that provides ready-made connectivity to popular databases and mainframes saves additional development time and effort.

Ensuring Data Integrity Across Multiple Data Sources within a Single Transaction
Global transaction coordination is a necessity in environments with multiple data sources-potentially consisting of database servers (such as Oracle or Sybase), TP Monitors (such as CICS, Tuxedo, IMS), and messaging systems (like MQSeries). In fact, whenever an application uses more than one data source in a transaction, global transaction management is needed to coordinate how the transaction accesses those data sources.

In the banking example provided earlier, the checking and savings account information could be stored in separate data sources. Assume that the debit from the savings account is managed by an Oracle database, and the credit to the checking account is managed by a Sybase database. To coordinate these actions, a transaction-processing solutionsuch as a CORBA Transaction Servicemust be employed to ensure that both transactions are completed before the final commit on the transfer takes place.

Ensuring data integrity
Figure 3. Ensuring data integrity across multiple data sources.

Approaches for Managing Transactions in a Distributed Environment

Currently on the market, there is a confusing landscape of solutions that handle transactions in a distributed environment. Some of these approaches use existing technology in an attempt to solve modern problems. Other solutions use new technology and are a better fit for the emerging world of distributed applications. This section outlines the approaches, and addresses their strengths and weaknesses.

TP Monitors
Several vendors offer a TP Monitor approach to handling transactions in a distributed environment. In this fixed architecture, there is a complex monolithic application that handles transaction coordination using a built-in Transaction Manager component.

TP Monitor Approach
Figure 4. TP Monitor approach.

The advantages to the TP Monitor approach are:

  • Proven technology with a heritage and an installed base
  • Functionally rich load balancing and monitoring capabilities
The drawbacks of the TP Monitor approach are:
    --Not a distributed-object model (does not provide the advantages of distributed object computing)
  • Proprietary solution suited to static environments
  • Java client only-no real Java support
  • Expensive to buy and difficult to install and configure

ORBS Interfacing to a TP Monitor
In an effort to rapidly bridge the gap between legacy systems and CORBA applications, other vendors have offered a solution comprised of an ORB plus a TP Monitor. In this hybrid model, an ORB interface to a monolithic TP Monitor is provided.

ORB interfacing
Figure 5. ORB interfacing to a TP Monitor.

The advantages to the ORB plus TP Monitor approach are:

  • Transaction management is provided by an existing technology (TP Monitor)
  • Steps towards compliance with CORBA and other standards
The drawbacks of the ORB plus TP Monitor approach are:
  • Hybrid solution that is neither a complete distributed solution nor a full-featured TP Monitor
  • Transaction service not integrated with the ORB; instead, provides an interface to a third-party solution
  • Proprietary solution that makes proprietary calls (not industry-standard IIOP) to the TP Monitor
  • Static model that cannot take advantage of dynamic discovery of the transaction servicetherefore, the transaction service must reside on every node that supports transactions
  • Implementation that is difficult to install and configure
  • Forces customers to adopt the underlying TP Monitor if they want to leverage its functionality, such as load balancing across servers
  • No real Java(tm) supportsupports only Java clients
  • New technology with limited industry adoption and experience
An example of the ORB plus TP Monitor approach is Ionas Orbix/OTM.

Fully Integrated CORBA Solution
Built specifically to meet the needs of the new application paradigm, a fully integrated CORBA solution offers a fully compliant CORBA Transaction Service tightly integrated with the underlying ORB. With this solution, the transaction service takes advantage of the power of the ORB to perform multithreading and handle connections.

Integrated CORBA solution
Figure 6. Integrated CORBA solution.

The advantages to the Integrated ORB and Transaction Service approach are:

  • Transaction service built from the ground up with modern technology, tightly integrated with standard backbone for the emerging Web infrastructure (ORB/CORBA technology)
  • Built specifically for transactions in a distributed environment
  • Truly distributed architecture that does not require a transaction service on each node
  • Flexibility to deploy transaction service on the appropriate number of servers to meet system requirements
  • Fully scalable with load balancing, connection management, and multithreading from the underlying ORB
  • Complete Java solution-supports both Java server objects and Java clients
  • Compliance with CORBA and other OMG standards
  • Interoperable with other CORBA-compliant software, ORBs, and CORBA Transaction Services
  • Easy to install and configure
The drawbacks of the Integrated ORB and Transaction Service approach are:
  • New technology with limited industry adoption and experience
  • The only example of this solution on the market today is INPRISEs VisiBroker Integrated Transaction Service (ITS).

The VisiBroker Integrated Transaction Service

INPRISEs VisiBroker Integrated Transaction Service (ITS) is the next generation transaction-management solution for delivering reliable, high-performance distributed object applications. It provides a complete solution for distributed, transactional CORBA applications.

Implemented on top of INPRISEs award-winning, industry-standard VisiBroker ORB, VisiBroker ITS simplifies the complexity of distributed transactions by providing an essential set of services-including an implementation of the CORBA Transaction Service, recovery and logging services, integration with databases and legacy systems, and administration facilities-within a single, integrated architecture.

Although the OMG has defined interoperability guidelines for Common Object Services (COS), each service within COS is a separate specification and there has been little attempt to integrate these services into an easy-to-use development and deployment environment.

VisiBroker ITS takes integration one step further by integrating the key features necessary for transactions in a distributed environment.

VisiBroker Architecture
Version 1.0 of VisiBroker ITS focuses on several key components to provide a complete solution for the management of transactions within a distributed environment.

VisiBroker ITS ArchitectureFigure 7. The VisiBroker ITS architecture.

The VisiBroker ITS architecture is comprised of the following components: ITS Transaction Service
The ITS Transaction Servicefully compliant with the OMGs

CORBA Transaction Service
specification (version 1.1)manages the completion of the transaction. The OMG defines the CORBA Transaction Service as the object-oriented solution for transactions in distributed environments. The ITS Transaction Service includes logging and recovery, and provides the recovery information necessary to ensure that a transaction can always be restored to its rightful state-ensuring consistency between resources, even in the event of system failure.

ITS Session Manager
The ITS Session Manager allows an application to obtain an ITS-enabled connection to a specific type of database. Once the connection is made, the ITS Transaction Service handles the transaction coordination. The ITS Session Manager also provides connection pooling. For XA communication with databases, the ITS Session Manager uses an ITS XA Resource Director. The DirectConnect version of the ITS Session Manager enables non-XA communication with the database.

ITS Resource Director
The ITS XA Resource Director manages all XA protocol interactions with a particular resource that is participating in one or more transactions. It handles all transactions with a specific database on the network. The ITS XA Resource Director bridges the ITS and X/Open transaction environments, allowing interoperability between the ITS Resource model and the X/Open Distributed Transaction Protocol (DTP) Resource Manager model.

ITS TransFuse
ITS TransFuse provides an interface to existing systems such as TP Monitors (Tuxedo, CICS, and IMS), as well as messaging software (such as MQ Series). Resources accessed using ITS TransFuse can participate in transactions managed by ITS. ITS CodeSync is a companion component that automates the conversion of COBOL data definitions to C++ or Java.

VisiBroker ORB
Applications using VisiBroker ITS for distributed transaction management are provided the functionality and benefits of the VisiBroker ORB (version 3.x). The ORB has many features, including: thread-pooling, multiplexed and recycled connections, load balancing, and fault tolerance. Many of these features are typically part of a transaction-processing monitor. VisiBroker ITS uses interceptorsa powerful feature of the VisiBroker ORB-to implement its functionality.

ITS Administrator
The ITS Administrator is a graphical monitoring tool that is useful for managing distributed transactions over the network. From the ITS Administrator, you can view critical information for current transactions, investigate problems in the error log, and discover the details on heuristic outcomes.

VisiBroker ITS is distributed as a shared library and an executable. This flexible architecture allows you to deploy applications in one of two ways: locally (as a single process running on a single machine) or as a fully distributed application made up of multiple processes running on multiple machines.

How VisiBroker Enables the New Application Paradigm

Earlier in this paper, we described an office supply store that established an Internet presence by deploying an online storefront. The company provided a Web browser-based interface that allows the user to search through a product catalog, receive detailed information about office supplies, and place an order online against a corporate account. The architecture for this online system must provide secure, scalable, robust and fault-tolerant operations, and be open for integration with existing software systems.

Key Functions of the Online Store: an Example
Key functions performed by the online office supply store are:

  • Interacting with remote shoppers using a browser-based UI
  • Maintaining a product catalog with up-to-date listings
  • Tracking inventory as it enters the warehouse, leaves the warehouse, and is shipped to customers
  • Tracking orders as they are received from remote shoppers
  • Generating invoices and tracking customer payments online

Architecture for the Online Store
The architecture of this online office supply store is comprised of:

  • A Java applet that the customer runs within his Web browser
  • An Order object which initiates the transaction
  • Back-end servers that provide access to shared data (inventory, accounts, etc.) and shared functional objects (Inventory and Charge transactional objects)

Architecture
Figure 8. Architecture for the online office supply store.

Figure 8 displays the following:

  1. The customer uses the graphical forms of the Java applet to select items to purchase, and then executes the order (likely by pushing a Place Order button). The Order object is contacted.
  2. The Order object contacts the ITS Transaction Service, and begins a transaction. The transaction is begun on the intranet, rather than the Internet, to avoid the decreased performance caused by network latency. From this point until the Order object requests to commit the transaction, the ITS Transaction Service coordinates the update to the data sources as part of the transaction.
  3. The Order object contacts the Inventory object to determine if the office supply store has enough inventory to fulfill the customers request. The Inventory object uses the ITS Session Manager to establish a connection to the appropriate data source-which happens to reside on the Oracle DBMS shown on the network.
  4. The Order object contacts the Charge object to determine if the customer has enough credit in his account to purchase the desired office supplies. If so, it debits his account the appropriate amount. The Charge object uses ITS TransFuse to establish a connection to the appropriate data source-which is managed through the TP Monitor/mainframe shown on the network.
  5. When the Order object requests to commit the transaction, the ITS Transaction Service manages the two-phase commit process necessary to ensure data integrity across the data sources in the Oracle DBMS and the TP Monitor/mainframe.

Since ITS works in distributed environments, the number of physical servers to implement the application may be 1, 2, 3 or moredepending on customer requirements such as transaction volume or system availability. This is why the components are shown as objects attached to a network in Figure 7it does not matter where these objects or ITS components actually reside.

VisiBroker ITS Delivers the Next-Generation Application Architecture
The power and flexibility offered by the VisiBroker ITS solution is based on its distributed architecture. Unlike other transactional solutions, such as TP Monitors (which are best suited for static environments), VisiBroker ITS was designed to support dynamic objects in a distributed environment. The ITS Transaction Service and the corresponding transaction logs are not required on every server but can be dynamically discovered by the VisiBroker ORB. Communication between objects is provided using smart binding and IIOP. Various performance optimization options exist, such as embedding the ITS Transaction Service in the same server as other application objects.

The distributed architecture of the online office supply store works because the VisiBroker ORB is integrated with VisiBroker ITS, which handles logging, recovery, and integration with other systems. The VisiBroker ORBs Smart Agent technology enables client objects to locate the transactional objects needed to perform the transaction. The Smart Agent technology also delivers load balancing and high availability (fault tolerance) of instances of the ITS Transaction Service in a distributed environment. (Additional information about the VisiBroker Smart Agent can be found in the VisiBroker ORB data sheet.)

Additionally, the ITS Session Manager provides fast, reliable, transaction-safe access to multiple databases. It enhances performance and scalability with its database connection multiplexing, which recycles connections rather than opening new connections for every client request. Database connection pooling conserves system resources by reducing the number of overall connections.

The Benefits of VisiBroker ITS

VisiBroker ITS manages the completion of transactions using a one-phase or two-phase commit protocol, as appropriate. If there is only one resource involved in a transaction, the one-phase commit protocol will be used. In addition to the transaction management features described in CORBAs Transaction Service specification, VisiBroker ITS has numerous important features, including:

  • Designed for the new era of distributed object computing
  • Interoperability with existing environments
  • Support for industry standards
  • Ease of administration and deployment
  • Scalability and performance
  • A complete solution

Designed for the New Era of Distributed Object Computing
Built on the Leading ORB
VisiBroker ITS is built on the industry-leading ORB implementation-VisiBroker. VisiBroker ORBs have been integrated into the products and architectures of such leading software companies as Netscape (Netscape Navigator 4.0 and Netscape Enterprise Server 3.0); Oracle (Network Computing Architecture); and Novell (IntranetWare Server). This means that transactional applications built on VisiBroker ITS are fully Interoperable with the infrastructure of the software you need to complete your distributed solution.

Full Support for Transactions in a Distributed Environment
VisiBroker ITS is the ideal environment for developing distributed, object-based transactional applications for use over the Internet or enterprise intranets. VisiBroker ITS supports transactions involving multiple objects, and transactions which span multiple data sources. Transactions can also span multiple platforms such as NT and various Unix OS platforms, and can be part of an existing system such as CICS on the MVS platform.

Optimal Return on Your Java Investment
INPRISE is the leader in the Java ORB market. INPRISEs leading Java technology includes Caffeine, which eases Java-based CORBA development; the JBuilder development tool, which is integrated with the VisiBroker ORB; and transactional support for Java clients and Java servers. ITS provides direct connectivity to JDBC including support for database connection pooling. INPRISE was the first company to develop a Java ORB for both the client and the server, the first to develop services for Java, and the first to support OMG Java standards such as mapping IDL to Java. These pioneering efforts have helped to make VisiBroker the ORB of choice for leading-edge software companies-including Netscape, Oracle, and Novell-that have integrated CORBA into their products and architectures.

Safely Conduct and Extend Over the Web
With its integration of the VisiBroker ORB, VisiBroker ITS provides a middleware solution built from the ground up to fully utilize the Web while providing a secure, reliable approach to the execution of transactions in a distributed environment. The VisiBroker ORB is the most powerful ORB in the market. It delivers the functionality needed to develop scalable, high-performance applications-including multi-threading, connection pooling, load balancing and fault tolerance. Security for the distributed application is provided with the VisiBroker SSL Pack or with the Security Service. VisiBroker ITS provides the reliability necessary for business-critical applications with its integrated transaction management features.

Interoperability with Existing Environments
VisiBroker ITS provides seamless access to multiple data sources, supporting both XA and non-XA environments. Data from existing systems can be accessed via ITS TransFuse.

With XA Resources
The ITS XA Resource Director provides connectivity between VisiBroker ITS and resources that comply with the X/Open DTP specification (such as Oracle and Sybase). The ITS XA Resource Director provides connectivity with relational databases such as Oracle and Sybase.

With Existing Systems
Using its ITS TransFuse component, VisiBroker ITS provides seamless integration with a number of transaction-processing monitors (including Tuxedo, CICS, and IMS), as well as providing integration with messaging software such as MQ Series. VisiBroker ITS coordinates transactions with which participants can include databases as well as these existing systems.

With Non-XA Resources
VisiBroker ITS supports non-XA resources for situations where XA is not requiredsuch as applications comprised of a single object that uses a single database. In these cases, direct connection to databases without XA resources can save overhead and improve performance.

Support for Industry Standards
Compliant with CORBA
VisiBroker ITS is fully compliant with the OMGs CORBAservices specification (version 2.1). As a result, it can be used to perform transaction management with other vendors CORBA-compliant transaction service products. VisiBroker ITS is compliant with the 1.1 version of the CORBA Transaction Service. Due to the VisiBroker ORBs compliance with the CORBA 2.0 specification and its use of IIOP, VisiBroker ITS is Interoperable with other CORBA 2.0-compliant ORBs.

Supports Java and C++
With INPRISEs ORB products, you can develop transactional applications in Java, C++, or both of these programming languages.

Fully Interoperable with Other VisiBroker Products
VisiBroker ITS is fully interoperable with VisiBroker ORBs for both Java and C++.

Supports XA and Non-XA Communication with Resources
VisiBroker ITS supports both XA and non-XA communication with databases.

Ease of Administration and Deployment
Fully Integrated Solution
The cost of administering and deploying VisiBroker ITS is reduced by virtue of its tight integration with the VisiBroker ORB. VisiBroker ITS can fully leverage all VisiBroker ORB capabilities, such as thread pooling and the Smart Agent technology. Additionally, the integration of other services-such as logging, recovery and data access-reduces the complexity of deployment.

Ease of Installation and Configuration
While providing the functionality of a TP Monitor, VisiBroker ITS is much easier to install and configure. VisiBroker ITS is distributed with default parameters that are appropriate for a development environment and should not require any configuration. At deployment time, administrators can determine the best configuration for the deployment environment and make appropriate modifications to the parameters. Making these adjustments is easy with VisiBroker ITSs dynamic online configuration management and reliable logging and recovery mechanisms.

Minimal and Flexible Deployments
In contrast to other solutions, such as TP Monitors, the ITS Transaction Service does not need to be deployed on all nodes because an instance of the ITS Transaction Service can be discovered on the network dynamically using the ORBs Smart Agent technology. Also, thanks to a flexible software architecture, each VisiBroker ITS component can be distributed as a shared library and as an executable. This allows developers to choose if they want to deploy their application as a local, single process application, or as a fully distributed application.

Monitoring and Management Capabilities
With the ITS Administrator-a graphical monitoring tool-you can monitor and query the status and completion of transactions, terminate a transaction, as well as view the self-managing ITS heuristic and message log files.

Scalability and Performance
Benefits from Integration of the ORB
Distributed transactional object applications must be highly scalable. VisiBroker ITSs architecture provides for high performance and scalability as a result of its use of the VisiBroker ORBs multi-threaded architecture, connection management facilities, load balancing, SmartBinding, dynamic object creation, fault tolerance, event handing, and use of IIOP.

Efficient Database Connections
The database connection pooling capabilities of the ITS Session Manager improve performance by multiplexing connections to databases rather than opening database connections for each request. This saves system resources and will improve scalability.

Low Overhead
ITS uses a just-in-time object creation methodology that creates transaction application objects only when they are needed. This is important for reducing overhead as the CORBA Transaction Service specification requires that many objects be created for each transaction, whether necessary or not.

A Complete Solution
VisiBroker ITS provides a flexible architecture for building distributed object applications. VisiBroker ITS is part of a complete, open application architecture designed to enable robust, object-based distributed applications that seamlessly integrate with an organizations existing application architectures. INPRISEs ORB-centric approach augments the capabilities of the VisiBroker ORB with the powerful transaction management capabilities of VisiBroker ITS, integrates with a wide-range of legacy and database environments, and adds additional ORB services such as security and messaging along with a set of productivity and management tools. All of these components together comprise the next-generation architecture needed to build enterprise distributed applications.

Summary

In response to growing demands for faster and more cost-effective application development, IT organizations are turning to the distributed object computing model, which enables the reuse of business processing functionality. By reusing software components, developers can assemble new applications rather than build them from the ground up. The explosion of the Internet has also fueled this shift to distributed object computing, which provides a software architecture that is ideal for robust Web-based applications. However, the opportunities presented by Web-based computing bring with them new concerns for interoperability, security, scalability, data integrity, and access to multiple data sources. Furthermore, object-oriented business applications require sophisticated transaction management capabilities in order to ensure transactional integrity. VisiBroker ITS is the first solution to meet all of these requirements. Its integrated product architecture provides a flexible framework for developing and deploying transactional applications in an open, distributed environment.

About Inprise

INPRISE Corporation is a leading provider of high-quality software products for corporate application developers worldwide. INPRISE is distinguished for its award-winning family of rapid application development tools and scalable middleware technology for desktop, client/server, Internet/intranet, and enterprise systems. The leading supplier of distributed object technology to the software industry, INPRISE develops pioneering products that enable IT organizations to protect their investments in existing applications while moving to distributed object computing and embracing the new opportunities presented by the Internet.

Server Response from: SC1