Business Ecology Initiative & Service-Oriented Solution

Michael Poulin

Technical SOA: the hat leads the head, again

user-pic
Vote 0 Votes

The most of the things we do have two sides - purposeful and contra-purposeful. The easier one can cross the line between them, the higher risk acquired. This directly relates to technical solutions - the easier to use it in the wrong way, the weaker the solution despite how elegant it is. Since a creativity of human beings is endless and unpredictable, all solutions can be turned in-out. The strong solutions differ from the weak ones by the degree of difficulty to alter the major, conceptual and principal aspects of the solution. If the conceptual and principal aspects of the solution are not protected from dummies, you know what to expect.

The last issue of The SOA Magazine has published the article "SOA with Spring" where Rizwan Ahmed describes the Spring technique of attaching Web Service interface to a POJO. From the technical perspective, it is a good, strong and useful article. The only surprise here is why this had not been done before. Indeed, in the early days of Web Services, the most popular solution for creating Web Service was automated extracting of WSDL from an arbitrary Java class. If you ask developers, they confirm that this feature exists in the majority of tools today. If you ask SOA Architects and experts, you will learn that a) Web Services are not SOA services but rather service interfaces, and b) extracting a service interface from its internal implementation is the sin № 1 in SOA. I am afraid that injecting a Web Service interface into a POJO is conceptually quite similar in weakness/risks to extracting service interfaces from the service implementation.

Here is why I suggest so. Let's start with what task we try to solve. If the task is integration utilizing a technology of stnandardised integration interfaces, I think that this pure technical task has a quite good solution described in the Rizwan's article. Certainly, 'contract-first' approach is much better for integration than extracting implementation specific (proprietary) interfaces. However, if we talk about SOA and its realisation, the idea of the 'service-class'-first is as wrong as an implementation specific service interface. In my publications about DOSOM ('Ladder to SOE' and 'A Domain Service-Oriented Modelling or How SOA Meets DDD') wrote that there is a crucial difference between OO oriented design capabilities and function/process oriented service capabilities. If we start with a 'service-class', we design an object structure that has a tremendous risk of crossing the boundaries that to-be service might set later in the design process via an injection of interfaces into the POJO 'service-class'. As a result, future services will be tied and coupled via their implementations, which is unacceptable in SOA: the only interaction between services may be via their official interfaces, no back-door sharing allowed.

Thus, 'SOA with Spring' makes sense only if 'SOA' in this context stands for 'Some Object Adjustment', or better it be POA - Plain Object Adjustment. With such implementation-first approach even with the interface related concerns taken separately, we have practically no choice to be sure that the outcome will be real SOA service. The fundamental concept of service decoupling and separation of concerns ('Principles of Service Orientation Reviewed') not protected in Spring but rather compromised.

The fundamental problem causing described confusions is in that many people still associate Web Service per se with SOA. This is the mistake; they are different even in technical implementation of service-oriented architecture.

Leave a comment

In this blog, Michael Poulin writes about business and technology ideas, concepts, methodologies and solutions leading to service-oriented enterprise, the primary instrument for obtaining business objectives in fast-changing environments.

Michael Poulin

Michael Poulin is an enterprise-level solution architect working in the financial industry in the U.K. and the United States.

He specializes in building bridges between business needs and technology capabilities with emphasis on business and technical efficiency, scalability, robustness and manageability. He writes about service orientation, application security and use of modern technologies for solving business problems. He contributes to OASIS SOA standards as an independent member and is listed in the the international "Who's Who of Information Technology" for 2001. View more

Subscribe

 Subscribe in a reader

Recently Commented On

Categories

Tag Cloud

