De Service Oriented Architecture Principles site zegt dat Service Composition een belangrijk onderdeel is van SOA. Maar Service Loose Coupling is ook belangrijk.
Betekent dit dat de "orkestrerende laag" de enige moet zijn die mag bellen naar services in het systeem?
Als ik SOA begrijp, 'lijmt' de 'orkestrerende laag' alle services samen in één softwaretoepassing. Ik probeerde dat weer te geven in Fig.A en Fig.B.
Het verschil tussen beide is dat in figuur A de applicatie is samengesteld uit services en dat alle logica wordt gedaan in de "orkestrerende laag" (alle oproepen naar services worden alleen gedaan vanuit de "orkestrerende laag"). Op Fig.B. De applicatie is samengesteld uit services, maar één service roept een andere service aan.
Is de architectuur in Fig. B in strijd met het "Service Loose Coupling" -principe van SOA? Kan een service een andere service in SOA bellen? En meer in het algemeen, kan de architectuur in figuur A als superieur worden beschouwd aan die in figuur B in termen van service losse koppeling, abstractie, herbruikbaarheid, autonomie, enz.?
Mijn gok is dat de A-architectuur veel universeler is, maar het kan een aantal onnodige gegevensoverdrachten tussen de "Orchestrating-laag" en alle opgeroepen services toevoegen.
