|
Internet, Copyright & Trademark Quincy, MA Perl, Netscape Publishing System, Oracle, Java, Unix Thomson & Thomson is a world leader in trademark and copyright research. With sister companies in Canada, Belgium, and Japan, Thomson & Thomson provides one of the most current, accurate, and comprehensive collections of trademark information available. Services include traditional domestic and international copyright and trademark filing, searching and reporting, on-line World Wide Web products for self-conducted screening, and watchdog monitoring of newly published marks to warn of potential infringement. The SAEGIS product is Thomson & Thomson's on-line trademark and copyright search engine, allowing customers to perform their own customized queries and reports. Based on the Netscape Publishing System (now known as the PublishingXpert), the system allows corporate users to login, accrue individual charges based on a variety of SAEGIS products, and bill to the client's parent company. Project responsibilities revolved around the billing aspects of the system. While the Netscape software provided a solid framework from which to build a billing system, much custom work was necessary to support the flexible pricing structure needed. Furthermore, SAEGIS required special processing such as corporate discounts, taxes, and importing to MACSS, Thomson & Thomson's legacy system, which were not supported by the Netscape system. The original procedure for closing and exporting corporate billing statements had several problems. First, the overall process of collecting due statements, preparing them for closing, and then actually processing them was very manual, requiring close scrutiny whenever run. Also, its work around for a serious Netscape bug in closing statements was tricky and error prone. The other major problem was the actual program for processing statements. It required shutting down the entire Web server in order to run properly; was cumbersome and very hard to modify for new features; and had very complex and risky rollback handling in case of errors. The first task was to completely redesign and rewrite the statement processing program to overcome these difficulties. The new program used a very different approach to closing statements and interacting with the necessary Netscape software, neatly circumventing the need to shut down the Web server and narrowing non-committal of database changes in case of an error to a single database rollback statement. Given the benefit of a redesign, the new program was also overall much more modular, and thus easier to maintain, debug, and upgrade. The next task was to examine the manual approach of collecting due statements and setting them up for processing. The modified procedure was completely automated, and much more cleanly and safely avoided the Netscape bug. It was also more modular and flexible, allowing individual components to be easily tested, modified, and rearranged. Finally, rewriting the program in Java was evaluated since much of the SAEGIS system was starting to be rewritten in Java. While initially implemented directly on top of the Netscape schema, future plans for SAEGIS involved an object-oriented, CORBA-based layer through which all components---rewritten in Java---would communicate. |