Executive Summary
A critical system is a software application that is core to the most important processes of an organization, thereby, impacting the organization’s cost, revenue, and risk structures. Examples of critical systems include applications that:
•
Generate revenue•
Help satisfy regulatory pressure•
Contribute to operational control•
Enable competitive advantage•
Foster customer and partnerloyalty
•
Reduce product or service delivery time The way an IT organization develops, deploys, and maintains critical systems correlates directly to the overall success of the business. An organization’s bottom line suffers when these critical systems have the following issues:•
Cannot be deployed on time•
Suffer from availability, performance, reliability or scalability shortcomings•
Cannot be maintained or upgraded to meet dynamic business requirements•
Require excessive IT labor or system resource costTo ensure success of critical systems, most organizations invest heavily in the design and implementation of the application architecture. Typically, this investment is concentrated in the following components of the architecture: network, operating system, web/application server, programming language, and database technology. The key component missing in this list is the database connectivity layer, even though this component plays an integral part in connecting the application code to the underlying database. Today’s critical systems have zero tolerance for delays or errors relating to accessing, processing, and storing data. Inefficient or unreliable data
connectivity can lead to poor performance, availability, and scalability, and to data integrity issues.
The remainder of this paper discusses the technical benefits you should look for in database connectivity components, and the financial and business implications of your database connectivity choice.
Overview of Database Connectivity
Database connectivity solutions have evolved from using proprietary database APIs to using standards-based APIs to using a wire protocol design.
Using Proprietary Database APIs
When relational databases were first introduced, applications used proprietary database client libraries or APIs (for example, SQL*Net for Oracle, DB Library for Sybase) provided by the database vendor to
communicate with the database. In heterogeneous database environments, using proprietary APIs resulted in interoperability issues and significant inefficiency. Why? — Because developers had to learn multiple APIs and IT organizations had to install, configure, and maintain the client libraries for each version of each supported database.
Extra layer in communication stack degrades performance/scalability.
Database clients must be deployed, which results in administration overhead.
Each database requires different application code, which adds to development costs.
Using Standards-based APIs
Standards-based database connectivity solutions (APIs) were introduced to provide database independence and improved interoperability. The first standard was ODBC, which is still being used by many organizations. JDBC is another that has much traction, and ADO.NET is a newcomer.
Initially, companies developed standards-based database middleware (drivers) on top of the proprietary database API. This approach helped developers by allowing them to learn only the standards-based API; however, the client libraries still had to be installed, configured, and maintained.
Single version of application code for all databases cuts development costs.
Database clients must be deployed, which results in administration overhead.
Extra layer in communication stack degrades performance/scalability.
Using a Wire Protocol Design
To address the inefficiencies related to connectivity solutions based on database clients, database drivers were introduced that communicate directly with the database via a low-level network interface. This approach, referred to as a wire protocol driver:
•
Results in better performance and scalability because the application communicates directly with the database.•
Reduces the administrative costs associated with deploying and maintaining the database clients.This technical innovation was initially introduced in ODBC drivers and is now supported in both Java (JDBC Type IV drivers) and ADO.NET (100% managed code data providers) environments.
Single version of application code for all databases cuts development costs.
No database client eliminates administration overhead.
Direct communication with database results in better performance/scalability.
Database Connectivity Architecture Summary
Proprietary Database APIs Standards-based APIs Wire Protocol Design
Inefficient Multi-layer Proprietary Inefficient Multi-layer Efficient Single Layer Application code is specific to the
database client, which forces the developer to learn a different API for each database.
Standards-based data connectivity provides single application for developers.
Standards-based data connectivity provides single application for developers. Database clients must be
deployed and maintained on the application client for each supported database.
Database clients must be deployed and maintained on the application client for each supported database.
No database clients— communication between
application code and database is direct.
Performance lags behind industry leading database driver solution.
Additional layer significantly reduces performance and scalability.
Optimal performance due to direct communication between the application and the wire protocol.
Not All Drivers Are Created Equal
Many organizations assume that all database drivers that support a standards-based API (such as ODBC) are equal. In reality, the actual implementation of the standard varies significantly from vendor to vendor. To meet the demanding requirements of critical systems, choosing the best database drivers is imperative—drivers that are built on the most efficient architecture, deliver extensive functionality, comply with the API
specification, and are thoroughly tested.
As introduced in the previous section, wire protocol drivers communicate directly with the database. This highly efficient architecture eliminates the need for database client libraries.
When you shop for database drivers to use in critical systems, consider whether the drivers provide the following technical benefits:
•
Superior performance and scalability•
Simplified administration•
Common architecture•
Functional breadth and standards complianceSuperior Performance and Scalability
Wire protocol drivers significantly streamline database connectivity architecture because they eliminate the need for database client libraries, which results in:
•
Improved performance and scalability because the additional memory and disk usage associated with the database client libraries are not needed.•
The drivers interfacing directly with the network, providing “traffic management” functionality, which makes optimal use of the available network.For the industry-leading wire protocol drivers, the data access speed has increased to the point that wire protocol drivers dramatically outperform applications coded using the native database API. This performance advantage has been proven in independent benchmarks as well as numerous real-life, production application scenarios.
DataDirect Technologies driver performance is proven in thousands of production environments—independent tests such as the
SPECjAppServer/ECPerf standardized test suite and an extensive set of internal benchmarks.
DataDirect provides features and configuration options that you can use to tune the driver for specific application environments—features such as connection pooling, statement pooling, and data caching options provide optimal performance.
Simplified Administration
Wire protocol drivers significantly increase application deployment speed and minimize maintenance costs by eliminating the need for database client libraries and by eliminating the conflicts that result from the various versions of client libraries. This significantly reduces the cost associated with installing and configuring the native database client libraries on every computer that accesses the database. Not only does this reduce the initial deployment cost, but it also eliminates the need for re-deploying database client libraries as they are upgraded by the database vendors. The cost savings associated with the reduction of this administrative task is especially significant in environments that leverage multiple versions of a database and/or multiple database technologies.
Using wire protocol drivers also results in a smaller footprint for the application. Client-based architectures have a larger footprint and can directly impact the performance and stability of a system or network. This is especially true when multiple versions of a database or multiple database technologies must be accessed. Each database version and/or database technology requires different client libraries, each consuming scarce memory and CPU resources. In addition, conflicts between client libraries are
common. These factors lead to increased application support costs as well as costly upgrade cycles.
DataDirect Technologies wire-protocol-driver architecture eliminates the need for database client libraries to be deployed and maintained on the client machine. In addition to the administration savings associated with this approach, conflicts that result from various client library versions are eliminated.
Common Architecture
Using common architecture maximizes developer productivity. The leading database connectivity vendors leverage a common architecture that provides a consistent level of support spanning different databases, database
versions, and programming languages (C, C++, Java, C#, VB.NET, etc.). A common architecture results in a consistent level of functionality for
organizations that use multiple programming languages, databases, and database versions. Everything works the same, regardless of the other architecture components used to support the application.
DataDirect Technologies leverages a common architecture across all of our database drivers and providers. By doing this, DataDirect provides a level of consistency that helps IT organizations expedite development and streamline troubleshooting.
Functional Breadth and Standards Compliance
Both functional breadth and standards compliance are two key features that an organization should look for when choosing the database drivers they deploy with their critical systems. Functional breadth provides developers with the flexibility they need to meet demanding application requirements and to ensure that the data access infrastructure can meet the changing needs of the business. Standards compliance ensures interoperability between different databases and protects against database vendor lock-in.
The leading data connectivity vendors provide substantial functional breadth while playing a lead role in standards development. Their products deliver all of the functionality required by the specifications, as well as, a significant number of the optional features. Note that when comparing the capabilities of other database drivers, it is important to verify that the features are fully supported; some vendors provide stub interfaces for some of the required functionality that simply return an error code.
Leading data connectivity vendors also provide:
•
Timely support for new releases of databases, allowing organizations to take advantage of the latest improvements offered by the database vendors.•
Important functionality not defined in the specification, such as distributed transaction support, integrated sign-on support, load balancing, failoversupport, and a complete set of developer productivity and troubleshooting utilities.
DataDirect Technologies not only leads the industry in standards
compliance, we are a key player in the development of the standards. This involvement pays direct dividends to DataDirect customers because we convey customer requirements directly to the standards team. Our early and complete insight into the standards translates into a superior architecture and up-to-date support for the specification. DataDirect often provides support for functionality before the standards specification is complete. DataDirect actively participates in many of the standards organizations, including the JDBC Expert Panel, the ANSI CLI Committee, the JSR 114 Expert Group, and the SQL Access Group. Sun Microsystems relied on DataDirect for help with the initial JDBC standard based on our experience with ODBC. DataDirect participated in writing the OLE DB and ODBC specifications and continues to work closely with Microsoft to advance the development of the entire data connectivity product line.
Application Reliability
Data connectivity bugs can be as detrimental to application reliability as bugs in application business logic or in the database tier. Users depend on
applications to return consistent, accurate results from database queries and for dependable results from updates, inserts, and deletes.
To guarantee application reliability, the database driver vendor must have a commitment to quality and a state-of-the-art testing methodology. Although certification is an important factor in assessing quality, other factors need to be considered. Leading data connectivity vendors leverage an automated test suite that consists of thousands of individual test cases that have been defined over many years. This test suite is crucial to the overall quality database drivers.
DataDirect Technologies uses the largest independent test suite in the industry to test our products. The ODBC product line is certified using the ODBC Verification Suite (OVS), which represents over 30 labor years of development and includes over 10,000 test cases. The JDBC product is certified using the Sun Microsystems Compatibility Test Suite (CTS) and the DataDirect JDBC Verification Suite (JVS), which is the largest pure JDBC application in existence, composed of over 100,000 lines and more than 70 modules.
Another critical success factor of DataDirect quality is our vast customer base. In addition to the thousands of corporations that use our products, over 270 independent software vendors (ISVs) embed DataDirect products. These ISVs, including major database and application server vendors such as Sun Microsystems, Oracle, and IBM, use a stringent testing methodology that adds another level of scrutiny to the DataDirect products.
Feature/Benefit Summary
Feature Benefit
Clientless Architecture
•
Total cost of initial deployment and ongoing maintenance is reduced due to wire protocol design.•
Superior performance and scalability resulting from the direct access to the wire protocol.•
Smaller footprint reduces complexity, which translates into better application reliability.Robust Functionality
•
Robust application functionality can be delivered on time and within budget.•
DataDirect future-proofs your investment by allowing you to react to businesschanges.
•
Complete functionality provides developer flexibility which translates into increased productivity.Standards Leadership
•
Standards compliance eases interoperability issues and prevents vendor lock-in.•
Standards leadership translates into superior product design and timely access tonew features / functionality.
Quality Methodology
•
Extensive test suite translates into reliable, highly performing application solutions.•
Vast customer base and ISV channel ensures additional level of quality thatshortens your development and testing process.
Financial & Business Implications
The database connectivity choices an organization makes for their critical systems have significant implications on cost, software delivery schedules, project revenue potential, regulatory compliance, and customer satisfaction. These choices are not just technical ones.
Database connectivity for sophisticated software systems is highly complex and requires developers to have a specialized skill set. Most software development organizations lack the deep technical understanding necessary to get the most from their database drivers. Couple the complex nature of data access with the growing complexity of software systems, and the result is not good. Add the fact that database connectivity is often not well
considered or specified early in the project lifecycle, and the picture gets worse. Finally, add the generally poor quality of database drivers, and the result can spell significant trouble for a critical system. This trouble can extend well past the IT organization to have significant business and economic implications. Broadly speaking, the trouble can be broken down into three categories:
•
Cost containment/resource allocation•
Risk mitigation•
Revenue/profit/shareholder value Cost Containment/Resource AllocationTo stay on budget, consider database connectivity requirements early in the project lifecycle. Specify precisely what the application needs and choose an
appropriate database driver vendor early. Doing this saves significant unbudgeted expense and unplanned developer time on unforeseen database connectivity issues.
Because data connectivity is both complex and critically important, every project requires development resources assigned to tasks associated with accessing data. If the details surrounding data connectivity are not fully understood early in the project lifecycle, then developers often spend weeks or months during the project getting their application to work. All too often this time was not reflected in the schedule because of the implicit assumption that “it will just work”.
But the work is usually not complete when the application can access the database. Next, the application must go through performance testing, where deficiencies can often be traced to database drivers. This often results in months of developer time tuning and retuning the application and working with deployment readiness or QA groups to meet requirements. Again, this is often unscheduled time.
Adding months to a project schedule is costly. If internal IT does the work, the cost can run into the tens or hundreds of thousands of dollars. If a system integrator is involved, the costs can be doubled or tripled. The flip side of the cost issue is resource allocation. Developers who are working on developing, configuring, testing, and debugging database connectivity are not working on other projects or application features. Risk Mitigation
Risk is a key variable in many IT decisions, and database connectivity is an area of risk. Specifically, two areas are worth discussion:
•
Data integrity and regulatory risk•
IT operational riskUse database connectivity to minimize risk in critical systems. Choose premium database connectivity components that deliver functionality, up-time, reliability, data integrity, and offer key features that support regulatory compliance.
Data Integrity and Regulatory Risk
Valuable data is at the core of every critical system, and database drivers are the conduit by which an application receives the data. With the growing concerns about the use and misuse of data, application architects must consider the implications of their data connectivity choices.
The additional reliability that is gained by using premium data connectivity components increases the overall data integrity of the application and eliminates data-related problems. Simply put, critical systems cannot afford to have data integrity problems. Nor, can they afford to have the significant downtime associated with diagnosing and repairing these issues.
Compounding these data integrity issues are new regulations such as Sarbanes-Oxley that put organizations under increased pressure to ensure that they report data accurately while securing the confidentiality of sensitive data. Although the requirements necessary to support compliance are subject to interpretation and vary based on the size and complexity of the organization, clearly a number of technical features must be implemented to support regulatory compliance efforts.
Premium data connectivity components provide the ability to:
•
Implement integrated authentication (Single Sign-on)•
Consolidate user account management•
Record a comprehensive information audit•
Securely transmit user credentialsImplementing database drivers that support the organization’s compliance initiatives is key to containing costs and mitigating the risks associated with data breaches and regulatory non-compliance.
IT Operational Risk
Thoughtfully selecting database connectivity components can dramatically reduce IT operational risk, which includes project delivery risk, operational and system downtime and failures, and the lack of interoperability/flexibility. Project Delivery Risk: As previously discussed, data connectivity issues are complex and difficult to resolve, and most organizations lack significant expertise in this area. When problems occur, schedules slip. Developers are refocused on resolving issues rather then developing new features. In addition to the tangible cost implications here, the effects of delayed projects ripple throughout the business.
Operational and System Downtime Risk: Poorly designed or implemented database drivers can cause system failures. If a critical application cannot reliably access the database, that application’s value is marginalized. For most critical systems, this risk is unacceptable.
Lack of Interoperability/Flexibility: A critical system with a lifecycle of three or more years must be built with the flexibility to adapt to changes in the IT environment. Responsible IT management builds applications to maximize architectural flexibility to meet this reality. Many database connectivity components do not provide this flexibility—they are designed to work with one version of one database using one implementation of a standard API. Switching databases requires substantial application rewrites. Upgrading database versions requires substantial rework. Choosing a database connectivity solution that maximizes interoperability enables a more flexible architecture for critical systems and reduces the risk of substantial
Revenue/Profit/Shareholder Value
IT management is increasingly tasked with helping the business to realize the goals of revenue, profit, and shareholder value. Software systems are often the key to competitive advantage. On the surface, database
connectivity may seem far removed from top-line competitive advantage; however, many organizations have proven otherwise.
A premium database connectivity solution improves user experience and eliminates risk associated with poor performance, availability, and reliability.
Superior Performance, Scalability, Usability
Leading organizations across the industry spectrum realize that the key competitive differentiators for their critical systems are:
•
Performance (outstanding transaction throughput and processing time)•
Scalability•
Usability•
Application availabilityThese competitive differentiators directly impact the bottom line. Because most critical applications rely on the underlying data structure, data
connectivity becomes a key variable. Choosing a premium solution can often have an exponential benefit for performance and scalability.
Superior Customer Interactions
When database connectivity components fail to perform properly, application functionality becomes unreliable, which leads to disgruntled users. If the application serves customers or partners, they may turn to alternative solutions offered by competitors. If the application is used by internal end users, business unit productivity suffers, and IT may be in violation of service-level commitments that they made to their business constituents. In either case, the business suffers, as does IT’s reputation.
Summary
Database connectivity choices have material impact on the cost,
performance, and risk profile of critical systems. At development time, the wrong choice can add months to a project schedule, while the right choice can enable the delivery of quality software faster. In deployment, the wrong choice can lead to months of performance tuning and configuration
challenges. The right choice can put an application in production in record time. Once in production, the wrong choice can lead to downtime,
performance problems, disgruntled customers, and missed service-level commitments. The right choice delivers the performance, scalability, and reliability needed in an organization’s most important software applications, with the added bonus of satisfied customers.
To deliver robust and reliable applications, you must pay careful attention to the data connectivity layer. You must choose a vendor that provides the functionality, support, and production-proven performance and software quality.
For over 15 years, DataDirect Technologies has been the industry leader in data access technologies. Learn more about DataDirect and download free evaluation software at www.datadirect.com.