Exam4Training

Appian ACD300 Appian Certified Lead Developer Online Training

Question #1

You are required to create an integration from your Appian cloud instance to an application hosted within a customers self-managed environment.

The customers IT team has provided you with a REST API endpoint to test with; httpsV/lnternal networkVapi/api /ping

Which recommendation should you make to progress this integration?

  • A . Expose the API as a SOAP-basedweb service.
  • B . Deploy the API / service into Appian Cloud
  • C . Add Appian Cloud’s IP address ranges lo the customer network’s allowed IP listing
  • D . Set up a VPN tunnel

Reveal Solution Hide Solution

Correct Answer: C
C

Explanation:

The Appian cloud instance needs to be able to access the REST API endpoint within the customer’s internal network. By adding the IP address ranges of the Appian cloud to the allowed list, you ensure network-level access to this API from the Appian cloud instance.

Options A (exposing the API as a SOAP-based web service) and B (deploying the API/service into Appian Cloud) both involve changing the format or location of the API, which may not align with the customer’s needs or policies.

Option D (setting up a VPN tunnel) is also a viable solution but is typically more complex than simply adding IP addresses to an allow list, requiring more configuration and maintenance.

Question #2

You are tasked to build a large scale acquisition application for a prominent customer. The acquisition process tracks the time it takes is fulfill a purchase request with an award.

The customer has structured the contract so that there are multiple application dev teams.

How should you design for multiple processes and forms, while minimizing repeated code?

  • A . Create a Center of Excellence (CoE)
  • B . Create a common objects application.
  • C . Create a Scrum of Scrums sprint meeting for the team leads
  • D . Create duplicate processes and forms as needed

Reveal Solution Hide Solution

Correct Answer: B
B

Explanation:

To build a large scale acquisition application for a prominent customer, you should design for multiple processes and forms, while minimizing repeated code. One way to do this is to create a common objects application, which is a shared application that contains reusable components, such as rules, constants, interfaces, integrations, or data types, that can be used by multiple applications. This way, you can avoid duplication and inconsistency of code, and make it easier to maintain and update your applications. You can also use the common objects application to define common standards and best practices for your application development teams, such as naming conventions, coding styles, or documentation guidelines. Verified References: [Appian Best Practices], [Appian Design Guidance]

Question #3

You are designing a process that is anticipated to be executed multiple times a day. This process retrieves data from an external system and then calls various utility processes as needed. The mam process will not use the results of the utility processes, and there are no user forms anywhere.

Which design choice should be used to start the utility processes and minimize the load on the execution engines?

  • A . Use the Start Process Smart Service to start the utility processes.
  • B . Start the utility processes via a subprocess synchronously.
  • C . Use Process Messaging lo star! the utility process.
  • D . Start the utility processes via a subprocess asynchronously

Reveal Solution Hide Solution

Correct Answer: D
D

Explanation:

Starting utility processes via asynchronous subprocesses allows the main process to continue execution without having to wait for the utility processes to complete. This reduces the load on the main execution engine and improves overall efficiency.

Option A (Using the Start Process Smart Service to start utility processes) can initiate processes but might impose a greater load on the execution engines, as it might continuously wait for subprocess responses during execution.

Option B (Starting utility processes via a subprocess synchronously) means the main process will wait for the subprocess to complete before continuing, which increases the load on the execution engine and reduces efficiency.

Option C (Using Process Messaging to start the utility process) is a viable approach, but asynchronous subprocesses are generally more efficient for handling utility processes that do not interact with the main process.

Question #4

Your application contains a process model that Is scheduled to run daily at a certain time, which kicks off a user input task to a specified user on the 1ST time zone for morning data collection The time zone is set to the (default) pm!timezone.

In this situation, what does the pm!tinezone reflect?

  • A . The time zone of the server where Applan is intuited
  • B . The line zone of the user who most recently published the process model
  • C . The default time zone for the environment as specified in the Administration Console
  • D . The time zone of the user who is completing the input task.

Reveal Solution Hide Solution

Correct Answer: C
C

Explanation:

In this situation, pm!timezone reflects the default time zone for the environment as specified in the Administration Console. pm!timezone is a process variable that returns the time zone of the process. If the time zone is not explicitly set in the process model, then pm!timezone returns the default time zone for the environment, which can be configured in the Administration Console. In this case, the time zone is set to the (default) pm!timezone, which means that the process model does not have a specific time zone, and therefore uses the default time zone for the environment.

The other options are not correct. Option A, the time zone of the server where Appian is installed, is not what pm!timezone reflects, as the server time zone may not be the same as the default time zone for the environment. Option B, the time zone of the user who most recently published the process model, is not what pm!timezone reflects, as the user’s time zone may not be the same as the default time zone for the environment. Option D, the time zone of the user who is completing the input task, is not what pm!timezone reflects, as the user’s time zone may not be the same as the default time zone for the environment.

