Skip to main content
main-content

Über dieses Buch

Nowadays, newly developed software packages are often obsolete already at the time of their introduction. Object-oriented software development is a possible—if not the only—solution to this dilemma: applications are modeled as software objects that describe the properties and the behavior of real-world entities. Such objects are encapsulated, in that they hide—behind a publicly known interface—the complexity of their internal data structures and behaviors. This enables objects to be used in a wide range of program packages without needing to know the details of their internal implementation.

Linking object-oriented modeled applications with a database places special demands on a database management system and development environment when the usual performance and semantics losses are to be avoided. This book provides a detailed description of the object model of the Caché postrelational database.

This second, revised and expanded edition includes the many new features of Caché 5. There is a comprehensive description of the new Caché Studio with its improvements for developing and debugging applications as well as a whole new chapter about XML and SOAP based Web Services. The chapters about Java, ActiveX and the SQL manager have undergone a complete revision.

Inhaltsverzeichnis

Frontmatter

1. First Steps

Abstract
Because you are reading this book, we assume you are interested in object-oriented application development in general and the Caché postrelational database from InterSystems in particular. And because you have chosen a practical manual with a CD-ROM, we further assume that your interest is more than theoretical and that you wish to use it to gain practical experience as fast as possible.
Wolfgang Kirsten, Michael Ihringer, Mathias Kühn, Bernhard Röhrig

2. Introduction to Object Technology

Abstract
In the introduction to the first chapter,we discussed the need to allow developers to represent the real world without changing paradigms.Object-oriented (OO) technology (or object technology) was invented especially for this purpose.
Wolfgang Kirsten, Michael Ihringer, Mathias Kühn, Bernhard Röhrig

3. The Caché Object Model

Abstract
Most developers today are eager to apply various types of object technologies to the design and implementation of new business applications.The reality, however, is that most business environments have legacy and other installed applications that rely on relational databases, and the relational data model cannot be ignored when designing new applications that must integrate with this existing environment.
Wolfgang Kirsten, Michael Ihringer, Mathias Kühn, Bernhard Röhrig

4. Defining Classes

Abstract
Object classes are typically defined in Caché using Caché Studio,an integrated development environment for defining object classes. Cach顯s Unified Data Architecture automatically generates tables (complete withcolumns and key fields) from all class definitions, their properties and methods. The complete definition is made using the Class Definition Language (CDL) of Caché and is stored in the database in some internal format. Export functions are available for various class definition formats commonly used in the OO world. Additionally, RoseCachéLink provides a direct bidirectional interface to Rational Rose,the visual modeling tool (based on the object-oriented standard language UML) from Rational Software.
Wolfgang Kirsten, Michael Ihringer, Mathias Kühn, Bernhard Röhrig

5. Fundamentals of Caché ObjectScript

Abstract
Caché ObjectScript distinguishes between transient data (namely, data that exists only in memory) and persistent data (i.e., data stored permanently in the database). Both transient and persistent data can exist as scalar or multidimensional structures. The latter, being persistent data, provides the basis for the high-performance multidimensional access of Caché ObjectScript. Chapter 7 provides a detailed discussion of this together with multidimensionality.
Wolfgang Kirsten, Michael Ihringer, Mathias Kühn, Bernhard Röhrig

6. Object Access and Persistence

Abstract
This chapter describes the use of objects in Caché ObjectScript. Caché ObjectScript is a comprehensive object-oriented programming language that was specifically developed to enable the fast creation of database applications. Chapter 5 introduced ObjectScript’s basic language elements; this chapter discusses the use of “dot syntax”, and explains how to create and manipulate objects in programs.
Wolfgang Kirsten, Michael Ihringer, Mathias Kühn, Bernhard Röhrig

7.  Multidimensional Access and Globals

Abstract
Caché ObjectScript fully integrates persistent data structures¡ªcalled global variables or simply ¡°globals¡±¡ªinto the language. As with transient (¡°local¡±) variables, persistent (¡°global¡±) variables can exist as either scalar (one-dimensional) or multidimensional structures. As persistent data in the Caché ObjectScript language, global variables enable both permanent object storage and high-performance multidimensional access. This chapter covers the latter concept in detail.
Wolfgang Kirsten, Michael Ihringer, Mathias Kühn, Bernhard Röhrig

8. Sql Access and Tables

Abstract
Most applications of any size¡ªeven those developed with object technologies¡ªmust include a component for reporting and data analysis. In general, developers turn to popular third-party tools for reporting and data analysis, which typically use Structured Query Language (SQL) queries to access databases. Hence, an object-oriented database must also support SQL to handle queries that conform to a standard that many tools understand.
Wolfgang Kirsten, Michael Ihringer, Mathias Kühn, Bernhard Röhrig

9. Programming with ActiveX

Abstract
ActiveX, a component of every 32-bit Windows system, is a standardmeans for communication between object-oriented components under Microsoft Windows. Usually a Windows application consists of a number of ActiveX components provided as DLL or OCX files. The application itself can also be an ActiveX component—familiar examples of this are the programs in the Microsoft Office suite. Each of these applications can be controlled by ActiveX and thus enables the creation of complex application packages. The fundamentals of ActiveX programming and its uses are described in detail in Chapell [1998].
Wolfgang Kirsten, Michael Ihringer, Mathias Kühn, Bernhard Röhrig

10. Object Interaction with Java

Abstract
In addition to the platform-independent development of user interfaces, Java is also increasingly being used for the development of application logic (refer to Eckel [1998].) Caché’s Java binding permits developers to write complex transaction processing applications in Java that work with a Caché database server.
Wolfgang Kirsten, Michael Ihringer, Mathias Kühn, Bernhard Röhrig

11. Web Programming with Caché Server Pages

Abstract
Databases have become an indispensable enabling technology for dynamic Web content, on both the Internet and company intranets (cf. Atzeni et al. [1999]). This chapter describes how Caché and a Web server can dynamically create content by retrieving up-to-date information from a database and presenting it in a browser. The base technology required to achieve this involves Caché Server Pages (CSP), which Caché has supported since version 4. CSP offers an elegant means of producing highperformance,highly scalable Web applications in a short time. They also simplify the subsequent maintenance and the further development of such applications.
Wolfgang Kirsten, Michael Ihringer, Mathias Kühn, Bernhard Röhrig

12. XML and Web Services

Abstract
The eXtended Markup Language (XML) has rapidly become a standard for the platform-independent exchange of any type of complex data. There are scarcely limits on the deployment of XML: because XML documents are simple text files, they can easily be transmitted between, and understood by, different systems. Accordingly, XML provides a powerful basis for platform-independent data exchange and automatic processing of the included data. For information on the basics of XML, refer to Kazakos [2002].
Wolfgang Kirsten, Michael Ihringer, Mathias Kühn, Bernhard Röhrig

Device Management

Abstract
Caché is available on various operating systems such as Windows, UNIX (including Linux), and OpenVMS. For each of those platforms, the input/ output (I/O) programming provides commands and procedures for controlling devices as diverse as terminals (monitor screens), printers, magnetic tapes, sequential files, and spool devices. I/O programming also controls the TCP connections for client/server systems.
Wolfgang Kirsten, Michael Ihringer, Mathias Kühn, Bernhard Röhrig

Backmatter

Weitere Informationen