Home | Contact | Advertising
Small Business, Information, Resources, Articles - SmartBiz.com
Members Login:
Sign Up Forgot?
Marketing Online
Email Marketing
Search Marketing
Website Creation
Web-based Software/SaaS
Case Studies
Smart Answers
Smart Blog
Human Resources
PCs & Online Equipment
Mobile Computing
Security/Business Continuity
Telecom/Office Networks
Small Business Products
Free White Papers
Tools and Calculators
SmartBiz Forum
Legal & Business Forms
News Feeds
Featured Webcasts & Videos
Franchise Offers

Search SmartBiz:
Forms and
White Papers
Free Email
Web-based Software/SaaS
Service-Oriented Architecture: The Next Wave of Reusability
Email ArticleEmail Article
Print ArticlePrint Article
Increase Text SizeIncrease Text Size
Decrease Text SizeDecrease Text Size
Digg This
Bookmark and Share

By Curt Finch

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 managed those who did. 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?

Reusability – 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 one-third the defect density of those that are new.

2. Projects created primarily from reused software take about one-fourth the time and resources of those that are new.

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

Wires, Binaries and Spaghetti

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. (http://www.jamesshuggins.com/h/tek1/first_computer_bug.htm)

In addition to the insect problem, reusability of this kind of software left much to be desired, as you might imagine.

Later, binary, octal and hex programming and, after that, assembly language, appeared. These were huge improvements over moving wires around. Copying and pasting text was the best that you could do here if you wanted to reuse code. When I say ‘copying and pasting,’ I mean this, in some cases, quite literally. I've seen people tape or glue pieces of paper punch tape together to make a complete program from parts.

The first language I ran across once I moved beyond programmable HP calculators was Basic. Like COBOL, Basic didn't initially have subroutines or parameterized functions, which led to hideous gobs of icky spaghetti code. Copying and pasting - thankfully in some sort of text editor so no glue was required - was the most common way of code reuse here. But languages such as Basic and COBOL, though primitive by today’s standards, had the enormous advantage of allowing for code reuse on different chip architectures, which you couldn’t do with assembly or binary.

| 1 | 2 | Next page »
Curt Finch is the CEO of Journyx. Bruce A. McGraw is the CEO of Cognitive Technologies.
Add a Comment View Comments
Small Business Home

SmartBiz Shop
Promotional Items with Your logo
Smart Services
Add Your Logo Now
Get Your Business Online
Build a Website Host Your Website Market Your Business Online
Business Form Downloads
Legal Forms Business Forms
Smart Forums
Recent Postings
Stimulus or "Pork"ulus?
Blog: How Do You Know What Insurance Is Right for Your Business?
If Layoffs Are Necessary, Protect Your Business
Blog - Do You Have Email and Internet Usage Policies in Place?
Home | Contact | Advertising
© 2018-2020 SmartBiz. All rights reserved. Privacy Statement and Terms of Service
Small Business Home | Business Tools | Online Business | Bits & Bytes | Sales & Marketing | Business Strategies | Forums & Resources
Browse Abandonment & Cart Abandonment Driven By: Hosted By:   Design By:
Browse Abandonment
XML LogoRSS Logo
Receive our stories via SmartBiz XML/RSS feeds.
Include our stories on your website through SmartBiz javascript content feeds.