Question #5

Review the following resultof an explain statement:

Which two conclusions can you draw from this?

  • A . The request is good enough to support a high volume of data. but could demonstrate some limitations if the developer queries information related to the product
  • B . The worst join isthe one between the table order_detail and order.
  • C . The join between the tables order_detail, order and customerneeds to be tine-tuned due to indices.
  • D . The join between the tables 0rder_detail and productneeds to be fine-tuned due to Indices
  • E . The worst join is the one between the table order_detail and customer

Reveal Solution Hide Solution

Correct Answer: D E
D E

Explanation:

D. The join between the tables order_detail and product needs to be fine-tuned due to Indices. This is correct because the result of the explain statement showsthat the join between these two tables has a high cost of 0.99, which indicates that it is inefficient and needs to be fine-tuned. One possible reason for the high cost is that there are no indices on the columns that are used for joining these two tables, which leads to a full table scan. Therefore, creating indices on these columns could improve the performance of this join.

E. The worst join is the one between the table order_detail and customer. This is correct because the result of the explain statement shows that the join between these two tables has a very high cost of 1.00, which indicates that it is the worst join in terms of efficiency and needs to be fine-tuned. One possible reason for the high cost is that there are no indices on the columns that are used for joining these two tables, which leads to a full table scan. Therefore, creating indices on these columns could improve the performance of this join.

The other options are incorrect for the following reasons:

Question #6

You need to design a complex Appian integration to call a RESTful API. The RESTful API will be used to update a case in a customer’s legacy system.

What are three prerequisites for designing the integration?

  • A . Define the HTTP method that the integration will use.
  • B . Understand the content of the expected body. Deluding each field type and their limits
  • C . Understand whether this integration will be used in an interface or in a process model
  • D . Understand the different error codes managed by the API and the process of error handing m Appall
  • E . Understand the business rules to be applied to ensure the business logic of the data

Reveal Solution Hide Solution

Correct Answer: A B D
A B D

Explanation:

To design a complex Appian integration to call a RESTful API, you need to have some prerequisites, such as:

– Define the HTTP method that the integration will use. The HTTP method is the action that the integration will perform on the API, such as GET, POST, PUT, PATCH, or DELETE. The HTTP method determines how the data will be sent and received by the API, and what kind of response will be expected.

– Understand the content of the expected body, including each field type and their limits. The body is the data that the integration will send to the API, or receive from the API, depending on the HTTP method. The body can be in different formats, such as JSON, XML, or form data. You need to understand how to structure the body according to the API specification, and what kind of data types and values are allowed for each field.

– Understand the different error codes managed by the API and the process of error handling in Appian. The error codes are the status codes that indicate whether the API request was successful or not, and what kind of problem occurred if not. The error codes can range from 200 (OK) to 500 (Internal Server Error), and each code has a different meaning and implication. You need to understand how to handle different error codes in Appian, and how to display meaningful messages to the user or log them for debugging purposes.

The other two options are not prerequisites for designing the integration, but rather considerations for implementing it.

– Understand whether this integration will be used in an interface or in a process model. This is not a prerequisite, but rather a decision that you need to make based on your application requirements and design. You can use an integration either in an interface or in a process model, depending on where you need to call the API and how you want to handle the response. For example, if you need to update a case in real-time based on user input, you may want to use an integration in an interface. If you need to update a case periodically based on a schedule or an event, you may want to use an integration in a process model.

– Understand the business rules to be applied to ensure the business logic of the data. This is not a prerequisite, but rather a part of your application logic that you need to implement after designing the integration. You need to apply business rules to validate, transform, or enrich the data that you send or

receive from the API, according to your business requirements and logic. For example, you may need to check if the case status is valid before updating it in the legacy system, or you may need to add some additional information to the case data before displaying it in Appian.

Question #7

You are reviewing the Engine Performance Logs in Production for a single application thathas been live for six months. This application experiences concurrent user activity and has a fairly sustained load during business hours. The client has reported performance issues with the application during business hours.

During your investigation, you notice a high Work Queue – Java Work Queue Size value in the logs You also notice unattended process activities, including timer events and sending notifications emails, are taking far longer to execute than normal.

The client Increased the number of CPU cores prior to the application going live

What is the next recommendation?

  • A . Add more engine replicas.
  • B . Optimize slow-performing user interfaces.
  • C . Add more application servers.
  • D . Add execution and analytics shards

Reveal Solution Hide Solution

Correct Answer: A
A

Explanation:

Adding more engine replicas will increase the number of threads available to execute unattended process activities, such as timer events and sending notification emails. This will reduce the Java Work Queue Size and improve the performance of the application. Verified References: Appian Engine Performance Logs, Appian Engine Configuration

Question #8

You have created a Web API in Appian. with the following URL to call it:

