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
  • Computable Awards
    • Overzicht
    • Nieuws
    • Winnaars
    • Partner worden
  • Vacatures
    • Vacatures bekijken
    • Vacatures plaatsen
  • Bedrijven
    • Profielen
    • Producten & Diensten
  • Kennisbank
  • Nieuwsbrief

De harde les van hardware

31 juli 1997 - 22:004 minuten leestijdOpinieData & AI
Martin Healey
Martin Healey

Een enorm succes in de hardware-industrie is het principe van herbruikbare componenten in de vorm van lsi-circuits (large-scale integration) in standaardcomponenten als microprocessoren, schijfcontrollers en videocontrollers. Het wordt hoog tijd dat de software-industrie de kop uit het zand haalt en iets vergelijkbaars realiseert.

Hardwarecomponenten zijn alleen herbruikbaar op ontwerpniveau, terwijl softwarecomponenten in theorie dynamisch op nieuw te gebruiken zijn. Denk bijvoorbeeld aan een validatiecomponent die tegelijkertijd door meerdere applicaties wordt gebruikt. De software-industrie heeft zich de afgelopen jaren beziggehouden met het concept van object-oriëntatie. Dat concept voert herbruikbaarheid nog een stap verder: naast encapsulatie zijn ook overerving en polymorfisme mogelijk, terwijl bij hardwarecomponenten alleen encapsulatie mogelijk is.
Herbruikbare softwarecomponenten hoeven geen objecten in enge zin te zijn. Applicaties kunnen ook subroutines en systeemfuncties, zoals bestandssystemen en databases, als componenten zien. Het probleem met subroutines is echter dat compilers slimme foefjes hebben ingebouwd, zoals meerdere toegangspunten en toegang tot externe variabelen. Soms maakt de compiler variabelen binnen een subroutine zichtbaar voor andere routines. Dit betekent dat er een onderlinge afhankelijkheid ontstaat tussen subroutines en de programma’s die ze aanroepen (gemeenschappelijk geheugen bijvoorbeeld). Dat belemmert de herbruikbaarheid. Voor een herbruikbare subroutine is discipline nodig: er mag maar één toegangspunt zijn, parameters mogen alleen worden doorgegeven bij de aanroep en er mogen geen referenties zijn naar externe gegevens. Dat is allemaal mogelijk, maar wordt in de praktijk zelden afgedwongen. Merk op dat we een Cics/Cobol-routine als herbruikbare component kunnen zien, al kent deze, net als zijn hardware-tegenhanger, geen polymorfisme en overerving. De parallel met de hardwarewereld zou voldoende bewijs moeten leveren voor het vermoeden dat encapsulatie te gebruiken valt om van een systeem de kosten te verlagen, de ontwikkeltijd te verkorten en de betrouwbaarheid te verbeteren. Ik kan voor overerving geen vergelijkbare analogie bedenken, al geloof ik wel dat het een belangrijke verbetering in software-engineering betekent. Ik denk echter dat we niet hoeven te wachten op puristische objectsystemen voordat we gaan nadenken over herbruikbaarheid. Het inpakken van schone conventionele codemodules als herbruikbare componenten is dus een goed idee. Denk daarbij aan OLE-controls of Cics/Corba-ontwikkelingen. Zelfs als object-oriëntatie volwassen wordt, zullen deze componenten een nuttig en productief leven hebben. OLE is minder goed dan SOM/Corba, maar er zijn talloos veel OLE-componenten en slechts weinig SOM-equivalenten. Zonder applicaties mislukt zelfs het beste systeem, net als bij de Betamax-videostandaard.
Als we nadenken over componenten aan de kant van de gebruiker (de front end), moeten we ons realiseren dat OLE nu geen concurrentie ondervindt van SOM, maar van Java Beans Frameworks. Stel dat dit raamwerk aan populariteit wint en wordt ondersteund met door gebruikers ontwikkelde Java-applets en standaard Java-componentbibliotheken. Dan zal het superieur zijn aan OLE en het verschrikkelijke Activex. Het biedt namelijk een omgeving die op alle systemen kan draaien, inclusief netwerkcomputers, waarbij objecten op een gedistribueerde manier worden ondersteund. Beschikbaarheid van applicaties is hierbij van essentieel belang. Voordat gebruikers Java Beans zullen accepteren, moeten de applicaties aantonen dat ze significant beter zijn dan toepassingen op basis van OLE plus uitbreidingen.
Door OLE en Java is er nu veel activiteit aan het gui-front. Er bestaan vele OLE-controls en er zijn een heleboel geruchten over enorme investeringen in Java Beans, die overigens nog niet gereed zijn. Daarmee zal de ontwikkeling van client-software mogelijk zijn. Er zijn controls en Java-ontwikkelingen waarmee dikke PC-clients databases op de server kunnen benaderen (Odbc en Jdbc). Dikke clients introduceren echter weer een legacy-probleem. Om te kunnen overstappen op het dunne client-model blijven gui-clients nodig, maar server-componenten worden steeds belangrijker. Er zijn altijd al vraagtekens gezet bij het zuivere objectmodel voor gegevensafhandeling. De meeste transactiegegevens zullen niet worden opgeslagen in een objectdatabase, maar in een relationele database. Een bedrijfsobject op de server zou deze gegevens moeten encapsuleren. Dat introduceert echter weer een compatibiliteitsprobleem. Als we de overerving even vergeten, is een goed ontworpen routine in Cics/Cobol of Tuxedo/Java te encapsuleren en herbruikbaar te maken via een standaard interface, zoals Corba of Dole. De huidige component-tools zijn te gebruiken om code voor een dunne client te ontwikkelen. Daarmee wordt toegang verkregen tot robuustere transactieroutines alsof het client-componenten waren.
De laatste les die we van de hardwarewereld kunnen leren is het belang van documentatie. Herbruikbare componenten moeten niet alleen beschikbaar, maar ook strikt gedocumenteerd zijn. Voor de meeste softwarecomponenten geldt dit helaas niet.

