Showing posts with label ARS. Show all posts
Showing posts with label ARS. Show all posts

2012-06-21

XPath with bad XML

My problems yesterday with the HTTP header got solved. I just needed to figure out the correct soapAction. After adding the soapAction of CreateTicket the other system accepted my webservice call and responded with a big chunk of XML. My next problem for today was to retrieve the ticket id from the other systems XML response.

I was expecting it to look like this:
<PrimaryTicketID>20120621:002</PrimaryTicketID>

But instead it looks like this:
<Result ID="20120621:002">
<PrimaryTicketID \>

How do pull out the attribute value using XPath? Actually it is not hard at all if you have done some XPath before, but as you remember I am totally new to this XML business. After trying different syntax and not getting anything out at all, I started to google for an answer. By mistake I started reading pages about XSLT and tried to get clues from there. After some time I actually managed to figure out how to do by comparing XSLT from an example web page and the XPath I was working with.

I just had to do:
Result/@ID

And got the result:
<result>20120621:002</result>

But for that to work I first had to edit the XML. With the original XML from the adapter response it still didn't work. Something seemed to be wrong with the XML format and no nodes could be filtered out.

I even tried:
//Result/attribute::ID

In the end I got a tip to ignore the nodes and just search for any attribute with the name "ID":
//@ID

Finally I got the result I needed even with the original XML.

I found some good information about XPath on W3Schools, but I really need to buy myself a book about XPath because this is really new to me.

2012-06-20

My first BMC Atrium Orchestrator project

I am now working on my first BMC Atrium Orchestrator project. I went to the admin course a couple of months ago and didn't have the chance to do any real work with the product until now. It is quite fun and challenging because of the very tight time schedule.

I am supposed to integrate our BMC Remedy ITSM with a vendors system. First we are focusing in sending incidents over web-services back and forth. After this we will continue with changes and problems and later probably even service requests.

I have never worked with web-services before so there are a couple of things that I have to learn. Even working with XML is new for me but that shouldn't be too hard I guess, because orchestrator helps a lot in that area.

So far I have built orchestrator processes that query ARS for incident information, updates the incident with vendor ticket ID and relates work info and another incident to the original incident. I got some hints from some work that a consultant did for us so that saved me some time. Now I am struggling with the vendors system because it doesn't like the HTTP header I'm sending. Strange because it worked OK when I was doing the same to the mock service in soapUI.

2010-10-21

WWRUG10

I am currently at the WWRUG10 conference in Las Vegas. The WWRUG (World Wide Remedy User Group) is a community gathering around the Remedy tools and applications provided by BMC. This is the first time I am attending the RUG and I hope to be able to attend again in the future. Two persons have attended all of the RUGS and several have attended ten times or more. My guess is that around a quarter of us are here for the first time ever.


One new "cool" thing presented was an iPad version of the SRM interface. Some think this is great and I just wonder, Why?. Who needs to order stuff from their iPad, if you have one? I would see a larger need to have an interface for incidents and tasks for technicians on the run. Then even iPad is a bit bulky and you would need access with your Android/iOS/webOS/whateverOS smart phone. Maybe I am just confused about this new iPad product? We will see in a short future what it will become.

I was hoping to post blog entries at least once a day when I am here but I don't have Internet access. Now I am able to borrow a computer with Internet access so I can post this entry. I will write something more when I get home again.

2010-04-23

Windows Installer for SRM 7.6

I am just about to upgrade our BMC Service Request Management 2.2 patch 4 to SRM 7.6 patch 1. It should be a straight forward upgrade. I will install everything on the D-drive and I've deleted stuff so I have at least 2 GB free space. On the C-drive we have only the Windows operating system and we are not allowed to install anything else on the C-drive.

I start the installation but it halts before the actual installation starts with a message that I need to free up space on the C-drive for temporary 1500 MB data and it is only 1376 MB space available.

WTF! I have nothing to free up on the C-drive. Can't I use some network drive for temporary storage during the installation? Or use the 8GB memory that is mostly unused at the moment? Quite often I wish we were using Unix/Linux instead of this toy-OS called Windows.

See you later... now I have to call some Windows-tech to help me expand the C-drive or whatever they do.

2010-03-03

New BMC Home Page?

Yesterday I and a couple of AR System consultants were talking about the ugly Home Page we have in our ARS ITSM 7.0 environment.

We have the standard out of the box stuff with links to the left and a huge empty blue void on the right side. I want to build something useful on that empty space but so far there have not been enough of a business need for that.

