soa s90-09 practice test

SOA Design & Architecture Lab

Last exam update: Nov 18 ,2025
Page 1 out of 3. Viewing questions 1-15 out of 40

Question 1

Service A is an entity service with a functional context dedicated to invoice-related processing.
Service B is a utility service that provides generic data access to a database. In this service
composition architecture, Service Consumer A sends a SOAP message containing an invoice XML
document to Service A(1). Service A then sends the invoice XML document to Service B (2), which
then writes the invoice document to a database. The data model used by Service Consumer A to
represent the invoice document is based on XML Schema A . The service contract of Service A is
designed to accept invoice documents based on XML Schema B . The service contract for Service B is
designed to accept invoice documents based on XML Schema A . The database to which Service B
needs to write the invoice record only accepts entire business documents in Comma Separated Value
(CSV) format.

Due to the incompatibility of the XML schemas used by the services, the sending of the invoice
document from Service Consumer A through to Service B cannot be accomplished using the services
as they currently exist. Assuming that the Contract Centralization pattern is being applied and that
the Logic Centralization is not being applied, what steps can be taken to enable the sending of the
invoice document from Service Consumer A to the database without adding logic that will increase
the runtime performance requirements of the service composition?

  • A. Service Consumer A can be redesigned to use XML Schema B so that the SOAP message it sends is compliant with the service contract of Service A . The Data Model Transformation pattern can then be applied to transform the SOAP message sent by Service A so that it conforms to the XML Schema A used by Service B . The Standardized Service Contract principle must then be applied to Service B and Service Consumer A so that the invoice XML document is optimized to avoid unnecessary validation.
  • B. The service composition can be redesigned so that Service Consumer A sends the invoice document directly to Service B . Because Service Consumer A and Service B use XML Schema A, the need for transformation logic is avoided. This naturally applies the Service Loose Coupling principle because Service Consumer A is not required to send the invoice document in a format that is compliant with the database used by Service B .
  • C. Service Consumer A can be redesigned to write the invoice document directly to the database. This reduces performance requirements by avoiding the involvement of Service A and Service B . It further supports the application of the Service Abstraction principle by ensuring that Service Consumer A hides the details of the data access logic required to write to the database.
  • D. None of the above.
Mark Question:
Answer:

B

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 2

Service A is an entity service with a functional context dedicated to invoice-related processing.
Service B is a utility service that provides generic data access to a database. In this service
composition architecture, Service Consumer A sends a SOAP message containing an invoice XML
document to Service A(1). Service A then sends the invoice XML document to Service B (2), which
then writes the invoice document to a database. The data model used by Service Consumer A to
represent the invoice document is based on XML Schema A . The service contract of Service A is
designed to accept invoice documents based on XML Schema B . The service contract for Service B is
designed to accept invoice documents based on XML Schema A . The database to which Service B
needs to write the invoice record only accepts entire business documents in Comma Separated Value
(CSV) format.

Due to the incompatibility of XML schemas used by the services, the sending of the invoice
document from Service Consumer A through to Service B cannot be accomplished using the services
as they currently exist. Assuming that the Contract Centralization and Logic Centralization patterns
are being applied, what steps can be taken to enable the sending of the invoice document from
Service Consumer A to the database without adding logic that will increase the runtime performance
of the service composition?

  • A. The Data Model Transformation pattern can be applied so that the invoice document sent by Service Consumer A is transformed into an invoice document that is compliant with the XML Schema B used by Service A . The Data Model Transformation pattern can be applied again to ensure that the invoice document sent by Service A is compliant with XML Schema A used by Service B .
  • B. The service composition can be redesigned so that Service Consumer A sends the invoice document directly to Service B . Because Service Consumer A and Service B use XML Schema A, the need for transformation logic is avoided. This naturally applies the Service Loose Coupling principle because Service Consumer A is not required to send the invoice document in a format that is compliant with the database used by Service B .
  • C. The Standardized Service Contract principle can be applied to the service contract of Service A so that it is redesigned to use XML Schema A . This would make it capable of receiving the invoice document from Service Consumer A and sending the invoice document to Service B without the need to further apply the Data Model Transformation pattern.
  • D. None of the above.
