Home Berichten over PB Oude code als nieuw

18 Augustus 1997, Uitgave: 644
Sectie: Applicatie Ontwikkeling

(De tekst wordt z.s.m. geheel vertaald naar het Nederlands.)

Een logisch migratie pad - Bedrijfs-ontwikkelaars gebruiken Visual BASIC om de gebruikstijd van Cobol applicaties te verlengen
   Auteur: Rich Levin   (vertaling: Henk Broekhuizen)

Algemene opmerkingen over vertalen

Voor verkopers van mainframe computers in het tijdperk van internet is er normale wijsheid en er is de realiteit. Bekijk eens de migratie strategiën. Nog niet zo lang geleden stimuleerden industriële grootheden de verkopers van mainframe systemen om de computersystemen naar client-server architecturen te laten groeien. Dit beloofde de kosten te reduceren, de flexabiliteit te vergroten en gaf gebruikers en ontwikkelaars krachtige en kost-effectieve oplossingen.

Klinkt bekend? Dit zijn dezelfde beloftes die verkopers doen over moderne Internet architecturen. Normale wijsheid dicteert kleine/dunne Web clients als het logische migratiepad voor oude Cobol applicaties en character-mode terminal interfaces.

Drie overeenkomsten tussen terminals en Web-gebaseerde systemen versterken deze kijk. Beide platformen zijn 'toestandloos', hetgeen inhoudt dat gebruikers invoerschermen invullen en dan de informatie naar een groot systeem sturen voor verwerking. Beide gebruiken kleine client-routines die zijn aangesloten op een centraal beheerd systeem. En net zoals Cobol is Web technologie overzetbaar naar andere besturingsplatformen.

Maar daar eindigen de overeenkomsten en begint de werkelijkheid. Ondanks dat de gereedschappen, infrastructuur en het gebruik van beide systemen van buitenaf op elkaar lijken, kan het voorzien van een nieuw schilletje of schermpje van oude systemen met pure Web-technologie een aanslag zijn op uitgesproken concurerende voordelen die beschikbaar zijn door meer conventionele, grote-client technologiën.

Daarnaast, terwijl Weg ontwikkelgereedschappen, middleware en beveiligings technologiën in de kinderschoenen staan, zijn desktop en 'middle-tier' server intwikkelomgevingen volwassen, robuust en bieden de mogelijkheid om gedistribueerde verwerkingscapaciteit te gebruiken.

"Als ik mijn klanten en werknemers interactieve interfaces voor de neus zet, zal ik dat doen op een platform, en met ontwikkelgereedschappen, die de meeste ontwikkelaars kennen, en met de steun van de industrie", zegt Lance Williams, uitvoerend vice-directeur van Merkle Computer Systems Inc., een database marketing service bureau in Lanham Maryland USA. "Ik zal niet terugvallen naar dat mainframe gedoe, en CICS transacties via een T1 lijntje naar een Web browser laten lopen."

En met een goede reden. Simpelweg klanten en werknemers met een klein client programma toegang geven tot oude systemen biedt vaak geen concurerende voordelen. Merkle, die mailing lijsten verhuurt aan directe-marketing bureau's, moest de tijd om vragen en bestelorders te verwerken reduceren, en bovendien klanten en werknemers universele toegang vanaf afstand bieden.

Een browser gebruiksscherm zou de gebruikers de directe toegang hebben gegeven die ze wensen, maar zou niet de prestatie van het batch-mode, COBOL CICS applicaties op de bedrijfs IBM mainframe computers vergroten. "Onze systemen hadden twee of drie dagen nodig om orders uit te voeren,"zegt Williams. "Dat gaf problemen omdat klanten de bestelorders in een dag verwerkt wilden hebben, en er was minimaal één concurrent die dat wel beloofde."

Dan geen browser  gebruikscherm, maar wat dan? Verbazendwekkend genoeg werd Microsoft Visual Basic hèt migratie-gereedschap. De Basic taal deelst veel structuren en opbouwmogelijkheden met Cobol, waardoor het eenvoudig is voor Cobol programmeurs om aan de gang te gaan. "Basic lijkt meer op het Engels,"zegt Yisroel Bongart, assistent vice-directeur van Prudential Securities Inc in New York. "Het lijkt niet zoveel op het Engels als Cobol, maar het komt er dicht bij, en het is veel praktischer om aan te leren dan C++ of Java." Prudential heeft al zijn 18000 mainframe gebruiksstations (terminals), verspreid over 250 locaties wereldwijd, vervangen door PCs en migreert applicatie oplossingen naar Visual Basic.

