Turning "tech speak" to "business use"
One strength of our firm is our ability to quickly understand "tech speak" — advanced technology concepts that initially excite technical personnel — and turn it into "business use" for executives and line-of-business managers. A good example of this is shown in this month's case study, which deals with Service Oriented Architecture (SOA) and web services.
Service Oriented Architecture
SOA has been around conceptually for many years, but has gained momentum and validation with IBM, Microsoft, Sun, SAP, and others participating in developing — and agreeing to follow — a common set of standards about how the underlying architecture would work. Since then, these companies have worked to incorporate many web service standards into their products and make them practical and usable. The base level of web services generally accepted to qualify as an SOA include:
The XML markup language for describing data.
The HTTP protocol for communicating between clients and servers.
The SOAP protocol for exchanging XML messages using the HTTP protocol.
The Web Services Description Language (WSDL), which is an XML-based description of how a client ("consumer") interacts with a web service on the server ("provider").
What's the "business use" of this "tech speak"? There are several:
SOA is based on open web service standards that have gained broad industry acceptance — thus, businesses are less constrained by proprietary vendor technology.
SOA permits different systems, based on different technologies, to communicate with each other — potentially simplifying integration of these systems.
SOA permits composite applications (also called "enterprise mashups"), which are applications combining functions from multiple sources to provide an integrated user experience — this enables greater business agility by making it easier for systems to be quickly tailored to a changed environment.
More broadly, SOA can help ensure that actual business processes are represented in the software application as distinct services — thereby linking information systems functionality with specific business requirements.
The project featured in this case study takes advantage of the SOA capabilities in the relevant products — IBM Lotus Notes/Domino, BlackBerry Mobile Data System, and Windows Mobile Compact Framework. While this project reflects a relatively simple application, it illustrates how applying SOA — to develop a "provider" service in the Contact Management database, and to develop "consumer" services for the BlackBerry and Windows Mobile devices — allows:
Efficient extraction and delivery of information to different types of clients.
Development of "provider" services in the native rapid application development (RAD) environment of the host application.
Development of "consumer" services in platform-specific RAD tools, where the tools use the data description obtained from the "provider" to rapidly generate data entry and data results screens.
In a recent issue of Consulting Magazine, technology research firm Gartner predicts that SOA will provide the basis for 80% of new development projects by 2008. Gartner goes on to say that "through 2015, service-oriented architecture will transform software from an inhibitor to an enabler of business change."
Are you ready for technology to transform business? We are!
We are excited to be in discussions to develop the mobile capabilities of a middle-market ERP package, which would enable capabilities such as those illustrated in this case study. We hope to be able to announce something on this later in the year.
Todd L. Herman
PPS — For an update on Todd's Results, click here. For background on this, please see:
- Intentional Reality Part 1 — What Is Personal Accountability?
- Intentional Reality Part 2 — What Do People, Process, and Technology Have To Do With Personal Accountability?
Case Study: Using Web Services to Deliver Information to Mobile Devices
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.
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.
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.
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.