Mark Question:
Answer:

C

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 3

The Client and Vendor services are agnostic services that are both currently part of multiple service
compositions. As a result, these services are sometimes subjected to concurrent access by multiple
service consumers. The Client service is an entity service that primarily provides data access logic to
a client database but also provides some calculation logic associated with determining a client's
credit rating. The Vendor service is also an entity service that provides some data access logic but can
also generate various dynamic reports. After reviewing historical statistics about the runtime activity
of the two services, it was discovered that the majority of concurrent runtime access is related to the
processing of business rules. With the Client service, it is the calculation logic that is frequently
required and with the Vendor service it is the dynamic reporting logic that needs to be accessed
separately from the actual report generation.

Currently, due to the increasing amount of concurrent access by service consumers, the runtime
performance of both the Client and Vendor services has worsened and has therefore reduced their
effectiveness as service composition members. What steps can be taken to solve this problem
without introducing new services?

  • A. The Rules Centralization pattern can be applied by extracting the business rule logic from the Client and Vendor services and placing it into a new Rules service. This will naturally improve the runtime performance of the Client and Vendor services because they will no longer be subjected to the high concurrent access of service consumers that require access to the business rules logic.
  • B. The Redundant Implementation pattern can be applied to the Client and Vendor services, thereby establishing duplicate implementations that can be accessed when a service reaches its runtime usage threshold. The Intermediate Routing pattern can be further applied to provide load balancing logic that can, at runtime, determine which of the redundant service implementations is the least busy for a given service consumer request.
  • C. The Rules Centralization pattern can be applied together with the Redundant Implementation pattern to establish a scalable Rules service that is redundantly implemented and therefore capable of supporting high concurrent access from many service consumers. The Service Abstraction principle can be further applied to hide the implementation details of the Rules service.
  • D. None of the above.
Mark Question:
Answer:

B

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 4

Currently, due to the increasing amount of concurrent access by service consumers, the runtime
performance of both the Client and Vendor services has worsened and has therefore reduced their
effectiveness as service composition members. Additionally, a review of the logic of both services
has revealed that some of the business rules used by the Client and Vendor services are actually the
same. What steps can be taken to improve performance and reduce redundant business rule logic?

  • A. The Rules Centralization pattern can be applied by extracting the business rule logic from the Client and Vendor services and placing it into a new Rules service, thereby reducing the redundancy of business rules logic. The Redundant Implementation pattern can then be applied to establish a scalable Rules service that is capable of supporting concurrent access from many service consumers.
  • B. The Redundant Implementation pattern can be applied to the Client and Vendor services, thereby establishing duplicate service implementations that can be accessed when a service reaches its runtime usage threshold. The Intermediate Routing pattern can be further applied to provide load balancing logic that can, at runtime, determine which of the redundant service implementations is the least busy for a given service consumer request.
  • C. The Rules Centralization pattern can be applied to isolate business rules logic into a central and reusable Rules service. Additionally, the Service Abstraction principle can be applied to hide the implementation details of new the Rules service.
  • D. None of the above.
Mark Question:
Answer:

A

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 5

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?

  • 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 Service Consumer A (and any future service consumers) from changes made to the database.
  • D. None of the above.
Mark Question:
Answer:

A

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 6

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.
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 reason Service Consumers A and C bypass the published Service A service
contract is because, for security reasons, they are not allowed to access a subset of the operations in
the WSDL definition that expresses the service contract. How can the Service A architecture be
changed to enforce these security restrictions while avoiding negative forms of coupling?

  • 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 architecture 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 consumers to access the Service A architecture via its published service contract only. The Service Loose Coupling principle can then be applied to ensure that the centralized service contract does not contain any content that is dependent on or derived from the underlying service implementation.
  • C. The Concurrent Contracts pattern can be applied to Service A in order to establish one or more alternative service contracts. This allows service consumers with different levels of security clearance to continue accessing the service logic via its published service contracts.
  • D. None of the above.
