Service-oriented architecture

SOAService Oriented Architectureservice-orientedService Oriented ComputingService Oriented Architecturesservice-oriented architecture (SOA)SOA-based systemsendpointsservice-oriented architectures service oriented architecture (SOA)
Service-oriented architecture (SOA) is a style of software design where services are provided to the other components by application components, through a communication protocol over a network.wikipedia
495 Related Articles

Distributed computing

distributeddistributed systemsdistributed system
SOA can be seen as part of the continuum which ranges from the older concept of distributed computing and modular programming, through SOA, and on to current practices of mashups, SaaS, and cloud computing (which some see as the offspring of SOA).
Examples of distributed systems vary from SOA-based systems to massively multiplayer online games to peer-to-peer applications.

Mashup (web application hybrid)

mashupmashupsBusiness Mashups
SOA can be seen as part of the continuum which ranges from the older concept of distributed computing and modular programming, through SOA, and on to current practices of mashups, SaaS, and cloud computing (which some see as the offspring of SOA).
In the past years, more and more Web applications have published APIs that enable software developers to easily integrate data and functions the SOA way, instead of building them by themselves.

Cloud computing

cloudcloud-basedcloud services
SOA can be seen as part of the continuum which ranges from the older concept of distributed computing and modular programming, through SOA, and on to current practices of mashups, SaaS, and cloud computing (which some see as the offspring of SOA).
The availability of high-capacity networks, low-cost computers and storage devices as well as the widespread adoption of hardware virtualization, service-oriented architecture and autonomic and utility computing has led to growth in cloud computing.

Loose coupling

loosely coupledlooser couplingloosely-coupled
The related buzzword service-orientation promotes loose coupling between services.

Service-orientation

service-orientedservice orientedservice orientation
The related buzzword service-orientation promotes loose coupling between services.
In technology, different vendor SOA platforms have used different definitions of service-orientation.

Service granularity principle

Service granularityfine-grainedgranularity
Service granularity specifies the scope of business functionality and the structure of the message payload in a service operation that is provided within a service-oriented architecture (SOA).

Standardized service contract

The service consumer–provider relationship is governed by a standardized service contract, which has a business part, a functional part and a technical part.
The agility promised by a service-oriented architecture (SOA) is usually measured in terms of the reusability level of its contained services.

Service-oriented modeling

Service-oriented modeling framework (SOMF)Service-oriented analysis and designDiscipline-Specific Modeling
Service-oriented modeling is an SOA framework that identifies the various disciplines that guide SOA practitioners to conceptualize, analyze, design, and architect their service-oriented assets.
Service-oriented modeling is the discipline of modeling business and software systems, for the purpose of designing and specifying service-oriented business systems within a variety of architectural styles and paradigms, such as application architecture, service-oriented architecture, microservices, and cloud computing.

Windows Communication Foundation

WCFWindows Communications FoundationIndigo (messaging system)
Most implementations do incur these overheads, but SOA can be implemented using technologies (for example, Java Business Integration (JBI), Windows Communication Foundation (WCF) and data distribution service (DDS)) that do not depend on remote procedure calls or translation through XML.
The Windows Communication Foundation (WCF), previously known as Indigo, is a runtime and a set of APIs in the .NET Framework for building connected, service-oriented applications.

Component-based software engineering

software componentcomponentcomponents
Service-oriented architecture (SOA) is a style of software design where services are provided to the other components by application components, through a communication protocol over a network.
Components play this role, for example, in web services, and more recently, in service-oriented architectures (SOA), whereby a component is converted by the web service into a service and subsequently inherits further characteristics beyond that of an ordinary component.

Java Business Integration

JBI
Most implementations do incur these overheads, but SOA can be implemented using technologies (for example, Java Business Integration (JBI), Windows Communication Foundation (WCF) and data distribution service (DDS)) that do not depend on remote procedure calls or translation through XML.
Java Business Integration (JBI) is a specification developed under the Java Community Process (JCP) for an approach to implementing a service-oriented architecture (SOA).

Common Object Request Broker Architecture

CORBAOMG IDLCORBA IDL
One can, however, also implement SOA using any other service-based technology, such as Jini, CORBA or REST.

Composite application

composite applications
High-level programming languages such as BPEL and specifications such as WS-CDL and WS-Coordination extend the service concept by providing a method of defining and supporting orchestration of fine-grained services into more coarse-grained business services, which architects can in turn incorporate into workflows and business processes implemented in composite applications or portals.
For composite applications that are based on SOA, WS-CAF is a Web services standard for composite applications.

SOA governance

Governancegovernance mechanismsservice governance
SOA governance is a concept used for activities related to exercising control over services in a service-oriented architecture (SOA).

Enterprise architecture

enterprise architectenterprisearchitecture
Some enterprise architects believe that SOA can help businesses respond more quickly and more cost-effectively to changing market conditions.
In various venues, enterprise architecture has been discussed as having a relationship with Service Oriented Architecture, a particular style of application integration.

VTD-XML

At the same time, emerging open-source XML parsing technologies (such as VTD-XML) and various XML-compatible binary formats promise to significantly improve SOA performance.
This is a powerful way to think about XML/SOA applications.

Web service

web servicesserviceservices
Service-oriented architecture can be implemented with web services.

Service-oriented communications

In practice, CIOs are embracing the concepts of service-oriented architectures and rethinking how the different business systems in use within the enterprise can be designed to allow each system to leverage the benefits of any other system.

Representational state transfer

RESTRESTfulREST API
One can, however, also implement SOA using any other service-based technology, such as Jini, CORBA or REST.

Idempotence

idempotentidempotencyidempotent element
Managing the data state of idempotent services is the only complexity.
In service-oriented architecture (SOA), a multiple-step orchestration process composed entirely of idempotent steps can be replayed without side-effects if any part of that process fails.

Software design

designdesignedsoftware designer
Service-oriented architecture (SOA) is a style of software design where services are provided to the other components by application components, through a communication protocol over a network.

Communication protocol

protocolcommunications protocolprotocols
Service-oriented architecture (SOA) is a style of software design where services are provided to the other components by application components, through a communication protocol over a network.