0% found this document useful (0 votes)
27 views11 pages

Soa Goa

SOAP is a protocol for exchanging XML-based messages over computer networks, normally using HTTP/HTTPS. It includes procedures for messaging, encoding, and transmitting messages between systems. SOAP defines three main elements - Envelope, Header, and Body. The Envelope contains the Header and Body and identifies the message as a SOAP message. The Header holds optional attributes and the Body contains the call and response data. WSDL describes web services by defining endpoints, operations, and message formats. It allows systems to communicate even if they use different operating systems or programming languages. Message exchange patterns coordinate message sequences between systems to complete tasks. Common patterns include request-response and fire-and-forget.

Uploaded by

Karan Thakkar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views11 pages

Soa Goa

SOAP is a protocol for exchanging XML-based messages over computer networks, normally using HTTP/HTTPS. It includes procedures for messaging, encoding, and transmitting messages between systems. SOAP defines three main elements - Envelope, Header, and Body. The Envelope contains the Header and Body and identifies the message as a SOAP message. The Header holds optional attributes and the Body contains the call and response data. WSDL describes web services by defining endpoints, operations, and message formats. It allows systems to communicate even if they use different operating systems or programming languages. Message exchange patterns coordinate message sequences between systems to complete tasks. Common patterns include request-response and fire-and-forget.

Uploaded by

Karan Thakkar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

SOA TT1 QB

10 marks

1. What is SOAP? Explain different elements of SOAP.


