Application Development
Caché Foundations
5 days, $2400/student
- Classroom opens at 8:30am
- Classes run from 9am - 5pm
- Classes taught on the latest version of Caché
- Register for this course
Overview
The Caché Foundations course and labs teach programmers how to use the tools and techniques within the Caché development environment to build high-performance transactional applications. The course focuses on server-side programming, and the various labs focus on using advanced features as well as other languages that interact with Caché. Students master the important features of Caché by building a complete object-oriented application.
Caché Foundations
Caché Foundations replaces Caché Core (v5.0). It covers the major features of server-side development. Although much of the information is similar, students who have taken Caché Core in the past would still benefit from attending Caché Foundations.
Prerequisites
| Prerequisites | Recommendation |
Programming experience |
Absolutely essential |
Caché ObjectScript |
Recommended. Complete the ObjectScript tutorial included within Caché. |
SQL |
Useful |
Object-oriented design and programming |
Useful |
Agenda
Part 1: Introduction. Modules 1-7.
Part 2: Properties and SQL. Modules 8-12.
Part 3: Methods. Modules 13-14.
Part 4: Applied Programming. Modules 15-19
Post-Foundations Recommended Education
- Use the free Caché QuickStart tutorials (Java, .net) in the Tutorials section of the Documentation to learn how to start building a user interface for Caché applications.
Module Descriptions
Module 1: Overview
Caché
Partners
Benefits
Platforms
Features
HistoryModule 2: Introduction to Classes
Classes
Methods
ObjectScript: First commands
Namespaces
Databases
Packages
Persistent classes
Properties
Instance methods
Objects
Tables
Data population
SQL: Class queries
Class documentation
ErrorsModule 3: Development Setup
Development sandbox
Memory setup
Namespace and database setup
Resource and role setup
User setup
ODBC setup
Remote System Access setup
Developer’s CornerModule 4: Architecture
Namespaces and databases
Globals and routines
System databases
Data integrity
Naming conventionsModule 5: Classes
OO/SQL Correspondence
Classes revisited
ObjectScript: Patterns, Dates, Times
Class compilation
Package mappingModule 6: Properties
Properties
Object reference (OREF)
Reference properties
SQL: Embedded SQLModule 7: Unit Testing
Unit testing
Benefits
Framework
MacrosModule 8: Simple Collections
Collections
List collections
Array collections
Object collections
Data population
ObjectScript: Delimited Strings, Lists, Random numbersModule 9: Relationships
Relationships
Swizzling related objects
SQL: Implicit joins
Many-to-many relationships
Performance optionsModule 10: Streams and Files
Streams
FilesModule 11: Queries
Sets of results
Collation
Cursor-based embedded SQL
Dynamic SQL
Command line shell
ViewsModule 12: Indexes and Tuning
Indexes
Indexing options
Collation
Index types
ObjectScript: Bit Strings
Index methods
IDKEY index
Query performance tuningModule 13: Methods
Inherited methods
Scripting languages
Signature
Arguments
ObjectScript: $data/$get functions
Private methods
Class/Instance methods
Macros
Pair programming
ProcedureBlock methods
Code mode
Special method syntax
Accessor methodsModule 14: Debugging
Debugging with Studio
Debugging with ZBreakModule 15: Inheritance
Object-oriented programming
Encapsulation
Inheritance
Polymorphism
Abstraction
Multiple inheritanceModule 16: Objects
Object oriented design
Registered objects
Persistent and Serial objects
Cloning objects
Object concurrency
Object storageModule 17: Common Business Logic
Computed properties
OOP callback methods
SQL: triggers
SQL: stored procedures
Transaction processing
SQL concurrency
Bulk operations
Non-registered classesModule 18: Polymorphism
Persistent objects
Serial objectsModule 19: Datatype Classes
Datatype classes
Validation
Conversion
Custom datatype classes
Class attributes

