Saturday, March 26, 2011

“COBOL and The SSA”

BY
Gregory V. Boulware

"Create," says Chris Murphy of TechWeb. "IT leaders can't quit their day jobs of cutting costs and improving processes. But they need to spend more time innovating on how IT fits into their company's products."

There exists a love-hate affair with the Social Security Administration, COBOL Software Databases, and its Programming devotees.

COBOL Programming Language is about fifty years old. It has a following and staff of many-experienced IT Pros. Mr. Frank Baitman, a CIO of the SSA, says of the fifty year old language - "COBOL is remarkably efficient for certain things. We have business processes that are designed around it, and COBOL lends itself to that."

The Social Security Data Center is the home base equal to and possibly more than 4 Peta bytes of demographic, wage and benefits data. A Peta byte is 2 to the 50th power (1,125,899,906,842,624) bytes. A petabyte is equal to 1,024 terabytes. Petabyte is abbreviated as PB. (i.e., Abbreviation for binary term, a unit of storage capable of holding a single character. On almost all modern computers, a byte is equal to 8 bits. Large amounts of memory are indicated in terms of kilobyte (1,024 bytes), megabytes (1,048,576 bytes), and gigabytes (1,073,741,824 bytes). The agency, last year, distributed more than seven hundred billion dollars in retirement, disability, and survivor benefits to roughly fifty-three million American recipients. The agency cannot afford any service disruptions with/by system power outages. That's where UPS system lends its support.

The Uninterrupted Power Supply paralled with systems like Powerware Hot Sync Technology could very well enable a muti-module configuration to operate without the need for inter-module communications. This would eliminate the system level single point of failure inherent in traditional parallel configurations while maximizing power availability. Hot Sync capacity enables up to eight UPS modules to operate in parallel to increase the load capacity by adding more UPS modules than are needed to support the load, whereas redundancy can also be achieved.

An uninterrupted power supply, also an uninterrupted power source, UPS or battery/flywheel backup, is an electric apparatus that provides emergency power to a load when the input power source, typically the utility mains, fail. A UPS differs from an auxiliary or emergency power system or standby generators in that it will provide instantaneous or near-instantaneous protection from input power interruptions by means of one or more attached batteries and associated electronic circuitry for low power users, and high power users. This information is based on my research and theory of day-to-day operations concerning a large data center scale UPS.

"The Social Security Administration’s primary data center is expected to max out its electrical distribution capacity within four years," says Nicholas Hoover of Techweb, who quoted the Social Security's Inspector General, Patrick O'Reilly. Hoover wrote in his article, 'Social Security Confronts Obsolescence," targets the Social Security Administration’s primary data center. The report says that the data center is nearing the end of its usefulness. The center's electrical system is an accident waiting to happen with its decades-old software as it hampers the agency's ability to extend its services to the Web.

The primary rule of all UPS systems is to provide short-term power when the input power source fails, many UPS units are also capable in varying degrees of the ability to correct common utility power problems. Five to fifteen minutes are typical for smaller UPS systems. The on-battery run-time of most UPSs' is relatively short but sufficient to allow time to bring an auxiliary power source online, or to properly shut down protected equipment. A UPS system is typically used for the protection of computers, telecommunication equipment, data centers, or other types of electrical equipment where it is possible to experience an unexpected power disruption. These types of power failures could cause serious business disruptions, fatalities, injuries, and data loss. Uninterruptible Power Supply Units can range in size from those designed to protect a single computer to large units that power and control buildings, entire data centers, and/or cities.

"Service interruptions would severely affect the American public. The interruption would delay the delivery of benefits to citizens who depend on those funds in their day-to-day lives, and likely hindering people's ability to obtain employment, driver's licenses, loans, and mortgages," says Hoover who again quoted O'Reilly. The Social Security Administration operates a secondary data center for back up and recovery. It's a poor safety net due to its inability to render protection to an ailing and old HVAC (Heating, Ventilation, and Air Conditioning) system. Replacement parts are no longer available to the system designed for the system nineteen-seventy's era mainframe. The out-dated system lacks redundant electrical, heating, and cooling system protection. The HVAC is well beyond its expected life cycle," says the Social Security's Deputy Commissioner for Systems.

Introduced decades ago, the Common Business Oriented Language was written but running on SSA systems that were one or two years old. That software placed constraints on how data was accessed and shared internally as well as being made available on the Web. The SSA agency is currently involved in a project to convert their aged master data access method File Management System. The plan is to switch to IBM's DB2 Database Management System. The SSA continues to run its core applications on the "MADAM" system; a system that according to government reports is obsolete. It was designed and written in and on a nineteen-eighties IBM Assembler Language (A program that translates programs from assembly-language to machine-language) - COBOL.

Retirement, Survivors, and Disability Insurance Accounting System and Supplemental Security Income record maintenance systems are run on four powerful IBM main frames, plans to take steps in modifying its applications to enabling DB2 access - even though the question of software obsolescence will not go away. The agency sorely needs to change its COBOL-based IT infrastructure to newer technologies.

Structured Programming COBOL is one of the oldest programming languages. Its name is an acronym for Common Business Oriented Language. Its primary domain is business, finance, and administrative systems for companies and governments. COBOL was first released in nineteen-sixty as a result of a joint effort of industry, major universities, and the United States Government. The purpose of COBOL wasn't providing a high-level computer programming language for the business world. High-level is one that can be transferred easily from one computer to another and does not require the programmer to have a working knowledge of a computer's internal components. A low-level language is a programming language that requires knowledge of a computer's internal components and cannot be transferred from one computer to another. COBOL, BASIC, C, JAVA, and PASCAL are examples of high-level languages.

When COBOL was developed, the objectives of the language was that it should be machine independent. The meaning is a program written in COBOL is supposed to run on a variety of computer systems with little or no change - English-like and self-documenting.

COBOL's success (and disadvantages) can be attributed to two factors. Programming in a low-level language was difficult and error-prone. There was a definite and for a high-level business-oriented language. Secondly, there was a strong pressure from the United States Government t establish a common language for business applications. It was also because the United States Government is and was the largest user of computers. Manufactures quickly recognized the value in developing COBOL Compilers and related software. The COBOL Compiler is a special program supplied by computer manufacturers and software suppliers that translates the COBOL program into instructions the computer can understand.

Did you ever wonder what DOS (Direct Operating System) was used for?

The disadvantages of COBOL programming tends to be very wordy. They often require many pages of code to accomplish a task that requires only a page or two in another language. This high-level language also tends to generate object code that is less efficient than the code generated by a low-level language. The 'B' in COBOL stands for business. COBOL was designed primarily for business applications and is not really designed to handle scientific or process control applications. Other programming languages are better suited for these types of applications.

All operations carried out by computers require access to data. Data consists of numbers and words that are suitable for processing by a computer to produce information. The data is manipulated within the CPU (Central Processing Unit) of a computer under the direction of a computer program stored in the computer's memory. Remember DOS? The data is manipulated to produce useful information in the form of screen displays and printed reports. Information produced by processing data can be used for whatever functions are required by you or other computer users. The production of information by processing data on a computer is called information processing or electronic data processing. Data is used in each operation on a computer, i.e., input, arithmetic, logical, output, and storage operations. Computer programs written for business applications can be small, albeit; most are large and complex. Due to the complexity of programs written for business, it is very important that programmers write programs in a systematic and disciplined manner. The COBOL programmer's five-step process is to understand the problem, design the program, code the program, test the program, and document the program.

The Social Security Administration has warned of anticipated employee retirements. It is facing a potential shortage of technical staff with master data access method skills. The retirement would cause a short-handed computer programming staff. IT staff professionals required to manage and maintain its code(s) are reaching retirement age. The agency says about forty-two percent of IT specialists are expected to retire between 2010 and 2020. The scarcity of recent college grads proficient in COBOL programming will not be readily attainable. The CIO wants young computer science graduates to come to the agency and pick up the dying skills; that challenge has proven to be difficult if not impossible as the agency is currently in the midst of a hiring freeze.

Brother Clark Maxwell, an IT Pro and friend of mine, wrote to me during an online conversation on a social and professional networking platform; "You do not need to have a college degree in IT or BI to be successful in IT, but you do need to have an interest and an aptitude for math and logic. In fact, many if not most of the people that I have worked with as application programmers, software engineers, database administrators and systems analyst do not have computer science degrees. Many either minored in CS (like me), have degrees in engineering or life sciences. In most cases, opportunities are given based on skill level and not educational background.

Of all the programming languages that you listed (here and in a previous article) that were to be given by whatever school, none are object-oriented, e.g. that allow you to create objects and inherit their properties to create child objects. Java is object-oriented, and is a totally different language than Java script. Object orientation allows you to create reusable code, which has too many advantages to list here. This is a concept anyone seeking a career in application and/or systems programming would need to know.

A lot of these schools that offer courses to create a career in IT barely give the fundamentals one would need to break into the industry. I've seen a lot of people waste thousands of dollars on "certificates" that mean nothing to interviewers, who care more about whether you understand entity relationships, how to put a table in third normal form, write a shell script in Unix/Linux and more importantly, how to analyze a business problem and devise a solution.

For that reason, I would suggest a focus on business analysis. There is a huge need in IT for business analysts to gather, analyze and document business requirements. Such a person needs to have a thorough knowledge of the SDLC (software development life cycle), the ability to grasp business processes and an understanding of various SDLC methodologies. You don't necessarily need to have an expert level knowledge of programming, but a working knowledge helps. You should be very familiar with tools such as Excel, MS Project, MS Visio for starters. You would need to be able to put together flow charts illustrating business processes, have good written communication skills, and the ability to organize and lead design meetings with technical and business people. Other key skills are knowledge of the rational unified process (RUP) and universal modeling language (UML). Sounds like a lot but a lot of these concepts complement each other."

Another IT friend of mine, Craig Garner, also wrote; "I agree with Clark but would also add that you should look into becoming a Systems Analyst as well as a Business Analyst. The System Analyst will get more into the technical "how" of things as opposed to the BA focusing on the "what" needs to be done. System Analysts normally have to write test plans, implement system testing and integration testing which are a very important aspect of the Development Life Cycle. In regards to Object Oriented programming, this is simply a choice in SDLC (Systems development Lifecycles) methodology. It lends itself to JAVA programming but is not always useful for certain other types of scientific development. Most old school developers wrestle with the nuance since it is not intuitive. But there are also other aspects or areas to investigate for jobs such as Help Desk providers, network architects, DBA's, Quality Assurance Managers, and Project Managers. This last one is something that all projects need if they are going to get the product delivered on time and within budget.

Most Software Development Managers are dealing with this dilemma everyday. Anyone can write code but can they do it in the time frame that's required. This is why a method called Extreme Programming is gaining ground because it focuses on getting the product developed quickly before even completing the requirements. Prototypes are thrown together to obtain the users buy-in and then the actual system is completed. If you can't show a manager how you will help him save cost and increase revenue they have little patience for your skills assessment. Most of them want results and they want it fast.

As quality of patient care increasingly became an issue in the healthcare industry, the founders of MIE launched NoMoreClipBoard.com. The company has developed one of the leading personal health record systems in the country due to its interoperability with various EHR technologies, health systems and hospitals and the ability to put patients at the center of their healthcare.

Information Services/Software Development Businesses claim fifty-eight percent of the sectors jobs; consulting jobs are twenty-seven percent of the employment numbers and (EMR) Electronic Medical Record companies/Health Information Exchanges have fifteen percent of the HIT (Health Information Technology) workforce. Overall, health IT jobs have grown sixty-one percent over the last five years. David Johnson, President and CEO of BioCrossroads, says Indiana is at the forefront when it comes to the delivery of better healthcare through the use of better information. The BioCrossroads report is reputed to be the first place that has staked out the fast-growing field of HIT as a worthy life sciences sector all on its own, and a driver of economic growth as well as higher quality healthcare.

Hoover also spoke of the National Research Council in his InformationWeek article of March 14, 2011, "The council determined in 2007, that moving away from MADAM without rewriting the Social Security's application would limit the functionality of existing applications and compromise the design of a new database." The report also stated, at that particular time, the Social Security Administration hierarchy defended its approach as more cautious and less risky.

The existence of this love-hate affair or relationship betwix the SSA and COBOL enthusiasts has probably surpassed its hay-day... Time has proven, more often than not, our ability to reluctantly change what we like - to the inevitability of obsolescence.



Til next time...


Acknowledgements:
Shelly, Cashman, and Foreman Structured COBOL Programming
Clark Maxwell, IT Professional and Black In America Member
Craig Garner, IT Professional and Black In America Member
Chris Murphy, TechWeb.com, InformationWeek, March 14, 2011
J. Nichloas Hoover, TechWeb.com, InformationWeek, March 14, 2011
Virginia M. Boulware, RN, proofing
David Johnson, President and CEO of BioCrossroads, Indianas Healthcare Industry and HIT
Wikipedia and Webopedia, COBOL Programming
http://www.associatedcontent.com/user/814056/gregory_boulware.html
http://ezinearticles.com/?expert_bio=Gregory_V._Boulware
http://www.blogger.com/profile/10910946197037982583
http://www.BoulwareEnterprises.wordpress.com
http://www.linkedin.com/pub/gregory-boulware/10/435/44b
http://www.BoulwareEnterprises.com


Postings and Endorsements On Popular Sites:
Lockheed Martin / Space Technology
"The Platform On The Cloud"
"We The Matrix"
Free Psychology Articles
PC and Gadgets Guide
"The Legal System and Technology in the 21st Century"
WelcomeToSealBeach.com
"The EMR And You"
Gregory V. Boulware’s Very First Published Article:
IT and BI”

                                                 

No comments:

Post a Comment