Abstract APIs and Strangler patterns - MAM management with Avid
Migrating to a new MAM system is a major headache for organizations with large volumes of assets who can’t afford downtime. The BEIT session ‘Managing Multiple Asset Management Systems’ (Saturday, April 6 10:40am - 12:00pm Location: N260) will discuss how the Strangler software development pattern can slowly take over a legacy MAM system’s functions until nothing is left but the new system. Roger Sacilotto, Consulting Software Engineer at Avid takes us under the hood.
Why is migrating to a new MAM system with large volumes of assets a major headache for organizations?
Roger Sacilotto, Avid: MAM systems often have their own unique APIs and integrating a production system creates a dependency on these. Also, systems with a large amount of assets usually have numerous software components contributing to that set of assets. This can mean that in order to change MAM systems, all contributing software components will need to be rewritten to work with the new APIs.
What is the Strangler software development pattern?
The Strangler pattern allows a gradual replacement of a software system, rather than an all-at-once forklift upgrade. As Martin Fowler [https://www.martinfowler.com/bliki/StranglerApplic... defines it, the Strangler pattern gradually creates “a new system around the edges of the old, letting it grow slowly over several years until the old system is strangled.”
How can this help take over a legacy MAM system’s functions?
An abstract API can be created that connects to the legacy system, allowing the contributing software to use both legacy and new APIs during the conversion period. When the conversion is complete, the API can then be rerouted to a new MAM system. This approach also allows flexible transition options, like replacing a monolithic database with a collection of databases which are more suitable for a broader range of applications.
How easy is this to implement?
It’s not a matter of ease as much as timing. An API abstraction (facade) can provide isolation between the clients of a MAM system and the implementation. By allowing an ongoing refactoring process, components can test their changes without requiring the entire system to be converted.
Is it vendor agnostic?
Yes, as long as the design of the abstract API allows different implementations on the backend.
A bit more detail please on how it actually works?
The abstract API presents a model of assets that offer a base method of setting and getting data, such as scalar data (key/value pairs) and time-based metadata. API extensions can be allowed but must be done carefully. Where possible, the API should extend in vendor-neutral ways, as any extension that is too closely tied to vendor functionality can cause the system to become brittle and hard to manage.
Also, the backend of the API must convert the abstract model to appropriately interact with the connected MAM system.
What are the typical outcomes of such an implementation?
Avid is in the process of doing this within its own production software. All new components are being written to the abstract API, and older components are being refactored as time and resources allow. So far, the process has brought some very positive benefits, such as the ability to view and search mixed asset systems with common tools, while continuing to support legacy code.
Want to know more about this year's BEIT Conference? Click the link here to see the official schedule along with a snippet of information about each presentation.
Would a free exhibit pass help? Click this link or image below and enter the code MP01 at the correct prompt.
Here are some additional articles about Broadcast Engineering and Information Technology (BEIT) sessions taking place at NAB 2019 in which you may be interested.
You might also like...
As the myriad of live competition television shows continue to attract new and ever larger audiences for TV networks, producing them live has become so complicated that a second technical director (TD), often called a “screens TD,” is now often bei…
Philo T. Farnsworth was the original TV pioneer. When he transmitted the first picture from a camera to a receiver in another room in 1927, he exclaimed to technicians helping him, “There you are – electronic television!” What’s never been quoted but lik…
NASCAR Productions, based in Charlotte NC, prides itself on maintaining one of the most technically advanced content creation organizations in the country. It’s responsible for providing content, graphics and other show elements to broadcasters (mainly Fox and NBC), as w…
New England Patriot quarterback, Tom Brady, entered Mercedes Benz stadium in Atlanta, GA on February 3rd having already won five Super Bowl games. And through four-quarters of play, all delivered by a television crew of hundreds of technicians, sports casters…
This FREE to download eBook is likely to become the reference document you keep close at hand, because, if, like many, you are tasked with Preparing for Broadcast IP Infrastructures. Supported by Riedel, this near 100 pages of in-depth guides, illustrations,…