BBN Planet
Internet, Law, Consulting
Cambridge, MA    January 1997--April 1997


Perl, Netscape Publishing System, Oracle, JavaScript, Unix

Company Background

BBN is a technology applications and research firm specializing in networking solutions and custom integration. As BBN's commercial Internet services branch, BBN Planet is one of the nation's largest providers of managed Internet access and value-added services for businesses and organizations. Services include high-speed, dedicated and dial-up Internet access, World Wide Web site creation and hosting, and custom Internet application consulting and systems integration.

Projects

The Counsel Connect project is the Internet implementation of the Counsel Connect on-line service for lawyers. Counsel Connect provides news, moderated libraries, open forum discussion groups, and the ability for members to create their own private areas with separate content libraries and discussion groups. Previously available as a dial-up only service, BBN Planet's goal was to implement the same system on the global Internet, using the Netscape Publishing System as the foundation.

The first phase of the project involved extensive evaluation of the Netscape system to understand what would be possible out of the box and what would have to be customized. Due to the unique requirements of Counsel Connect regarding security, access control, user interface, and billing, a significant amount of custom development was deemed necessary.

Once in the development phase, responsibilities touched many aspects of the system, from billing to access control to CGI database access. There was a strong need to thoroughly understand the capabilities and limitations of all related aspects of the Netscape system, since it did not always work as documented and lacked several important features critical to the target system. A key architectural issue throughout was where to try and use the existing Netscape capabilities, with its limitations and idiosyncrasies, and where to custom code a better solution, with the risk of severing compatibility with other parts of the Netscape system or with future versions of it.

Specific parts of the system under direct management included the following:

 
Private user areas module. This included not only the Perl CGI scripts providing the user interface, but also the database access and overall design of how both public and private areas of the system would be implemented.
 
Perl library for accessing the Oracle database. This included designing the proper database-independent API for CGI scripts querying access control and user information, in addition to writing the underlying SQL itself.
 
The access control CGI API, which required designing a more flexible and powerful access control layer on top of that provided by the Netscape system.
 
Managing the billing requirements of the system, including reporting.