Thomson & Thomson
Internet, Copyright & Trademark
Quincy, MA    April 1998--April 1999


Java, Perl, Netscape Publishing Xpert, Oracle, Unix

Company Background

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.

This contract, as the previous Thomson & Thomson contract, was in the SAEGIS group. The SAEGIS product is Thomson & Thomson's on-line trademark and copyright search engine, allowing customers to perform their own customized queries and reports. SAEGIS allows corporate users to login, accrue individual charges based on a variety of SAEGIS products, and bill to the client's parent company. For this contract, the SAEGIS architecture was migrated to the Netscape PublishingXpert commerce application, which provides the framework for user, subscription, and product management, billing, and access control.

Pricing Server

As the success of the SAEGIS product grew, it became necessary to support increasingly sophisticated pricing models to meet the varied needs of its clients. In particular, the original pricing model was product-centric: pricing varied according to the product, not the customer. However, demanding clients needed a more user-centric pricing model that more accurately reflected their own usage patterns and needs.

The End User Pricing Server was designed to support the more complex pricing infrastructure needed. In this model, pricing is determined per user, product, and price model. Usage prices are calculated in real time, and administrators can dynamically configure flexible pricing structures for any customer. The architecture comprised the following components:

 
The pricing server itself, responsible for calculating prices, synchronizing among clients, and interfacing to the Netscape PublishingXpert system
 
An object server, maintaining the actual Java objects in use by the pricing server and its clients
 
A graphical user interface client for maintenaning the pricing models, hierarchies, and corresponding customer mapping

The pricing server project was prototyped, and partially implemented, in Java, using Java's RMI (Remote Method Invocation) protocol to communicate among the various modules, and the Java Swing components for the administration GUI. Responsibilities during the design, prototype, and partial development included the following:

 
Most of the overall system design, including the object hierarchy
 
Algorithms for accurately mapping pricing data to customers without ambiguity
 
GUI prototype of administration screens, written in Java and Swing
 
Partial conversion of GUI prototype to full-featured client

However, due to higher priority needs in the underlying billing modules used by SAEGIS, time was shifted from the pricing server and into the back-end billing and batch processing developed in the previous Thomson & Thomson contract.

Billing Enhancements

A higher priority for Thomson & Thomson became the transition from the Netscape Publishing System (version 1.5) to the Netscape PublishingXpert platform (version 2.2). Furthermore, increased system complexity, greater performance needs, and long standing bugs in the old Netscape software, had begun to create many problems in the batch billing process that needed to be addressed. Therefore, development of the pricing server was put on hold so that the following tasks could be accomplished:

 
Fixing large and complicated database data problems which had been accumulating unnoticed for several months
 
Developing audit tools to properly monitor the database
 
Performance analyses and enhancements
 
Migrating the batch billing code to the latest version of the Netscape products