Nostalgic for a late 60s console entertainment center complete with an integrated turntable, tube amp, radio, TV, and stereo speakers? Consoles were big pieces of furniture, the focal point of the room on which we would watch shows or listen to tunes. Over time we shifted our watching and listening from over the air and vinyl to cassette tape deck, CD player, VCR, cable, DVD, Blu Ray, HD TV, Flat Screen TV, Internet / wifi. To continue using the console with all these new devices, we could hire an electrical engineer (helped by a carpenter) and integrate each new piece. Updating an integrated system was too technical and too expensive, the consoles disappeared from our homes. We purchased component stereos and plugged in or replaced technologies as they became available.
The technologies in a modern entertainment center are loosely coupled components. Components may be added or removed by plugging them in (or using bluetooth wireless), no fuss or engineering required. This is similar to the way web pages are built in HTML. It is easy to add a weather applet to a page. Many designers combine applets on a web page to create a mashup – something completely new out of existing pieces.
It is time to take a mashup approach to ERP systems. A modern ERP architecture based on enterprise services can make it happen. The use of mashups in the user interface is common for HTML based applications. What is new is the architecture behind the API where the ERP transactions take place. This is where the enterprise services live. Traditional ERP systems integrate services within code, much like the console stereo. A vast ecosystem of system integrators get various pieces of integrated technologies to work with each other in order for the ERP to do its job. A modern ERP system should use loosely coupled enterprise services – getting pieces to work in new and interesting ways using a mashup process with little engineering required.
What does a mashup behind the API look like? Behind the API is a collection of independent services that operate like mini web sites. A mashup allows a request to carry just enough information through the network of services to respond to the request. Each enterprise service knows what it can do with the things of the enterprise application (employees, sales orders, paychecks, items), based on available metadata. Each service is integrated with the other services through commodity HTTP requests using REST – a protocol centered on management of information about things. The things provide the integration between services using ‘loose coupling.’ Additional services can be connected quickly and easily as needed, just like adding the weather to your home page.
Loose coupling is the answer in a rapidly changing world. In home entertainment the shows and tunes are the data, the components are the services that can be plugged in or discarded as needed. Old ERP systems are integrated systems like the console entertainment center. Modern Application Architecture takes advantage of loose coupling like the component stereo to keep your ERP competitive.