Het concept ‘bedrijfsobject’ is niet nieuw, maar het idee van standaarden hiervoor wel. Applicatieprogramma’s zijn logisch gelaagd. De applicatie biedt een gebruikersinterface die samenwerkt met de bedrijfs-software. Deze heeft toegang tot de gemeenschappelijke databases, die weer gebruik maken van het besturingssysteem en zijn bestandsdiensten. Het gebruikersinterface maakt niet direct gebruik van het bestandssysteem, maar via de logische lagen.
Met een client/server-architectuur is de functionaliteit op verschillende manieren fysiek te scheiden. Dat is echter niet voldoende. De bedrijfs-software zelf moet opgesplitst worden in modules met elk een specifieke functionaliteit. De toepassingen zoals de gebruiker ze ziet, gebruiken deze modules in verschillende combinaties. Weinig applicaties zijn zo complex dat ze alle modules nodig hebben.
De bedrijfsmodules op de server zijn ook in horizontale lagen op te splitsen. Sommige modules bieden functies waarvan veel applicaties gebruik maken, zoals toegang tot gegevens, integriteit, validatie en formaatconversie. Boven deze laag met primitieve functies zitten andere, vaak branche-specifieke modules (financieel, produktie enzovoort), die worden benaderd vanaf de clients. Deze architectuur leidt tot het concept van bedrijfsobjecten.
De ideale oplossing voor de implementatie van bedrijfsobjecten is zuiver object-georiënteerde systemen. Deze gebruiken encapsulatie (herbruikbaarheid), overerving en polymorfisme. In een zuivere object-omgeving kunnen de bedrijfsobjecten zich overal bevinden. Ze kunnen van het ene naar het andere platform verhuizen zonder dat ze opnieuw ontworpen hoeven te worden. Corba gaat zo’n gedistribueerde omgeving bieden; leveranciersspecifieke systemen als Forte voorzien nu al in zulke modulaire gedistribueerde applicaties.
Het concept van herbruikbare bedrijfsobjecten is uit te breiden naar meerdere systemen zonder zuivere object-code. Conventionele code als Cobol valt zodanig in te kapselen dat het deze functionaliteit kan bieden. Dit voorziet niet in overerving en polymorfisme, maar benut wel bestaande vaardigheden en andere diensten, zoals TP-monitors en beveiliging.
Om een herbruikbare code-module in een conventionele taal te maken, moeten de programmeurs zeer gedisciplineerd zijn. Routines mogen slechts één ingang hebben. Ze mogen geen gemeenschappelijke externe variabelen gebruiken en interne variabelen mogen niet blootgesteld zijn aan externe routines. Cobol kan al deze beperkingen schenden. Discipline is dus de enige oplossing – gebruik geen syntax die niet-herbruikbare code oplevert.
Diverse clients kunnen de bedrijfsobjecten aanroepen, zowel PC- als lokale grafische en karaktergeoriënteerde clients. Doorgaans zijn de produkten met object-technologie voor gui-PC-clients geavanceerder dan die voor servers. Daardoor is er een alternatief voor het zuivere object-model. De programmeeromgeving op de client biedt dan pseudo-objecten, waarmee de op de host opgeslagen bedrijfsobjecten aangesproken kunnen worden. Deze pseudo-objecten maken eigenlijk conventionele rpc’s naar de bedrijfsobjecten, maar dan transparant voor de OO-gui-programmeertools. Met deze benadering zijn de pseudo-objecten te integreren met de nieuwe generatie gui-programmeertools, zoals Smalltalk of Delphi. Ze zijn zelfs te integreren met gui-3GL’s als Visualbasic – maar de tijd is juist nu rijp om aan zulke produkten te ontsnappen.
De grootste zwakte van deze architectuur is de specificatie van wat elk bedrijfsobject moet doen. Voor het ontwikkelen van bedrijfsobjecten als produkten op een breed scala aan platformen zijn standaarden nodig. Het werk aan Taligent kan de hoeksteen van de lagere niveaus van algemene objecten blijken te zijn, met name in produkten van IBM (Som-objecten) en HP. De branche-specifieke modules moeten echter verder uitgebreid worden om ze tot echte standaarden te maken. Alleen als deze families van modulaire objecten goed gedefinieerd zijn, is het mogelijk om ze strikt te specificeren en in een repository op te slaan. Tot die tijd zijn client-tools niet effectief, omdat een programmeur zich gemakkelijk kan vergissen in de functie die wordt uitgevoerd. Een ingang in de repository is de bindende kracht tussen specificatie, uitvoering en gebruiksgemak in de client.
Specifieke leveranciers bieden al kant-en-klare families van bedrijfsobjecten (bijvoorbeeld Newi). De interessantste ontwikkeling is de request for technology, uitgezet door de Open Management Group (de beheerder van Corba), voor specificaties voor industrie-standaarden. Het eerdere werk dat IBM en industrie-consortia in het AD/Cycle-fiasco gestopt hebben, werpt zo misschien eindelijk zijn vruchten af.