Then one of the consultants mention that he saw this new cool Home Page in arslist. So I dug down and found it. Yes it is cool and you can see it in the picture here. But as I understand it, this is nothing that you will get out of the box, this is an example of what you can build with the technology that BMC will release in mid 2010.


It looks cool but then the question for me will be... Will my company find a business need for me to let me build something like this for them? Probably not, because we are aiming really hard at buying more and more applications out of the box and not customizing anything. Everything should be configurable.

This is both good and bad...

Bad because I will not be developing as much as before.
Good because it will force me to change career.  ;)

2010-01-26

E-mail support with humor

I am maintaining a BMC AR-System environment with ITSM applications supporting ITIL applications including Incident, Problem and Change. This system is sending out a lot of e-mail notifications to all the users. Quite often the end user reporting an incident answers the receipt e-mail asking questions or sending additional feedback. Very often the system just receives autoreplies about the users being on vacation or on paternity leave.

The autoreplies we don't care about but the questions and feedback can be interesting to pay attention to. I want to build some workflow to filter out the interesting stuff and attach to the relevant ticket in the system or automatically deal with them in some other way in the cases where it is not possible to find the corresponding ticket. So far I didn't get the permission to do this development.

Instead I was asked to set up an autoreply in the exchange account for every incoming e-mail that comes from within the company. In this autoreply we are just going to inform the end user that they've sent an e-mail to a system and no person will read the e-mail and that they should send the e-mail to some support address.

So I did, but I was a little bit concerned that Exchange was not smart enough to deal with the auto-replies from end users on vacation. If our system sends an e-mail to a user on vacation and and the users e-mail account sends an auto-reply to our system that send an auto-reply back to the user that sends an auto-reply again and so on... You get the picture. It will become like a ping pong match.

I sent an e-mail to our e-mail support group asking about the risk of an ping pong match. I really liked their answer.

"Usually Exchange is smart enough to not start a ping pong match that it can not win. But occasionally it can happen that they get excited and someone smashes in a backhand volley."

OK it didn't wipe away all of my concerns, but still I really like to see some humor at work. :)

2009-01-20

AR-System 7.5 - What's new?

To increase the excitement in the project I want us to install the latest version of ARS in the server, mid tier, clients and why not exchange the whole ITSM with version 7.5! Yeeaahh! Here we go! :D


ARS developers x-mas:
  • BMC Remedy Developer Studio. I haven't seen this yet but I have heard a little about what it can be and I want to say: Finally some improvements for us developers! I have also heard that it now can be possible to use Linux instead of this hated Windows for a development platform. I hope it is true. There is also a possibility to search for object, which is great when you have hundreds thousands to manage.
  • Workflow debugger! Yeah! Finally!
  • Version control. You can lock objects for others when you modify them and you can get a log of every change of an object.
  • Application-Set-Filter-Phasing is a new run process command for delaying inserts of entries into a form so that they can be inserted in bulk for greater efficiency.
  • Dynamic join of multiple forms on runtime using API call ARGetListEntryWithMultiSchemaFields. With this you can create recursive queries, value-set queries or joins with vendor form data in an external database.
  • Run process command line can handle 4096 characters instead of 256.
  • ARGetCacheEvent API call can be used to monitor if changes have been done in the workflow or not. Can be useful... we'll see...
  • It is now possible to join external data sources with internal AR System forms.
  • Possible to log to forms instead of to files and then put workflow to filter out what you are really interested in. This can be useful...
  • A new log file for measuring mid-tier performance.
  • 64 bit AR servers for UNIX and Linux using a 64 bit database.
  • Image server object. This is "a place" where to store images in the AR Server. Then references to these images are used when building applications instead of a lot of copies of the same image. It is common to have images on buttons to give them a nicer look and a common feel throughout the application suite. It is a bit strange that they didn't implement this earlier.
  • Remedy Import tool is dead, long live Remedy data import tool! The old tool needed an upgrade so we will see later how much better this all brand new tool is.
  • arimportcmd is dead, long live "a Java data import command-line utility". Hmm.. why?


