Tuesday, 16 February 2016

SOA Interview Questions : Service Oriented Architecture Interview Questions Part 1

In this post we are going to cover the below questions, I am referring to SOA as Oracle SOA Suite for most cases :

1. What is SOA?
2. What is Service in relation to SOA?
3. Why SOA? (Most often asked question)
4. What is SCA ?
5. Can you describe the components of SCA ?
6. Are web-services SOA?

Lets begin, with your preparations for a good interview

1. What is SOA?

Service Oriented Architecture (SOA) is an architectural pattern in computer software design in which application components provide services to other components via a communications protocol, typically over a network. The principles of service-orientation are independent of any vendor, product or technology.

SOA is based on the concept of a service. Depending on the service design approach taken, each SOA service is designed to perform one or more activities by implementing one or more service operations. As a result, each service is built as a discrete piece of code. This makes it possible to reuse the code in different ways throughout the application by changing only the way an individual service interoperates with other services that make up the application, versus making code changes to the service itself.

SOA's Definition by Open Group :
Service-Oriented Architecture (SOA) is an architectural style that supports service-orientation. Service-orientation is a way of thinking in terms of services and service-based development and the outcomes of services.

2. What is Service in relation to SOA?

A service is a self-contained unit of functionality, such as retrieving an online bank statement. 
By that definition, a service is an operation that may be discretely invoked. However, in the Web Services Description Language (WSDL), a service is an interface definition that may list several discrete services/operations.

Services can be combined to provide the functionality of a large software application. SOA makes it easier for software components on computers connected over a network to cooperate.

Service Definition by Open Group:
- Is a logical representation of a repeatable business activity that has a specified outcome (e.g., check   customer credit, provide weather data, consolidate drilling reports)
- Is self-contained
- May be composed of other services
- Is a "black box" to consumers of the service

3. Why SOA ?

Oracle's Definition of Why SOA :
- Reduce time to market for new project integration
- Reduce integration cost and complexity
- Efficiently manage business and technology change
- Provide end-to-end solution monitoring with root-cause analysis
- Gain increased visibility to quickly react to business events
- Ensure high availability and scalability of the digitized platform

We can summarize the Why SOA in below points :
Loose coupling: Services maintain a relationship that minimizes dependencies and only requires that they maintain an awareness of each other.
Abstraction: Beyond descriptions in the service contract, services hide logic from the outside world.
Reusability: Logic is divided into services with the intention of promoting reuse.
Autonomy: Services have control over the logic they encapsulate, from a Design-time and a Run-time perspective.
Granularity: A design consideration to provide optimal scope and right granular level of the business functionality in a service operation.
Encapsulation: Many services are consolidated for use under the SOA.
Location Transparency: This refers to the ability of a service consumer to invoke a service regardless of its actual location in the network.
Standardized service contract: Services adhere to a communications agreement, as defined collectively by one or more service-description documents.
Discoverability: Services are supplemented with communicative meta data by which they can be effectively discovered and interpreted.

4. What is SCA?

Service Component Architecture (SCA) is a software technology designed to provide a model for composing applications that follow service-oriented architecture principles
The SCA Assembly Model consists of a series of artifacts, which are defined by elements contained in XML files.
The goal of Service Component Architecture (SCA), simply stated, is to reduce IT complexity
through a standardized framework for assembling disparate enterprise Service Oriented
Architecture (SOA) components into a higher-level composite, thus simplifying development,
deployment and management of enterprise applications.

5. What are the components of SCA ?

The following summarizes the 5 key elements of SCA shown above:
• Composite: deployment unit
• Service: entry-point into the composite. Services exposed by the component that are
callable from outside the composite are called promoted services
• Component: provides the logic to be used within the composite
• Reference: refers to internal and external services. As per the SCA spec, references to
external services are called “promoted references”
• Wire: connects services, components and references – no special semantic.
• Properties: allow for customization of a component’s behavior in a particular

6. Are web-services SOA?

No, SOA is a thinking, it’s an architectural concept, and web service is one of the technical approaches to complete it. Web services are the preferred standards to achieve SOA.
In SOA we need services to be loosely coupled. A web service communicates using the SOAP protocol which is XML based, which is loosely coupled.
SOA services should be able to describe themselves. WSDL describes how we can access the service.
SOA services are located in a directory. UDDI describes where we can get the web service. This is nothing but the implementation of the SOA registry.

Next post on the Interview questions can be found at

1. SOA Interview Questions : Service Oriented Architecture Interview Questions Part 2


2. SOA Interview Questions : Service Oriented Architecture Interview Questions Part 3


3. SOA Interview Questions : Service Oriented Architecture Interview Questions Part 4


No comments:

Post a Comment