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

Wanneer is een dbms een applicatieserver?

22 februari 2001 - 23:004 minuten leestijdOpinieData & AI
Martin Healey
Martin Healey

Het is een lange weg terug naar de introductie van het relationele databasemanagementsysteem. In de jaren tachtig geloofde niemand dat relationele technologie genoeg in zich had voor transactietoepassingen; SQL was alleen bestemd voor op queries gebaseerde systemen. Wat hadden ze het fout! Alle nieuwe applicaties worden gebouwd op relationele databasemanagementsystemen, hoewel omvang en prestaties van vele zeer grote databases nog het gebruik van oude technologieën voorschrijven, met name Vsam en IMS.

De ontwikkeling van de minicomputer, in het bijzonder de VAX van DEC, viel samen met de introductie van rdbms-producten door Oracle, Ingres, Informix, Sybase, enzovoort. Er was nog een derde ontwikkeling: het snel volwassen wordende Unix.
Het probleem was dat VAX, VMS, Unix en de rdbms geen ondersteuning hadden voor transacties (‘roll-back’, ‘multi-threading’, I/O-beheer, beveiliging, enzovoort). VMS en Unix zijn relatief eenvoudige besturingssystemen met timesharing.
Er was een voor de hand liggend antwoord op het dilemma dat ontstond als gevolg van het ontbreken van transactiediensten in de besturingssystemen van de minicomputers: bouw ze in de rdbms in. Tegelijkertijd werd de technologie geïntroduceerd om de SQL-‘werkeenheid’ te precompileren, en eveneens in de rdbms op te slaan. Zo kunnen meerdere ‘instances’ van applicatieprogramma’s dezelfde UOW delen, waarmee de prestaties drastisch toenemen.
Met de komst van de pc en het Ethernet, en de dominantie van Unix, waren de rdbms-leveranciers al gevestigd. Alle introduceerden een driver aan de client-kant die in een pc onder Windows draait. Deze zou een client-applicatie in staat stellen om de uitvoering aan te roepen van een procedure die aan de server-kant is opgeslagen, en die bijna compatibel is met lokale Unix-applicaties. Deze producten, door Oracle getypeerd als SQL*net, waren heel slim. Ze hadden sessieprotocols, de mogelijkheid werkruimte over het netwerk in kaart te brengen, logische namen toe te wijzen om de integratie met ontwikkeltools voor de pc te vergemakkelijken, en foutenbeheer.
Met behulp van deze interfaces waren SQL-functies te verzenden in de vorm van tekst-strings voor ‘dynamische’ interpretatie en waren oproepen te doen aan geprecompileerde opgeslagen procedures. De eerste voor ad-hoc queries, de laatste voor transacties.
Helaas had elke leverancier van databases zijn eigen protocollen tussen client en server. De SQL Access Group (SAG), een standaardisatieorganisatie die het niet zou redden, probeerde een standaard te definiëren. In wanhoop nam Microsoft deze standaard over en implementeerde hem. Dit is de huidige standaard Odbc geworden. Compatibiliteit en prestaties vormen nog steeds een probleem; veel ondernemingen verkiezen dan ook bedrijfseigen varianten. Met de komst van Java en de op Java gebaseerde applicatieservers, werd eenzelfde soort standaard als Odbc geïntroduceerd, genaamd Jdbc.
De ontwikkeling van opgeslagen procedures werd versneld met de introductie van de procedurele extensie PL/SQL door Oracle. Dit was een bedrijfseigen Oracle-taal, die SQL procedurele mogelijkheden gaf. De logische scheiding van een applicatie in twee lagen, die hieraan voorafging, was eenvoudig. De SQL draaide in de server, de rest in de client. Nu moest de ontwikkelaar beslissen welk deel van de applicatielogica in de client draait en welke multi-usercomponenten in de procedures die in het rdbms zijn opgeslagen. De prestaties verbeterden duidelijk, maar de applicaties – geschreven voor de Oracle-rdbms – waren totaal bedrijfseigen. De rdbms van Oracle was de omgeving geworden voor het uitvoeren van de applicatie; het besturingssysteem was irrelevant. Oracle deed alle multi-threading, I/O-buffering, enzovoort.
IBM daarentegen volgde de multi-tier architectuur en richtte zijn applicatiecode op Cics en DB2 als het rdbms. Het bedrijf introduceerde ‘plans’ in DB2, het equivalent van de ‘statisch’ opgeslagen SQL-procedures in Oracle. Dit werkte allemaal prima, totdat IBM besloot DB2 te introduceren op alle platformen. Onder MVS kon DB2 hulp krijgen van Cics, enzovoort, maar niet op een NT-, Linux of Unix-platform. En dus ontwikkelenden ze met DB2/UDB een DB2-product dat de architectuur volgde van Oracle, Sybase, enzovoort. Tegelijkertijd zette Microsoft overtollige Ingres-technici in en vernieuwden ze hun speelgoed-rdbms tot het concurrerende SQL-Server van vandaag. Er is zelfs een ‘standaard’ taal-equivalent voor de PL/SQL van Oracle. De andere ontwikkeling was dat Java werd toegevoegd aan de omgeving van opgeslagen procedures; zowel in de opgeslagen procedures als in standaarden voor het aanroepen van procedures vanaf een Java-client (normaliter een applicatieserver die EJB draait). Zo wordt Jdbc nog ondersteund voor ‘dynamisch’ SQL, maar ‘statische’ (geprecompileerde, opgeslagen) procedures moeten worden aangeroepen via een nieuwe EJB-interface, genaamd Sqlj.
Voor de ontwikkelaar resteert echter een probleem: wat moet gecodeerd worden in de applicatieserver en wat in opgeslagen procedures. Een toenemend gebruik van de betere case-ontwerptools is het antwoord op de lange termijn, maar de databases zullen nooit volledig compatibel zijn! Het is lastig om te weten waar de applicatieserver eindigt en de database begint!
 
Martin Healey, pionier ontwikkeling van op Intel gebaseerde computers en c/s-architectuur. Directeur van een aantal it-bedrijven en professor aan de Universiteit van Wales.

Meer over

DatabasesDBMSECMSQL

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

    groei cijfers vergrootglas grafiek
    ActueelWerkplek & Beheer

    Groei MySQL zwakt af, Microsoft SQL domineert

    Geef een reactie Reactie annuleren

    Je moet ingelogd zijn op om een reactie te plaatsen.

    Populaire berichten

    Meer artikelen

    Uitgelicht

    Partnerartikel
    AdvertorialInnovatie & Transformatie

    Computable Insights

    Een ai-agent die klantvragen afhandelt. Dat is een van de nieuwste troeven van softwareproducent Salesforce, dat daarmee meesurft op de...

    Meer persberichten

    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