A]
● Soap is an acronym for Simple Object Access Protocol.
● It is a communication protocol designed to communicate via the internet.
● SOAP can extend HTTP for XML messaging.
● It provides data transport for web services.
● Can exchange complete documents or call a remote procedure.
● Can be used for broadcasting a message.
● It is language-independent.
The different elements of the SOAP Architecture are:
● Envelope (mandatory) - element that identifies XML document as a SOAP message.
○ It is a mandatory part of SOAP message.
○ Every SOAP message has a root envelope element.
○ Indicates the starting and ending point of the message.
○ Every envelope must have exactly one body element
○ If an envelope has a header element, it should be no more than one, and should
appear as the first child of the envelope, before the body element.
○ It is specified by using the ENV namespace prefix.
○ Envelope changes when the soap version changes and will throw a fault when
there is a version mismatch
● Header (optional) - element that contains header information.
○ It is an optional part of the SOAP message
○ SOAP Header element contains application-specific information (like
authentication etc) about the SOAP message.
● Body (mandatory) - element that contains call and response information.
○ It is a mandatory part of the SOAP message
○ SOAP Body element contains the actual SOAP message intended for the
ultimate endpoint of the message.
● Fault (optional) - element that contains error and status information.
○ The fault mechanism returns specific information about the error, including a
predefined code, a description and the address of the SOAP processor that
generated it.
○ It is an optional part of the SOAP message
○ One soap message can carry only one fault block
○ In HTTP binding, successful responses are linked to 200 to 299 range of status
codes.
○ SOAP faults are linked to the 500-599 range.
2. What is the importance of WSDL? Show the WSDL document consisting of
abstract and concrete parts that collectively describe a service endpoint.
A]
● WSDL stands for Web Services Description Language.
● WSDL describes a programmatic interface to a webservice that includes:
○ Definitions of data types.
○ Input and output message formats.
○ The operation provided by the service.
○ Network addresses.
○ protocol bindings.
Importance of WSDL:
● WSDL is an XML-based protocol for information exchange in decentralised and
distributed environments.
● WSDL definitions describe how to access a web service and what operations it will
perform.
● WSDL is a language for describing how to interface with XML-based services.
● WSDL is an integral part of Universal Description, Discovery, and Integration
(UDDI), an XML-based worldwide business registry.
● WSDL is the language that UDDI uses.
● WSDL is often used in combination with SOAP and XML Schema to provide web
services over the Internet.
● The WSDL file is used to describe in a nutshell what the web service does and gives
the client all the information required to connect to the web service and use all the
functionality provided by the web service.
WSDL Document:
3. Discuss the differences and similarities between service orientation and object
orientation, and explain how they relate to the principles and practices of SOA.
• Service-orientation emphasises loose coupling between units of processing logic
(services). Although object-orientation supports the creation of reusable, loosely
coupled programming routines, much of it is based on predefined class dependencies,
resulting in more tightly bound units of processing logic (objects).
• Service-orientation encourages coarse-grained interfaces (service descriptions) so that
every unit of communication (message) contains as much information as possible for the
completion of a given task. Object-oriented programming fully supports fine-grained
interfaces (APIs) so that units of communication (RPC or local API calls) can perform
various sized tasks.
• Service-orientation expects the scope of a unit of processing logic (service) to vary
significantly. Object-oriented units of logic (objects) tend to be smaller and more
specific in scope.
• Service-orientation promotes the creation of activity-agnostic units of processing logic
(services) that are driven into action by intelligent units of communication (messages).
Object-orientation encourages the binding of processing logic with data, resulting in
highly intelligent units (objects).
• Service-orientation prefers that units of processing logic (services) be designed to remain
as stateless as possible. Object-orientation promotes the binding of data and logic,
resulting in the creation of more stateful units (objects). (However, more recent
component-based design approaches deviate from this tendency.)
`
Aspect Service Oriented Object Oriented
Architecture Architecture

Coupling between units of Emphasises loose coupling Often based on predefined


processing logic class dependencies,
leading to tighter coupling

Interface granularity Prefers coarse-grained Supports fine-grained


interfaces interfaces

Scope of units of Expects significant Tends to be smaller and


processing logic variation more specific in scope

Units driven into action Driven by intelligent Logic often bound with
messages data, resulting in
intelligent objects

Statefulness of units Prefers stateless units Tends to create more


stateful objects (but varies
with design approaches)
4. Explain in brief Entity-centric, Application-centric, and Task-centric business
service design and list the advantages of each.

5. Explain the role of a Message Exchange Pattern in enabling communication


between systems, and describe how different MEPs support different messaging
scenarios.
A]
Regardless of how complex a task is, almost all tasks require the transmission of multiple
messages. The challenge lies in coordinating these messages in a particular sequence so
that the individual actions performed by the message are executed properly and in
alignment with the overall business task.
Message exchange patterns (MEPs) represent a set of templates that provide a group of
already mapped-out sequences for the exchange of messages. The most common example
is a request and response pattern. Here the MEP states that upon successful delivery of a
message from one service to another, the receiving service responds with a message back
to the initial requestor.

Primitive MEPs:
Before the arrival of complex SOA, a common set of primitive MEPs have been in
existence for some time:
● Request and response
● Fire and Forget

Establishes a simple exchange where a message is first transmitted from a source(service


requestor) to a destination (service provider). Upon receipt, the destination then responds with
a message back to the source.

Fire-and-Forget
This simple asynchronous pattern is based on the unidirectional transmission of messages
from a source to one or more destinations. A number of variations of the fire-and-forget MEP
exist, including:
• Single-destination pattern: a source sends a message to one destination only
• Multicast pattern: a source sends messages to a predefined set of destinations
• Broadcast pattern: similar to multicast, except that message is sent to a broader range of
recipient destinations
The fundamental characteristic of the fire-and-forget pattern is that a response to a transmitted
message is not expected.

Complex MEPs
Primitive MEPs can be assembled in various configurations to create complex MEPs. Classic
example is the Services involved with this publish-and-subscribe model have new roles for
publishers and subscribers.
The two steps involved in publish-and-subscribe model are:
Step 1: Subscriber sends message to notify publisher that it wants to receive messages on a
particular topic
Step 2: Upon availability of requested information, the publisher broadcasts messages on
particular topics to all of the topic's subscribers.
6. List and explain the different Messaging Topologies used in Web Services. Also, list
the pros and cons of each topology.
1. Circular​
a. A circular topology is one where message passing is carried out in a circular
fashion. There is no orchestrator in this system, and each component providing
a service is responsible for knowing which message to act on and where to
send a message next. That is, the choreography of the system is maintained at
the component.

b.

2. Hierarchical​
a. In a hierarchical topology, services are arranged in a tree pattern with
parent/child relationships. Messages from one service to another must traverse
up the branch of the tree and down another branch from the root until the
matching service is found.
b.
c. Hierarchical topologies offer the advantage of a well-defined set of
relationships, a central location (the root) where logic may reside, and a clearly
stated address space.​
The disadvantage of a hierarchical topology is that the overhead of passing a
message from one service to another isn't optimised.

3. Network​
a. A network topology has a many-to-many relationship between services and
their clients.

b.
c. The advantage of a network topology is that the overhead associated with
message passing has been minimised (often there is a direct path).​
d. The disadvantage is, there is considerable overhead built into the system in
order to maintain the many links needed.
4. Star Topology:
a. In a star topology, services are designed to connect through a central service.
The star model is favoured in orchestration processes and is useful for services
that use broadcasting or multicasting services, publish and subscribe, and other
related systems.

b.
5 marks
1. Discuss the limitations of SOAP, WSDL and UDDI.
A]`
LIMITATIONS OF SOA:
1. One of the main limitations of SOA is that the web services model isn't widely accepted or
adopted.In part, this is because of its complexity. It's also because of the incompatibility
between the web services approach and the representation state transfer model API (RESTful
API) model of the internet
2. Implementation of SOA requires a large initial investment.
3. Service management is complicated because services exchange millions of messages that are
hard to track.
4. The input parameters of services are validated every time services interact, decreasing
performance as well as increasing load and response times.
LIMITATIONS OF WSDL:
1. WSDL does not support one-way messaging (Single-mode). It requires both output and input.
2. It does not permit overload operations.
3. All operations need to be of one kind, i.e., either all doc/literal or RPC-encoded
4. WSDL focuses solely on SOAP operations and disregards HTTP and MIME operations.
5. WSDL cannot include more than one element of <wsdl:include> (cannot have more than one
file)
LIMITATIONS OF UDDI:
1. There is no uniform way of querying about services, service interfaces and classifications.
2. UDDI does not support WSDL security
3. Out-of-date service documents in UDDI registries. No dynamic discovery functionality
4. Limited query capabilities: search for services restricted to WS name and its classification
5. tModels are not stored in UDDI registries themselves. A unique identifier referencing a
tModel is contained in the registries.
2. What is SOA? Explain any four characteristics of SOA in detail.
A] "Service-oriented architecture" is a term that represents a model in which automation
logic is decomposed into smaller, distinct units of logic known as services . This model
should adhere to the principles of service-orientation like loose coupling, autonomy,
reusability, composability, statelessness, discoverability, abstraction etc. LARDS-AC
Characteristics of SOA:
● Services are discoverable and dynamically bound.​
● Services are self-contained and modular.​
● Services stress interoperability.​
● Services are loosely coupled.​
● Services have a network-addressable interface.​
● Services have coarse-grained interfaces.​
● Services are location-transparent​
● Services are composable.​
● Service-oriented architecture supports self-healing.

3. What is UDDI? Draw and Explain its basic structure.


● UDDI is an XML-based standard for describing, publishing, and finding web services:​
● UDDI is a specification for a distributed registry of web services.​
● UDDI is a platform-independent, open framework.​
● UDDI uses Web Service Definition Language(WSDL) to describe interfaces to web services.
4. What are the key differences between Asynchronous and Synchronous message
handling, and when should each approach be used?

You might also like