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? |
Documentation
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:
-
Introducing Ensemble introduces the terminology and basic concepts.
-
Developing Ensemble Productions describes the development tasks.
-
Configuring Ensemble Productions describes how to perform the configuration tasks related to creating an Ensemble production.
-
Later chapters in this book apply to deploying interface routing solutions. See “Design Model for a Routing Production” and “Converting Interfaces to Ensemble.”
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: