Developing a digital media asset management platform for a global broadcast and media services provider is one of our major ongoing Java projects. You can read about the specifics and technicalities of the project in our case study, but we wanted to find out more about what is happening under the hood, so we turned to Mishu’, one of our lead Java developers.
The project can be divided in two major stages. We started with the development of a universal asset management platform that would be used by all end-clients (e.g. TV channels, broadcasters). In the second stage we are now developing dedicated applications for each client. The provider has a Linux IT infrastructure, so it made sense to develop the applications in Java, thus improving resource utilisation. Another perk of developing in Java is that you can deploy simultaneously everywhere.
One obvious challenge was the composition of the team. Some of us have Java as a second specialisation after .NET, or vice versa, .NET was the second specialisation after Java; therefore the switch wasn't that hard for us. However, new colleagues joined the project and needed a period of accommodation... Another challenge is that the applications are executing tasks with a long run. This needs a “special care”, meaning tracking, restart possibility, detect missing workers, etc. Last but not least - as you said - something may sound easy but can be more complex in practice…
What I really like about this project is that we start every application from scratch. This means that we are not stuck with an old architecture, we can innovate with each new application we develop. If you want to get more technical, I think it’s great that we use event-based architecture. I just love to see how clear is the documentation in this case, almost as a flow chart. I’m also pumped about deploying in a continuous delivery approach.
I like that we experiment with this new flavor of event-based architecture. I really enjoy it. Also, this project is more than just a list of tasks that I go through. I really get to flex my Java muscles. It’s something that I’m looking for every time. Last but not least it’s a delight to work with this team and with my team lead.