For background on this particular project, please visit Turning "Tech Speak" to "Business Use".
Situation ...
A professional services firm has its contact management database in a custom-developed Lotus Notes application, which contains over 9 years of history in over 25,000 documents totaling nearly 1 GB in size.
Problem ...
Key information from this database needed to be available to professionals outside the office and away from laptops. The volume of information would not fit on any type of mobile device, including the BlackBerry and Windows Mobile devices used by this firm. Typical data import/export techniques would not be feasible, because the subset of information required by a professional on a given day could not be known in advance.
Solution ...
We used web services to take advantage of the new "service oriented architecture" (SOA) techniques built into IBM Lotus Notes/Domino Release 7, BlackBerry Mobile Data System 4.1, and Windows Mobile Compact Framework Version 2.0. SOA is the underlying structure built into applications, such as relational databases and e-mail systems, supporting communication between "services," which are predefined programming or data functions made available through a web server.
In this case, the Domino server is the "provider" of the web service, and the BlackBerry and Windows Mobile devices are the "consumers" of the provided service. Provider code was developed to process a search request – consisting of search terms for one to three fields – and return the results. Consumer code, data entry screens, and results screens were developed using the rapid application development (RAD) tools of the BlackBerry and Windows Mobile platforms.
On the mobile device (below, on BlackBerry), the user specifies the desired records by completing between one and three fields. Wildcard characters are supported, so that "T*" would find all persons having first names starting with "T."
The query has been built and executed by the user. Behind the scenes, code on the device (below) packages the query parameters and a call to the web service , and then sends this all to the "provider" IBM Lotus Domino server. The server then processes the request from the "consumer," performs the requested lookup against the contact management database, finds the matching records, translates them into XML, and returns the translated records to the device.
The query results are displayed, showing the name and company of all persons matching the query criteria – in this example, two persons (below). At this point, all the data exchange is complete and the details for all matching persons are stored in the background awaiting the user to decide which record to show.
The user has now selected a particular person to display. Code on the device takes the XML (first box) and formats this (second box). The user can now take several actions:
- Call, text message (SMS), or email, using the appropriate linked fields.
- Press "Get Activities" to invoke another web service and retrieve
up to the latest 20 activities for that person. - Press "Add to Personal Address Book" to copy contact details
into the device user's personal address book. - Press "Done" to return to the previous screen.
If the "Get Activities" button is selected, another web service is requested and fulfilled, and the following results presented to the user (below, on Windows Mobile). As summary activity records are scrolled in the top panel, the detailed text associated with each activity is displayed in the bottom panel.
Results & Benefits ...
Our client's personnel now have access to key information on persons and activities from the complete contact management database, based on selection criteria they specify. Key features of the mobile devices – such as automatic detection of phone number and e-mail address formats, and automatic dialing or e-mail composition based on these – permit the professionals to more quickly contact and service clients and prospects.
SOA and web services delivered on their promise of rapid application development, providing needed information cost-effectively.
Conclusion ...
Using SOA permitted us to leverage the RAD tools of three different applications, allowing:
- "Provider" services to be developed on the host application.
- "Consumer" services to be developed using the data description obtained from the "provider" as a starting point to rapidly generate data entry screens, data results screens, and the "consumer" service.
The end result is that information is efficiently extracted and delivered to different devices, independent of the technology underlying each platform.
For Further Information ...
To discuss how we could help your business, please call us at 336.297.4200 to schedule a no-obligation consultation.