Skip to main content

Best Practices for Ensemble Development

This chapter is a general overview that prepares team members to work on Ensemble projects. It outlines development tasks and identifies sources of information about Ensemble and about enterprise integration. The information in this chapter pertains to all types of Ensemble project.

Project Goals

The goal of any Ensemble development project is to deliver an Ensemble production. A production is a specialized package of software and documentation that solves a specific integration problem for an enterprise customer. For an overview, see Introducing Ensemble.

This section describes Ensemble in terms of the software elements that application developers must create and configure in order to deliver a solution. The next section, “Project Delivery”, summarizes the sequence and outcome of an Ensemble development project.

Project Delivery

The Ensemble product architecture supports various styles of delivery to the enterprise:

  • An Ensemble production might comprise the entire integration solution for an enterprise, or the production can fit into existing solutions — or partial solutions — that are already in place at the enterprise.

  • An Ensemble production can replace, upgrade, or add new features to a legacy system as needed, without requiring any part of the legacy system to be removed or changed.

  • Ensemble supports incremental development projects, so a development team can choose to advance the boundary between old and new systems as rapidly or as slowly as the enterprise requires.

Many Ensemble development projects follow a phase sequence similar to this one:

Order Phase Goal Focus
1 Specification Specify the requirements for the production. What must the production be able to do?
2 Design Design the production software. How must the elements interact?
3 Coding Build the production software. Are additional elements needed?
4 Test Test the production software. Does the production satisfy the requirements that you specified?
5 Deployment Install the software in its target location. Are you prepared to test, design, create, and rework as needed?
6 Release Deliver software and project artifacts. What will be useful to the system administration team?


It is a fundamental best practice to read the Ensemble documentation. Some chapters you should read from start to finish. Others you can reference using the Search and Index features of the InterSystems online documentation system. For helpful tips, see Using InterSystems Documentation.

Your best starting points are the following books and chapters. Each provides further cross-references:

Caché and Ensemble share the same underlying technologies. For this reason, Caché documentation is an important resource for Ensemble developers. A useful starting point is the Caché Programming Orientation Guide.

Helpful background materials include the following:

Other useful development guides include:

Language reference materials include:

For information about system utilities and security, consult the following guides:

FeedbackOpens in a new tab