Description:
The .NET is a platform being used to develop many web applications. Is it possible to use these develop n-tier applications that access IDMS? How is this supported at run-time and during development?
Solution:
It is possible to use .NET applications to access CA IDMS. The first thing to note is that often .NET programmers are accustomed to using an OLE interface. IDMS does not support this, as IDMS relies on the ODBC & JDBC protocol. However Microsoft provides a .NET to ODBC bridge product which they call the "ODBC .Net Data Provider". This provides access to native ODBC drivers so they can deliver data to the Microsoft .NET Framework. The ODBC .Net Data Provider is a runtime component.
With .Net Framework v2.0, there is additional support for ODBC.NET such that Visual Studio can discover resources on an IDMS system using the Server Explorer window. For this to work, you must be using IDMS Server r16.1 or have applied QO82002 to IDMS Server r16.0.
Another alternative is to define IDMS as a "linked server" within SQL Server. In this instance, the .Net application runs against SQL Server, which in turn redirects the request to an ODBC data source, in this case IDMS. The steps to do this are as follows.
<Please see attached file for image>
<Please see attached file for image>
<Please see attached file for image>
<Please see attached file for image>
<Please see attached file for image>
In choosing which implementation methodology to use (the ODMC .NET Data Provider or defining a "linked server"), be aware linking IDMS to SQL Server is only appropriate for applications that need most of their data from SQL Server and a small amount from IDMS. If your applications get most or all of the data from IDMS, then it's more appropriate to go to IDMS directly (using the Data Provider) rather than through an intermediate SQL Server machine. Going to IDMS directly will give better performance, plus it will eliminate a point of failure (the SQL Server machine) in the application architecture.