SOA S90.09 - SOA Design & Architecture Lab Exam
Page: 2 / 8
Total 40 questions
Question #6 (Topic: )
Services A, B, and C are non-agnostic task services. Service A and Service B use the
same shared state database to defer their state data at runtime.
An assessment of these three services reveals that each contains some agnostic logic, but
because it is bundled together with the non-agnostic logic, the agnostic logic cannot be
made available for reuse.
The assessment also determines that because Service A and Service B and the shared
state database are each located in physically separate environments, the remote
communication required for Service A and Service B to interact with the shared state
database is causing an unreasonable decrease in runtime performance.
[SOA-S90.09-6.1/SOA-S90.09-11_2.png]
You are asked to redesign this architecture in order to increase the opportunity for agnostic
service logic to be reused and in order to decrease the runtime processing demands so
that performance can be improved. What steps can be taken to achieve these goals?
same shared state database to defer their state data at runtime.
An assessment of these three services reveals that each contains some agnostic logic, but
because it is bundled together with the non-agnostic logic, the agnostic logic cannot be
made available for reuse.
The assessment also determines that because Service A and Service B and the shared
state database are each located in physically separate environments, the remote
communication required for Service A and Service B to interact with the shared state
database is causing an unreasonable decrease in runtime performance.
[SOA-S90.09-6.1/SOA-S90.09-11_2.png]
You are asked to redesign this architecture in order to increase the opportunity for agnostic
service logic to be reused and in order to decrease the runtime processing demands so
that performance can be improved. What steps can be taken to achieve these goals?
A. The Enterprise Service Bus pattern can be applied to establish an environment whereby the Process Abstraction and Process Centralization patterns are naturally applied, resulting in a clean separation of non-agnostic task services from newly designed agnostic services that are further shaped into reusable services by the application of the Service Reusability principle.
B. The Process Centralization pattern can be applied, resulting in a redesign effort where agnostic logic is removed from the three task services so that they only encapsulate non- agnostic logic. The agnostic logic is then moved to one or more new agnostic services that are shaped into reusable services by the application of the Service Reusability principle. The Process Abstraction pattern is then applied to the redesigned task services Service A and Service B, so that their logic is physically c
C. The Process Abstraction pattern can be applied, resulting in a redesign effort where agnostic logic is removed from the three task services so that they only encapsulate non- agnostic logic. The agnostic logic is then moved to one or more new agnostic services that are shaped into reusable services by the application of the Service Reusability principle. The Orchestration pattern can be further applied to establish an environment whereby the Process Centralization pattern is naturally applied to
D. None of the above.
Answer: C
Question #7 (Topic: )
Service A is a task service that is required to carry out a series of updates to a set of
databases in order to complete a task. To perform the database updates Service A must
interact with three other services, each of which provides standardized data access
capabilities.
Service A sends its first update request message to Service B (1), which then responds
with a message containing a success or failure code (2). Service A then sends its second
update request message to Service C (3), which also responds with a message containing
a success or failure code (4). Finally, Service A sends a request message to Service D (5),
which responds with its own message containing a success or failure code (6).
[SOA-S90.09-6.1/SOA-S90.09-12_2.png]
You've been asked to change this service composition architecture in order to fulfill a set of
new requirements: First, if the database update performed by Service B fails, then it must
databases in order to complete a task. To perform the database updates Service A must
interact with three other services, each of which provides standardized data access
capabilities.
Service A sends its first update request message to Service B (1), which then responds
with a message containing a success or failure code (2). Service A then sends its second
update request message to Service C (3), which also responds with a message containing
a success or failure code (4). Finally, Service A sends a request message to Service D (5),
which responds with its own message containing a success or failure code (6).
[SOA-S90.09-6.1/SOA-S90.09-12_2.png]
You've been asked to change this service composition architecture in order to fulfill a set of
new requirements: First, if the database update performed by Service B fails, then it must
A. Service A is updated to perform a logging routine when Service A receives a response message from Service B containing a failure code. Service A is further updated to send an e-mail notification to a human administrator if Service A receives a response message from Service C containing a failure code. The Atomic Service Transaction pattern is applied so that Services A, C, and D are encompassed in the scope of a transaction that will guarantee that if the database updates performed by either Ser
B. The Compensating Service Transaction pattern is applied to Service B so that it invokes exception handling logic that logs failed database updates before responding with a failure code back to Service A . Similarly, the Compensating Service Transaction pattern is applied to Service C so that it issues an e-mail notification to a human administrator when a database update fails. The Atomic Service Transaction pattern is applied so that Services A, C, and D are encompassed in the scope of a transa
C. The Atomic Service Transaction pattern is applied so that Services A, C, and D are encompassed in the scope of a transaction that will guarantee that if the database updates performed by either Service C or Service D fails, then both updates will be rolled back. The Compensating Service Transaction pattern is then applied to all services so that the scope of the compensating transaction includes the scope of the atomic transaction. The compensating exception logic that is added to Service D auto
D. None of the above.
Answer: A
Question #8 (Topic: )
Service A is a utility service that provides generic data access logic to a database that
contains data that is periodically replicated from a shared database (1). Because the
Standardized Service Contract principle was applied to the design of Service A, its service
contract has been fully standardized.
The service architecture of Service A is being accessed by three service consumers.
Service Consumer A accesses a component that is part of the Service A implementation by
invoking it directly (2). Service Consumer B invokes Service A by accessing its service
contract (3). Service Consumer C directly accesses the replicated database that is part of
the Service A implementation (4).
You've been told that the shared database will soon be replaced with a new database
product that will have new data models and new replication technology. How can the
Service A architecture be changed to avoid negative impacts that may result from the
replacement of the database and to establish a service architecture in which negative
forms of coupling can be avoided in the future?
[SOA-S90.09-6.1/SOA-S90.09-14_2.png]
contains data that is periodically replicated from a shared database (1). Because the
Standardized Service Contract principle was applied to the design of Service A, its service
contract has been fully standardized.
The service architecture of Service A is being accessed by three service consumers.
Service Consumer A accesses a component that is part of the Service A implementation by
invoking it directly (2). Service Consumer B invokes Service A by accessing its service
contract (3). Service Consumer C directly accesses the replicated database that is part of
the Service A implementation (4).
You've been told that the shared database will soon be replaced with a new database
product that will have new data models and new replication technology. How can the
Service A architecture be changed to avoid negative impacts that may result from the
replacement of the database and to establish a service architecture in which negative
forms of coupling can be avoided in the future?
[SOA-S90.09-6.1/SOA-S90.09-14_2.png]
A. The Contract Centralization pattern can be applied to force all service consumers to access the Service A architecture via its published service contract. This will prevent negative forms of coupling that could lead to problems when the database is replaced. The Service Abstraction principle can then be applied to hide underlying service implementation details so that future service consumers cannot be designed to access any part of the underlying service implementation.
B. The Contract Centralization pattern can be applied to force Service Consumer C to access the Service A architecture via its published service contract. This will prevent Service Consumer A from being negatively impacted when the database is replaced in the future.
C. The Standardized Service Contract principle can be applied to force Service Consumer B to comply to the standardized service contract of Service A. As a result, the coupling between Service Consumer B and Service A is reduced. The Logic Centralization pattern can then be applied to position the logic provided by Service A as a primary access point for the database. As a result, the component within the Service A architecture abstracts the proprietary details of the database, thereby shielding Se
D. None of the above.
Answer: A
Question #9 (Topic: )
A. The Service Abstraction, Service Reusability, and Service Autonomy principles need to be applied in order to support the application of the Official Endpoint pattern to Service A . This would position Service A as the official utility service through which the legacy system can be accessed. Service B will need to be redesigned to access Service A instead of accessing the legacy system directly. Due to the dependency on business rules embedded within the legacy system the option of applying the R
B. The Standardized Service Contract and Service Loose Coupling principles can be applied in order to establish a standardized service contract for Service A that will eliminate its negative contract coupling. Service B will need to be redesigned to access Service A instead of accessing the legacy system directly. Due to the dependency on business rules embedded within the legacy system the option of applying the Rules Centralization pattern is not available. Service C will therefore need to contin
C. The Legacy Wrapper pattern can be applied together with the Standardized Service Contract principle in order to establish a standardized service contract for Service A that will eliminate its negative contract coupling. The Official Endpoint pattern can then be applied to position Service A as the official utility service through which the legacy system can be accessed. Services B and C will need to be redesigned to access Service A instead of accessing the legacy system directly.
D. None of the above.
Answer: C
Question #10 (Topic: )
Service A is an entity service that provides a Get capability that returns a data value that is
frequently changed.
Service Consumer A invokes Service A in order to request this data value (1). For Service
A to carry out this request, it must invoke Service B (2), a utility service that interacts (3.4)
with the database in which the data value is stored. Regardless of whether the data value
changed, Service B returns the latest value to Service A (5), and Service A returns the
latest value to Service Consumer A (6).
The data value is changed when the legacy client program updates the database (7) When
this change happens is not predictable. Note also that Service A and Service B are not
always available at the same time.
Any time the data value changes. Service Consumer A needs to receive it as soon as
possible. Therefore, Service Consumer A initiates the message exchange shown in the
Figure several times a day. When it receives the same data value as before, the response
from Service A is ignored. When Service A provides an updated data value, Service
Consumer A can process it to carry out its task.
[SOA-S90.09-6.1/SOA-S90.09-18_2.png]
The current service composition architecture is using up too many resources due to the
repeated invocation of Service A by Service Consumer A and the resulting message
exchanges that occur with each invocation. What steps can be taken to solve this problem?
frequently changed.
Service Consumer A invokes Service A in order to request this data value (1). For Service
A to carry out this request, it must invoke Service B (2), a utility service that interacts (3.4)
with the database in which the data value is stored. Regardless of whether the data value
changed, Service B returns the latest value to Service A (5), and Service A returns the
latest value to Service Consumer A (6).
The data value is changed when the legacy client program updates the database (7) When
this change happens is not predictable. Note also that Service A and Service B are not
always available at the same time.
Any time the data value changes. Service Consumer A needs to receive it as soon as
possible. Therefore, Service Consumer A initiates the message exchange shown in the
Figure several times a day. When it receives the same data value as before, the response
from Service A is ignored. When Service A provides an updated data value, Service
Consumer A can process it to carry out its task.
[SOA-S90.09-6.1/SOA-S90.09-18_2.png]
The current service composition architecture is using up too many resources due to the
repeated invocation of Service A by Service Consumer A and the resulting message
exchanges that occur with each invocation. What steps can be taken to solve this problem?
A. The Event-Driven Messaging pattern can be applied by establishing a subscriber- publisher relationship between Service A and Service B . This way, every time the data value is updated, an event is triggered and Service B, acting as the publisher, can notify Service A, which acts as the subscriber. The Asynchronous Queuing pattern can be applied between Service A and Service B so that the event notification message sent out by Service B will be received by Service A, even when Service A is unavai
B. The Event-Driven Messaging pattern can be applied by establishing a subscriber- publisher relationship between Service Consumer A and Service A . This way, every time the data value is updated, an event is triggered and Service A, acting as the publisher, can notify Service Consumer A, which acts as the subscriber. The Asynchronous Queuing pattern can be applied between Service Consumer A and Service A so that the event notification message sent out by Service A will be received by Service Consu
C. The Asynchronous Queuing pattern can be applied so that messaging queues are established between Service A and Service B and between Service Consumer A and Service A . This way, messages are never lost due to the unavailability of Service A or Service B.
D. None of the above.
Answer: D