Sunday, October 25, 2009

10 Things I Wish I Knew About ITSM when i got started

When someone gets started with ITSM,there are a few points/concepts which if clear would make life much easy :-).There are couple of reasons for this -something which you think is a 'customization' that needs to be built,might be already existing in some form or the other or even there could be some existing functionality that would help you to build your customization very easily or even understanding them would help you to know in detail about how the product behaves

The points below were consolidated so that it can benefit everyone who works on BMC Remedy ITSM.

In the BMC Remedy ITSM applications, the multi-tenancy feature is available for Data segregation based on company. Access to data is controlled by a user’s access to a company.
(reading up a little bit about field 112 would be helpful as-well).
This feature is enabled from Application Administration Console>Custom Configuration>Foundation>Advanced Options>System Configuration Settings-System Settings

2.Restricted and Unrestricted access
This is related to multi-tenancy & for restricting data access of individuals to only companies that are relevant for them.Unrestricted users can access data for all companies based on there application permissions (Say a Global Support Manager).This is configured from People form’s Login/Access Tab.Check “Unrestricted Access” for granting such an access to a user.For restricting access to specific companies, add them into “Access Restrictions” Table

3.ITSM in a DSO environment

ITSM Installer now provides more support for DSO (7.5.xx onwards).Another good thing about the installer is that it is consolidated (ServiceDesk,Change Management & Asset Management) & runs on multiple platforms (InstallAnywhere based).Enable user defined prefix from SYS:System Settings.The 'Custom prefixes' are one of the most important aspects of a DSO enabled environment for ITSM.Update SHR:SchemaNames in the other server for appropriate application prefix (user defined prefix).Update field default for field ID 1 to match the prefix setup in above step.For additional information,refer ITSM-DSO-Enablement.doc

4.ITSM plug-ins
Another common query is regarding the plugins used by ITSM.Below is a list of few important ones
4.1ARDBC Plugin : Provides Overview console functionality, a view of work assigned across multiple applications. Query on the Vendor form triggers the plug-in

4.2Command Automation Interface (CAI) – libcaieventcmd/caiventcmd.dll :Primarily used by Requestor Console ,SRMS,TMS etc. CAI subsystem provides a common infrastructure that can be shared across applications for integration. It is a filter API plug-in

DVF Plug-ins ( These are for data visualization to provide graphical representation of data)

1.Task Viewer – Provides a graphical representation of tasks, task groups and their sequencing
2.Change/Release Calendar – Provides a calendar representation of changes/releases within the Organization.This is very important for scheduling changes /releases. Similar to outlook calendar view

5.Approval mapping & Integration with approval server

in ITSM,there is tight integration with approval server.Applications like change management have this integration because critical changes done to the production infrastructure needs to be following the approval process of the enterprise so that sufficient "what-if" scenarios can be thought about & appropriate sign-offs can be obtained.

Approval Mappings for Change Management Application is done from Application Administration Console>Custom Configuration>Change Management>Approval> Approval Mappings

Approval Process Configuration is done from Application Administration console>Custom Configuration>Foundation>Advanced Options>Approval Process Configuration

The approval processes that are configured can be based on CI (Configuration Item) and IA (Impacted Area)

Approval Rules involved in these processes can be viewed/customized from the form AP:Administration console

6.Risk Management

Risk assessment within change management helps to achieve greater productivity by combining qualitative and quantitative criteria for assessing the risk level associated with a change.The computed risk value can be selected, based on answers to a series of predefined questions.Derived risk factors are based on the historical performance of different aspects of a change. For all configured derived risks, a cumulative performance rating is stored

7.Release Manifest
The Release manifest defines the content of the Release.The manifest can consist of Activities and/or Change Requests.Manifest is used to provide a consolidated view needed to drive completion of the Changes and the Activities required to Close the Release.

Milestones are used to provide grouping mechanism to identify key points within in the Release process.

8.ITSM Notifications
Notifications are very important from the application's perspective because they keep key people informed

You can customize an individual’s notification preferences. Notification preferences vary by module

User Level - General preferences - They are configured in Notifications tab in people form
Configurable from the Notification tab of Application Rules

Notifications are Message Tag/Event DrivenYou can customize your own notification messages from the SYS:Notification Messages form. The SYS:Notification Messages form contains the notification text for each event.

