nerdexam
SOA

S90-09A · 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…

The correct answer is B. The Contract Centralization pattern is not fully applied because Service Consumer D is accessing. Option B is correct because the Contract Centralization pattern requires that all consumers access shared resources through service contracts - not directly. Service Consumer D bypasses all three invoice services and queries the shared accounting database directly (connection…

Application of Service-Orientation Principles

Question

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?

Options

  • AThe Contract Centralization pattern is not fully applied to the Invoice, InvProc, and ProcInv
  • BThe Contract Centralization pattern is not fully applied because Service Consumer D is accessing
  • CThe Contract Centralization pattern is not fully applied because none of the invoice-related
  • DNone of the above.

How the community answered

(43 responses)
  • A
    5% (2)
  • B
    74% (32)
  • C
    7% (3)
  • D
    14% (6)

Explanation

Option B is correct because the Contract Centralization pattern requires that all consumers access shared resources through service contracts - not directly. Service Consumer D bypasses all three invoice services and queries the shared accounting database directly (connection 7), which is the definitive evidence that Contract Centralization is not fully applied. A fully applied pattern would force Consumer D to go through a service contract instead.

Option A is wrong because having multiple services with different data models is a contract standardization problem, not a Contract Centralization violation - the three services each still provide a contract that their respective consumers use.

Option C is wrong for a similar reason: even without a unified data model across services, Contract Centralization can still be satisfied as long as all consumers route through service contracts. The data model inconsistency is a separate concern.

Memory tip: Think of Contract Centralization as a "no backdoor" rule - if any consumer bypasses the service layer and hits the underlying resource directly, the pattern is broken. Look for the odd consumer out who skips the service entirely.

Topics

#Contract Centralization#direct database access#service contract bypass#service consumer

Community Discussion

No community discussion yet for this question.

Full S90-09A Practice