Sunday, June 19, 2016

8 Inch Floppies

You may have read recently that the United States nuclear forces still rely on eight inch floppy discs for data storage and that for many years all pass codes on the nuclear missle firing locks were zero, zero, zero, zero. Well, the United States nuclear forces aren't the only ones living in the past. Let's familiarize ourselves with legacy service integration practices.

In Sam Newman's book "Building Microservices", he states that the shared database is the most common means of service integration. This form of integration was explained to me by the Java architects I worked with a dozen years ago at a legacy AS400 mainframe shop when I asked, "Why can't they modernize their database?". In this form of service integration, a company simply places all its data in one database on one DB server and the applications from every line of business were free to read and modify the data of all other lines of business. This might include HR, purchasing, sales, retail and warehouse for a retailer.

This situation makes immediately clear the problem that SOA addresses, to develop provider and consumer services that are loosely coupled. How is loose coupling achieved? By providing services that have descriptive, rather than instructive, interfaces.

Once the loose coupling of service oriented architecture is achieved, change is simpler, cheaper and faster to achieve. When applications are no longer coupled to each other's tables, the effort, time and expense involved in modifying them is greatly reduced.