Notification Message Tag is used by the notification workflow to identify the specific message to be sent. Each notification event can be associated with several notification messages.
formed on what is going on.

9.Impact Analysis
Change Impact Management: Thre are ways of Automated, intelligent and accurate change impact assessment to pro-actively determine impact to Services and mitigate risk of implementing a Change Request .When touching a CI it is difficult to understand the impact of the change: Atrium Impact Simulator -Provides “what if” CI impact analysis for ITSM applications.Higher level of service assurance can be provided before planning or approving changes to the production environment.This will reduce possible change collisions-(using Collision Detection functionality)

10.Integration with external apps – Web service & interface forms
Integration with external apps can be esility done with Web service & interface forms
Web services allow third-party integration tools to create, modify and query requests

They are built on top of Application Interface forms which has the Ability to Create requests, specify templates and associations.We can query and modify relationships and work info entries etc associated with a request

e.g. for a webservice is RMS_ReleaseInterface_Create_WS

Wednesday, October 7, 2009

Changing the State of a Remedy Deployable Application Programmatically to “Production”

Recently there was a query on changing the deployable application state to ‘Production” programmatically (using Driver script/API etc)

The challenge was that there was a new Deployable application “My Deployable App” that was made by a colleague which he was deploying using the rik loadapp command with in a batch file. He was also importing ARX records corresponding to the roles to group mapping for his new application into the "Roles" from. The application & roles got created and mappings with group was also correct, but the application State was “Maintenance” and he wanted to set it to “Production” automatically without any user intervention or without using Developer Studio

By default, deployable applications are imported in the Maintenance state. When an application is in the Maintenance state, only members of the Administrator group have permissions to use it. This is AR System behaviour by design,but ARsystem does allow you to change it using API calls (which Devstudio does when you change the dropdown value)

To change the state of the application, we can use driver command “sas” which stands for set application status. Below is a useful driver script snippet to change the status of the deployable application to “Production”

My Deployable Application

There is also a “gas” command that stands for get application status which can be used to retrieve the status of a deployable application

Monday, March 30, 2009

"Service Call" feature in Remedy 7.5

Service Call is one of the cool features of ARSystem available from the 7.1.00 release itself. It allows applications to execute workflows asynchronously (without getting/updating/deleting requests).

Okay, but what is the big deal in that? Let me explain…Imagine you have some filters which you wish should get fired as soon as some of your activelinks get executed. but for your filter to get fired, usually you need to perform some get/update/delete operations on some requests(to make the execution options “Modify”/”Submit”/”Delete”/”GetEntry” trigger the filter)….The Service Call can be your best friend in such a situation.

Let me explain with a more practical example. Imagine, on your “Window Loaded” there are some 10 odd activelinks which do some setfield action in which the data source is some other forms. The server roundtrips for each of these setfield actions can result in some delay over a big WAN. You can use a service call to optimize this situation. Get all your values in one single “Service Call”.

So how can you do all that?..very the concept of “Callback” ,it is the same here..(Of course I know you have coded in a lot of programming languages).The Activelink which gets called on your “Window Loaded” event notifies a filter which gets fired on “Service” action

The activelink can perform this notification by invoking the Service action. It needs to give an input mapping and an output mapping. The values that are specified in the input mapping gets passed to the filter. In turn the output mapping receives the values that the filter reads and keeps in the transaction.

So in short,the flow is like this

Activelink -> Notify Filter (using Service Action) and pass the required values (Input Mapping)

Filter – Perform the actual operation (do all the required setfields)

Filter - >Pass back the values to the Activelink as mentioned in the output mapping (similar to callback)

There are options to dynamically specify the server name and the form name at runtime as well. The good part is that the service action can be invoked from Activelinks, Filters and Escalations

The Service active link action executes an internal AR System service or an
external web service. ARServiceEntry C API function implements the Service active link action

More details on this feature can be obtained from BMC Remedy Action Request System 7.5.00
Workflow Objects Guide,BMC Remedy Action Request System
Version 7.1.00 – whats new pdf and the C API Reference guide .I am intentionally not duplicating the same data here as I am sure you will be having those pdfs. Searching for “Service Action” will take you to the description.
I found the Service Call functionality very usefull and was able to leverage it for improving application perfomance across WAN