Why OCI?
Applications form the most important infrastructural elements of an enterprise. These applications help your customers to enter orders, your employees to service these orders, and your business to be successful. From small tasks to large mission critical functions, enterprises depend on applications connected to the Oracle Database to transact business quickly and efficiently.
For application developers looking to develop the highest performance applications for the Oracle Database, the Oracle Call Interface (OCI) is the only choice. For the capability of accessing the most platforms and the most database features, application developers choose OCI for its stability, features, and outstanding support. OCI provides these developers the flexibility and degree of control unparalleled in any other programming interface for the Oracle Database. Already used in all levels of database connectivity, from the database access layers of tandem application servers, to full-fledged applications, OCI is the recurring choice for working with Oracle. Some reasons include:
Cross-platform functional support – All platforms supported by the Oracle Database have the same functional API support. There is neither source code porting nor loss of functionality when moving to different platforms. Just compile and run your applications on the platform of choice.
Stability – Programs written today will work well into the future, ensuring the functional longevity of your applications. Thus, there is no constant code rewriting to achieve the same functionality.
Greatest control – OCI offers the greatest degree of control in transaction handling and SQL statement processing for the more sophisticated developers
Transaction Management
Applications use OCI especially for the transaction management capabilities. From the simplest queries to complex scheduled transactions and information movement, OCI allows applications to perform under the most intense workload requirements.
• Simple Local Transactions – simple queries and inserts are optimized by OCI to execute on the server quickly while using very few resources.
• Global Distributed Transactions over dblinks – more complex transactions involving multiple databases are multiplexed through dblinks to provide unparalleled performance when dealing with large numbers of transactions that span multiple databases.
• XA transaction management – in heterogeneous environments, Oracle can act as the focal point of transaction coordination between Oracle and many different vendors’ databases and applications, so that your applications are not locked in by any limitations.
Connection Management
Many applications need to manage connections at different granularities, but should not need to reimplement the functionality. OCI provides many features that allow the sharing of many virtual connections to the database without the management hassle:
• Connection Pooling – multiplex many concurrent virtual network connections over a fewer number of physical connections, since not all connections are being used simultaneously in real world environments. This feature limits the number of network connections to your real simultaneous load.
• Session Pooling – multiplex many short transactions over a few sessions, which is good for most web service applications with many servers doing the same types of transactions. This saves time both server resources and network resources, leading to greater scalability.
• Statement Caching – cache commonly used statements for quick results. Useful for most applications that do simple queries, inserts, and updates. These types of applications include high performance information servers such as stock quote services, rental listing services, and standardized information gathering services.
Object Interaction
Oracle Objects allows your applications to be extensible, manageable, and scalable. OCI provides many hooks for your application to access these powerful capabilities.
• Object Type Translator – The Object Type Translator creates the appropriate C, C++, and Java code for converting Oracle Objects in the
database to usable types in native application code. Thus, little maintenance is required for creating the connective layer that interacts with Oracle Objects.
• Navigational Object Interface – Ability to access objects through links in other objects. Your application can interact with objects in the database in the same manner as your own locally created application objects.
• Client-side Object Cache – When accessing objects through the object hierarchy, OCI can cache these objects for speedier access, while maintaining coherency with the database backend. This prefetching capability includes both simple objects and connected graphs of objects.
New Features
OCI is actively developed, with useful new features always added. Here are some of the newest features:
• Instant Client – Now your applications can run independent of an Oracle Home environment, as the power of the OCI library is repackaged in a convenient form
• Native Float and Double Support – Applications can now seamlessly use the standard IEEE754 float and double types native to C without conversion, when interacting with the Oracle Database and the appropriate column types.
• Database Startup and Shutdown – Administrative applications can now startup and shutdown the database through new API calls.
BENEFITS
Developers use OCI not only for the features, but also for the benefits it provides them. Some of the major benefits include:
• Lower Maintenance Costs – your applications can take advantage of commonly required functionalities. Session pooling, statement caching, and scrollable cursors are all features already implemented by OCI for your application’s benefit.
• API Stability – your applications are expected to work as long as you do, so why repeat work when you do not have to? OCI has a very stable API that helps your applications through the changes in your IT infrastructure. Your applications can expand their capabilities as needed, while maintaining the core sets of functionality from release to release without any change.
• Unparalleled Performance – OCI is simply the backbone for the Oracle Database. Since most of the Oracle Database internal code already interacts with OCI, it is a very well tested interface that lives up to the constant scrutiny, just as your applications do. Performance is constantly tweaked in OCI, while maintaining the API stability. Thus, your applications benefit
No comments:
Post a Comment