Skip to main content

ACD200 Real Exam Questions

Appian Certified Senior Developer

77 questions available · Page 1 of 8

Updated Exam DumpsVerified AnswersPass Guarantee

Get Complete Exam Dumps
Question 1 Single choice

Which user role should be used to allow external systems to invoke Appian web APIs?

  1. A

    Service Account

  2. B

    System Administrator

  3. C

    Application User

  4. D

    Designer

Show answer and explanation

Correct answer: A

Explanation

The question is about allowing external systems to invoke Appian web APIs. A service account is the user role that should be used for this purpose, as it is a special type of basic user that can be configured to authenticate with web APIs using an API key. A service account can also be assigned to specific groups or roles to control the access to web APIs. The other options are not user roles, but rather groups or user types that are not suitable for this purpose.
References:
Service Accounts
Web API Security

Question 2 Multiple choice

Your organization is considering automating the running of expression rule test cases to provide unit tests for your Appian applications.

Which three methods could be used to launch a test run when required? (Choose three.)

  1. A

    Via the DevOps section of the Administration Console.

  2. B

    A process model invoked via an API.

  3. C

    A process model exposed to users as an action.

  4. D

    A web hook from a content versioning system (CVS).

  5. E

    A SAIL interface embedded in a report.

Show answer and explanation

Correct answers: B, C, E

Explanation

Three methods that could be used to launch a test run for expression rule test cases when required are: A process model invoked via an API. A process model can be designed to run test cases for expression rules using the a!testRule() function or the Test Rule smart service. This process model can be exposed as a web API with an HTTP method such as POST or PUT, allowing external systems or applications to invoke it through an HTTP request.
A process model exposed to users as an action. A process model can also be designed to run test cases for expression rules using the same function or smart service as above. This process model can be exposed to users as an action on an interface, such as a button or a link, allowing users to trigger it manually when needed.
A SAIL interface embedded in a report. A SAIL interface can be created to run test cases for expression rules using the a!testRule() function. This interface can be embedded in a report, such as a grid or a chart, allowing users to view the test results interactively on an interface.
References:
Automated Testing for Expression Rules, a!testRule() Function, Test Rule Smart Service, Web APIs, SAIL Interfaces

Question 3 Single choice

Your organization requires a process to be initiated via an Appian web API.

Which HTTP request methods should the API use?

  1. A

    HEAD

  2. B

    GET

  3. C

    POST

  4. D

    CONNECT

Show answer and explanation

Correct answer: C

Explanation

The question is about initiating a process via an Appian web API. The HTTP request method that the API should use is POST, as it is the method that allows sending data to the server and creating or updating a resource. In this case, the data would be the process parameters and the resource would be the process instance. The other options are not suitable for this purpose, as they either do not allow sending data or do not create or update a resource.
References:
HTTP Request Methods Start Process Web API

Question 4 Single choice

You are tasked with configuring a process model to store the result of an expression rule for every item in a list.

Which process model design has the lowest memory footprint?

  1. A

    Run MNI over a script task for each item in the list.

  2. B

    Call a sub-process for each item in the list.

  3. C

    Configure a script task to use a!foreach to iterate over each item in the list.

  4. D

    Create a loop of smart service nodes in the process model and execute it for each item in the list.

Show answer and explanation

Correct answer: C

Explanation

The question is about designing a process model to store the result of an expression rule for every item in a list with the lowest memory footprint. The best design for this purpose is to configure a script task to use a!foreach to iterate over each item in the list, as it allows you to execute an expression rule for each element of an array without creating multiple nodes or subprocesses in the process model. A script task is a node that executes an expression without user interaction, and a!foreach is a function that applies an expression to each element of an array and returns an array of results. The other options are not optimal for this purpose, as they either create more nodes or subprocesses in the process model, which consume more memory and resources.
References:
Script Task a!foreach()

Question 5 Single choice

You want to generate an email body which varies from one Appian environment to another.
For instance, between DEV and TEST.

According to Appian best practices, how should you define the environment name? (Choose the best answer.)

  1. A

    Create an expression rule and update its value post-deployment.

  2. B

    Create an environment-specific constant.

  3. C

    Create a constant and update its value post-deployment.

  4. D

    Create a stored procedure.

Show answer and explanation

Correct answer: B

Explanation

According to Appian best practices, environment-specific constants should be used to define values that vary from one Appian environment to another. For example, if you want to generate an email body that contains the environment name, you can create a constant named ENVIRONMENT_NAME and assign it different values for DEV and TEST environments. This way, you can avoid hard-coding values in your expressions or rules, and simplify your deployment process by using automatic constant value mapping.

Question 6 Multiple choice

You need to build a process model that transforms a large data set.

