InfoNu.nl > Pc en Internet > Programmeren > Wat en waarom Cobol en XML

Wat en waarom Cobol en XML

XML is een nieuwe standaard voor het definiëren van formele markup-talen voor de representatie van gestructureerde gegevens in de vorm van platte tekst. Deze representatie is zowel machineleesbaar als leesbaar voor de mens. XML kan tevens in zowat elke programmeertaal geïmplementeerd worden, en daarom kan Cobol niet achterop hinkelen.

Cobol en XML


Inleiding

XML is een nieuwe standaard voor het definiëren van formele markup-talen voor de representatie van gestructureerde gegevens in de vorm van platte tekst. Deze representatie is zowel machineleesbaar als leesbaar voor de mens. XML kan tevens in zowat elke programmeertaal geïmplementeerd worden, en daarom kan Cobol niet achterop hinkelen. In deze paper zal ik beschrijven waarom het gebruik van XML in Cobol een zeer intressante oplossing kan zijn, tevens zal ik een kort woordje uitleg geven bij de code die nodig is om XML input te lezen en output te genereren.

Waarom XML in een applicatie gebruiken?

XML brengt een reeks van intressante eigenschappen met zich mee dat het gebruik ervan aanmoedigd. Bepaalde problemen kunnen ook gemakkelijker worden opgelost door middel van XML.

Enkele reden waarom XML in een applicatie kan gebruikt worden:

  • Coherente ontwikkelingscontext en methodologie.
  • Centraliseert de bedrijfslogica binnen de toepassing.
  • Onafhankelijk van de middleware en/of zijn eigenschappen.
  • Laat bedrijfslogica toe om gemakshalve tijdens en na berichtaanwinst/generatie te worden toegepast.
  • Het kan XML-structuren verwerken, het moet niet worden omgezet naar traditionele gegevensstructuren.
  • Toegevoegde waarde voor het bestaande design van de applicatie.

Waarom XML in Cobol gebruiken?

Aangezien dat Cobol zowat de enige taal is die erin slaagt om te blijven overleven, dient deze zich aan te passen aan de huidige technologieën. Eén daarvan is de integratie van XML.

De belangrijkste redenen waarom men XML in Cobol kan gebruiken:

  • Het houdt de ontwikkelingscontrole in één plaats/stijl.
  • Het waarborgt een correcte semantiek: teken configuratie, layout, ...
  • Hoge prestaties: CPU en doorlooptijd.
  • Het ondersteunt een brede waaier aan scenario’s: direct gebruik van XML in nieuwe of verbeterde toepassingen; convertors, bridges naar bestaande toepassingen.

Informatie

De XML parser is vele sneller dan andere, algemene, parsers. Deze parser is deel van de run-time library. Daarbovenop is het ook gemaakt voor transaction processing op hoge snelheid. Deze methode zou ook moeten werken in alle Cobol-omgevingen (CICS, IMS, batch, TSO, USS, ...). Het werkt tevens ook met alle transport methodes voor XML-documenten. Er wordt gechecked of de code goed gevormd is, maar niet of deze valid is aan de xml-normen, wat een negatief punt is.

Tijdens het parsen kan je de gegevens van het XML-document inladen in Cobol data structuren. Een groot voordeel hiervan is dat andere programma’s XML-documenten naar het Cobol-programma kunnen sturen, zonder de gegevensstructuur ervan de kennen.

Het ontdekt de individuele stukken van een XML-document, de parser zal deze stukken doorsturen naar zelf geschreven, door de programmeur, procedures om deze stukken te verwerken.

Voorbeeld

Identification division.Program-id. HelloXML.Data division.Working-storage section.1 M.2 pic x(21) value '<?xml version="1.0"?>'.2 pic x(40) value '<msg type="succinct">Hello, World!</msg>'.Procedure division.Display 'XML Event XML Text'XML Parse MProcessing procedure PEnd-XMLGoback.P.If XML-Code = 0Display XML-Event XML-TextEnd-if.End program HelloXML.XML Event XML TextSTART-OF-DOCUMENT <?xml version="1.0"?><msg type="succinct">Hello, World!</msg>VERSION-INFORMATION 1.0START-OF-ELEMENT msgATTRIBUTE-NAME typeATTRIBUTE-CHARACTERS succinctCONTENT-CHARACTERS Hello, World!END-OF-ELEMENT msgEND-OF-DOCUMENT

XML generation

Informatie

Eén simpele statement transformeert een complete data structuur naar een XML-document. De datavalues worden getrimd. Dit will zeggen dat bij alfanumierke velden de trailing spaces worden verwijderd, en bij numerieke velden de leading zeroes. Tevens worden alle datatypes ondersteunt, met uitzondering van pointer en object references.

XML-tag namen kunnen mixed-case data namen zijn.

Voorbeeld

Identification division.Program-id. HelloXML.Data division.Working-storage section.1 Hello-doc pic x(200).1 Greeting.2 msg pic x(100) value 'Hello, World! '.1 Num-chars pic 999.Procedure division.XML Generate Hello-doc From GreetingCount in Num-charsDisplay '|' Hello-doc(1:Num-chars) '|'Goback.End program HelloXML.|<Greeting><msg>Hello, World!</msg></Greeting>|

Besluit

Bij nader inzien blijkt dat Cobol, zowat de oudste taal die nu nog steeds wordt gebruikt, er steeds in slaagt om de nieuwste technologieën te implementeren. Hierdoor versterkt Cobol zijn taal niet enkel, maar breidt het ook zijn waarde uit.

Ik wist niet, voor ik deze paper maakte, dat de implementatie van XML in Cobol zo gemakkelijk kon gebeuren. Ik kan mij inbeelden dat veel studenten, en vele andere personen, deze integratie niet kennen, en zo heel wat mogelijkheden kunnen mislopen. Het lijkt mij immers bijzonder gemakkelijk om vanuit bijvoorbeeld een Java-programma XML-documenten te genereren en deze daarna in te lezen in Cobol back-end programma’s. Of omgekeerd, de XML-documenten in Cobol te laten creeëren om ze daarna te kunnen gebruiken in Java. Hierbij zou de programmatuur sneller werken, aangezien er niet telkens verbinding tot de database nodig is.
© 2007 - 2019 Rutger, het auteursrecht (tenzij anders vermeld) van dit artikel ligt bij de infoteur. Zonder toestemming van de infoteur is vermenigvuldiging verboden.
Gerelateerde artikelen
Paper Toss: alles over deze appPaper Toss: alles over deze appPaper Toss is een gratis behendigheidsspel voor smartphones. Inmiddels zijn er diverse versies beschikbaar voor zowel de…
Hoe bronnen vermelden?Bronnen vermelden is niet enkel, zoals velen denken, nodig om de schrijver van je bronnen eer aan te doen of op gerechte…
Hoe schrijf ik een paper of essayHoe schrijf ik een paper of essayMoeite met het schrijven van een paper? Dat is normaal als je geen gebruik maakt van een weldoordacht stappenplan. Een p…
Hoe maak je een paper prototype?Een prototype wordt vaak onbewust verward met het daadwerkelijke eindproduct. Dit is fout want een prototype is een repr…
De truc voor uitstel van je deadline!De truc voor uitstel van je deadline!Problemen met het halen van de deadline voor je paper, werkstuk of scriptie? En wil je niet bij je docent aankomen met d…
Bronnen en referenties
  • http://expertanswercenter.techtarget.com/eac/expertAnswer/0,295208,sid63_gci1070947,00.html
  • http://www-306.ibm.com/software/awdtools/cobol/zos/library/

Reageer op het artikel "Wat en waarom Cobol en XML"

Plaats een reactie, vraag of opmerking bij dit artikel. Reacties moeten voldoen aan de huisregels van InfoNu.
Meld mij aan voor de tweewekelijkse InfoNu nieuwsbrief
Ik ga akkoord met de privacyverklaring en ben bekend met de inhoud hiervan
Reacties

Tjob, 22-09-2008 14:25 #2
Welnu simon, wellicht bevindt deze "mafheid" zich enkel in jouw ogen :)
Geen enkele taal kan tot op heden wat cobol kan, en ik geef het jou te doen alle huidige cobolcode om te zetten in willekeurig welke taal, jij mag kiezen :)

Simon, 17-08-2008 12:07 #1
"Wat en waarom Cobol" was misschien een betere titel. Zoals Dijkstra zei: "The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense". Ik vind het maf dat mensen blijkbaar nog Cobol gebruiken voor nieuwe projecten terwijl we ondertussen al zoveel beter hebben.

Infoteur: Rutger
Gepubliceerd: 15-11-2007
Rubriek: Pc en Internet
Subrubriek: Programmeren
Bronnen en referenties: 2
Reacties: 2
Schrijf mee!