Inmotion Services Inmotion Services

Today: Tuesday, 6 January 2009

Inmotion Site Map
Inmotion Inmotion is your business inmotion? are you inmotion?
Inmotion Inmotion get inmotion welcome to inmotion

inmotion & bgl notes


BGL Logo

Project Name: BGL integration with Lotus Notes
Project Date: November 2005 - current
Project Summary: BGL were looking at creating a way for their client base to directly communicate with their Lotus Notes systems through the Internet. We decided to launch a Client Centre where clients would be able to log in, view their details, log support calls, and whole heap more. Unfortunately, it was not as simple as we would have liked, and this conversational article discusses how we achieved what at times seemed impossible.
Web Address: http://clients.bglcorp.cm.au
Article Date: 01 May 2006
Article Author: James Lesh

Case Study

One of the major projects that Inmotion have been working on is the ongoing development of the BGL Client Centre. I am going to spend a little time discussing this as it has consumed huge amounts of time over for the past four months and it is finally being implemented this week.

The project concept was fairly simple. BGL has been developing an Internet Strategy for the past 18 months and the next stage was to develop an Internet interface for clients to interact directly with the BGL Lotus Notes database. Notes is not exactly the standard system to deal with. We found out early that any attempt to connect to it using any sort of SQL system was a no-go. A simple query for one record took upwards of a minute and hung the server. The database itself is over 5 gigabytes. I was even more worried when we had a consultant in for a few days who I worked with that discussed Notes as being a legacy system.

With the cards stacked against us, the first workable option was to build a special agent. This would be written in Lotus Script (a proprietary coding system). This turned out to be fairly slow, cumbersome, incompatible, and there was a better option. Using Notes web based interface, and some clever 'views' (a system of displaying records from forms which are cached, pretty much pre-defined SQL queries) we managed to pull out thousands of records in under six seconds. Once I had a unique identifier (a Notes Unique Identification Number, UNID) I was able to grab records in under 0.1 seconds. Even better was that it was now spilling out XML which PHP deals with very nicely. So we had solved the greatest hurdle: pulling data out.

Next was putting data back in (whether it was an update to a current record or a new record). The solution to this was very straight forward, a simple PHP Curl post to a page that occurs in the background.

We gradually redesigned forms at BGL to introduce information that clients would be able to see, for example, their client records and support calls. We added the ability to automatically submit support calls, to view their status, and to even see resolution articles from the BGL Knowledge Base.

More interesting views pull out clients support calls, and in a few weeks their software renewals too.

Every query to Notes is also cached. The period of caching is anything from 10 minutes to 12 hours. The reason for this is simple. Notes is still very server intensive and it would not be able to handle thousands of live requests. So all data is stored in mySQL until it is refreshed from Notes after a certain period. This has greatly improved performance.

The code is immense too. Two databases run the system. mySQL, and Lotus Notes (communicating via XML). Then within the Notes system there are at least three different ways in which data is retrieved or sent back. However, the best part is that it actually works.

We're releasing the Client Centre at the end of this week to 5000 organisations. Massive testing with team members at BGL, clients, and myself trying to hack in has all been successful. The entire BGL team has been trained, from administration on how to create accounts to support on the new procedure for support calls.

All clients need to register an account. Using unique identifiers (their product identification number and administrative e-mail address) the system matches the client record to the selected username and password. Once this is done, a client will have direct access. It takes me 30 seconds to register, but for everyone else we anticipate under 10 minutes.

As well as all the features listed above, there is also a BGL Direct announcement service. It automatically pages the BGL Software products news and information about their software. For example, timely information such as ASIC being down can be sent directly to a client allowing them to be up to date. This should stop a lot of head banging out of pure frustration! However, not only is it viewable in the software (XML), it can also be subscribed to using RSS (unfortunately too great of a majority still use IE) and viewed online.

As a result of the new system we anticipate a surge in customer satisfaction (already been established from our client testers), an improvement in service, and much more timely response mechanisms.

Return to our Case Studies