AR API: Understanding Workflows and Automation in BMC Remedy**
In the world of IT Service Management (ITSM) and enterprise applications, automation is key to efficiency and streamlined operations. At the heart of BMC Remedy’s automation capabilities lies its powerful workflow engine, driven by various components that respond to user interactions, server-side events, and scheduled triggers. While the term “AR API” might suggest direct programmatic interaction, it’s crucial to understand that the core automation within BMC Remedy is managed through its intrinsic workflow objects, which are then accessible and often orchestrated via APIs for broader integration.
This article delves into the fundamental building blocks of BMC Remedy’s workflow: Active Links, Filters, and Escalations. We’ll explore how they function, their unique characteristics, and the actions they can perform to automate processes, enhance user experience, and ensure data integrity. Understanding these concepts is not only vital for system administrators and developers working with BMC Remedy but also a common topic in technical interviews.
The Pillars of BMC Remedy Workflow
At its core, a workflow in BMC Remedy can be defined as a set of processes that govern how the system operates. These workflows automate business processes using a combination of Active Links, Filters, and Escalations. These components trigger specific actions in response to predefined conditions and execution options, effectively bringing your company’s processes to life within the AR System environment.
1. Forms: The Foundation of Data Representation
Before we dive into workflows, it’s essential to understand where data resides. In BMC Remedy, Forms serve as the schema to represent data, akin to tables in a relational database. These forms are the interfaces through which users interact with the system and where data is stored and managed.
2. Active Links: Reacting to User Interaction
Active Links are dynamic objects that execute based on user operations or information present on the current screen. Think of them as the “if this, then that” for user actions. When a user performs an action – like clicking a button, changing a field value, or opening a form – an active link can be triggered to perform a specific task.
- Triggering Mechanism: Client-side operations and information on the current form window.
- Functionality: They can display messages, change the color of field labels, fetch data from other forms, push data to other forms, or even open new windows.
- Key Characteristics:
- Active links cannot be triggered through an API program directly. Their execution is tied to user interaction within the client.
- If you attempt to create an Active Link with a name that already exists, BMC Remedy will automatically append
_cto the name to ensure uniqueness. - An Active Link must have at least one action defined to be functional.
- When you save a form as a new form, its associated Active Links are not copied. However, if you rename an existing form, its Active Links are retained.
3. Filters: Enforcing Server-Side Logic
Filters are server-side workflow objects that engage with the database. They execute in response to specific operations performed on a form transaction, such as submitting, modifying, or deleting a record. Filters act as the gatekeepers, ensuring data integrity and executing business logic before or after data is committed to the database.
- Triggering Mechanism: Server-side processing of form transactions (Submit, Modify, Delete, Get Entry, Merge, Service).
- Functionality: They interact with the database to retrieve, validate, or modify data. They can also trigger other workflow actions.
- Key Characteristics:
- Filters execute on the AR System server and typically run with administrator permissions, granting them broad access for data manipulation.
- They operate at the form level.
- Execution order is crucial for filters. They are processed in a specific sequence, with a default execution order of 500. This order can be manipulated using the
Gotoaction.
4. Escalations: Time-Based Automation
Escalations are also server-side workflow objects, similar to Filters, but their trigger is time-based rather than event-based. They are ideal for automating tasks that need to occur after a certain period or at regular intervals.
- Triggering Mechanism: A predetermined time interval or a specific point in time.
- Functionality: They search the database for requests that meet specific criteria (qualifications) and then perform actions on those matching requests.
- Key Characteristics:
- Unlike filters that act on the current request during a transaction, escalations can find and act on all requests that meet their qualification at the time they run.
- Escalations are executed by the
ar_escalatoruser. - They can interact with the database to retrieve and modify data.
Workflow Execution Options and Actions
Each workflow type (Active Link, Filter, Escalation) can be configured with specific execution options and can perform a wide array of actions to automate processes. Understanding these actions is key to designing effective workflows.
Filter Execution Options
Filters can be triggered by various operations:
- Submit: Executes when a new request is submitted to the server.
- Modify: Executes when an existing request is modified.
- Delete: Executes when a request is deleted.
- Get Entry: Executes when a request is retrieved or searched for.
- Merge: Executes when requests are merged into the database, often through tools like BMC Remedy Data Import.
- Service: A specialized option where the filter accesses a request with field values passed by an Active Link’s Service action. It retrieves data and returns output values without performing other database operations.
Audit Form Fields (Triggering Actions)
When auditing actions, the following codes represent the triggered events:
1 - GET ENTRY2 - Set(corresponds to Modify)4 - Create(corresponds to Submit)8 - Delete16 - Merge
Common Workflow Actions and Their Applicability
The following table illustrates which actions can be used within Active Links, Filters, and Escalations:
| Action Type | Active Links | Filters | Escalations |
|---|---|---|---|
| Call Guide | ☑ | ☑ | ☑ |
| Change Field | ☑ | ||
| Close Window | ☑ | ||
| Commit Changes | ☑ | ||
| Distributed Server Option (DSO) | ☑ | ☑ | ☑ |
| Direct SQL | ☑ | ☑ | ☑ |
| Exit Guide | ☑ | ☑ | ☑ |
| Go to Guide Label | ☑ | ☑ | |
| Goto | ☑ | ☑ | |
| Log to File | ☑ | ☑ | ☑ |
| Message | ☑ | ☑ | ☑ |
| Notify | ☑ | ☑ | ☑ |
| Open Window | ☑ | ||
| Push Fields | ☑ | ☑ | ☑ |
| Run Process | ☑ | ☑ | ☑ |
| Service | ☑ | ☑ | ☑ |
| Set Fields | ☑ | ☑ | ☑ |
Actions Unique to Specific Workflow Types
- Only in Active Links: DDE, Change Field, Close Window, Commit Changes, OLE Automation, Open Window, Run Macro, Wait.
- In Filters & Escalations (but not Active Links): None from the provided list, but conceptually, their server-side nature allows for more direct database interaction not exposed to client-side ALs.
- In Filters (but not Escalations): Notify, Log to File. (Note: Notify and Log to File *are* available in Escalations per the main table. This discrepancy might be due to specific older versions or nuanced definitions; relying on the comprehensive table is generally best.)
Deep Dive into Key Actions
Direct SQL Action
This action allows you to submit any legal SQL command directly to a non-AR System database. It’s a powerful tool for integration with external databases.
- Use Cases: Integrating with legacy systems, pushing data to external reporting databases.
- Caution: BMC strongly advises against using Direct SQL to modify data within AR System’s own tables (those created by AR System for object definitions or form data). Doing so can lead to severe data corruption. Stick to pushing data into external, non-AR System databases.
- Availability: Active Links, Filters, Escalations.
Goto Action
The Goto action provides granular control over workflow execution order. It allows you to jump to another Active Link or Filter based on a specified execution order number.
- Use Cases: Re-executing a set of workflow actions multiple times within the same transaction, creating loops or conditional branches.
- How it works: When a
Gotoaction executes, the system looks for the next Active Link or Filter with an execution order greater than or equal to the specified number and executes it. - Availability: Active Links, Filters.
Go to Guide Label Action
This action is used within guides to redirect the workflow to a specific labeled section. Guides are sequences of Active Links or Filters that are organized for modularity.
- Use Cases: Creating reusable workflow modules, designing complex decision trees within your automation.
- How it works: You define “labels” within your guide. The
Go to Guide Labelaction then directs the workflow execution to the specified label, allowing for structured and organized automation flow. - Availability: Active Links, Filters.
Run Process Action
This action allows you to execute an independent process on either the client computer or the AR System server.
- Use Cases: Triggering external scripts, sending faxes, generating log entries in a specific format, interacting with operating system commands.
- How it works: You specify a command line that the system then executes. This can be an AR System command, a workflow process command, or an external program.
- Availability: Active Links, Filters, Escalations.
Service Action
The Service action is a powerful mechanism for interacting with external services or internal AR System services. It can be used to retrieve data from external web services or to trigger specific internal filters.
- Use Cases: Consuming external APIs, orchestrating internal AR System services, providing data to a calling transaction without direct database modification (in Active Links and Filters).
- How it works: It maps input fields and optionally uses a database request ID to pass data. The called filter (or web service) processes this data and returns output. When used in an Escalation, it can modify database values based on output.
- Availability: Active Links, Filters, Escalations.
Commit Changes Action
The Commit Changes action has two primary functions:
- With Dialog Boxes: When used in conjunction with
Open WindowandClose Windowactions, it captures data entered in a dialog box and pushes it to fields on the parent form. Crucially, this does not immediately save to the database. - With Regular Forms: When used on a standard form, it applies the changes made and performs the major form action (Submit, Search, Modify), thus saving data to the database.
- Availability: Active Links.
Both actions can result in saving a modified request. However,
Commit Changes is explicitly logged as an action, providing clearer audit trails. Run Process "PERFORM-ACTION-APPLY" is more flexible for dynamic workflows where the action itself might be determined by field values. For dynamic workflow generation, Run Process is often preferred.Push Fields Action
This action is fundamental for data synchronization and updates across forms.
- Use Cases: Copying data from one form to another, updating related records, creating new records in a target form based on source data.
- How it works: You can transfer values from selected fields in the current request to another request in a different form or even the same form. It can update existing requests or create new ones.
- Limitations: Cannot push values to non-data fields like table fields or panel holders. Each
Push Fieldsaction typically targets one other form, though multiple requests within that form can be updated. - Availability: Active Links, Filters, Escalations.
Cache Modes and Their Impact
BMC Remedy AR System uses cache modes to manage how administrative operations interact with user operations. This is particularly relevant for performance and stability.
- Production Cache Mode (Default): Designed for environments with many active users. Administrative operations create a separate copy of the cache, allowing regular users to continue working without interruption. This prevents administrative tasks from delaying application users.
- Development Cache Mode: In this mode, administrative operations lock the shared cache, preventing other users from accessing it until the administrative task is complete. This can lead to significant delays if long-running tasks like escalations or complex queries are active. It’s generally recommended for development and testing environments where downtime for administrative changes is acceptable.
Troubleshooting Common Workflow Issues
Workflow automation, while powerful, can sometimes lead to unexpected behavior. Here are common pitfalls and how to address them:
- Infinite Loops: Occurs when workflow actions repeatedly trigger each other without a proper exit condition. Use
Gotoactions cautiously and ensure clear termination points. Debugging with logging and step-by-step execution is crucial. - Performance Degradation: Overly complex or inefficient workflows, especially those with extensive database queries or unnecessary looping, can slow down the system. Review your workflow logic, optimize queries, and consider batching operations.
- Data Mismatches: Incorrect field mappings in
Push FieldsorSet Fieldsactions, or flawed logic in Filters, can lead to data corruption or inconsistencies. Always test your workflows thoroughly with various data scenarios. - Active Link vs. Filter Execution Order: Understanding the difference between client-side Active Links and server-side Filters is vital. If an Active Link is supposed to populate a field that a Filter then uses, ensure the Active Link completes its action before the Filter runs.
- Escalation Not Firing: Verify the escalation’s qualification, the defined schedule, and ensure the AR System Escalation thread is running. Check the escalation logs for any errors.
Interview Relevance
Understanding BMC Remedy’s workflow engine is a cornerstone for anyone aspiring to work with the platform. Interviewers will often probe your knowledge of:
- The distinct roles and use cases of Active Links, Filters, and Escalations.
- The various actions available within each workflow type and their applicability.
- How to control workflow execution order and create branching logic.
- The impact of cache modes on system performance and administrative tasks.
- Common troubleshooting techniques for workflow issues.
- The relationship between workflow and data integrity.
Beyond Workflow: AR System Utilities and Configuration
While workflow objects are the primary automation tools, other AR System utilities and configurations play a supporting role:
Email Engine and Notifications
The Email Engine is responsible for sending out email notifications triggered by workflows (e.g., via the Notify action). The Email_Notification web path is a crucial configuration that dictates how links within email notifications point back to the AR System application (e.g., Mid Tier) for users to access specific records.
DSO (Distributed Server Option)
DSO is used for data synchronization between AR System servers. For firewall configurations, enabling “placeholder mode” from the DSO tab in the AR System Administration Console is often necessary to allow data transfer.
arsignal Utility
The arsignal utility is a command-line tool used to force an AR System server to load or reload specific information. This is invaluable after making configuration changes or deploying new workflow objects.
-a: Update Alert user information.-b: Recache and reload archive definitions.-c: Reload configuration file (ar.conf/ar.cfg).-d: Transfer signal to a DSO process.-e: Recache and reload escalation definitions.-g: Reload group and data dictionary information.-l: Reload license information.-m: Reload computed group information.-p: Transfer signal to an application process.-r: Recache definitions from the database.-u: Reload user information.
Using arsignal ensures that the server picks up the latest configurations and definitions without requiring a full server restart.
Ports and Queues Configuration
Within the AR System Administration Console, the Ports and Queues tab is critical for defining server ports and RPC numbers. This ensures proper communication between AR System servers, clients, and various services. Configuring server queues and threads also allows you to leverage the multithreaded architecture of AR System for better performance.
Conclusion
The AR API, in the context of BMC Remedy’s automation, is deeply intertwined with its robust workflow engine. Active Links, Filters, and Escalations are the workhorses that drive dynamic processes, enforce business rules, and automate repetitive tasks. By mastering the nuances of each workflow object, understanding the available actions, and knowing how to troubleshoot effectively, you can unlock the full potential of BMC Remedy to create efficient, intelligent, and user-friendly IT service management solutions.
Further Reading and Official Documentation
- BMC AR System Workflow Objects (Official Documentation – specific version may vary)
- BMC Helix ITSM Solutions (Official BMC website)
- BMC Helix ITSM Documentation (Official Documentation – specific version may vary)