Each question shows the correct answer and an explanation of why it is right
VA
ValidExamDumps Editorial Team
Every question and its answer is checked by our S90.08B exam
preparation team, who also write the explanation shown with each one.
How we research and review these pages
Service Consumer A sends Service A a message containing a business document (1). The business document is received by Component A, which keeps the business document in memory and forwards a copy to Component B (3). Component B first writes portions of the business document to Database A (4). Component B then writes the entire business document to Database B and uses some of the data values from the business document as query parameters to retrieve new data from Database B (5).
Next, Component B returns the new date* back to Component A (6), which merges it together with the original business document it has been keeping in memory and then writes the combined data to Database C (7). The Service A service capability invoked by Service Consumer A requires a synchronous request-response data exchange. Therefore, based on the outcome of the last database update, Service A returns a message with a success or failure code back to Service Consumer A (8).
Databases A and B are shared, and Database C is dedicated to the Service A service architecture.
There are several problems with this architecture. The business document that Component A is required to keep in memory (while it waits for Component B to complete its processing) can be very large. The amount of runtime resources Service A uses to keep this data in memory can decrease the overall performance of all service instances, especially when it is concurrently invoked by multiple service consumers. Additionally, Service A can take a long time to respond back to Service Consumer A because Database A is a shared database that sometimes takes a long time to respond to Component B. Currently, Service Consumer A will wait for up to 30 seconds for a response, after which it will assume the request to Service A has failed and any subsequent response messages from Service A will be rejected.
What steps can be taken to solve these problems?
Correct Answer:B
Explanation
The problems with the current architecture can be addressed by applying the following patterns:
Service Statelessness principle and State Repository pattern - This pattern allows Component A to defer the business document data to a state database while it waits for a response from Component B. This helps reduce the amount of runtime resources Service A uses to keep the data in memory and improves overall performance.
Service Autonomy principle and Service Data Replication pattern - This pattern allows Component B to access a dedicated replicated database instead of the shared Database A, which can improve response time.
Asynchronous Queuing pattern - This pattern allows Service A to use a message queue to communicate with Service Consumer A asynchronously. This means that Service Consumer A does not need to remain stateful while waiting for a response from Service A, which can improve overall performance and scalability.
Therefore, option B is the correct answer. Option A is incorrect because it suggests using the Compensating Service Transaction pattern to raise awareness of the eventual response rejection, which does not actually solve the problem. Option C is also incorrect because it suggests using multiple patterns, which may not be necessary and can add unnecessary complexity to the architecture.
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 the three services reveals that each contains some agnostic logic that cannot be made available for reuse because it is bundled together with non-agnostic logic.
The assessment also determines that because Service A, 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.
How can the application of the Orchestration pattern improve this architecture?
Correct Answer:B
Explanation
The application of the Orchestration pattern can improve this architecture by cleanly separating the non-agnostic logic from the agnostic logic, allowing the design of new agnostic services with reuse potential. The State Repository pattern, which is supported by and local to the orchestration environment, provides a central state database that can be shared by Services A and B. The local state database avoids problems with remote communication. Additionally, the Orchestration pattern provides a central controller that can coordinate the interactions between Services A, B, and C, reducing the need for remote communication between services and improving runtime performance.
Service A is an entity service that provides a Get capability which 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 will occur 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?
Correct Answer:A
Explanation
This solution is the most appropriate one among the options presented. By using the Event-Driven Messaging pattern, Service A can be notified of changes to the data value without having to be invoked repeatedly by Service Consumer A, which reduces the resources required for message exchange. Asynchronous Queuing ensures that the event notification message is not lost due to the unavailability of Service A or Service B. This approach improves the efficiency of the service composition architecture.
Service Consumer A sends a message to Service A (1), which then forwards the message to Service B (2). Service B forwards the message to Service C (3), which finally forwards the message to Service D (4). However, Services A, B and C each contain logic that reads the contents of the message to determine what intermediate processing to perform and which service to forward the message to. As a result, what is shown in the diagram is only one of several possible runtime scenarios.
Currently, this service composition architecture is performing adequately, despite the number of services that can be involved in the transmission of one message. However, you are told that new logic is being added to Service A that will require it to compose one other service to retrieve new data at runtime that Service A will need access to in order to determine where to forward the message to. The involvement of the additional service will make the service composition too large and slow.
What steps can be taken to improve the service composition architecture while still accommodating the new requirements and avoiding an increase in the amount of service composition members?
Correct Answer:D
Explanation
This solution addresses the issue of the service composition becoming too large and slow by introducing a new Routing service that is invoked by messages read from a messaging queue. This allows Service A and Service C to determine where to forward messages to at runtime without the need for additional services in the composition. The Service Loose Coupling principle is applied to ensure that the new Routing service remains decoupled from other services so that it can perform its routing functions independently from service contract invocation.
Service A sends a message to Service B (1). After Service B writes the message contents to Database A (2), it issues a response message back to Service A (3). Service A then sends a message to Service C (4). Upon receiving this message, Service C sends a message to Service D (5), which then writes the message contents to Database B (6) and issues a response message back to Service C (7).
Service A and Service D are located in Service Inventory
Correct Answer:C
Explanation
This solution addresses the two main challenges in the service composition architecture: the different XML schema used by services in Service Inventory A and Service Inventory B, and the incompatible data formats of the two databases.
By applying the Data Model Transformation pattern, data model transformation logic can be inserted to map the invoice-related data between the different XML schemas used by the services in Service Inventory A and Service Inventory B. This can be done at the appropriate points in the message flow: between Service A and Service B, between Service A and Service C, between Service C and Service D, and between the Service D logic and Database B.
By applying the Data Format Transformation pattern, data format transformation logic can be inserted to convert the XML-formatted data used by the services to the CSV format required by Database A, and to convert the proprietary XML schema used by Database B to the XML schema used by the services. This can be done between the Service B logic and Database A.
The Protocol Bridging pattern is not necessary in this case because all services are already communicating using the same protocol (presumably HTTP or a similar protocol).
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 primarily provides data access logic to a client database but also coordinates with other services to determine a clients credit rating. The Vendor service provides some data access logic but can also generate various dynamic reports based on specialized business requirements.
After reviewing historical statistics about the runtime activity of the two services, it is discovered that the Client service is serving an ever-increasing number of service consumers. It is regularly timing out, which in turn increases its call rate as service consumers retry their requests. The Vendor service occasionally has difficulty meeting its service-level agreement (SLA) and when this occurs, penalties are assessed.
Recently, the custodian of the Client service was notified that the Client service will be made available to new service consumers external to its service inventory. The Client service will be providing free credit rating scores to any service consumer that connects to the service via the Internet. The Vendor service will remain internal to the service inventory and will not be exposed to external access.
Which of the following statements describes a solution that addresses these issues and requirements?
Correct Answer:A
Explanation
This solution addresses the specific requirements and issues identified in the scenario. The Official Endpoint pattern can be applied to the Client service to establish a managed endpoint for consumption by service consumers external to the service inventory, which will allow for controlled and managed access to the service. The Concurrent Contracts pattern can be applied to the Vendor service, which will enable it to connect with alternative Client service implementation if the first attempt to connect fails, thereby increasing its availability and reducing the possibility of penalties being assessed due to not meeting its SLA.
Full Access
Get the complete S90.08B question set
17 questions covering all exam domains
Correct answers with explanations, like the free questions above
Domain 1: Fundamental SOA, Services & Microservices
Understand core SOA principles, service characteristics, and how microservices extend traditional service-oriented architecture. Study foundational concepts including business and technology drivers, strategic goals, service design paradigms, and essential service technologies.
Domain 2: Microservice Technology Concepts
Master service implementation mediums, message exchange patterns, and service activities. Learn XML, JSON, HTTP methods, REST services, web service contracts, cloud computing concepts including vertical and horizontal scaling, multitenancy, and cloud models like IaaS, PaaS, and SaaS.
Domain 3: Design & Architecture with SOA, Services & Microservices
Apply SOA and microservices principles to design real applications. Compare service-oriented design to silo-based approaches, understand service capabilities and functional contexts, and master the eight design principles of service-orientation and design guidelines for REST services.
Domain 4: Advanced SOA Design & Architecture with Services & Microservices
Explore advanced architectural patterns contrasting SOA with traditional architectures. Study service and composition architectures, centralization strategies, contract management, service facades, microservice deployments, containerization, API gateways, and data transformation techniques.
Sample questions from this domain above:
Q1Q2Q3Q4Q6Q7
Domain 5: SOA Design & Architecture Lab with Services & Microservices
Apply theoretical knowledge in practical lab exercises including case study analysis, upgrading existing platforms, re-modeling web services as REST services, and designing API gateways. Develop real-world problem-solving skills for implementing SOA and microservices effectively.
FAQ
S90.08B Exam FAQ
Common questions about the exam itself
What background do I need before taking the S90.08B exam?
You should have solid foundational knowledge of SOA principles and practical experience with service-oriented architecture and microservices design. While no formal prerequisites are published, hands-on experience with service implementation is strongly recommended to tackle the practical lab components.
Is S90.08B a lab-based exam or multiple choice?
The S90.08B includes both multiple-choice questions testing SOA terminology and microservice principles alongside scenario-based and practical lab exercises. The lab component requires you to apply theoretical knowledge to real-world architectural challenges like designing API gateways and re-modeling service contracts.
How does S90.08B fit into the SOA Certified Professional Gen 2 track?
S90.08B is Module 8 of the SOA Certified Professional Gen 2 path, covering the most advanced design and architecture topics. This exam serves as a capstone that validates your ability to design complete service ecosystems and justify architectural decisions in practical scenarios.
What makes the design and architecture section of S90.08B challenging?
The design section requires you to translate SOA principles into concrete architectural solutions under realistic constraints. Candidates find this hardest because it moves beyond memorising concepts to making sound judgements about service decomposition, integration patterns, and technology choices in messy real-world situations.
How much study time should I budget for S90.08B?
Most candidates spend 40 to 60 hours on focused preparation when they already have SOA and microservices experience. If you are new to these concepts, plan for 80 to 100 hours to cover the foundational material and develop the practical reasoning needed for the lab exercises.
What role is S90.08B designed for?
S90.08B targets SOA architects and senior developers who need to design and implement service-oriented and microservices-based solutions. The certification demonstrates expertise in translating business requirements into robust architectural designs using modern distributed patterns.
What is the relationship between S90.08B and other exams in the SOA Certified Professional Gen 2 track?
S90.08B builds on earlier modules covering fundamental SOA, microservice technology concepts, and intermediate design patterns. This exam assumes mastery of those foundations and adds advanced topics like composition architectures, centralization strategies, and microservice deployment patterns.
Are there any prerequisites I must complete before sitting S90.08B?
There are no formal prerequisite certifications required to sit S90.08B as a standalone exam. However, Arcitura recommends completing the SOA Design & Architecture with Services & Microservices course beforehand to build the knowledge and hands-on skills the practical exam components test.
Can I retake S90.08B if I don't pass the first time?
Yes, you can retake S90.08B to improve your score. Arcitura allows retakes of any certification exam, though specific policies on waiting periods between attempts and retake fees should be confirmed when you register for your exam.
How long does the SOA Certified Professional Gen 2 certification stay valid after passing S90.08B?
Arcitura's SOA certifications do not have a published expiration date, meaning your SOA Certified Professional Gen 2 credential remains valid indefinitely once earned. However, you may choose to renew or recertify to stay current with evolving SOA and microservices practices.