Prudential biedt een intensieve vijf-daagse cursus aan voor zijn Cobol programmeurs, waarvan velen nog nooit een PC applicatie hadden ontwikkeld. Om een effectieve opleiding te garanderen stelt Bongart vóór om de aandacht te richten op de overeenkomsten tissen de twee talen, en een vertaalslag te maken voor de verschillen in syntaxis.

"De aanroep van een DLL (dynamic link library) werd gelijkgesteld aan een aanroep van een 'laad module', en we maken parameters gelijk in de 'link'delen van Cobol", zegt Bongart. "We trekken hiermee de twee talen zo dicht mogelijk naar elkaar toe."

De Volgende Stap: Middleware

Als opleiding de eerste stap is, dan is middleware de tweede. In uitzonderlijke gevallen is het verstandig om de gehele 'oude' Cobol systemen om te zetten naar Visual Basic, vooral als de Cobol applicaties in kwestie relatief klein zijn, of te oud om te blijven ondersteunen. Maar in de realiteit kunnen slechts een paar IT bedrijven zich veroorloven om werkende code weg te gooien.

We hebben een scheepslading van oude fakturerings systemen van telefoonmaatschappijen die zijn geschreven in Cobol", zegt Dave Mendlen, directeur-ontwikkeling van Ameritech Inc, een regionale dochter van de Bell-telefoonmaatschappij in Chicago. "We hebben een migratie strategie overwogen en verworpen: om de gehele fakturering over te zetten naar Visual Basic. We hebben code die werkt en ons bedrijf laat draaien. We kunnen het risico niet lopen door zulke dingen te veranderen."

Maar sommige van Ameritech's Cobol applicaties zijn in het begin van de jaren zeventig geschreven en kunnen niet als modern worden beschouwd. Overzetten van stukken van de oude applicaties naar een moderner platform is de enige optie.

Om de code om te zetten experimenteert Mendlen's team met een beta versie van een Cobol-naar-VB middleware vertalings-laag van Microsoft, met de codenaam Cedar. De programmatuur zit bovenop de Microsoft Transaction Service onder Windows NT en geeft Visual Basic programmeurs een ongehinderde toegang tot de Cobol APIs. Er zijn veranderingen nodig in de onderliggende Cobol code, vooropgesteld dat de orginele bron met een apart gebruikersinterface was ontwikkeld.

"Je richt het op een Cobol functie aanroep," zegt Mendlen. "Het verwerkt de functie, identificeert de invoer en uitvoer parameter namen en de datatypen en doet de conversie voor je.". Bijvoorbeeld: Cobol "packed decimal' data typen worden automatisch omgezet naar Visual Basic-vriendelijke vormen.

Als alles goed gaat met het proefproject, dan zullen Americht's Visual Basic ontwikkelaars de oude Cobol functies aks één grote Visual Basic functie bibliotheek kunnen beschouwen, zonder de noodzaak om Cobol taal te leren of te begrijpen. Cobol functies worden aan Visual Basic teruggegeven als standaard COM (ActiveX) objecten.

Andere Visual Basic toevoegingen kunnen ook het overzet-proces verbeteren en geven zakelijke winst. Crystal Linen Inc, een grote industriële uniform leverancier in Yakima Washington-state USA gebruikt de PB/DLL compiler van PowerBASIC in Carmel California om de uitvoeringssnelheid van overgezette applicaties te verbeterenm en verhoogt de eindgebruikers produktiviteit.

Het bedrijf zette de meeste van de oude systemen over naar grafische gebruiksschermen met behulp van Visual BASIC voor de invoerschermen. Maar grote delen van de applicatie logica, alsmede de communicatie van de oude systemen worden afgehandeld door de native-code DLL bestanden, gemaakt met PB/DLL.

"PB is geweldig als middleware,"zegt Jim Barber, directeur data-verwerking bij Crystal Linen. "Het maakt het eenvoudiger om met oude systemen te communiceren. Visual Basic heeft een aantal problemen op dat gebied, zoals strings om te zetten naar OLE, hetgeen een prestatie-beslag legt, en 4-byte alignment structuren die met delen van de Win32 API gebruikt kunnen worden, en met bepaalde oude interfaces."