Mark Question:
Answer:

C

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 7

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).

You've been given a requirement that all database updates must either be completed successfully or
not at all. This means that if any of the three response messages received by Service A contain a
failure code, all of the updates carried out until that point must be reversed. Note that if Service A
does not receive a response message back from Services B, C, or D, it must assume that a failure has
occurred. How can this service composition architecture be changed to fulfill these requirements?

  • A. The Reliable Messaging pattern can be applied to guarantee the delivery of positive or negative acknowledgements. This way, Service A will always be informed of whether a failure condition has occurred with any of the database updates performed by Services B, C, and D . Furthermore, the Service Loose Coupling principle can be applied to ensure that the request and response messages exchanged by the services do not contain any implementation details that would indirectly couple Service A to any of the databases.
  • B. The Atomic Service Transaction pattern can be applied individually to Services B, C, and D so that each of these services performs its own database update within the scope of an atomic transaction. If anyone update fails, that change can be rolled back on that database. Furthermore, the Service Loose Coupling principle can be applied to ensure that Service A is kept out of the scope of the atomic transaction so that it is not negatively coupled to the proprietary database technologies that are required to enable the atomic transaction functionality.
  • C. The Compensating Service Transaction can be applied to Service A so that when any one response message containing a failure code is received by Service A, it can invoke exception handling logic that will log the failed database updates. The Service Loose Coupling principle can be further applied to ensure that Services B, C, or D are not indirectly coupled to the exception handling logic, especially if Service A requires additional access to Services B, C, or D in order to collect more information for logging purposes.
  • D. None of the above.
Mark Question:
Answer:

D

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 8

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).

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 be logged by
Service A . Secondly, if the database update performed by Service C fails, then a notification email
must be sent out to a human administrator. Third, if the database update performed by either
Service C or Service D fails, then both of these updates must be reversed so that the respective
databases are restored back to their original states. What steps can be taken to fulfill these
requirements?

  • 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 Service C or Service D fails, then both updates will be rolled back.
  • 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 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 Service Autonomy principle is further applied to Service A to ensure that it remains consistently available to carry out this sequence of actions.
  • 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 automatically invokes Service B to log the failure condition and Service C to issue the e-mail notification to the human administrator. This way, it is guaranteed that the compensating logic is always executed together with the atomic transaction logic.
  • D. None of the above.
Mark Question:
Answer:

A

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 9

Service A is a task service that sends Service B a message (2) requesting that Service B return data
back to Service A in a response message (3). Depending on the response received. Service A may be
required to send a message to Service C (4) for which it requires no response. Before it contacts
Service B, Service A must first retrieve a list of code values from its own database (1) and then place
this data into its own memory. If it turns out that it must send a message to Service C, then Service A
must combine the data it receives from Service B with the data from the code value list in order to
create the message it sends to Service C . If Service A is not required to invoke Service C, it can
complete its task by discarding the code values. Service A and Service C reside in Service Inventory A
. Service B resides in Service Inventory B .

You are told that the services in Service Inventory A are all SOAP-based Web services designed to
exchange SOAP 1.1 messages and the services in Service Inventory B are SOAP-based Web services
designed to exchange SOAP 1.2 messages. Therefore, Service A and Service B cannot currently
communicate. Furthermore, you are told that Service B needs to access a shared database in order to
retrieve the data required by Service A . The response time of the database can sometimes be
lengthy, which would cause Service A to consume too much resources while it is waiting and keeping
the code values in memory. How can this service composition architecture be changed to avoid these
problems?

  • A. The Protocol Bridging pattern can be applied by establishing an intermediate processing layer between Service A and Service B that can convert SOAP 1.1 messages to SOAP 1.2 messages and vice versa. The Service Data Replication pattern can be applied to Service B so that it is given a dedicated database with its own copy of the data it needs to access. The Service Normalization pattern can then be applied to ensure that the data within the replicated database is normalized with the shared database it is receiving replicated data from.
  • B. The Protocol Bridging pattern can be applied by establishing an intermediate processing layer between Service A and Service B that can convert SOAP 1.1 messages to SOAP 1.2 messages and vice versa. The Service Statelessness principle can be applied with the help of the State Repository pattern so that Service A can write the code value data to a state database while it is waiting for Service B to respond.
  • C. The Protocol Bridging pattern can be applied by establishing an intermediate processing layer between Service A and Service B that can convert SOAP 1.1 messages to SOAP 1.2 messages and vice versa. The Intermediate Routing pattern can be applied to dynamically determine whether Service A should send a message to Service C .The Service Autonomy principle can be applied to Service A to further increase its behavioral predictability by reducing the amount of memory it is required to consume.
  • D. None of the above.
