Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Microsoft Businesses

Microsoft Makes Push for COBOL Migration 487

geoff313 writes: "It would appear that Microsoft is making a real push for the migration of existing COBOL applications to Windows and their .Net platform. Micro Focus, a company who makes COBOL migration products and last year became a member of Microsoft's Visual Studio Industry Partner (VSIP) program, announced their Net Express with .Net product, a plug-in to Microsoft Visual Studio .Net 2003. It allows for COBOL code to be integrated and manged with other code in Visual Studio. In an interview with eWeek he declares that 'Micro Focus and Microsoft are bringing the mainframe to Windows and .Net'. This makes me wonder, are there any Open Source projects working to provide for this eventual migration? Gartner estimates that over 75% of business data is processed by an approximately 200 billions lines of COBOL, so this seems like a huge potential market to lose to Microsoft."
This discussion has been archived. No new comments can be posted.

Microsoft Makes Push for COBOL Migration

Comments Filter:
  • hog wash (Score:3, Interesting)

    by Anonymous Coward on Sunday November 09, 2003 @07:21PM (#7430600)
    of all the financial companies that I know, none of them have any plan to replace mainframe with windows boxes. First off, the reliability of mainframes is rock solid and the code is old but robust. It's not the most flexible systems, but they provide 99.999% reliability and tremendous scalability. Windows can't scale to those levels worth shit. Maybe in 20 yrs windows will be half way, but it would require a fundamental rewrite of the entire operating system and all of .NET. Some one over at MS is smoking some serious crack. I know from first hand, most of the big financial firms on Wall street are moving to massive clusters of linux, but the plan is a 5-10 yr process. that is such a joke, migrate Cobol to .NET.
  • by beamdriver ( 554241 ) <beamdriver@gmail.com> on Sunday November 09, 2003 @07:22PM (#7430605) Homepage
    Has anyone used Tiny Cobol [sourceforge.net] or Open Cobol [open-cobol.org]
  • Why would you? (Score:5, Interesting)

    by msgmonkey ( 599753 ) on Sunday November 09, 2003 @07:25PM (#7430626)
    As long as it works and there are no issues like Y2K why would you get rid of something that works? It's not like new machines wont run COBOL programs.
  • Re:Bah humbug... (Score:5, Interesting)

    by Anonymous Coward on Sunday November 09, 2003 @07:28PM (#7430641)
    I work for an insurance company, running a policy administration application running under Windows. We currently administer approximately 150,000 policies, and were recently acquired by another company. They're dumping their mainframe based admin system and we're taking on their policies as well. This system is written in COBOL, and at one time we were using Microfocus COBOL. The vendor switched to Fujitsu COBOL and the next version will be Fujitsu COBOL.net.

    Microfocus is a little late to the table.

    The system is running of a $40,000 Dell server, and replaced a mainframe that was costing almost $1M a year to lease/maintain. It's very doable.
  • by checkitout ( 546879 ) on Sunday November 09, 2003 @07:30PM (#7430649)
    Information week has an article from Nov. 3, 2003 noting that 38% of Gartner's shares are owned by Microsoft, Oracle, Dell and a few other major players. All of whom would presumably benefit from what Gartner has to "report" about their respective fields of interest.

    Considering that Gartner has been charged with bias from some circles already, this can't help things.

    Who Owns Gartner? [informationweek.com]
  • Comment removed (Score:2, Interesting)

    by account_deleted ( 4530225 ) on Sunday November 09, 2003 @07:37PM (#7430679)
    Comment removed based on user account deletion
  • Re:Bah humbug... (Score:5, Interesting)

    by darnok ( 650458 ) on Sunday November 09, 2003 @07:38PM (#7430683)
    > Aren't most COBOL applications deployed on big
    > iron?

    That's been my experience too. Most COBOL work being done today seems to be primarily presenting existing data in different formats for consumption by Unix or Windows based systems.

    There's no way this COBOL code is going to be migrated off the mainframe, for several reasons:
    - it's being written and maintained by mainframe COBOL coders. They have no interest whatsoever in saying it's feasible/viable/cost-effective/... in porting this code to another platform, because doing so would probably put them out of a job
    - this code tends to be built on top of old code, which is built on top of older code, which is built on top of ... It's very rare to find someone writing COBOL code from scratch; it's all based on changing proven existing code and thus carries a relatively tiny risk of problems occurring after deployment. Furthermore, it's quite common to take the output of one piece of COBOL code, and use that as the input for your new set of COBOL code. Add a few generations of this, and suddenly you're dealing with an enormous mass of COBOL code, possibly largely undocumented and written by guys who retired years ago, that you have to port across to get a single piece of functionality working. It's very difficult to even write test cases for this legacy code, since its original purpose may be totally forgotten and the only reason it still exists is to support all the newer code that's been layered on top of it. This is a big factor that tends to be conveniently forgotten by those who think a move off the mainframe to Windows or Unix is simply a matter of time. A change to the .NET platform, or any other platform for that matter, is simply not feasible for the vast majority of mainframe shops on this basis alone.
    - as this code is primarily involved in presenting data in different formats, this work is best done as close to the database as possible. You don't want to be sending a big wad of data to another system, only to have 90% of it get thrown away and the remaining 10% formatted and consumed. It's generally cheaper to do this on the mainframe
    - in the mainframe environment, .NET is often seen as a high risk option. Remember, CICS and MVS have been around for decades, and they're known to work close enough to perfectly. For the type of work COBOL is currently being used for, reliability is absolutely top priority; you don't want your huge transaction processing system to go off the air for even a few seconds while your Windows systems take an outage for patches to be applied.

    That's my take on things, but I'd be very interested to hear from anyone who sees mainframe COBOL code being used to do anything different.
  • Re:Yikes (Score:5, Interesting)

    by ericman31 ( 596268 ) on Sunday November 09, 2003 @07:42PM (#7430711) Journal

    one would be better off leaving it on the mainframe until peices of it could be rewritten in a more modern language.

    I work in the health insurance industry. We run millions of health care transactions per day through our mainframes. We use midrange and distributed systems (Sun primarily, along with a few Windows systems) to bring the transactions in the door and do the business intelligence work afterwards. Last year we start our planning to move off the mainframe. It is exactly what you described. Take pieces (the easy ones first) and rewrite and rehost. We probably won't finish the effort before 2008, or so. Of course, our current transactional system has been in place on mainframes since about 1978. We haven't missed a weekly payment cycle in more than 15 years. Our Windows boxes (even the supposedly high availability ones) miss cycles on about a monthly basis. We have no intention of even considering Windows for the rewrite effort. We're looking at Sun/Solaris, IBM/AIX and Linux clusters.

  • Re:Why would you? (Score:5, Interesting)

    by Tablizer ( 95088 ) on Sunday November 09, 2003 @07:44PM (#7430716) Journal
    As long as it works and there are no issues like Y2K why would you get rid of something that works? It's not like new machines wont run COBOL programs.

    This issue is hotly debated at many medium and big companies and organizations. Their biggest fear seems to be finding developers who know mainframe issues. There is a lot of Go-to code and JCL subtleties, for example, in these programs. Go-to programming and JCL is not tought in the schools, especially hacky constructs left over from the 60's where every byte was expensive. Imagine a class called "Go-to Techniques 101" :-)

    However, there seems to be a movement in India to create mass production "Mainframe Diploma Factories" that could potentially replenish, or even flood the mainframe market the way they did with web and client/server stuff.

    Thus, mainframe labor future is fuzzy. But, insn't the future of ANY technology somewhat fuzzy? Do you really think Java is the final word on programming languages or the final fad?
  • Re:Bah humbug... (Score:1, Interesting)

    by Anonymous Coward on Sunday November 09, 2003 @07:46PM (#7430729)
    Having talked with employees of companies that develop banking solutions with windows farms, (BankOne, Londong Bridge, etc) the biggest reason why they stay in the small to medium business market is because the HARDWARE can't keep up, not the software.

    Mission critical applications can be run in a windows environment. In 4-5 years I wouldn't be surprised if the hardware will be at a point that it can match the performance of a mainframe, for much less cost.
  • COBOL on big iron will never die. that's for the same reason one of my clients' elevator system is powered by a 100 year old solid state system. he walked me upstairs to show it off. lots of zapping and clicking noises. the thing runs 15 stories worth of 2 elevators and has for 40 years in that building (yes, bought used).

    that reason is reliability. if it ain't broke, don't fix it.

    note, y2k required fresh re-writes on many mainframe systems, and those old COBOL guys had a field day. but notice too, that they didn't go thru the trouble of migration then, even tho the amounts spend would have justified it!

    if it ain't broke, don't fix it!

  • by Anonymous Coward on Sunday November 09, 2003 @07:56PM (#7430766)
    Actually an enormous amount of mainframe code was migrated/replaced for Y2K to Unix and 'standard' ERP systems. The reason you didn't hear about it was that a successful migration would have had to start at least 3-4 years eariler. A good chunk of that last minute Y2K COBOL stuff was the result of failed migration/replacement plans.
  • by nzkoz ( 139612 ) on Sunday November 09, 2003 @08:11PM (#7430827) Homepage
    Exactly, every single UNIX / linux fan who says 'Stuff mainframes, run *nix' has essentially missed the point. Sure you can port the COBOL code over, but without CICS, DB2, VSAM, IMS et. al. your code will be basically worthless.

    I'm a unix guy, I have a huge financial incentive to support this kind of migration. But it's not going to happen. At the bank where I work, all new development is Java on Unix, that's fine and dandy but the backend systems with their huge Multi terabyte VSAM files won't be rewritten any time soon.

  • OpenVMS on Intel (Score:1, Interesting)

    by Anonymous Coward on Sunday November 09, 2003 @08:17PM (#7430858)
    COBOL is currently running either on mainframes or on VMS clusters. If OpenVMS suddenly becomes available on the Intel architecture, everbody currently running COBOL will be mightily tempted to set up clusters of cheap Intel boxes running OpenVMS, which would represent yet another lost sale of Windows. Maybe Microsoft knows something about the oft-rumored port of Open VMS to the Intel architecture.

  • Support (Score:3, Interesting)

    by Detritus ( 11846 ) on Sunday November 09, 2003 @08:50PM (#7431035) Homepage
    I would add longevity of support. Is the company going to support their current hardware and software products in 5 years, 10 years, 20 years? Microsoft, and many other companies, have a bad habit of pushing something for a few years and then ditching it, leaving their customers dangling in the wind. Microsoft has a long list of products and technologies that are no longer supported.
  • Re:Bah humbug... (Score:1, Interesting)

    by Anonymous Coward on Sunday November 09, 2003 @09:59PM (#7431386)
    Two Points:

    First - contrary to much of this thread, Microsoft **is** gradually building Mainframe-scale capability; usually with help of knowledgeable partners like Unisys, Fujitsu/Siemens, NEC, and others that (a) are committed to Wintel and (b) know how to run Mainframes (theirs, not IBM's). Yes, HP may finish the OpenVMS port to Itanium, which would allow VMS Clusters to begin migrating from Alpha to Itanium in 2005, but this only benefits Intel, not Microsoft. Microsoft is likely building the same capability into Windows 2003 Server Data Center Edition; remember - David Cutler was the original architect of VMS and VMS clusters. What has he been doing the past 4-5 years? What I read was he's the owner of the Windows-64 Server OS evolution at MS. So having "Mr Cluster" working on this process obviously helps me conclude MS will eventually have this at the high-end. Those 16 and 32 way Itanium servers that may eventually show up (as well as similar scale AMD servers) - if enabled with a VMS-style robust cluster capability - would get MS close enough to the mainframe to make this work for some customers.

    Second - Yes, lots of the old-iron programmers were "recalled to active service" to do the Y2K fixes. But will they be there in 2006-2007? Over the next 3-to-4 years, how many will have gotten too far away from work (via retirement or death) to be able to come back for more? Microsoft is just dealing with the reality of the past 20 years of teaching students C, C++, VB, and now Java. We have started to lose the COBOL critical mass of programmers from the 1960's to the 1980's to _age_. How many of the current unemployed programmers out there would be willing to retool themselves for old-iron programming (not just COBOL, but also understanding JCL, CICS/ISAM, IMS, and all the rest)? Any takers? Of course, the famed "India or Eastern Europe/Russian offshore sites" might develop or already have developed this capability, which could dent the MS strategy some.

    Bottom line here is this is just another arrow in the Microsoft quiver in its fight to attack that last bastion of computing it hasn't been able to crack - the IBM Mainframe. If it is serious about migrating mainframe customers to .NET and "Windows Server 2003 Really Expensive Edition" (or what ever) it has to have a COBOL migration strategy. Of course, those in this thread that question just how well this will work raise a valid point. If SUN, HP, DEC, etc. couldn't kill COBOL on the IBM Mainframe, can Microsoft? I guess we will see.

    JAAC
    (just another anonymous coward)

    PS - interesting that this announcement gets made the same week as IBM is going to announce a new Linux-on-Desktop policy. Standard old stuff - you attack my core strength (Microsoft at the Desktop) and I will retaliate by attacking yours (COBOL on the IBM Mainframe).
  • Re:Oh no! (Score:1, Interesting)

    by Anonymous Coward on Sunday November 09, 2003 @11:15PM (#7431744)
    Delphi is basically the successor to Pascal. The guy who developed Delphi also developed C#.
  • In My Day... (Score:3, Interesting)

    by tspauld98 ( 512650 ) on Sunday November 09, 2003 @11:20PM (#7431773)
    good software engineering meant using the right tool for the right job. Only a web script kiddies with no mainframe exposure or experience would think this story is newsworthy. Every company or organization that I've had experience with and that has a mainframe always laughs at the idea that they would migrate anything off host. Just because Big Blue originally hired MS to do software has always translated to MS that they can play in this market. I like to quote Charlton Heston whenever somebody suggests that they are going to take my mainframe away, "from my cold, dead hands!!!"

    oh, and btw, I'm not a COBOL programmer. just someone who respects them enormously. Props to the host team!

    tims
  • by ericman31 ( 596268 ) on Sunday November 09, 2003 @11:24PM (#7431791) Journal

    But this is the standard that we have to adhere to because we provide claims payment, treatment authorization and such for insurance beneficiaries. Our SLA's with our customer only allow us 30 minutes of downtime for the entire system per week. That includes the mainframe sysplex, the point of sale system, the web access for doctors and pharmacies, the interactive voice systems and all of the claims entry points.

    It's not about my data center kicking your data center's ass. This is the sort of hardware and software reliability that big data centers have to have. And this whole thread started from the idea that running COBOL within .NET was somehow innovative. The big iron shops (Sun, HP, IBM) have had COBOL migration or rehosting programs for years. I pointed out that the guy who thought this was innovative probably run a couple of windows PC's and a server. While that is necessary in the grand scheme of things, it isn't a really likely place to learn about big, mission critical IT. I used to work for a small business. We provided network services and integrations to other small and medium businesses. I thought I knew what reliability, scalability and uptime was all about until I went to work in a place where people literally might die if the system was down.

    UNIX is so close to the mainframe in reliability terms these days that there is literally no way to differentiate. I can engineer a Solaris, AIX or HP-UX system to 5 9's reliability, and have as much, or more, processing power as a mainframe sysplex. But, the problem is all that COBOL code. It has to be moved. The original design of much of the world's core finance and insurance systems happened in the 1970's. The original designers are gone. The code is not well documented or commented because the people who wrote it, for the most part, didn't think it would still be running in COBOL, on mainframes, in 2003. Moving it in one big jump is scary, and high unlikely to happen.

    We will move it, because you can't really innovate with COBOL anymore. Programmers are harder and harder to find, the SME's are retiring, and the best and brightest of the new generation are going to distributed platforms, especially Java. So, instead, we will move it one sub-system at a time to a new platform. Either a UNIX or Linux cluster, and the foundation will probably be Java. There is no confidence in the data center in Windows computing. We have had too many bad experiences with the few systems we have tried out. Bad by our standards. Granted, Windows can now achieve 3 9's, with good engineering and a LOT of tender loving care. 5 9's amounts to roughly 5 minutes of downtime per year. 3 9's amounts to roughly 500 minutes of downtime per year. 500 minutes of downtime means we might miss our SLA's for as many 15 weeks a year, depending on how the downtime worked out. That's a lot of lost revenue. And patients who can't get their treatment authorized on time or doctors not getting paid on time.

  • Re:Bah humbug... (Score:3, Interesting)

    by llefler ( 184847 ) on Monday November 10, 2003 @01:37AM (#7432284)
    I'm not assuming anything. I know the two companies I worked for are still running multiple mainframes and have huge tape libraries. One is a mutual funds company and the other is a telco. The telco processes enough transactions daily that it's not cost effective to spin that much storage. They run on monthly batches anyway.

    I've seen $500k a year mainframes (leased, of course) replaced with a pair of $10k IBM x86 servers. Setup with failover in mind one PC could be yanked out and the other taking over the load in a fraction of a second without notice to users.

    Those numbers are abnormal. If they were properly utilizing that $500k mainframe, it wouldn't be possible to replace it with a $10k x86 box. $10k doesn't buy much of an enterprise server. Our 4 processor Netfinity SQL server alone cost several times that much.

    Companies that buy/lease 390s tend to need the capacity. Otherwise they're using AS/400, Sun or Alpha, and the hardware costs aren't enough higher to outweigh the fragile nature of x86 hardware.

    A lot of people here seem to assume that mainframe means it was purchased in the 70s and hasn't been upgraded since. The only places I've seen that to be true are in universities and non-profits.
  • Re:Bah humbug... (Score:2, Interesting)

    by abradsn ( 542213 ) on Monday November 10, 2003 @02:36AM (#7432425) Homepage
    Actually, there are several solutions available to cope with these issues. Both Linux and Windows support various ways of handling these problems.
  • Re:Bah humbug... (Score:1, Interesting)

    by Anonymous Coward on Monday November 10, 2003 @02:56AM (#7432483)
    You don't need Cobol on mainframes to do this - PERL and SORT can rip and strip flat file data in a flash, and your data structures are known. Only packed decimal and EBCDIC stands in ones way. For the last 10 years SAS, has overtaken Cobol.

    Cobol people do want to port this to IBM's Linux/Unix,or SAS as its dead easy, but the Microsoft people a scared about loosing their jobs, as java and websphere work on a mainframe. Check out IBM's web site - which delivers web pages done an a mainframe - and unaffected by viruses, that scales and is reliable.

    On mainframes, patches can be applied without stopping anything, and SUN is very good too. Windows patches, however take hours.

    Cobol programmers do what they are told. Thats more than you can say about .net types, who point blank refuse to go near a mainframe, OR maintain last years VB5/6 code.
  • Re:Bah humbug... (Score:2, Interesting)

    by BrokenHalo ( 565198 ) on Monday November 10, 2003 @04:51AM (#7432729)
    The other advantage of non-mainframe systems is that you don't have to pay a premium to the dwindling number of people who have both the skills and the interest to work on them.

    True. Which is why, I suppose, Microsoft used to market a COBOL compiler many years ago (1990, I think I last saw it).

    Looks like they've revived the project...

  • And worse... (Score:2, Interesting)

    by BrokenHalo ( 565198 ) on Monday November 10, 2003 @05:04AM (#7432763)
    I have Cobol Binaries that still work unchanged, 30 years later. They get written once, then forgotten because they just work.

    I've seen a number of high-profile sites where 30-year-old binaries are still in use too; in some cases the source code was lost years ago, and the things were only maintainable by directly editing the object code.

    It's not much fun to do that with COBOL compiler output, but it's do-able and saves a lot of time.

    Yes, I'm that old. Want to make something of it? :-D

  • Solution: (Score:3, Interesting)

    by master_p ( 608214 ) on Monday November 10, 2003 @07:48AM (#7433092)
    A Cobol-to-C++ translator.

    From what I can see, Cobol is a procedural language, so it could be easily translated to C++ (no need to uses classes, just the functional part).

    There is already a GCC backend, which means that Cobol maps to C++ perfectly.

    And those 'goto' statements can be made as functions.

    The translator app should also allow which database engine and library to use; the Cobol code that does database I/O would be replaced with calls to this engine.

    This translator app could be made as backend to GCC: the Cobol compiler could produce C++ code instead of assembly code.
  • by gatkinso ( 15975 ) on Monday November 10, 2003 @08:59AM (#7433293)
    I can name several kludges and shortcomings of every technology you listed.

    In 20 years my infant son will look at my code and "think WTF is this antique?"

    But back to your point... a company with, say 2 million lines of cobol running on a mainframe that runs almost flawlessly. No major problems. Now, rewrite that code in something more modern, and redeploy on a more contemporary platform.

    How long will this take? How much will it cost?

    More importantly, how much more bread will it help that regional bakery (for example) sell?
  • Re:Bah humbug... (Score:3, Interesting)

    by quantum bit ( 225091 ) on Monday November 10, 2003 @10:37AM (#7433782) Journal
    Actually, in my experience, Windows (2000 Server running Exchange) clustering seems to make the service LESS reliable, not more...
  • Re:Bah humbug... (Score:3, Interesting)

    by Zeinfeld ( 263942 ) on Monday November 10, 2003 @03:05PM (#7435884) Homepage
    I doubt any Microsoft solution could honestly compete with the scalability and reliability of a true mainframe,

    Oh I think they could, just write the code in COBOL and you can be pretty certain that it will be fragile and bug ridden, particularly if you run 30 plus year old code that nobody has the source for.

    Mainframe hardware can be pretty reliable - particularly if you compare against some of the crappy stuff sold by wannabees. But it is certainly not infalible and you can certainly get high end intel class boxes that are easily a match reliability wise. As for mainframe O/S being reliable I have to snigger there, there is no way to know how reliable MVS is, the operator will make so many errors that any the system makes will be lost in the noise. Reliability should be measured for the system as a whole, MVS creates so many opportunities for an operator to botch things up it isn't funny.

    Microfocus has been in the cobol business for at least 20 years, what the story is about is being able to use Visual Studio as a development environment. That is pretty big news since only a complete masochist would want to develop code in an MVS environment. Unless you have tried Visual Studio, don't knock it, it leaves emacs in the dust.

    I am not sure that Visual Cobol is going to be a great programming environment, a lot of the Visual C# features are made possible by the language design. But if you are going to endure the misery of cobol it is probably the best way to do it.

    I suspect that a fair number of programmers would use the package to gradually migrate systems from Cobol on Mainframe to Cobol on dotNET to Cobol with SQL backend on dotNET to full C#/Java code with SQL backend.

  • They can keep it (Score:3, Interesting)

    by carldot67 ( 678632 ) on Monday November 10, 2003 @05:27PM (#7437412)
    Confession: Many years ago I was a COBOL programmer at several big mainframe shops.

    And I gotta tell you folks, Microsoft are welcome to it. It's a God-Awful language fit only for financial and other business applications. And for those who think financial applications are trivial, hence worth the pain of COBOL's God-Awfulness - think again. Financial apps are always having to react to changing rules, regulations and the latest fad from sales and marketing. Believe me (I have done both) molecular simulation is EASY compared to a large corporations general ledger. At least the value of PI never changes.


    Example: A well-known US retail company's W10(? - USA tax) program comes to mind that I worked on briefly before skilfully offloading to some other poor sucker.


    Check this out:

    No specs

    No doco

    Some of it was in mainframe assembler

    Object orientated? ha ha ha

    Structured programming? oh my god ha ha ha

    Code re-use? stop it! im pi**ing myself!

    Variable names like W88_REC (erm, thats it) and code that was all over the place. GOTOs. GOTOs!

    Example - every year the US states tinker with their tax levels. Sometimes, especially in the smaller states one guy is taxed in one state, but works in another, except on wednesdays if its raining and so on. So we had code everywhere that looked like this:

    IF WS-STATE = 'TX'
    THEN PERFORM U201-STATE-TX-W10
    ELSE
    IF WS-STATE = 'NH'
    AND WS-HOME = 'NY'
    THEN...
    (and so on for 48 other states)

    I think you get the picture.


    Screw that.


    Then there is that reliability issue. Microsoft OSs struggle to match Linux/BSD when the going gets a bit sticky. The level of reliability expected from a mainframe is another world altogether. I remember an old story about an IBM engineer who somehow managed to yank a whole chunk of memory from an OS390 core. Apparently that old chunk of iron soldiered bravely on for TWENTY minutes before ops' screens went red and it finally gave up the ghost, having cleanly swapped out all running processes and parked all the disks. Now THAT is a stable operating system and Im not even an IBM fan.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...