Wrap legacy software assets

Your enterprise probably has legacy software assets that are extremely valuable and can be the basis for your initial project deliverable. If you don’t take care and start reusing straight away you will end up with lots of point to point connections…

legacy_asset_reuseNow, all the consumers are directly consuming your legacy asset with all the ill effects of tight coupling. You want to change or upgrade the legacy asset? it might break every consumer and force them to make changes to their code. Plus, you will expose your legacy error codes, naming conventions, behaviors to all your consumers.

Bad idea. So what do you do? Don’t reuse legacy software assets as-is; wrap them first!

Create a component that wraps the legacy asset – it now sits in be the legacy asset and the consuming code (which could be your app, an external process, a batch job, whatever…). This wrapper component needs to provide a contract that is in alignintment your enterprise’s data standards, should reuse your enteprise’s data types, use standard error codes, and most importantly should not expose legacy naming and/or implementation semantics.

wrap_legacy_asset_reuse

Why this is important? Well, if you don’t have a wrapper that truly encapsulates the legacy functionality it will serve only as a pass-through layer adding no value. The wrapped asset now can be reused by multiple consumers and you have the flexibility to change the implementation.  If you keep your interface constant, your consumers won’t need a code change and only need to regression test.

Like this post? Subscribe to RSS feed or get blog updates via email.

Advertisements

4 Responses to Wrap legacy software assets

  1. […] : : : :</p Possibly related posts: (automatically generated)Wrap legacy software assetsCode ReviewsToo many reasons for code reviewTDD/Refactoring and […]

  2. […] systematic reuse activities with day to day development « Software Reuse in the Real World on Wrap legacy software assetsNew Sections to the blog… « Software Reuse in the Real World on ResourcesNew Sections to […]

  3. […] enforce security policy, and capture metrics. They are specially relevant when wrapping legacy capabilities and you don’t want consumers to be too tightly coupled with systems slated to […]

  4. […] legacy system capabilities as long as you are leveraging them via a mediation […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: