Computable.nl
  • Thema’s
    • Carrière
    • Innovatie & Transformatie
    • Cloud & Infrastructuur
    • Data & AI
    • Governance & Privacy
    • Security & Awareness
    • Software & Development
    • Werkplek & Beheer
  • Sectoren
    • Channel
    • Financiële dienstverlening
    • Logistiek
    • Onderwijs
    • Overheid
    • Zorg
  • Awards
    • Computable Awards
    • Nieuws
    • Winnaars
    • Partner worden
    • Inzending indienen
    • Inzendingen
    • De jury en experts
  • Vacatures
    • Vacatures bekijken
    • Vacatures plaatsen
  • Bedrijven
    • Profielen
    • Producten & Diensten
  • Kennisbank
  • Magazine
    • Magazine
    • Adverteren in het magazine
  • Nieuwsbrief

Ontwikkelen van componenten

04 december 1997 - 23:005 minuten leestijdOpinieCloud & Infrastructuur
Martin Healey
Martin Healey

Gespreide verwerking is altijd interactief van aard geweest. Berichtendiensten vormen hierop een welkome aanvulling. De client wordt gekoppeld aan de server voor een sessie met conventionele communicatie-subsystemen. In het algemeen moet de client-applicatie weten waar de server is; dit past goed bij veel nieuwe applicaties maar ontbeert de nodige flexibiliteit, vooral naarmate er meer servers bijkomen en schaalbaarheid belangrijk wordt.

Remote procedure call (RPC) is de geëigende manier om een client aan een server te koppelen. De RPC-software biedt een abstract API aan de programmeur, waarbij details over het onderliggende communicatiemechanisme verborgen worden. Met de juiste RPC-middleware kan dezelfde applicatiecode op verschillende platforms en verschillende communicatie-infrastructuren worden gebruikt. Hiervoor moet de programmeur echter een zekere discipline hebben; lokale technieken, zoals het gebruik van gemeenschappelijk geheugen, zijn in een RPC-omgeving niet beschikbaar.
De voor RPC noodzakelijke discipline is zeer welkom. Het komt de prestatie niet ten goede, maar de noodzaak om het interface ‘schoon’ te houden leidt tot beter onderhoudbare code. Eén groep programmeurs ontwikkelt daarbij de procedures, met slechts één entry point; alle argumenten worden meegegeven in cellen, er zijn geen referenties naar externe gegevens en er is geen toegang tot interne variabelen vanuit andere routines. Deze bibliotheek van procedures wordt op een hoger niveau door andere programmeurs gebruikt. Het probleem hierbij is het houden van toezicht op naleving van dit beleid, waarbij whiz-kids in het gareel gehouden moeten worden. Met primitieve talen als C is dit nog moeilijker.
Een ander probleem is de documentatie. De functie van elke software-component moet duidelijk gedefinieerd zijn, net als de regels voor de programmeurs die deze functie gebruiken. Dit betekent ook dat de functie nauw gekoppeld moet zijn aan het ontwerp, zoals bij case-tools, en dat de technische documentatie en de gebruikersdocumentatie ook bij de invoering van nieuwe versies gesynchroniseerd moet blijven. Conventionele documentatietechnieken maken dit moeilijk, maar niet onmogelijk. We zouden dan ook allemaal de lage profilering van en even lage investering in repositories hartgrondig moeten verwensen.
Er zijn geen speciale tools nodig om met bovenstaande methoden tot herbruikbare elementen te komen, maar er is discipline voor nodig, die gedurende een lange tijd moet worden opgebracht. En dit nu is een belangrijk struikelblok geweest bij eerdere pogingen om software-componenten te ontwikkelen.
Een andere functie van componentontwikkeling is fijnkorrelige modularisatie. Het is relatief eenvoudig om een groot aantal kleine functionele componenten te definiëren en te integreren. Dit moet omwille van een maximale flexibiliteit worden gecombineerd met een run-time omgeving. Voor de meeste transactie-applicaties levert een TP-monitor de noodzakelijke ondersteuning. Maar communicatie tussen verschillende taken via een TP-monitor genereert een enorme overhead vergeleken met een lokale procedure-aanroep.
Ontwikkelaars die componenten gebruikten om relatief kleine transactiemodules te bouwen, liepen al snel tegen prestatieproblemen op. Er was niet veel keus: de transactiemodules moesten worden samengevoegd met behulp van procedure-aanroepen. De performance werd hierdoor verbeterd, maar er ontstonden enorm grote transactieprocessen. Dit is op zichzelf niet zo erg, maar deze grote modules hebben per definitie zoveel kruisverwijzingen dat ze alleen door een team van programmeurs kunnen worden onderhouden. Het verdubbelen van de omvang kan de onderhouds- en testproblemen gemakkelijk verviervoudigen. Dit geldt natuurlijk niet alleen voor mainframe TP-applicaties maar ook voor PC-toepassingen.
Tegenwoordig is alles anders. (Of tenminste, dat zou het moeten zijn.) Hardware bedraagt nog maar een klein deel van de kosten van een applicatiesysteem, ongeveer 10 tot 15 procent. Onderhoud is waarschijnlijk de grootste component; denk eens aan de kosten van het opwaarderen van al die monolithische Visualbasic-software!
Case-tools zijn nu volwassen en de ontwerpfuncties kunnen niet alleen van dienst zijn bij het partitioneren van code voor client en server, maar ook bij modularisatie van code. Case-tools kunnen weer worden gekoppeld aan repositories. Men is echter huiverig voor deze strategische investeringen door eerdere slechte ervaringen met onvolwassen case-tools en de moeilijk meetbare kostenbesparing.
Met case-tools gedefinieerde modules kunnen door programmeurs eenvoudig misbruikt worden. Er is daarom veel te zeggen voor codegeneratoren, vooral met kleine code-modules. Hergeneratie van code kost tijd, maar kan met de tools van tegenwoordig eenvoudig worden gerealiseerd, behalve als de code groot en monolithisch is. Codegeneratoren kunnen ook veel verschillende talen aan, zoals Cobol en C. In deze omgevingen geef ik nog steeds de voorkeur aan Cobol op de server en zo’n beetje alles op een dunne client, zoals Java. Verrassend genoeg kiezen veel organisaties nog steeds voor C++ op de server. Veel organisaties hebben in het verleden slechte ervaringen met codegeneratoren opgedaan; de tijd is rijp om het nog eens te proberen.
Tools zijn nuttig om modulaire applicaties met herbruikbare componenten te bouwen, maar er is een groeiende vraag naar pakketten met standaardcomponenten voor applicatie-ontwikkeling. Dit voert ons in de nieuwe wereld van de objecttechnologie. De vraag is nu: moeten we standaardtechnieken gebruiken om herbruikbare componenten te bouwen, of moet het pure object-oriëntatie zijn?

Meer over

Networking

Deel

    Inschrijven nieuwsbrief Computable

    Door te klikken op inschrijven geef je toestemming aan Jaarbeurs B.V. om je naam en e-mailadres te verwerken voor het verzenden van een of meer mailings namens Computable. Je kunt je toestemming te allen tijde intrekken via de af­meld­func­tie in de nieuwsbrief.
    Wil je weten hoe Jaarbeurs B.V. omgaat met jouw per­soons­ge­ge­vens? Klik dan hier voor ons privacy statement.

    Whitepapers

    Computable.nl

    Comeback? Private Cloud heroverwogen.

    Waarom regie, security en controle opnieuw centraal staan

    Computable.nl

    Geïntegreerde ICT in de zorg

    Hoe samenhang in IT bijdraagt aan continuïteit en veiligheid

    Computable.nl

    Digitalisering die zorg versterkt

    Hoe is de zorg voorbereid op de toekomst, met een hoofdrol voor cloud en connectiviteit?

    Geef een reactie Reactie annuleren

    Je moet ingelogd zijn op om een reactie te plaatsen.

    Awards-inzendingen

    Pijl naar rechts icoon

    Check Point

    Nadia van Beelen (Sales Associate, Check Point Technologies)
    Pijl naar rechts icoon

    Cegeka

    Ammar Alkhatib (Cyber Security Advisor, Cegeka)
    Pijl naar rechts icoon

    ForceFusion

    Amber Quist (Cyber security specialist, ForceFusion)
    Pijl naar rechts icoon

    Howden Nederland

    Pieter-Jan Lommerse (cio, Howden Nederland)
    Pijl naar rechts icoon

    Rabobank

    Corence Klop (ciso, Rabobank)
    Alle inzendingen
    Pijl naar rechts icoon

    Populaire berichten

    Meer artikelen

    Meer lezen

    Data & AI

    Kort KickstartAI verlengt samenwerking met oprichters, Dave Maasland verkoopt bedrijf aan Eset (en meer)

    Overheid

    BZK houdt cruciale info achter over standpunt Solvinity

    Cloud & Infrastructuur

    India haalt ASML binnen voor opbouw halfgeleidersector 

    Data & AI

    GTIA: Ai geeft spanning tussen it-kanaal en tech-leveranciers

    Cloud & Infrastructuur

    Kort: Datacenter NorthC heeft tijdelijke stroom­voor­zie­ning, SiSo verkocht aan EyeTi (en meer)

    Security & Awareness

    Odido-topman over hack: ‘Niets verkeerd gedaan, wel fouten gemaakt’

    ...

    Footer

    Direct naar

    • Carrièretests
    • Kennisbank
    • Computable Awards
    • Magazine
    • Ontvang Computable e-Magazine
    • Cybersec e-Magazine
    • Topics
    • Phishing
    • Ransomware
    • NEN 7510

    Producten

    • Adverteren en meer…
    • Jouw Producten en Bedrijfsprofiel
    • Whitepapers & Leads
    • Vacatures & Employer Branding
    • Persberichten

    Contact

    • Colofon
    • Computable en de AVG
    • Service & contact
    • Inschrijven nieuwsbrief
    • Inlog

    Social

    • Facebook
    • X
    • LinkedIn
    • YouTube
    • Instagram
    © 2026 Jaarbeurs
    • Disclaimer
    • Gebruikersvoorwaarden
    • Privacy statement
    Computable.nl is een product van Jaarbeurs