https://exampleappiancloud.com/suite/webapi/usef_managefnent/ users?Username=)=john.smith.

Which is the connect syntax forreferring to the user name parameter’

  • A . httpirequest.queryParameters users username
  • B . httpirequest usees username
  • C . httpirequest formData username
  • D . httpirequest queryParameters.username

Reveal Solution Hide Solution

Correct Answer: D
D

Explanation:

The correct syntax for referring to the username parameter in the Web API URL is httpirequest.queryParameters.username. This syntax allows you to access the value of the username parameter that is passed in the query string of the URL after the question mark (?). For example, if the URL ishttps://exampleappiancloud.com/suite/webapi/user_management/users?username=john.smith, then httpirequest.queryParameters.username will return john.smith.

Verified References: Appian Documentation, section “Web API”.

Question #9

You are asked to design a case management system for a client in addition to storing some basic metadata about a case, one of the client s requirements Is the ability for users to update a case The client would like any user in their organization of 500 people to be able to make these updates The users are all based in the company’s headquarters, and there will be frequent cases where users are attempting to edit the same case. The client wants to ensure no information Is lost when these edits occur and does not want the solution to burden their process administrators with any additional effort.

Which data locking approach should you recommend?

  • A . Allow edits without locking the case GDI
  • B . Use the database lo implement tow lewd pessimistic locking.
  • C . Add an ©Version annotation to the case COT to manage Vie locking
  • D . Design a process report and query to determine who opened the edit form first

Reveal Solution Hide Solution

Correct Answer: C
C

Explanation:

The @Version annotation is a feature of Appian that allows for optimistic locking of CDTs. Optimistic locking assumes that concurrent updates to the same data are rare and does not lock the data until it is saved. If two users try to save changes to the same data, the user who saves first will succeed, while the user who saves second will get an error message and will have to resolve the conflict manually. This approach is suitable for the client’s requirement, as itallows any user to update a case without locking it, ensures no information is lost when concurrent edits occur, and does not require any additional effort from the process administrators. Verified References: [Appian Documentation], section “Optimistic Locking”.

Question #10

You have an active development team (Team A) building enhancements for an application (App X’). and ate currently using the TEST environment for UAT.

A separate operations team (‘Team B) discovers a critical error in the Production instance of App X that they must remediate However. Team 6 does not have a hotfix stream for which to accomplish this. The available environments are DEV. TEST, and PROD

Which risk mitigation effort should both teams employ to ensure Team AS capital project is only minorly interrupted, and Team B s critical fix can be completed and deployed quickly to end users?

  • A . Team 8 must communicate to Team A which component will be addressed in the hotfix to avoid overlap of changes It overlap exists, the component must be versioned to its PROD state before being remediated and deployed, and then versioned back to its latest development state If overlap does not exist, the component may be remediated and deployed without any version changes
  • B . Team A must analyze their current codebase in OEV lo merge the hotfix changes into their latest enhancements. Team B is then requited to wait for the hotfix to follow regular deployment protocols from DEV to the PROO environment.
  • C . Team 8 must address changes in the TEST environment These changes can then be tested and deployed directly to PROD. Once the deployment is complete. Team B can then communicate their changes to Teams to ensure they are Incorporated as a part of the next release.
  • D . Team 8 must address the changes directly in PROD. As there is no hotfix stream, and OEV and TEST are being utilized for active development it is best to avoid a conflict of components. Once Team A has completed their enhancements work. Team 6 can update DEV and TEST accordingly.

Reveal Solution Hide Solution

Correct Answer: A
A

Explanation:

This is the best risk mitigation effort that both teams can employ to ensure that Team A’s capital project is only minorly interrupted, and Team B’s critical fix can be completed and deployed quickly to end users. By communicating with Team A, Team B can identify which component is causing the critical error in PROD, and check if there is any overlap of changes with Team A’s enhancements. If there is an overlap, Team B can version the component to its PROD state, which is the last stable version, before making any changes to fix the error. Then, Team B can deploy the fixed component to PROD, and version it back to its latest development state, which includes Team A’s enhancements. This way, Team B can avoid overwriting or losing any of Team A’s work, and ensure that the component is consistent across all environments. If there is no overlap, Team B can simply make the changes to the component and deploy it to PROD, without affecting Team A’s work.

The other options are not as effective. Option B, having Team A analyze their current codebase in DEV to merge the hotfix changes into their latest enhancements, would delay the deployment of the critical fix, as Team B would have to wait for Team A to finish their analysis and merge. Option C, having Team B address the changes in TEST, would interrupt Team A’s UAT process, and could cause conflicts or errors in TEST or PROD. Option D, having Team B address the changes directly in PROD, would be risky and not recommended, as it could introduce new errors or inconsistencies in PROD.

Verified References: [Appian Deployment Guide], [Appian Best Practices]

Exit mobile version