Apps for the Army

SOA Architecture Interview questions


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.

Talking about Service identification, which approach between top-down and bottom-up methodologies encourages re-use and mantainance ?

Since the top-down approach is business-driven it can be practical to separate the different concerns of business and IT on different plans, providing a common ground in between. So in most situations it the most appropriate if you want to improve reuse and ROI in the medium/long term. Anyway

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

Do you recall any pattern which could be used to leverage loose coupling ?

The Mediation pattern, using an enterprise service bus (ESB), will help in achieving this.

Mediation will take loose coupling to the highest level. It will establish independence between consumers and providers on all levels, including message formats, message types (including SOAP, REST, XML, binary) and transport protocols (including HTTP, HTTPS, JMS).

Architecturally speaking this means the separation of concerns between consumers and providers on the transport, message type, and message format levels.

The Service of a SOA should be engineered as stateless or stateful ?

Service should be stateless. It may have a context within its stateless execution, but it will not have an intermediary state waiting for an event or a call-back. The retention of state-related data must not extend beyond a request/response on a service. This is because state management consumes a lot of resources, and this can affect the scalability and availability that are required for a reusable service.



Share this article





Related Posts



Latest Posts
Long-Term Substitute teacher interview questions
Long-Term Substitute…
Potential substitutes might be asked…
Interview questions for Software Engineers
Interview questions…
You and your rescued bunny prisoners…
Online tests for Logical Reasoning
Online tests…
Below you find a selection of the aptitude…
Interview design questions
Interview design…
System design interview questions can…
Programming Interview questions C#
Programming Interview…
The answer to the first part of the question…
Search
Featured posts
  • Database Architecture Interview questions
  • System Architecture Interview questions
  • Computer Architecture Interview questions
  • Java Architecture Interview questions
  • Tibco Architecture Interview questions
  • ETL Architect Interview questions
  • Cloud Architect Interview questions
  • Network Architect Interview questions
  • Security Architect Interview questions
Copyright © 2023 l www.floydfairnessfund.org. All rights reserved.