Service Oriented Architecture

Author: Curt Finch
Published: August 31, 2011 at 6:53 am
Share

Service-Oriented Architecture (SOA) is a style of information systems architecture that enables the creation of applications that are built by combining loosely-coupled and interoperable services. These services inter-operate based on a contract that is independent of the underlying platform and programming language - Wikipedia

I’ve been writing software for a long time.

When I was 14, I got an HP programmable calculator that I taught to tell time by flashing hours, minutes and seconds repeatedly. It used a loop of null operations to take up the time between each second. Slight changes in room temperature would cause it to speed up or slow down the rate at which it performed these loops, ultimately making it a poor timepiece.

But I was hooked – I have always loved programming since those days.

That was almost three decades ago and since then, I've been writing some kind of software almost every day or managing those who do. For the last decade, I’ve been running a company that creates and sells software.

In all that time, there has been a recurring theme in our industry that keeps asserting its head over and over again: reusing already battle-tested software is preferable to writing new software. How can we do a better job of reusing legacy software?

Re-usability – The Holy Grail

That same wonderful HP company that got me started on this path (and is now one of my customers) put out a great book in 1992 with the obtuse title, “Practical Software Metrics for Project Management and Process Improvement”. I know it sounds like a snoozer, but it’s not. Although this book is more than 14 years old, it could have been written this year because the concepts are still relevant. Among the research are these two nuggets of wisdom:

1. Projects created primarily from reused software experience only about 1/3 the defect density of those that are new.

2. Projects created primarily from reused software take about 1/4 the time and resources of those that are new.

There are many other nuggets. It's a great book.

Wires

The first computers were programmed by electrical engineers moving jumper cables around in the back of a giant mainframe. This is how the concept of a 'bug' in software got started. A bug crawled into some of these wires, shorted a couple of them, and changed the logic of a program.

Continued on the next page
 
 

About this article

Profile image for clf99

Article Author: Curt Finch

Curt Finch is the CEO of Journyx. Founded in 1996, Journyx automates payroll, billing and cost accounting while easing management of employee time and expenses, and provides confidence that all resources are utilized correctly and completely. …

Curt Finch's author pageAuthor's Blog

Article Tags

Share: Bookmark and Share

Add your comment, speak your mind

Personal attacks are NOT allowed
Please read our comment policy