Integrella Tech Talk #3

At Integrella we’re really keen to teach each other about the technologies relevant to us and our clients. We have a multidisciplinary team with different specialties and interests, but we are all encouraged to share our expertise.

On every second Thursday evening, we get together for an informal ‘Tech Talk’ over beer and pizza, to share tips and information about specialist areas of expertise.

Sometimes we also invite technical colleagues from the client-side, or independent consultants and friends who we know would find the topic of interest – or might be able to add their own expertise to the mix.

Last week we had Arun Madhun, a senior Ensemble specialist to do an in-depth session on some secrets of Cache Object Script, plus an overview of how to automate Ensemble build, test and deployment with test frameworks and continuous integration.

This was interesting because our clients could eliminate most of the test and live server environment dead time and delays if we could get them to adopt this approach.

Intersystems Ensemble is a messaging and SOA integration technology commonly used in the NHS, and we have many past and existing customers currently using this.

Caché is an advanced database management system and rapid application development environment which enables customers to process and analyse complex Big Data, and develop Web and mobile applications. Caché offers fast performance, scalability, and reliability – with minimal maintenance and hardware requirements.

Arun began by showing us a few interesting features about Caché script, such as the break and break free operators & and &&, interesting uses of the indirection operator ‘@’, very useful features of string conversion, and the use of $ZF to access environment scripts.

Arun then moved on to describe a ‘best practic’ implementation of test frameworks to perform unit testing and complete regression testing in Ensemble prior to deployment. The benefits are a no-brainer, at the push of a button, you can re-execute a huge bank of tests that the development team has built up over the years, to provide clients with massive tick in the assurance box prior to going live with a small change to the environment.
The downside is of course the amount of effort that goes into maintaining the unit testing code – also written in Ensemble.

We all really enjoyed the talk including external colleagues who had seen similar approaches used at other client-exemplar sites.

Arun finished his talk by describing the further benefits to be gained by the use of ‘continuous integration’ using linkages between Jenkins and Ensemble to ensure that all changes to code are built, deployed and tested ona regression test server, as soon as they checked into version control. When you consider the knock on delays of waiting for developers to initiate the build and deploy actions on dev and test servers, the benefits are clear – it just removes all unnecessary and unintended latency in the development process.