CTA
SOA or Service-oriented Architecture allows various services to communicate with each other through distinct platforms and languages. It is mainly based on the loose coupling principle, which allows each component to be dependent on the other to the least feasible extent. By offering this SOA Interview Questions blog, we aim to make you prepare for the real-life job interviews on SOA.
The SOA Interview Questions blog is divided into the following categories:
1. Basic
2. Intermediate
Learn and master SOA from this comprehensive tutorial:
Basic Interview Questions
1. Compare SOA & Microservices
Criteria |
SOA |
Microservices |
Deployment |
In a shared Bus |
At the edge |
Goals |
One for all |
As per the business units |
Back-end implementation |
Not prescriptive |
prescriptive |
2. What is SOA?
SOA is an architecture for building applications using reusable, interoperable services which have well defined business functionalities and can be orchestrated to achieve a specific functionality by utilizing them together.
3. What are the main features of SOA?
- SOA separates business functions into services (endpoints), which are made accessible over a network in order to allow users to combine and reuse them in their applications.
- The SOA services can be developed in different languages and OS’es as long as they follow the SOA principles.
- Services are unassociated and loosely coupled units that do not directly rely on each other for their full functioning. Rather than services embedding calls to each other in their source code, they use defined protocols that describe how services pass and parse messages using description metadata.
- Orchestration is a process where business functionality from various services are combined in a system fully aware of all available services and the associated metadata that defines these services and their characteristics.
4. Mention the SOA Principles?
SOA principles were first defined by Thomas Erl. These 8 principles are underlying to any good architecture that utilizes SOA design to build their products and services:
- Standardized service contract: Services adhere to a communications agreement, as defined collectively by one or more service-description documents.
- Service loose coupling: Services maintain a relationship that minimizes dependencies and only requires that they maintain an awareness of each other.
- Service abstraction: Beyond descriptions in the service contract, services hide logic from the outside world.
- Service re usability: Logic is divided into services with the intention of promoting reuse.
- Service autonomy: Services have control over the logic they encapsulate.
- Service statelessness: Services minimize resource consumption by deferring the management of state information when necessary
- Service dis coverability: Services are supplemented with communicative meta data by which they can be effectively discovered and interpreted.
- Service composability: Services are effective composition participants, regardless of the size and complexity of the composition.
5. What are the main benefits of SOA?
- SOA helps create greater alignment between IT and line of business while generating more flexibility – IT flexibility to support greater business flexibility. Your business processes are changing faster and faster and global competition requires the flexibility that SOA can provide.
- SOA can help you get better reuse out of your existing IT investments as well as the new services you’re developing today. SOA makes integration of your IT investments easier by making use of well-defined interfaces between services. SOA also provides an architectural model for integrating business partners’, customers’ and suppliers’ services into an enterprise’s business processes. This reduces cost and improves customer satisfaction.
Get 100% Hike!
Master Most in Demand Skills Now!
Intermediate Interview Questions
6. How do you transform an Enterprise business in a SOA?
Transforming an enterprise business to Service Oriented Architecture includes obtaining standardized service contract, service reusability, service abstraction, service loose coupling, service compos ability and so on.
Of course SOA is an architectural model agnostic to technology platforms and every enterprise can pursue the strategic goals associated with service-oriented computing using different technologies. However in the current marketplace, Web Services are probably the technology platform that better suits SOA principles and are most used to get to this architecture.
7. What is a reusable Service?
It is an autonomous, reusable, discoverable, stateless functionality that has the necessary granularity, and can be part of a composite application or a composite service.A reusable service should be identified with a business activity described by the service specifications (design-time contract).
A service’s constraints, including security, QoS, SLA, usage policies, may be defined by multiple run-time contracts, multiple interfaces (the WSDL for a SOAP Web Service), and multiple implementations (the code).
A reusable service should be governed at the enterprise level throughout its entire lifecycle, from design-time through run-time. Its reuse should be promoted through a prescriptive process, and that reuse should be measured.
8. What are the common pitfalls of SOA?
One of the most common pitfalls is to view SOA as an end, rather than a means to an end. Developers who focus on building an SOA solution rather than solving a specific business problem are more likely to create complex, unmanageable, and unnecessary interconnections between IT resources. Another common pitfall is to try to solve multiple problems at once, rather than solving small pieces of the problem. Taking a top-down approach – starting with major organization-wide infrastructure investments – often fails either to show results in a relevant timeframe or to offer a compelling return on investment.
9. How can you achieve loose coupling in a SOA?
One strategy for achieving loose coupling is to use the service interface (the WSDL for a SOAP Web Service) to limit this dependency, hiding the service implementation from the consumer. Loose coupling can be addressed by encapsulating the service functionalities in a manner that limits the impact of changes to the implementation on the service interface.
However, at some point you will need to change the interface and manage versioning without impacting service consumers, in addition to managing multiple security constraints, multiple transports, and other considerations.
10. What is the most important skill needed to adopt SOA ?technical or cultural?
Surely cultural. SOA does require people to think of business and technology differently. Instead of thinking of technology first (e.g., If we implement this system, what kinds of things can we do with it?), practitioners must first think in terms of business functions, or services (e.g., My company does these business functions, so how can I set up my IT system to do those things for me most efficiently?).
It is expected that adoption of SOA will change business IT departments, creating service-oriented (instead of technology-oriented) IT organizations.
11. Which approach between top-down and bottom-up methodologies best fits with a SOA in regards of Service identification?
SOA is an architectural style. And building architecture is a Top-Down process and not Bottom-Up. The most compelling reason for saying that Web Services are not SOA is that they are technical stuff, often built with a Bottom-Up approach. Building a Bottom-UP SOA is a wrong approach and might lead to an architecture with a lot of redundancy or maybe no architecture at all. However, the result of building SOA only Top-Down could be perceptual Architecture building with no run time artifacts, so some SOA efforts should be Bottom-Up efforts. To sum up: Initially SOA is a Top-Down approach but pragmatic approach requires mixing Top-Down approach with Bottom-Up approach.