[View INPRISE Home Page][View Product List][Search This Web Site][View Available Downloads][Get Free INPRISE Membership][Enter Discussion Area][Send Email To Webmaster]
MIDAS
When Do I Need to Buy a MIDAS License?
John Kaster
Enterprise Product Manager, Inprise Corporation

Introduction
Borland MIDAS (Multi-Tier Distributed Application Services) is a suite of components and files that make writing a multi-tier application easier than ever. This article does not attempt to explain multi-tier technology to those unfamiliar with it. (For a discussion of how you can use MIDAS for multi-tier application development, please see An Overview of MIDAS.) Rather, it simply explains various ways you may use the MIDAS technology you may develop with Borland Delphi, C++ Builder, or JBuilder.

Not all uses of MIDAS require a license, and not all applications require a multi-tier solution. In many cases, you can still get great benefits from using MIDAS features in your application without requiring the purchase of a deployment license. This is only a guide to help answer the popular question: "When do I need to buy a MIDAS license?" If you feel that your licensing question has not been answered by this article, please consult our LICENSE.TXT and DEPLOY.TXT files that ship with your development tool and contact your Borland sales representative before deploying a MIDAS application.

In all cases, the scenarios in this white paper are for illustrational purposes only. The only legally binding information regarding MIDAS deployment licenses are the MIDAS Deployment licenses themselves and the information that is contained in the License and Deploy documents included with the development tool you use to create the MIDAS application. .

Quote from LICENSE.TXT

This version of the software may include redistributable files identified as "ClientDataSet Redistributables" for creating multi-tier application programs. Installation and use of the ClientDataSet Redistributables for supporting data sharing among two or more computers requires purchase of a MIDAS Deployment License, available separately from Borland; please refer to the online documentation, including DEPLOY.TXT, for contact information. "Data sharing" refers to any use of the ClientDataSet Redistributables for supporting the transmission by any means of data from one computer to another for use by ClientDataSet Redistributables installed on another computer. Note that purchase of a MIDAS Deployment License is not required for deploying an application that does not use ClientDataSet Redistributables for supporting such data sharing among computers.

This may sound complex, but breaking this statement down, you find effectively two components to the license:

  • Using ClientDataSet Redistributables. If you use the ClientDataSet component or the IProvider interface, you are using ClientDataSet Redistributables. The implementation details of the IProvider interface are in DBCLIENT.DLL. You can find the IProvider interfaces surfaced in the TDBDataset and TProvider components. How you use the packet produced by a ClientDataSet dictates whether or not you need a MIDAS deployment license. Please see the example scenarios listed below for further information.
  • Data sharing across machines. If you are using ClientDataSet Redistributables to transmit a data packet from one machine to another machine, then you need a license.

Definitions

ClientDataSet Redistributables
DBClient.DLL is the only file comprising the redistributable portion of MIDAS.
Data packet
The data stream that is packaged up and used in conjunction with the ClientDataSet Redistributables.
One-tier
A self-contained database application. There is no access to another machine to retrieve data.
Two-tier
A database application that retrieves its data from another computer. Typically, you will still need to install the BDE (or a suitable alternative) on client machines. Using this configuration produces what is known as a fat client, due to the size of the executable and extra overhead required in the form of a database access layer.
n-tier
A database application that is partitioned into data services (DBMS), business services (application server) and presentation services (client application). This configuration produces a thin client, due to the low overhead required on the client machine.

Pricing & Licensing

