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. In addition, it guides the reader step-by-step through the development of postrelational applications. The accompanying CD-ROM contains the complete associated software:

InterSystems Caché™ 4.0 Single-User

© 1997-2000 InterSystems Corporation. All rights reserved. Microsoft® Visual Basic® 6 Working Model Edition

© 1997-1999 Microsoft Corporation. All rights reserved. Microsoft® Internet Explorer® 5.5 Service Pack 1

© 1995-2000 Microsoft Corporation. All rights reserved.

The use of this licensed software is governed by an end user license agreement contained in the software.

System requirements

PC with Intel CPU (Pentium or better), CD-ROM drive, Windows 95/98/Me or Windows NT/2000, 64 MB main memory (128 MB recommended), 100 MB free disk space.

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é post- relational 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, Peter Schulte, 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 (00) technology (or object technology) was invented especially for this purpose.
Wolfgang Kirsten, Michael Ihringer, Peter Schulte, 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 pre-existing environment.
Wolfgang Kirsten, Michael Ihringer, Peter Schulte, Bernhard Röhrig

4. The Definition of Classes

Abstract
Caché Object Architect is an integrated development environment for defining object classes in Caché. Caché’s Unified Data Architecture enables the automatic generation of tables (complete with columns and key fields) from class definitions defined in Caché Object Architect. Caché Object Architect generates Class Definition Language (CDL) to represent classes defined with it. And, of course, developers can write CDL code to define Caché classes. Caché Object Architect can export class definitions to other environments used in the OO world. For example, RoseCaché- Link provides a direct bi-directional interface to Rational Rose, the visual modeling tool (based on the object-oriented standard language UML) from Rational Software.
Wolfgang Kirsten, Michael Ihringer, Peter Schulte, Bernhard Röhrig

5. Fundamentals of Caché ObjectScript

Abstract
Caché ObjectScript distinguishes between transient data (namely, existing only in memory) and persistent data (i.e., 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, Peter Schulte, Bernhard Röhrig

6. Object Access and Persistency

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, and this chapter discusses the use of “dot syntax” and explains how to create and manipulate objects programmatically.
Wolfgang Kirsten, Michael Ihringer, Peter Schulte, 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, Peter Schulte, 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 depend on queries that access databases via Structured Query Language (SQL). Hence, an object-oriented database must support SQL to enable queries according to a standard that many tools understand.
Wolfgang Kirsten, Michael Ihringer, Peter Schulte, Bernhard Röhrig

9. GUI Programming with Visual Caché

Abstract
The ActiveX interface from Caché Objects enables a wide range of client applications and development tools to access Caché database objects.
Wolfgang Kirsten, Michael Ihringer, Peter Schulte, 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. Although this could be achieved through SQL using the Caché-supplied JDBC driver (refer to the Caché documentation for more information on JDBC), this chapter discusses a pure object- oriented approach in which Caché provides persistent object storage for Java applications.
Wolfgang Kirsten, Michael Ihringer, Peter Schulte, Bernhard Röhrig

11. Web Programming with Caché

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 feat involves Caché Server Pages (CSP), which Caché has support for since version 4. CSP offers an elegant means of producing high-performance, highly scalable Web applications in a short time. They also simplify subsequent maintenance and further development of such applications.
Wolfgang Kirsten, Michael Ihringer, Peter Schulte, Bernhard Röhrig

12. Device Management

Abstract
Caché can run on various operating systems, including OpenVMS, UNIX, Windows 95/98/Me, and Windows NT/2000. Input/output (I/O) programming includes commands and procedures for controling devices as diverse as terminals (monitor screens), printers, magnetic tapes, sequential files, and spool devices. I/O programming also controls TCP connections for client/server systems.
Wolfgang Kirsten, Michael Ihringer, Peter Schulte, Bernhard Röhrig

Backmatter

Weitere Informationen