In tegenstelling tot Visual Basic zijn PB/DLL componenten  multithreaded en kunnen ze zichzelf aanroepen. Dit stelt applicaties die zijn overgezet in staat om meerdere afzonderlijke processen op te starten, terwijl de gebruikers kunnen blijven doorwerken.

"We hebben giga-bytes aan data om te verwerken."zegt Barber. "We gebruikten PB/DLL om processen te laten doorgaan op onze server. Communicatie met dergelijke processen worden onderhouden door verschillende threads. Dus onze gebruikers worden niet uren opgehouden door rapporten die worden samengesteld."

(rest volgt binnenkort vertaald)

Scalability Concerns

But all is not rosy in VB migration land. While intensive, well-designed educational programs, coupled with new tools such as Cedar and PB/DLL, can reduce migration pain and improve application performance, enterprise-scale code-management tools aren't available yet.

"We found Windows tools, such as the Source Safe version control system, could not be used in enterprise systems," says Prudential's Bongart. "They couldn't be used as a central repository of all source code and load modules because they didn't scale. They were geared toward the small-workgroup development, running on proprietary databases, and couldn't provide the universal access we require."

Fortunately, VB's crown jewel-the Basic language itself-can help in this area. When migration is a requirement and failure is not an option, the simplicity of the Basic language, with its Cobol similarities and VB's rapid application development framework, can be a winning combination in the hands of the right development team.

"We built our own tools using VB," Bongart says. "Then we went further and built common developer's tools, to make porting and new development even faster." Home-grown tools, such as application wizards, class builders, mainframe connectivity and security components, and templates for component references, declarations, and constants now are standard fare in Prudential's VB shop.

No matter how it's sliced, migrating legacy programs to modern distributed systems is rarely, if ever, easy. For those IT shops with an aging workhorse in the back room, and little time to invest in training, playing with beta middleware, or creating their own change management tools, the best course may be to outsource.

Such was the case at database marketing firm Merkle, which turned to a local reseller to migrate application functionality, rather than create its own solutions. "Merkle was in panic mode when we first met," says John Repko, director of development at Micro Endeavors Inc., an Upper Darby, Pa., value-added reseller that offers legacy-to-Windows migration services.

"Merkle had a three-month deadline to get a file-server version of this in place," Repko says. "We figured the best tool for rapid systems database development would be Visual FoxPro. No other tools were used-no ActiveX, no DCOM. Just a plain client-server architecture. We turned that around in three months, and that became the functional spec for the second version," he says.

The second version, also completed in three months, added a componentized VB front end, a middle tier running the FoxPro database, and a back-end SQL Server hosted by Windows NT. VB was chosen as the front end because a future spec calls for Internet access, and the VB client can be recompiled to a downloadable browser plug-in.

IT developers say their investment in Cobol-to-VB migration is paying off. "The difference is night and day," says Merkle's Williams. "Productivity doubled, and costs fell by 50%. This doesn't happen many times in your management career. The thing just works 100 times better than what we used to have, took six months to build, and in the end, it's cheaper."&ENDASH;l

Tips voor het omzetten van oude code naar Visual Basic

- Bezuinig niet op training. Stel een intensief, vlot training programma op om uw ontwikkelaars snel op weg te helpen

- Look for middleware tools that provide basic connectivity to legacy applications and data stores from within Visual Basic. It's better to leverage existing functions and databases than to rewrite host applications from scratch.

- Build a support infrastructure for developers. Establish a small group of migration experts to serve as a developers' help desk.

- Convert standard legacy systems to components-ActiveX controls, components, and servers. Design ready-to-use application templates to speed project startup.

- Use RAD tools and make sure they're flexible and will let developers quickly respond to changing requirements. Choose mainstream, modern tools that clearly and easily integrate with the latest technologies.

- If it ain't broke, don't fix it! Leverage mainframe services that perform satisfactorily. Wherever possible, repurpose legacy code and systems; don't rebuild.

- Don't be afraid to bring in outside experts.

Data:InformationWeek, Prudential Securities, Micro Endeavors

Copyright (c) 1997 CMP Media Inc.
Copyright Nederlandse vertaling (c) 1999 Fries Computer Bedrijf/FCB

 

 

Bezoek het PB forum in het Nederlands en/of teken mijn gastenboek.

Datum laatste aanpassing:
29 december 2003 03:42:14

Email mij voor reacties,
aanvullingen en correcties