The Vista Service Framework is a major step forward - a piece of software that is going to become the centre of the Vista universe. Think of it like a telephone switchboard, but interconnecting all the various pieces of Vista software to allow data to be exchanged between them.
When the Vista Service Framework was first released as part of 4.5.5 in December 2016, only a limited set of the Vista product suite required it. Now in 4.5.8, the Vista Point of Sale (POS) application has abstracted all the transaction writing logic out into a service that sits behind the Vista Service Framework.
Now you might be asking yourself, why would we do this? Are we crazy? If it ain’t broke, don’t fix it!
And I must admit, that’s what I first thought when this new architecture was proposed by our Dev Management team.
An amazing 21 years of software development has gone into our POS application. Think back to 1996 – Bill Clinton was President and Atlanta hosted the Olympics; Windows 95 had just been introduced and only a third of Americans owned a computer.
Think of it like a telephone switchboard, but interconnecting all the various pieces of Vista software to allow data to be exchanged between them.
But the truth is that under the hood, 21 years of Vista Cinema software development in a single product can start to look a little messy. Engineers will tell you that while they love writing code, having lots of code is not necessarily a good thing.
This new architecture breaks down the functionality of POS and other Vista applications into many micro services, each with a limited set of specialist functionality. These micro services are designed to have a full automated test framework written for them, allowing end-to-end feature-based testing. We can also have many applications using the same micro services, allowing for much easier sharing of common business logic.
That all sounds fantastic, but how did we ensure we didn’t break the functionality that already existed in POS?
Fortunately, the POS team had the foresight to know a re-architect of POS was going to be required at some point, and had started building coded tests that could automatically validate the POS functionality. This allowed us to move this logic behind microservices, and run those same automated tests to ensure we got the same result.
In a world where functionality is broken down into microservices, there needs to be something to orchestrate them. This is where the Service Framework comes in. The Vista Service Framework hosts all the services on the Cinema server. Applications like POS communicate using internet-style technology, built to be streamlined and fault tolerant, reducing network overhead and making the applications more resilient to network outages. It knows where all the services are, it makes sure they are running, and it reports problems when they are not.
So now you can see how the Vista Service Framework is an important piece of software and how it will ultimately become the center of the Vista software universe; the POS Transaction service is the first of many services that will evolve as we move business logic out of the clients and into micro services.
Vista – and you – are already seeing the benefit of this architectural shift. We've started to remove logic in Sales Server that does the transaction writing, and leverage the logic already written in the new POS transaction service. This is still a work in progress, but as we move forward and add more functionality to Vista, we will only need to write it once in the Transaction Service, and leverage it in both POS and Sales Server. That means no more duplication of logic and effort, an improvement of our development and testing efficiencies and the delivery of a high-quality product to our end users.
There is so much more I can talk about, but our blog editor will get grumpy.
What about the future? Well, Vista is now moving to focus on our Version 5 release at the end of the year. Version 5 will represent a huge evolution of the Vista Cinema software, with our 21-year-old Back Office application making the transition to a highly engaging browser delivered experience. Excited we are – watch this space!