Mark Question:
Answer:

B

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 10

Service A is a task service that sends Service B a message (2) requesting that Service B return data
back to Service A in a response message (3). Depending on the response received. Service A may be
required to send a message to Service C (4) for which it requires no response. Before it contacts
Service B, Service A must first retrieve a list of code values from its own database (1) and then place
this data into its own memory. If it turns out that it must send a message to Service C, then Service A
must combine the data it receives from Service B with the data from the code value list in order to
create the message it sends to Service C . If Service A is not required to invoke Service C, it can
complete its task by discarding the code values. Service A and Service C reside in Service Inventory A
. Service B resides in Service Inventory B . You are told that the services in Service Inventory A were
designed with service contracts based on different design standards than the services in Service
Inventory B . As a result, Service A and Service B use different data models to represent the data they
need to exchange. Therefore, Service A and Service B cannot currently communicate. Furthermore,
Service C is an agnostic service that is heavily accessed by many concurrent service consumers.
Service C frequently reaches its usage thresholds during which it is not available and messages sent
to it are not received. How can this service composition architecture be changed to avoid these
problems?

  • A. The Data Model Transformation pattern can be applied by establishing an intermediate processing layer between Service A and Service B that can transform a message from one data model to another at runtime. The Intermediate Routing and Service Agent patterns can be applied so that when Service B sends a response message, a service agent can intercept the message and, based on its contents, either forward the message to Service A or route the message to Service C . The Service Autonomy principle can be further applied to Service C together with the Redundant Implementation pattern to help establish a more reliable and scalable service architecture.
  • B. The Data Model Transformation pattern can be applied by establishing an intermediate processing layer between Service A and Service B that can transform a message from one data model to another at runtime. The Asynchronous Queuing pattern can be applied to establish an intermediate queue between Service A and Service C so that when Service A needs to send a message to Service C, the queue will store the message and retransmit it to Service C until it is successfully delivered. The Service Autonomy principle can be further applied to Service C together with the Redundant Implementation pattern to help establish a more reliable and scalable service architecture.
  • C. The Data Model Transformation pattern can be applied by establishing an intermediate processing layer between Service A and Service B that can transform a message from one data model to another at runtime. The Intermediate Routing and Service Agent patterns can be applied so that when Service B sends a response message, a service agent can intercept the message and, based on its contents, either forward the message to Service A or route the message to Service C . The Service Statelessness principle can be applied with the help of the State Repository pattern so that Service A can write the code value data to a state database while it is waiting for Service B to respond.
  • D. None of the above.
Mark Question:
Answer:

B

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 11

Our service inventory contains the following three services that provide invoice-related data access
capabilities: Invoice, InvProc, and Proclnv. These services were created at different times by different
project teams and were not required to comply to any design standards. Therefore each of these
services has a different data model for representing invoice data. Currently each of these three
services has one service consumer: Service Consumer A accesses the Invoice service(1). Service
Consumer B (2) accesses the InvProc service, and Service Consumer C (3) accesses the Proclnv
service. Each service consumer invokes a data access capability of an invoice-related service,
requiring that service to interact with the shared accounting database that is used by all invoice-
related services (4, 5, 6). Additionally, Service Consumer D was designed to access invoice data from
the shared accounting database directly (7), (Within the context of this architecture. Service
Consumer D is labeled as a service consumer because it is accessing a resource that is related to the
illustrated service architectures.)