The licensing fees quoted in the following paragraphs are for US customers only and are subject to change without notice. If you are not a US customer, contact your local Inprise sales representative for pricing in your country

  • Unlimited
    The list price for an unlimited client MIDAS license is $5,000 per machine. This particular machine may run any number of MIDAS application servers with any number of users. Contact your Inprise sales representative for current pricing or other pricing options. You may be eligible for a volume discount.
  • Limited MIDAS Server Deployment License (New with MIDAS 2!) This licensing option provides a solution for situations where unlimited user licenses are not the best choice for you. This price-point entry for MIDAS licenses is a per-client license arrangement. This license may be appropriate for you when you know for sure the number of clients accessing the server, or you implement code to enforce the user licenses, such as unique user name and password combinations per user. For example, you can not use this licensing option when an unknown number of clients will be accessing a web server providing data using the data packet. The fee for this license is $250. It includes the right for one user to access the MIDAS server.
  • Additional MIDAS Client License (New with MIDAS 2!) Additional seats for a Limited MIDAS Server start at $125. Seats 2 through 25 are $125 each. Seats 26 and above sell for $80 each. For example, if you have 10 users that need to access one MIDAS application server, the license cost would be $250 + ( 9 * $125 ), or $1,375. Pricing for per-user licenses is calculated to have 50 per-user licenses roughly correspond to a standard, unlimited MIDAS license. This MIDAS Client license can be used for a MIDAS client produced with C++ Builder, Delphi, or JBuilder. Per user licensing does not include a license to use VisiBroker. If you choose this licensing option and wish to use your MIDAS application server with CORBA, you must purchase the VisiBroker deployment license separately.
  • MIDAS Client for Java The MIDAS Client for Java is a development license which includes the right to use the Java-based MIDAS components in JBuilder Client/Server or Enterprise to produce a MIDAS Client. Its suggested retail price is $999. The deployment of a Java-based MIDAS Client is covered by one of the MIDAS deployment licenses listed above. Inprise makes no legal distinction among MIDAS clients produced by Delphi, C++ Builder, or JBuilder.
  • VisiBroker Deployment license A VisiBroker deployment license is normally required when you create an application that uses CORBA. As long as you are using VisiBroker exclusively as the transport for the data in an unlimited User licensed MIDAS application, you do not need to purchase a VisiBroker deployment license. If you plan to use VisiBroker independently of the MIDAS application server, you must purchase VisiBroker separately. For current pricing, contact your sales representative. For further information on VisiBroker, see the VisiBroker home page.

Scenarios
The following examples are not intended to be a complete listing of all possible scenarios; however, they will serve as a guideline to help you determine when purchasing a MIDAS deployment license is required. Some of the scenarios include graphics to help explain the configuration options.

  • Logical & Physical Three-tier (deployment license, no BDE on client)
    This is the typical scenario used when creating multi-tier applications. The developer creates an application server and places it on one machine. This application server exposes data via the IProvider interface. A client application is placed on another machine, and can read the data provided by the application server by using the TClientDataSet component.

Logical & Three-tier Scenario
Logical & Three-tier Scenario.

  • Load-balanced Three-tier (multiple deployment licenses)
    As your deployment becomes increasingly larger and traffic to, from, and on the server increases, you may want to have a certain segment of your users log in to one server, while other users will log in to another server. In this scenario you would be required to purchase one MIDAS license for each server machine that is running an application server. Note that Delphi 4 and C++Builder 4 have a component, TSimpleObjectBroker, that makes load-balancing extremely easy to do.

Load-balanced Three-tier Scenario
Load-balanced Three-tier Scenario.

  • Logical Three-tier/Physical Two-tier (no deployment license, BDE on "client")
    If the developer creates an application server and client application exactly as above, but deploys both the application server and client application to the same machine, no license is required. A byproduct of this setup is that the BDE must be installed to make this solution work. However, you still have access to all of the features of MIDAS (disconnected mode, error reconciliation, etc.). In addition, you can merge the application server and client application to develop a solution that uses ClientDataSet Redistributables to serve and read data all in one application.

Logical Three-tier/Physical Two-tier Scenario
Logical Three-tier/Physical Two-tier Scenario.

  • Multiple application servers on one machine (deployment license)
    Software developers frequently find themselves writing a suite of applications to accomplish different tasks. If you write an application server for each different task, you can run each of those application servers on one machine if you so choose. As long as all the application servers are running on that one machine, only one MIDAS deployment license is required.

  • Standalone (no deployment license, no BDE)
    For deployment needs where the BDE is either too large or requires too much configuration, MIDAS' TClientDataSet can be used to provide a powerful alternative solution. The TClientDataSet component can be used for local data storage. You can use the ClientDataSet component to create an in-memory table. Because this table is in-memory, it is extremely fast. In addition, since it descends from the virtual TDataset class, you can use the standard data-aware controls as you always have. If you want to persist the table, you can use the built-in methods SaveToFile and LoadFromFile for Delphi 3. In Delphi 4, simply assigning the ClientDataSet.FileName property will persist the table automatically.