Which two things should you ensure to include in your process model? (Choose two.)

  1. A

    A subprocess is called using "Multiple Node Instances (MNI)" to perform the transformation on each item in the data set.

  2. B

    An XOR gateway is added before the transformation node, to check for empty/null values.

  3. C

    A loop is created within the process model that increments on each iteration, updating that particular row in the data set.

  4. D

    The transformation is applied with an expression rule that takes the data set as an input, and loops through the dataset using a looping function, such as foreach.

Show answer and explanation

Correct answers: B, D

Explanation

When building a process model that transforms a large data set, two things that should be ensured to include in the process model are an XOR gateway before the transformation node, to check for empty/null values, and a transformation applied with an expression rule that takes the data set as an input, and loops through the dataset using a looping function, such as foreach. These things can help to improve the performance and reliability of the process model. The XOR gateway can prevent unnecessary processing of empty or null data sets, which can save time and resources. The expression rule can perform the transformation in one transaction, instead of using multiple nodes or subprocesses, which can reduce the memory footprint and the database load of the process model. Therefore, the correct answers are B and D.
References:
[XOR Gateway]
[Expression Rules]
[foreach() Function]

Question 7 Single choice

You are designing a repeating step in a process.

What is the default limit for maximum number of node executions?

  1. A

    50

  2. B

    2000

  3. C

    1000

  4. D

    500

Show answer and explanation

Correct answer: C

Explanation

The question is about the default limit for maximum number of node executions in a repeating step in a process. The default limit is 1000, as it is the value of the system property conf.bpm.maxNodeExecutionsPerInstance, which controls how many times a node can be executed in a single process instance. This limit is intended to prevent infinite loops or excessive node executions that could affect the performance or stability of Appian. The other options are not correct, as they are either too high or too low.
References:
Repeating Steps in Processes System Properties Reference

Question 8 Single choice

Users are reporting that their application is slow to load customer records with many transactions.

Using performance monitoring tools, you find that the following interface definition is responsible for the vast majority of page load time:

You also notice that both queries (rule!APP_GetTransactionsWithFilters and rule!APP_GetTransactionTypeWithFilters) take about 25 milliseconds each to execute when you test them using expression editor.

Which change would decrease the load time of this interface component the most? (Choose the best answer.)

  1. A

    Don't fetch total count when getting transactions.

  2. B

    On line 4, increase the paginginfo batch size to 50 so more data is prefetched.

  3. C

    Use a synced record for Transactions to improve the query response time for the query performed on line 6.

  4. D

    Prefetched transation types and use the displayvalue() function to display the Transaction Type for each transaction.

Show answer and explanation

Correct answer: D

Explanation

The load time of this interface component can be improved by reducing the number of queries performed and the amount of data transferred. One way to achieve this is to prefetch the transaction types and use the displayvalue() function to display the Transaction Type for each transaction. This way, only one query is performed to get the transactions, and the transaction types are retrieved from a local variable instead of a separate query. This reduces the network latency and the database load, which can improve the performance of the interface. Therefore, the best answer is D.
References:
Prefetching Data
displayvalue() Function

Question 9 Single choice

Using a View, you pull a report on different employee transactions. You receive the following error: "a!queryEntity: An error occurred while retrieving the data."
What is the most likely root cause?
(Choose the best answer.)

  1. A

    The view contains a large number of rows, requiring more time to fetch the data.

  2. B

    The view doesn't have a column mapped as a Primary Key in its corresponding CDT.

  3. C

    The required inputs were not provided.

  4. D

    The rule contains a missing syntax.

Show answer and explanation

Correct answer: A

Explanation

The most likely root cause of the error is that the view contains a large number of rows, requiring more time to fetch the data. This can result in a timeout or an out-of-memory error. To avoid this, you can use pagination or filters to limit the number of rows returned by the view. You can also optimize the view performance by using indexes, avoiding unnecessary joins, and reducing the number of columns.
References:
[Views], [View Performance]

Question 10 Multiple choice

You create an interface, but it fails to load. When you open the design errors log, you see a memory circuit breaker error.

What are two possible root causes of this error? (Choose two.)

  1. A

    A database query is taking too long to evaluate.

  2. B

    The interface contains some special characters.

  3. C

    The interface is storing too much data in local variables.

  4. D

    The interface component is looping over too many items.

Show answer and explanation

Correct answers: C, D

Explanation

A memory circuit breaker error occurs when an interface consumes too much memory on the server. This can happen when the interface is storing too much data in local variables or when the interface component is looping over too many items. Both of these scenarios can cause excessive memory allocation and garbage collection, which can degrade the performance of the interface and the server. Therefore, the possible root causes of this error are C and D.
References:
Memory Circuit Breaker
Performance Best Practices