Assuming that the Invoice service, InvProc service, and ProcInv service are part of the same service
inventory, what steps would be required to fully apply the Official Endpoint pattern?

  • A. One of the invoice-related services needs to be chosen as the official service providing invoice data access capabilities. Service Consumers A, B, and C then need to be redesigned to only access the chosen invoice-related service. Because Service Consumer D does not rely on an invoice-related service, it is not affected by the Official Endpoint pattern and can continue to access the accounting database directly. The Service Abstraction principle can be further applied to hide the existence of the shared accounting database and other implementation details from current and future service consumers.
  • B. One of the invoice-related services needs to be chosen as the official service providing invoice data access capabilities. Service Consumers A, B, and C then need to be redesigned to only access the chosen invoice-related service. Service Consumer D also needs to be redesigned to not access the shared accounting database directly, but to also perform its data access by interacting with the official invoice-related service. The Service Abstraction principle can be further applied to hide the existence of the shared accounting database and other implementation details from current and future service consumers.
  • C. Because Service Consumers A, B, and C are already carrying out their data access via published contracts, they are not affected by the Official Endpoint pattern. Service Consumer D needs to be redesigned to not access the shared accounting database directly, but to perform its data access by interacting with the official invoice-related service. The Service Abstraction principle can be further applied to hide the existence of the shared accounting database and other implementation details from current and future service consumers.
  • D. None of the above.
Mark Question:
Answer:

B

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 12

Our service inventory contains the following three services that provide invoice-related data access
capabilities: Invoice, InvProc, and Proclnv. These services were created at different times by different
project teams and were not required to comply to any design standards. Therefore each of these
services has a different data model for representing invoice data. Currently each of these three
services has one service consumer: Service Consumer A accesses the Invoice service(1). Service
Consumer B (2) accesses the InvProc service, and Service Consumer C (3) accesses the Proclnv
service. Each service consumer invokes a data access capability of an invoice-related service,
requiring that service to interact with the shared accounting database that is used by all invoice-
related services (4, 5, 6). Additionally, Service Consumer D was designed to access invoice data from
the shared accounting database directly (7). (Within the context of this architecture. Service
Consumer D is labeled as a service consumer because it is accessing a resource that is related to the
illustrated service architectures.)

A project team recently proclaimed that it has successfully applied the Contract Centralization
pattern to the service inventory in which the Invoice service, InvProc service, and ProcInv service
reside. Upon reviewing the previously described architecture you have doubts that this is true. After
voicing your doubts to a manager, you are asked to provide specific evidence as to why the Contract
Centralization is not currently fully applied. Which of the following statements provides this
evidence?

  • A. The Contract Centralization pattern is not fully applied to the Invoice, InvProc, and ProcInv services because they are being accessed by different service consumers and because they have redundant logic that introduces denormalization into the service inventory.
  • B. The Contract Centralization pattern is not fully applied because Service Consumer D is accessing the shared accounting database directly.
  • C. The Contract Centralization pattern is not fully applied because none of the invoice-related services are carrying out data access logic via a centralized and standardized invoice service. This is primarily because the Standardized Service Contract principle was not consistently applied during the delivery processes of the individual services.
  • D. None of the above.
Mark Question:
Answer:

B

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 13

Service A is an entity service that provides a set of generic and reusable service capabilities. In order
to carry out the functionality of any one of its service capabilities, Service A is required to compose
Service B (1) and Service C (2) and Service A is required to access Database A (3), Database B (4), and
Database C (5). These three databases are shared by other applications within the IT enterprise. All
of service capabilities provided by Service A are synchronous, which means that for each request a
service consumer makes. Service A is required to issue a response message after all of the processing
has completed. Depending on the nature of the service consumer request, Service A may be required
to hold data it receives in memory until its underlying processing completes. This includes data it
may receive from either Service A or Service B or from any of the three shared databases. Service A is
one of many entity services that reside in a highly normalized service inventory. Because Service A
provides agnostic logic, it is heavily reused and is currently part of many service compositions.

