he term "Web service" is likely one you have heard, either in a previous Advantage article or as the latest IT
buzzword. The Wall Street Journal recently reported that financial analysts say that Web services and the opportunities that
they create for IT companies to garner improved revenues is the next major catalyst for a rally in IT stocks. Web services are
widely used to communicate, share data, and invoke functionality between disparate systems written in different languages and
running on different platforms. BASIS employs this technology in a service known as the QA Memos Web Service.
The QA Memos Web Service resulted from our desire for customers to track their issues with BASIS products that affected their
software. Remedy, a third party commercial off-the-shelf software system that we refer to as the BASIS QA Memo System, uses a
Microsoft SQL server back end to track these issues. BASIS not only wanted customers to have the ability to query and update
QA memos, but to have the ability to integrate the BASIS issue tracking system into their own issue tracking system. Realizing
that customers might have issue tracking systems written in any language and running on any platform, creating a BBj® Web
service interfacing with BASIS' third party QA system was the perfect solution.
Financial analysts say
that Web services and the
opportunities that it creates
for IT companies to garner
revenues is the
next major catalyst for
a rally in IT stocks.
Giving users the ability to search and update QA memos was very important to BASIS. With this in mind, we created the QA Memos
Service interface with this functionality. Specifically, we designed the search method to accept criteria such as the QA memo
number, status - whether open, fixed, or closed - short description of the issue, and whether the QA memo affected a
particular customer. Next, we defined the method for updating a QA memo with such customer information as name and e-mail
address. Regarding creation of new QA memos, we chose not to allow customers to create memos via this Web service interface
since procedurally BASIS would first reproduce the user-reported issue before creating a QA memo. This decision also would
help us ensure the problem exists as stated, as well as facilitate a fix and confirm the fix solved the reported issue. Since
BASIS wrote the service back end in BBj, the BBj application takes advantage of MS SQL Server's JDBC Driver to access the
data, apply business logic, and return it to the client.
BASIS also supplies a client application written in BBj to provide access to our QA Memos Web service. This sample consumption
program appears in Figure 1.
|Figure 1. Sample client application
The developer has the ability to query QA memos using the criteria mentioned above, as well as to update them with customer
information. In order to update a QA memo, the developer must supply a customer name and e-mail address that must match a
subscriber to the BBj-Developer list (www.basis.com/support/submanage.html). To update a QA memo with your customer
information, simply enter your name and e-mail address, query the QA memos, and select the "Customer Affected" check box on
the associated row(s). Notice the row(s) containing the selected QA memo(s) turns red. Repeat this process for as many QA
memos as needed, then press the [Update] button. The updated information identifies the customers affected by the issue and
helps the customer to query QA memos, as well as allowing the QA system to automatically notify the customer via e-mail when
the QA memo is marked fixed. This application also highlights BBj's new ability to sort information by columns in a standard
grid. Simply click on the desired column header to sort that column, repeating clicks as needed to toggle the sort order
between ascending and descending sequence.
Figure 2 shows a diagrammatic representation of the system components involved in the delivery of the Web service. It
shows the BBj Web service accessing data from the Remedy system's MS SQL Server database and a BBj database, which stores
additional QA Memo information. It also illustrates the use of the BBj client application hosted in BASIS' offices being
deployed via Java Webstart, launched from a page on the BASIS website out across the internet to a client's desktop. The
consumption of the Web service could take place from within a BASIS customer's own issue tracking system. Have a look at the
Choices, Choices, Choices article on page 26 to learn more about the wealth of deployment choices available with BASIS
|Figure 2. QA memos Web service
This application is a working example of a Web services consumption program written in BBj. BASIS freely distributes the
source code to provide developers with the ability to scrutinize and customize the code. (To integrate this service into an
application not written in BBj, create your client side stubs from the WSDL accessible in the link below.) The true power of
Web services lies in the ability to create client interfaces and back end server interfaces to existing applications, with
little concern for the operating system, database or the programming language that the application relies on. Web services
fits into most any business need. Experience the power and flexibility of Web services today.