Meer over

ECM

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

    Bouw de AI-organisatie niet op los zand

    Wat is de afweging tussen zelf bouwen of het benutten van cloud?

    Computable.nl

    De weg van dataverzameling naar impact

    Iedere organisatie heeft data, maar niet iedereen weet hoe je het goed gebruikt. Hoe zet je waardevolle informatie om in actie?

    Computable.nl

    In detail: succesvolle AI-implementaties

    Het implementeren van kunstmatige intelligentie (AI) biedt enorme kansen, maar roept ook vragen op. Deze paper beschrijft hoe je als (middel)grote organisatie klein kunt starten met AI en gaandeweg kunnen opschalen.

    Meer lezen

    ActueelCloud & Infrastructuur

    Kort: Kamervragen mail-ophef Strafhof, NXP-fabriek Nijmegen sluit, Hema op de data-toer en jaarcijfers Lenovo

    ActueelCloud & Infrastructuur

    Kort: Nieuw kantoor Salesforce NL, videobellers in problemen, overheid omarmt ai-agents, 40 mln. voor defensie-tech Keen

    ActueelData & AI

    Nederlandse organisaties weten bar weinig van de Data Governance Act

    ActueelCarrière

    Kort: Atos benoemt Benelux-hoofd ai-tak, Eset-rapport, Sioux naar Singapore, Dell vernieuwt AI Factory

    Standards standaarden
    ActueelData & AI

    ‘Standaarden-organisaties moeten aan de bak’

    Remko Reinders op podium
    ActueelCloud & Infrastructuur

    Salesforce: Ai-agent wint na voorzichtige start snel terrein

    Geef een reactie Reactie annuleren

    Je moet ingelogd zijn op om een reactie te plaatsen.

    Populaire berichten

    Meer artikelen

    Footer

    Direct naar

    • Carrièretests
    • Kennisbank
    • Planning
    • Computable Awards
    • Magazine
    • Abonneren Magazine
    • Cybersec e-Magazine

    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
    © 2025 Jaarbeurs
    • Disclaimer
    • Gebruikersvoorwaarden
    • Privacy statement
    Computable.nl is een product van Jaarbeurs