Standalone Scenario
Standalone Scenario.

  • FTP a briefcase file (deployment license, no BDE)
    In this scenario, a developer writes an application server that uses a ClientDataSet to save data to a briefcase file. This file is then transported via FTP to another machine, where the client decodes that data using another ClientDataSet. Since the IProvider interface wasn't used to transport the data packet back and forth, you might think that this is a configuration that does not require a MIDAS license. However, a license is required here because you used a ClientDataSet Redistributable on one machine to provide data to another ClientDataSet Redistributable on another machine. The fact that FTP is used to transport the data packet is immaterial. The transport you choose has nothing to do with whether or not a MIDAS license is required.

  • Using SocketServer to avoid DCOM configuration - no CDS Redistributables (no deployment license)
    DCOM is very difficult to install, configure and maintain. To combat this problem, you can use SCKTSRVR and TMidasConnection (D3) or TSocketConnection (D4) to route all of the DCOM traffic over straight TCP/IP. If you don't use a ClientDataSet Redistributable to provide a data packet from one machine to another, you can effectively use the SCKTSRVR to bypass the DCOM configuration problems. In addition, using the tools in this manner does not require a MIDAS license.

  • CORBA MIDAS application (deployment license AND VisiBroker license)
    If you create a CORBA application server and deploy it to a server machine, you will need to run VisiBroker on that machine to allow the client to communicate with the CORBA object on the server. If you stopped there with the scenario, all that would be required is a license for VisiBroker. However, if this CORBA application uses MIDAS and the ClientDataSet Redistributables, you will need a MIDAS license as well. If you purchase an unlimited MIDAS license, you also have a license to use VisiBroker specifically for that MIDAS application server, so nothing further is required. If you purchase a per-seat license for MIDAS, you must also purchase VisiBroker. If you use VisiBroker without using a MIDAS application server, you must purchase a VisiBroker license separately. Note that Delphi 4 allows easy integration of DCOM and CORBA objects on both the server and client via the CORBAConnection component.

  • Two (2) Limited MIDAS Servers on one machine, five (5) clients
    Because both the MIDAS servers are on the same machine, only one Limited MIDAS Server deployment license is required for that machine. One user may access the server machine via the Limited MIDAS Server license. Each of the other four clients will require Additional MIDAS Client licenses, totalling four (4). $250 + 4 * $125 = $750.
  • Two (2) Limited MIDAS Servers on two different machines, five (5) clients
    This scenario requires Two Limited MIDAS Server licenses. MIDAS deployment licenses are relevant to a specific machine. For the five clients, one user may access both server machines via the Limited MIDAS Server license. Each of the other four clients will require an Additional MIDAS Client for each machine, totalling eight (8). $250 * 2 + 8 * $125 = $500.

Licensing-related Questions

Q: I am using Borland C++ Builder 3 Client/Server. What version of MIDAS does it come with? Is it compatible with the MIDAS 2 that comes with Delphi 4 Client/Server? Can I upgrade and take advantage of the per-user licensing introduced in MIDAS 2?
A: C++ Builder 3 Client/Server comes with MIDAS 1. MIDAS 2 will be available with C++ Builder 4. The per-user licensing is only available for MIDAS 2.

Q: When I buy a MIDAS Deployment license, what exactly do I get?
A: You get an InstallShield wizard designed to help you deploy your MIDAS server, detailed instructions on what is involved in deploying a MIDAS server, white papers, example code, and OLE Enterprise. For load balancing and fail-over, we recommend enhancing MIDAS' SimpleBroker instead.

Q: Is there software included to monitor user access to the MIDAS server, or are we on the "honor system"?
A: We currently do not provide software for monitoring access to a MIDAS server. There are several ways to implement this with a few lines of code, or by using unique user name/password combinations, but we don't have any preferred recommendations for how to do it. We will be integrating MIDAS into Inprise AppCenter in the future, which does provide monitoring capability.

Trademarks & Copyright © 1999 borland.com a division of INPRISE Corporation