You are told that Service A has recently become unstable and unreliable and several of the service
consumers that access it have had to raise runtime exceptions due to these problems. What steps
can be taken to solve these problems without compromising the normalization of the service
inventory?

  • A. The Service Autonomy principle can be applied to increase the physical isolation of Service A and to reduce dependencies Service A has on external resources. In support of this, the Service Data Replication pattern can be applied in order to establish a dedicated database that contains replicated data from shared Databases A, B, and C . Furthermore, the Redundant Implementation pattern can be applied so that the logic Service A requires from Services B and C can be redundantly placed inside of Service A . This way, Service A avoids having to separately compose Services B and C
  • B. The Service Statelessness principle can be applied with the help of the State Repository pattern in order to establish a state database that Service A can use to defer state data it may be required to hold for extended periods. The Service Autonomy principle can also be applied in order to increase the physical isolation of Service A and to reduce dependencies Service A has on external resources. In support of this, the Service Data Replication pattern can be applied in order to establish a dedicated database that contains replicated data from shared Databases A, B, and C .
  • C. The Service Loose Coupling and Standardized Service Contract principles can be applied by introducing a separate utility service that provides centralized data access to the Databases A, B, and C, and exposes a standardized service contract that can be used by Service A . This will prevent Service A from direct dependencies on the shared databases in case any of them are replaced in the future. By following this approach, the Legacy Wrapper pattern is effectively applied via the introduction of the new utility service.
  • D. None of the above.
Mark Question:
Answer:

B

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 14

Service A is an entity service that provides a set of generic and reusable service capabilities. In order
to carry out the functionality of any one of its service capabilities, Service A is required to compose
Service B (1) and Service C (2) and Service A is required to access Database A (3), Database B (4), and
Database C (5). These three databases are shared by other applications within the IT enterprise. All
of service capabilities provided by Service A are synchronous, which means that for each request a
service consumer makes. Service A is required to issue a response message after all of the processing
has completed. Depending on the nature of the service consumer request, Service A may be required
to hold data it receives in memory until its underlying processing completes. This includes data it
may receive from either Service A or Service B or from any of the three shared databases. Service A is
one of many entity services that reside in a highly normalized service inventory. Because Service A
provides agnostic logic, it is heavily reused and is currently part of many service compositions.

You are told that Service A has recently become unstable and unreliable. The problem has been
traced to two issues with the current service architecture. First, Service B, which is also an entity
service, is being increasingly reused and has itself become unstable and unreliable. When Service B
fails, the failure is carried over to Service A . Secondly, shared Database B has a complex data model.
Some of the queries issued by Service A to shared Database B can take a very long time to complete.
What steps can be taken to solve these problems without compromising the normalization of the
service inventory?

  • A. The Redundant Implementation pattern can be applied to Service A, thereby making duplicate deployments of the service available. This way, when one implementation of Service A is too busy, another implementation can be accessed by service consumers instead. The Service Data Replication pattern can be applied to establish a dedicated database that contains an exact copy of the data from shared Database B that is required by Service A .
  • B. The Redundant Implementation pattern can be applied to Service B, thereby making duplicate deployments of the service available. This way, when one implementation of Service B is too busy, another implementation can be accessed by Service A instead. The Service Data Replication pattern can be applied to establish a dedicated database that contains an exact copy of the data from shared Database B that is required by Service A .
  • C. The Redundant Implementation pattern can be applied to Service B, thereby making duplicate deployments of the service available. This way, when one implementation of Service B is too busy, another implementation can be accessed by Service A instead. The Service Data Replication pattern can be applied to establish a dedicated database that contains a copy of the data from shared Database B that is required by Service A . The replicated database is designed with an optimized data model in order to improve query execution performance.
  • D. None of the above.
Mark Question:
Answer:

C

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 15

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.

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 unavailable.
  • 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 Consumer A, even when Service Consumer A is unavailable.
  • 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.
Mark Question:
Answer:

D

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000
To page 2