Search This Blog

Friday, December 18, 2009

Legacy

Robert,

Regarding legacy I have some additional comments to make. Legacy is as the word translates some thing inherited.

My opinion is the definition of legacy means in the IT world more the situation in total which has been left to the actual IT world from the early world of COBOL and even late 1401 / 1410.

In the early 1960‘s there was a huge dominance of IBM. Even COBOL was defined clearly in its ANSI limits IBM added a huge number of proprietary elements that made the complete source almost impossible to transform to another platform.

Other hardware makers like Siemens, RCA, Unisys, Bull, ICL etc. joined the marked sooner or later and came as well with proprietary add one’s. These proprietary products are now the Legacy we have to deal with.

Most of these “OLD” products are almost impossible to maintain so no documentation has been left, the people having created these products are long time in retirement or gone meanwhile.

For a fact is that a huge number of these products is pout there in the world wide market and still running. Especially in the actual market there is almost no one who can finance these developments and transformation.

To make this transformation easier we need:

Code analyzers to create some kind of documentation ( some are available on the market )
Transforming tools extracting from documentation into a basic version of Cobol
Optimizing the Basic version with a Source-Code generator to create a new platform neutral modernized solution.

Thursday, December 17, 2009

Never Text in Source Code

Especially the Legacy Cobol programs showing text strings in the source. At that time there was hardly no other way to go.


When UNIX V was with MF Cobol the world changed for us.

Based on the frequent changes in the text , language , legal and other requirements , we never had a wording = text in the source.



we had :


01 Field1xxxxx ( element of the Data Dictionary ) .

02 Subfield Pic x(80).




At the moment the text was necessary what wording so ever it was called from a data base and moved into the Subfield by adjusted length.



What kind and size of text was necessary a key indicated. All text was stored in a text data base and each one had its own key. A browser helped finding the text and the key. This key was randomly inserted in the filekey of the source.



This technology avoided any dependency of source change regarding the text.



Heinz

Sunday, December 6, 2009

Think you've got Class?


Ok, back to the class room boys and girls.

I told you about data types.  Now let's tie some of the Object Oriented terms back to what you might know as a COBOL programmer.

Let's talk class.

To begin I'll toss some big words out to make sure to sound important and all knowing:


Instantiation, polymorphism, inheritance, and ummm a few others I've forgotten over the years.

If you read the various OO books you'll find those words seem to be key to understanding what is a class and how to use it.

I beg to differ.  As you can probably guess, I'm more of a plain speaking kinda guy.

I think of a class as a master template containing prewritten routines you can use.

To use a class, you load a copy of this master template into memory and store that location into a uniquely named variable so you can reference it.

Now you have access to all of those prewritten routines which were in that template, just by referencing that variable you stored the location in.

Consider it a program you've already called and you have access to each paragraph or section in the program as a callable routine.
That's about all there is to it.

So, take another look at the routine Alex posted about 99 bottles of beer.

It is just a reuseable program with a bunch of subroutines.

We'll cover how to create an instance and call the methods in another post.

So, does this help clear it up a bit?

What are your thoughts on the subject?

Tuesday, December 1, 2009

What is Legacy?

Nice post Rick.

Thanks!

Hope everyone had a great Turkey day!

I ate too much *smile*

I have a question for you folks:

What is your definition of a legacy application?

Mine is rather simple... If it is being used by you or your company and can't be replaced with the click of a button or a simple keystroke, it is a legacy application.

The click of the button/ simple keystroke comment is the key I believe.  If it the application is so commoditized that you can switch from A to B to C with a mouse click or installing a different tool and it makes no difference, I wouldn't consider it a legacy application.  What is it then?  I would consider it merely a tool. 

Consider a 9/16" wrench.  Does it matter if it came from Sears or Lowe's or Home Depot?  Not really.  They all fit into your hand and allow you to loosen or tighten a 9/16" nut.  Now of course there are differences and everyone has their favorite (I personally use Craftsman).  But, in the end its just a wrench.


Now if you took a blow torch to that wrench and bent the handle in a U-shape so that it would allow you to adjust the front torsion bar on a 1965 Plymouth Fury, that is a legacy tool (I once had that car and the mechanic at the tire shop actually pulled his customized wrench out of his tool box and proudly told me why he customized it.  Seems you can't get to one of the bolts you need to reach to do a front end alignment on that particular car without a few choice cuss words or the properly modified wrench.  Anyway, you get my point I think.

Make sense?

So, if your application does something specific that can't be replaced, regardless of what it was written or where it came from, consider it a legacy application.

That's my opinion.

What's yours?