Dat is al onzin

Pieter Wisse

Wie meent dat ik er genoegen in schep op ernstige denkfouten te wijzen en zo door naar ontwerp- en constructiefouten, om nog maar te zwijgen van het opkomen voor de belangen van gedupeerde gebruikers en/of betalers van daardoor mislukte voorzieningen, heeft het mis. Want steevast krijg ik er maar een hoop narigheid van. Ik vind het echter nalatig, dus ňnverantwoordelijk, om géén aandacht te schenken aan grove fouten, zodra ik ervan overtuigd ben ze te kunnen aanwijzen. Zou dat op z’n minst niet tot serieuze discussie moeten leiden?

Tja, Thomas Erl. Hij afficheert zich als deskundig voor, op z’n Engels gezegd, service-oriented architecture. Als Nederlandstalige aanduiding gebruik ik dienstgerichtheid. Hij heeft er een reeks boeken over gepubliceerd. Daarvan heb ik SOA: Principles of Service Design (Prentice Hall, 2008) nader bekeken.

Over de reikwijdte van “capabilities” stelt Erl dat (pp. 69-70)

[t]hey are grouped together because they relate to a functional context established by the service.

In een vergelijking met objectgerichtheid merkt Erl voorts op (pp. 467-468):

A class or service has increased cohesion when it defines (and sticks to) a specific functional context. This establishes it as a container for a group of highly related methods or capabilities.

Het is natuurlijk ook maar weer, wat een dienst heet. Hoe dan ook is het m.i. onbetwistbaar dat wat een dienst o.i.d. doet, pas eenduidig ‘in’ een dienovereenkomstige context valt te duiden, bepalen enzovoort. Zeg ook maar dat ik vind dat Erl daar een prima punt heeft, nou ja, herhaalt.

Tegelijk benadrukt Erl echter dat (pp. 61-62)

[s]ervice-oriented computing advocates the creation of agnostic solution logic – logic that is agnostic to any one purpose and therefore useful for multiple purposes. [...] Agnostic services have increased reuse potential[. ...] Any one agnostic service can [...] find itself being repurposed numerous times[.]

Kortom, volgens Erl (p. 82),

[w]ithin a service-oriented solution, units of logic (services) encapsulate functionality not specific to any one application or business process. These services are therefore classified as agnostic and reusable IT assets.

Wat is het nu? Ik slaag er niet in om te begrijpen hoe een dienst zowel beperkt moet zijn tot “a specific context” als in staat is tot “functionality not specific.” Terwijl Erl stellig beweert dat

[t]he vision behind service-oriented computing is extremely ambitious[,]

is in elk geval zijn opvatting erover volgens mij helemaal geen visie, maar gewoon onzin door tegenstrijdigheid. En als niemand durft te zeggen dat de spreekwoordelijke keizer geen kleren draagt, blijven we doormodderen.

Vanuit het perspectief van gedragingen kunnen we er tot en met strikt empirisch niet omheen om voor eenduidige diensten situationele annex contextuele variëteit te volgen. Om niet in tegenstrijdigheid te blijven hangen, met eindeloos prutswerk van dien, moet daarom dat hele idee van contextloze diensten radicaal vervallen, klaar. Met andere woorden, voor stelselmatige voorzieningen, dus door-en-door contextueel verbijzonderd, moeten we de luchtbel doorprikken van (p. 91)

a service inventory with a high percentage of reusable and agnostic services.

Het idee van hergebruik van context tot context is pertinente onzin. Wat is zinvol? Dat is dat gedrag principieel beperkt geldt. Tekenend voor het bereik van geldigheid, nota bene, van eenduidig gedrag is steeds een specifieke context. Wat dus wčl strookt met contextuele verbijzondering is precisie. Goed zo, Erl (p. 39),

[e]ach service is assigned its own distinct functional context and is comprised of a set of capabilities related tot his context.

Nogmaals, het is me werkelijk een raadsel hoe hij daarmee geloof in zgn agnostische diensten verbindt. Er is daarentegen een plaats voor elke dienst en daarom luidt allereerst de ontwerpgave om voor elke dienst de precieze plaats te duiden. Dat ontwerp(en) vergt niets meer of minder dan een conceptueel model (lees ook: informatiemodel) volgens contextuele verbijzondering. De modelleermethode/-taal daarvoor is Metapatroon.

De voordelen van precisie zijn reëel. Onder de noemer van hergebruik in wisselende contexten blijven ze illusoir; sterker nog, onoplosbare tegenstrijdigheid leidt tot aanhoudende stroom nadelen.

Wie tot dusver dienstgerichtheid op z’n Erls beoefent, ziet in mijn analyse wellicht een bittere pil. Slik ‘m liefst zo snel mogelijk. Dan is het maar gebeurd, en gaat het met u čn met het werk resp. resultaten gauw beter. Heus, ik probeer slechts te helpen ...

Heeft u argumenten om aan te tonen dat ěk het ben die onzin verkondigt? Daarnaar ben ik uiteraard benieuwd.

U kunt het mij ook kwalijk nemen dat ik een voorstel voor principiële verbeteringen doe en zich er vooral niets van aantrekken. Wees eerlijk, dat is nog onzinniger.

 

 

26 september 2015, webeditie 2015 © Pieter Wisse (Information Dynamics)

 

Zie ter inleiding: Verrijking van wereldbeeld voor dienstgerichte informatievoorziening.