'Navigating the SOA Standards Landscape, 1471, abstraction, ACM, active service, Adaptive, ADM, adopt changes, aggregate service, AIA, Amazon, analysis, API, application, Application Integration Architecture, architect, Architect, architectural mission, architecture, Architecture, architercture, AWS failure, Azure, B-SOA, BAWG, BEI, Best Practice, bottom-up, BPEL, BPM, brokerage, Brokering, brokering, bus, Busienss, busienss case, business, Business, Business Architect, Business Architecture, business architecture, Business architecture, Business Architecture Working Group, business concerns, business data, Business Ecology, business efficiency, business model, business operational model, business organisation, Business Platform Division, business process, Business Process Designer, Business Requirements, business risk, business service, Business service, Business SOA, business value, business view, business-centric, Business-IT problem, BuTechCon, Canonical Schema, capability, Case, CBDI, CBM, Centralization, choreography, CIO, Cloud, cloud, Cloud Computing, Cloud of Clouds, COBA, Collaboration, collaboration, collaboreation, commodity, component, Composite Application, composition, concept, Conciliator, consumer, contract, COSMIC, cost, cost estimate, cost of ounership, cost of ownership, coupling, crisis, CRUD, culture, Cutter Consortium, data ownership, data service, data store, DDD, decision logic, decomposition, definition, demand, design, Design Pattern, development, discipline, distributed orchestration, Domain, domain, Domain Aggregate, Domain Events, Domain Service-Oriented Modelling, DOSOM, DOSOSM, driver, Dynamic Process Edition, EA, EC2, ecosystem, EDA, efficiency, end-to-end, enemy, enterprise, Enterprise, Enterprise Architect, Enterprise Architectural Framework, Enterprise Architecture, enterprise architecture, ERP, ESB, event, Event, execution context, Execution Context, expertise, explicit, failure, fake, feature, Flexibilit, flexibility, FPA, FSM, Full Functional Points, Functional Points, functionality, functionality model, future, Gartner, goal, Governance, governance, granularity, harmonization, Healthcare, how to, IBM, identiy credential, IEEE, IEEE 1471, IFPUG, implementation, implicit, intangible, intangible value, Integration-Oriented Architecture, intent, interface, interface orientation, Inventory, investment, IOA, IT, IT Architect, IT Operation Support, IT organisation, IT without the IT Department, ITIL, Java, Ladder to SOE, leasable Cloud, lease, Loose coupling, Lost in Translation, Malik, management, Management, Manifesto, market, MDA, Michrosoft, Microsoft, Mike Rosen, model, Model-Driven Approach, modelling, Navigating the SOA Standards Landscape Around Architecture, navigation, OASIS, OASIS SOA RA, OASIS SOA RAF, OASIS SOA Reference Architecture Foundation, OASIS SOA RM, ODBC, OMG, ONA, Ontology, OO, Open Group, Oracle, orchestration, organizational change, outsourcing, ownership, participant, pattern, patterns, people, planning, policy, principle, principle of separation of concerns, principles, Principles, priority, Private, Private Cloud, process, Process, process-oriented, process-orineted, process-service, project, Provisioning, Pub/Sub, Public, Public Cloud, Public Cloud Busienss Requirements, QCon, RA, RAF, re-composition, Real World Effect, Real World SOA, redundancy, Referemce Architecture, Reference Architecture, Reference Architecture Foundation for SOA, Reference Model, Registry, rent, rentable Cloud, Repository, reuse, RIA, risk, RM, ROI, RPC, rules engine, RWE, SCA, scalability, Schema, security, semantics, Service, service, Service Autonomy, Service Composability, service contract, Service Contract, service description, Service Description, Service Discoverability, Service Execution Context, service orientation, Service Orientation, Service Oriented Enterprise, Service Relative Autonomy, Service Reusability, service semantic, Service Separation of Concerns, Service State Management, Service Statelessness, service-oriented, service-oriented eco-system, Service-Oriented Enterprise, service-oriented enterprise, service-oriented environment, ServiceContract, seven properties that differentiate emergent architecture from the traditional approach to EA, shared interface, shared library, simple, situational, sizing, SLA, SO, SO environment, SO Principles, SOA, SOA Manifesto, SOA standard, SOA-RAF, SoaML, SOBA, social, social networking, SOE, SOEA, software, solution SOA, SOMA, Spring, stakeholder, standard, Standard, study, subject, Summit, supply, supply chain, support, system, T-SOA, tangible, tangible value, Technical, Technical Architect, Technical Architects, Technical Architecture, technical capabilities, Technical SOA, technology, Technology, tendency, The Open Group, TOGAF, TOGAF 9.0, top-down, transparency, UI, UI Mediator, unstructured, use, Value Chain, Value Network, Value Networks, view, view model, viewpoint, vision, VNA, VPEC-T, WCF/WF, Web, Web 2.0, Web Service, Web Services, WebSphere, WS-CDL, WSDL, ZapFlash, ZapThink,

Monthly Archives

Blogs

ADVERTISEMENT