What is Serenji for Ensemble? Serenji for Ensemble is an edition of Serenji enhanced with special features for debugging Ensemble productions.
How will Serenji for Ensemble help software developers? In addition to giving them all the power of Serenji, the Ensemble edition allows developers to step through the processing of Ensemble messages even though these are handled by multiple background jobs within Ensemble.
Why is Serenji for Ensemble better at debugging than Ensemble Studio?

Ensemble Studio is only able to debug a single process, yet an Ensemble production typically passes messages between multiple processes as it runs. Only by following the messages across the processes that handle them can the developer truly see what is happening.

What debugging information does Serenji for Ensemble provide?

Serenji for Ensemble has the following windows, providing the user with comprehensive and clear information about their process:

  • Code windows - a separate window for each script or routine, including all of those which are currently in the execution stack
  • Stack window - all the stack levels at the current point of execution
  • Variables window - the names and current values of local variables (including arrays and object references), either all of them or only those at the current stack level
  • Breakpoints window - all currently set breakpoints
  • Immediate window - allows the programmer to execute Caché ObjectScript commands while in debug mode
What debugging commands does Serenji for Ensemble support?

Developers using Serenji for Ensemble can move through their code using any of the following options:

  • Step in
  • Step over
  • Step out
  • Run to cursor
  • Go
  • Fast forward

The stepping options can be set to operate per command or per line.

What kinds of breakpoint can I set?

Developers have complete control over when Serenji for Ensemble will enter debug mode. The following kinds of break are available:

  • Conditional breakpoints which break at that point only if a specified criterion is true
  • Delay breakpoints which break after a specified number of executions of a command
  • Data breakpoints which break any time the value of a variable changes (like watchpoints)
  • Standard breakpoints which interrupt execution every time a point in the code is reached
  • Break on error which breaks when there is an application error
  • Run to cursor
  • Break at the start of execution
What does Serenji for Ensemble offer for developers whose main experience is with other languages?

The Serenji for Ensemble interface is consistent with industry standards. If programmers are familiar with the MS Visual Basic or other similar visual development environments, they will be able to use it immediately with little or no learning curve.

What platforms does Serenji for Ensemble run on?

Serenji for Ensemble works on a client/server model. The client is a Windows PC, or a Linux or OS X workstation. It connects to an Ensemble server via TCP/IP. The Ensemble server can be running on any operating system that InterSystems support it on.

The Serenji for Ensemble client can also connect to the full range of Caché and M servers supported by the standard Serenji edition.

How many servers can I install the server software on? You may install the Serenji for Ensemble server software on as many servers as you wish. As well as Ensemble servers, this includes any Caché or M server running server software supported by the standard Serenji edition.
How many separate Serenji for Ensemble sessions can I run on a workstation? Serenji for Ensemble supports up to 10 separate sessions to one or more servers.
What are the advantages of the Serenji for Ensemble license model? Serenji for Ensemble is licensed for each client workstation which it is installed on. No additional licenses are needed for the Ensemble servers to which the clients attach. This both saves money and makes implementation and support simple.
How much does support for Serenji for Ensemble cost? Please consult our price list.
What is the policy on software upgrades for Serenji for Ensemble? Upgrades are free of charge to customers with a current annual maintenance and support contract.
Where does the name 'Serenji' come from?

Se-ˈren-ji A term for "Software Re-engineering", say it fast.

Se-ˈren-ji Derived from the name of the town in Zambia where the lead developer was born.

Se-ˈren-ji A service-based design model, used to re-express our established re-engineering technology.

Which do you prefer?

How do you say 'Serenji'? International phonetic notation: /səˈrendʒɪ/
What are the major features and benefits of Serenji for Ensemble?


  • Visual interface
  • Cross-process debugging
  • Rich feedback
  • More control


  • Easy to learn and use
  • One-for-one client license, no additional expensive server licenses required
  • Higher productivity
  • Fewer errors; better quality applications; lower development and support costs
What do I need to run a Serenji for Ensemble client?

A workstation which runs Windows 7, 8, 10, Windows Server 2003, 2008 or 2012, or Wine 1.8 or above and is networked via TCP/IP to a compatible Ensemble server. A server running on the same workstation can be used via the TCP/IP loopback address,

Request further information