S90.09 SOA Design & Architecture Lab (S90-09A)

Loading demo links...

Showing 1–3 of 5 questions

Question 1

Upon reviewing these requirements it becomes evident to you that the Orchestration compound pattern will need to be applied. However, there are additional requirements that need to be fulfilled. To build this service composition architecture, which patterns that is not associated with the Orchestration compound pattern need to also be applied? (Be sure to choose only those patterns that relate directly to the requirements described above. Patterns associated with the Orchestration compound pattern include both the required or core patterns that are part of the basic compound pattern and the optional patterns that can extend the basic compound pattern.)

Select all that apply, then click Submit answer.

  • Atomic Service Transaction

  • Compensating Service Transaction

  • Data Format Transformation

  • Data Model Transformation

  • Event-Driven Messaging

  • Intermediate Routing

  • Policy Centralization

  • Process Centralization

  • Protocol Bridging

  • Redundant Implementation

  • Reliable Messaging

  • Service Data Replication

  • State Repository

Question 2

Service A is an orchestrated task service that is invoked by a separate composition initiator (1) and then sends a request message to Service C (2). Service C queries Database B to retrieve a large data record (3) and provides this data in a response message that is sent back to Service A. Service A temporarily stores this data in a central state database (4) and then sends a request message to Service D (5), which accesses a legacy system API to retrieve a data value (6). Service D then sends this data value in a response message back to Service A. The data in the state database is subsequently retrieved by Service A (7) and merged with the newly received data value. This combined data is written to Database A (8), which triggers an event that results in the invocation of Service B (9).

Service B is an orchestrated task service that sends a request message to Service D (10). which accesses a legacy system API to retrieve a data value (11) and then sends this data value in a response message back to Service B. Service B temporarily stores this data in a central state database (12) and then sends a request message to Service E (13), which performs a runtime calculation and then responds with the calculated data value back to Service B. The data in the state database is then retrieved by Service B (14) and merged with the calculated data value. Service B then uses the merged data to complete its business task.

The following specific problems and requirements exist:

• Database B uses a proprietary data format that is not compliant with the XML format used by all of the services in this service composition architecture This incompatibility needs to be solved in order to enable the described service message exchanges.

• The service contract provided by Service D does not comply with the data model standards that were applied to the other services and therefore uses a different data model to represent the same type of data that is exchanged. This incompatibility needs to be solved in order to enable communication with Service D.

• Database B is a shared database that can be accessed by other services and applications within the IT enterprise, which causes unpredictable runtime performance. This performance problem needs to be solved in order to make the runtime behavior of Service C more predictable.

• For performance and maintenance reasons, Service A and Service B need to be deployed in the same physical environment where they can share a common state database.

C:\Documents and Settings\user-nwz\Desktop\1.JPG

Upon reviewing these requirements it becomes evident to you that the Enterprise Service Bus compound pattern will need to be applied. However, there are additional requirements that need to be fulfilled. To build this service composition architecture, which patterns that is not associated with the Enterprise Service Bus compound pattern need to also be applied? (Be sure to choose only those patterns that relate directly to the requirements described above. Patterns associated with the Enterprise Service Bus compound pattern include both the required or core patterns that are part of the basic compound pattern and the optional patterns that can extend the basic compound pattern.)

Select all that apply, then click Submit answer.

  • Atomic Service Transaction

  • Compensating Service Transaction

  • Data Format Transformation

  • Data Model Transformation

  • Event-Driven Messaging

  • Intermediate Routing

  • Policy Centralization

  • Process Centralization

  • Protocol Bridging

  • Redundant Implementation

  • Reliable Messaging

  • Service Data Replication

  • State Repository

Question 3

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.

C:\Documents and Settings\user-nwz\Desktop\1.JPG

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?

Select an option, then click Submit answer.

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

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

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

  • None of the above.