Delen via


Een interoperabele toepassing schrijven

Wanneer een toepassing dezelfde code gebruikt voor meer dan één stuurprogramma, moet die code tussen deze stuurprogramma's samenwerken. In de meeste gevallen is dit een eenvoudige taak. Bijvoorbeeld, de code om rijen op te halen met een alleen-vooruit-cursor is hetzelfde voor alle drivers. In sommige gevallen kan dit moeilijker zijn. De code voor het samenstellen van id's voor gebruik in SQL-instructies moet bijvoorbeeld rekening houden met id-case, quoting en een-deel, tweedelige en driedelige naamconventies.

In het algemeen moet interoperabele code omgaan met problemen met functieondersteuning en functievariabiliteit. Functieondersteuning verwijst naar of een bepaalde functie wel of niet wordt ondersteund. Niet alle DBMS's ondersteunen bijvoorbeeld transacties en interoperabele code moet correct werken, ongeacht transactieondersteuning. Functievariantie verwijst naar variatie op de manier waarop een bepaalde functie wordt ondersteund. Catalogusnamen worden bijvoorbeeld aan het begin van id's in sommige DBMS's en aan het einde van id's in andere geplaatst.

Toepassingen kunnen te maken krijgen met functieondersteuning en functievariabiliteit tijdens het ontwerp of tijdens runtime. Om te gaan met functieondersteuning en variabiliteit tijdens het ontwerp, kijkt een ontwikkelaar naar de doel-DBMS's en stuurprogramma's en zorgt ervoor dat dezelfde code onderling compatibel is. Dit is over het algemeen de manier waarop toepassingen met een lage of beperkte interoperabiliteit met deze problemen omgaan.

Als de ontwikkelaar bijvoorbeeld garandeert dat een verticale toepassing alleen werkt met vier specifieke DBMS's en als elk van deze DBMS-transacties ondersteunt, hoeft de toepassing tijdens runtime geen code te controleren op transactieondersteuning. Er kan altijd worden aangenomen dat transacties beschikbaar zijn vanwege de ontwerptijdbeslissing voor het gebruik van slechts vier DBMS's, die elk transacties ondersteunen.

Om te kunnen omgaan met functieondersteuning en variabiliteit tijdens runtime, moet de toepassing testen op verschillende mogelijkheden tijdens runtime en dienovereenkomstig handelen. Dit is over het algemeen de manier waarop zeer interoperabele toepassingen met deze problemen omgaan. Voor problemen met functieondersteuning betekent dit het schrijven van code die de functie optioneel maakt of code schrijft waarmee de functie wordt geëmuleren wanneer deze niet beschikbaar is. Voor problemen met functievariabiliteit betekent dit het schrijven van code die ondersteuning biedt voor alle mogelijke variaties.

Deze sectie bevat de volgende onderwerpen.