Data Access in Island Hopper News

Island Hopper News stores its information about its customers and the ads they have placed in a Microsoft SQL Server database. The application uses ActiveX Data Objects (ADO) to retrieve information from the database. Microsoft Transaction Server (MTS) calls ADO objects from the business-services tier; the ADO objects cross the process boundary between the business-services tier and the data-services tier. The ADO components call stored procedures in SQL Server to retrieve and modify records in the database tables.

At first, using ADO to call from MTS sounds more resource-intensive than a two-tier design where the client calls the database directly. N-tier design, however, offers several advantages in the areas of security and scalability, two areas of paramount importance in the enterprise. In the client/server model, user authentication was handled by the database itself. Instead of managing permissions between individual users and the database, MTS applications use an intermediary. Only the MTS component accesses the database. MTS uses roles to determine which users can access the component itself.

To enhance scalability, MTS tries to share resources, such as ODBC connections, as much as possible. In client/server applications, the limited number of connections to a database were used up quickly. In the Windows DNA n-tier computing environment, MTS objects that run in the same package can share database connections. MTS also automatically handles object instance creation and pools database connections; during a single session, an MTS object the user calls may appear and disappear many times. This application behavior, however, will remain completely transparent to the user, who experiences it as a single session.