User impressions, or details that makes the ARS developer cool:
  • Auto completion in fields that have a menu attached.
  • Tooltips which is small messages that are shown when holding the mouse over some field or data. There is a HOVER event that can trigger active links. This sounds quite powerful and can be very useful to create user friendly interfaces.
  • File system browser character field. A new display type for the character field. With this you can search for a file in the network and save the file name in a field but not save the file. I can see its use but it is very limited.
  • Cell-based tables. Display the whole data row with several columns in one cell instead of several. Yes we can make more beautiful designs with this.
  • Possibility to remove the (clear) value from drop-down lists. Our customer will be so happy!
  • Panels! These sounds great... replaces the page holders and in many cases the trim box. These will probably make my life as a user interface designer much easier!
  • The panels in the panel holder can have tabs like the old page holder, collapsible/stacked (not really sure what that is), splitter which lets you see all panels and drag to resize them, accordion which sounds a lot like the old tabs but but a bit cooler.
  • The panels can have solid or gradient colours, background images, rounded corners.
  • Possible to expand or collapse panels with workflow.
  • Possible to trigger workflow on when a panel expand or collapse.
  • Text formatting templates in HTML to be used by workflow with tooltips or viewfields.
  • Buttons and URLs inside a table field.
  • Possibility to use PNG or GIF images and use the transparency effect.
  • Yahoo User Interlace Library, a collection of libraries in JavaScript™. With this library we get the possibility of animated highlight effects of fields using workflow.
  • Quick reports in the browser, saved per server, per form and per user.
  • Flashboards are using Adobe flash technology.
  • There will be a countdown clock in the browser telling an inactive user how much time there is until his license is expired. Do we really need this? Can I turn it off?
  • If you close the web browser or navigate away from the mid-tier, the license will be released after a configurable delay timer has expired. I hope this time can be set really really short, because we see this will be a problem today in earlier versions.

You can read more details here about BMC Remedy Action Request System 7.5.0.

2009-01-19

BMC Remedy Action Request System 7.5.0

Here it is! In the middle of our project to implement version 7.1.0 of BMC Remedy AR-System and here version 7.5.0 is released. I can not believe that we will jump on the 7.5-wagon this late in the implementation project. But I wish we would... I really do... That would be exciting... in many interesting ways... :P

I will soon dig into the documentation and see what is new about this release. :)

2008-10-21

2 hours of panic

Just after most of my colleagues left work for the day our production ARS server stopped working. It is impossible to access the system in any way. I check the error-log and find that the service crashed five times in a row. Then my connection to the machine totally freezes and I can not even read the log. Still no access to the AR-System.

Panic!


I call the server maintenance (SM) and ask if they notice the problem. They say they do and that they have informed the helpdesk. I explain what I experienced and ask if there are any planned changes that are supposed to get implemented this evening or any other known activities. No there were nothing. It was getting more scary and it started to point at there was something terrible wrong with our system. Good that Girlwing is at a course tonight so it doesn't matter if I work late...

The server suddenly comes alive again and the SM-guy logs in and tries to checks the server information. The server freezes again and nothing can be done. We keep talking about what can be the problem and I am start having awake nightmares about evil viruses.

When the system was responsive I searched for all the information I could find about imports and reports and nothing was supposed to run at this hour. So I was starting to rule out heavy load on the ARS service. I relax and the system got unresponsive again...

A couple of minutes later it is again possible to do simple searches in the ARS and soon the Windows OS is workable again. The CM-guy continue to check the server information. The CPU is running 100% and the memory is all eaten by a bunch of cscript processes. Then everything freezes again... it keep doing like this all the time while we are talking about the incident and searching for the cause.

Then suddenly after two hours of hard work he say... "The system hangs every time I relate those incidents with each others".

I am silent for a couple of seconds... then I say... "So if you stop relating incidents with each others, the system will work well and helpdesk will be able to access the incident application?".

He agrees to wait a couple of hours to continue and I rest my case...

...

The thing that had happened was that some computer had been switched off before the monitoring had been taken off and hundreds of incidents had been automatically generated and send to SM and filled their support group basket. There is a lot of work to manually close each incident because you have to fill in closure code and cause description. But instead it is possible to select a lot of incidents and mark them as related to a parent incident and then close the parent incident and the related ones will get closed automatically. This is a smart feature!

The problem with this is that there is a poorly written filter that executes on every save/modification of an incidents and runs a windows server process of cscript to build an XML-file. Microsoft is not well known for its efficient small footprint applications. So when the SM-guy modifies 50 incidents at the same time there will be 50 cscript processes running at the server and consuming all the available memory including some virtual memory on disk. And I can only guess what will happen when 50 identical cscript processes tries to update the same XML-file at the same time. You will probably get a lot of waiting... and helpdesk personnel that can not do it's work.