Pressroom


 

RegiSoft Uses Compuware Tools to Put E-coupons on the Web

RegisoftVendors distribute more than 300 billion coupons each year in the United States. Like the rest of the business world, they are moving to the Internet, using innovative products like World Trade Server, a sophisticated electronic distribution application from RegiSoft.

Even though the public uses only two percent of the coupons distributed, the cost to collect, verify and clear redeemed coupons, at 10 cents apiece, comes to more than $600 million. So efficiencies in distribution and verification can save a lot of money.

That's where RegiSoft comes in. World Trade Server cuts the cost of distribution dramatically because coupons are distributed over the Internet to PCs, handheld devices, cell phones or any other device which can connect to the web, whether wired or wireless.

Besides the obvious savings on printing costs, World Trade Server provides something no paper coupon can—customer followup. When you print a coupon in a newspaper, magazine or throwaway flier, you don't know who clips and uses it. With an electronic coupon, you can target your audience more precisely and effectively.

According to Gady Shlasky, CEO of RegiSoft, World Trade Server allows vendors to tailor the distribution of coupons to their customer base. "The World Trade Server knows which coupons are available in your area, and it also knows your personal profile," he says. "It's something that is fine-tuned all the time. It's changed and improved by a data-mining process that's running in the background, evaluating what you're doing and improving the information that the server has about you."

The Complexities of Java

World Trade Server is a back-office application written in Java. Finding defects in Java-based software applications is a complex task because they don't run directly on the operating system, but in the Java virtual machine. Tools from Compuware allow developers to reap the benefits of working in Java while resolving the complex problems posed by this intermediate layer in the software environment.

Shlasky explains: "You are running your application in a virtual machine. It's very hard to debug, and it's very hard to know what's going on inside. Many of the virtual machines are not stable. There are many bugs inside. When something is not working properly, it's very hard to know if the problem is your problem or the virtual machine's problem, or a specific version of this virtual machine."

RegiSoft uses the Compuware DevPartner Java™ Edition tool suite to find software defects and performance problems during the development of Java applications.

"DevPartner helps us improve performance, find bottlenecks in the application, find part of the code which is not working correctly and validate the performance of several parts," says Shlasky. "For example, if you have three threads, three processes that are running simultaneously, you can find that some parts are working much harder or much slower than others, and they will slow the whole system. DevPartner helps us find these bottlenecks and make the process much faster.

"DevPartner helps especially with multi-threads. The Thread Analyzer helps us manage the threads and prevent problems that can happen with threads working together at the same time. Sometimes there can be a collision, when two threads are trying to use the same data or the same memory. This is something very, very difficult to find."

Part Detective, Part Judge

For a toolset to be effective in the Java environment, it has to be capable of intricate detective work. The DevPartner tools provide information that would otherwise be nearly impossible to obtain, Shlasky says, because they do not stop the Java virtual machine, but operate inside it while it is running. "There is no way to monitor and find problems and bottlenecks or thread collisions in a Java system without tools like DevPartner," he adds.

DevPartner tools provide an objective verification of where an application defect is, an indispensable feature when analyzing multiple threads which are produced by several developers working in parallel. Developers can create threads which work well on their own, but collide with threads produced by other members of the development team.

"There is a psychological aspect," says Shlasky. "If there is a bug, everybody is trying to blame the other people. 'It's not mine, it's yours.' So here you have a sort of neutral arbitrator, a judge that finds the guilty person. Nobody can argue with a tool. I think that is very important in solving problems."

Shlasky was already familiar with Compuware products from his work at other companies before founding RegiSoft in 1999. From its first days, RegiSoft used the DriverStudio suite of products for developing and debugging device drivers for applications developed in C++.

His Compuware representative provided regular updates on improvements in tools. "He sent me products for Java when he heard we were working with Java," Shlasky recalls. "When I received the package I gave it to one of our guys to learn it, and I think it took him two days, maybe less. It became something that on a daily basis we are working with and solving problems. The implementation was very fast. It was very easy to use the product."