Application Development
Caché Foundations (v5.1+)
5 days, $2400/student
- Classroom opens at 8:30am
- Classes run from 9am - 5pm
- 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. Our schedule enables students to take the Foundations course and one or more labs consecutively (totaling 1-2 weeks).
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-6.
Part 2: Properties. Modules 7-9.
Part 3: Methods. Modules 10-11.
Part 4: Object-Oriented Programming. Modules 12-13
Part 5: Application Programming. Modules 14-18
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.
- Take one or more Foundations Labs.
Module Descriptions
Module 1: Overview
· Caché
· Partners
· Benefits
· Platforms
· Features
· HistoryModule 2: Introduction to Classes
· Classes
· Methods
· ObjectScript commands
· Namespaces
· Databases
· Packages
· Persistent classes
· Instance methods
· Properties
· Objects
· Tables
· Data population
· 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 mapping
· Embedded SQLModule 6: Properties and Unit Testing
· Properties
· Object reference (OREF)
· Reference properties
· Unit testingModule 7: Simple Collections
· Collections
· List collections
· Array collections
· Data population
· ObjectScript: Delimited Strings, Lists, Random numbersModule 8: Relationships
· Relationships
· Implicit joins
· Dynamic SQL
· Swizzling objects
· Saving objects
· Many-to-many relationships
· Object collections
· Class queriesModule 9: Streams and Files
· Streams
· FilesModule 10: Methods
· Inherited methods
· Scripting languages
· Signature
· Arguments
· ObjectScript: $data/$get functions
· Private methods
· Class/Instance methods
· Pair programming
· Macros
· ProcedureBlock methods
· Code mode
· Special code syntax
· Accessor methodsModule 11: Debugging
· Major skills
· Debugging with Studio
· Debugging with ZBreakModule 12: Inheritance
· Object-oriented programming
· Encapsulation
· Inheritance
· Polymorphism
· Abstraction
· Multiple inheritanceModule 13: Objects
· Object oriented design
· Registered objects
· Persistent and Serial objects
· Cloning objects
· Object concurrency control
· Object storage
· Polymorphism and storage
· ObjectScript: ASCII conversion
· Non-registered classes
· %SYSTEM packageModule 14: Common Business Logic
· Computed properties
· OOP callback methods
· SQL triggers
· SQL stored procedures
· Transaction processingModule 15: SQL
· SQL review
· Cursor-based embedded SQL
· Result sets
· Dynamic SQL statements
· Collation
· DDL (Data Definition Language)
· Views
· SQL concurrency
· Bulk operationsModule 16: Indexes and Tuning
· Indexes
· Indexing options
· Collation
· Index types
· Index methods
· IDKEY index
· Query performance tuningModule 17: Datatype Classes
· Datatype classes
· Validation
· Conversion
· Custom datatype classes
· Class attributesModule 18: Interoperability
· Activate
· Web Services
· SQL Gateway
· Java/Jalapeño
· .net
· Perl
· Python
· C++

