Back to the press section...

Oracle Magazine Tuesday, March 30, 1999

This is a complete (and unauthorized) transcription of an article that appeared in Oracle Magazine in October of 1998.

Their website features a limited archive which does not include this article.

30 Oct 1998

"It made sense to use Oracle. It's by far the most robust solution that I've seen - Once you're over the learning curve, there's nothing you can't do with it." says Jeff Grant, IT Manager, Nettwerk Productions

Looking for a new release of a Sarah McLachlan song? Tired of Web sites that list outdated information about your favorite music? Want to sort new albums from Nettwerk Productions by month? Or pick up the latest scoop about your favorite music star without leaving your living room?

For a taste of modern creativity, check out www.nettweb.com. Nettwerk Productions does just about everything for the music industry--tour management, radio promotions, you name it. Based in Vancouver, British Columbia, Canada, Nettwerk Productions is a one-stop shop for the music industry and uses the Oracle Application Server to target a wide variety of users--from the corporate end-user to the funky music fan.

Nettwerk Productions (parent site at www.nettwerk.com), with about 90 employees in total working from Los Angeles, California; New York, New York; and Vancouver, Canada, is the parent company for a number of small companies, including a record company, book-publishing, and more. The company was one of the first to produce enhanced CD-ROMS for the music industry and one of the first to associate email addresses with a record company.

Nettwerk maintains Web sites such as Sarah McLachlan, the Devlins.com, and others, and also maintains its information-rich general Web site at www.nettweb.com, covering everything related to all signed and managed artists, from press releases and tour dates to discographies and fan club information. Nettwerk also hosts and/or develops sites for other companies, including EMI Music Canada, BMG, Wachovia Bank (the 11th largest bank in the United States), and Virgin Music Canada.

In a short time, Nettwerk has become one of the Internet technology leaders of the music industry. The Nettwerk Web site is a 99% dynamic Web site that is maintained by "untrained" people via HTML forms from any standard Internet connection. What is it that has given Nettwerk the extra edge in the industry? Actually, it's technology from outside the music industry: the Oracle Application Server, used with the Oracle database. Says Jeff Grant, information technology (IT) manager, "With Oracle Application Server, we have an open-ended tool that allows us to do virtually anything we want and gives us incredible performance on multiple platforms."

Business Benefits

The Oracle Application Server, along with the Oracle database and other Oracle products, enables Nettwerk to successfully run several dynamic Web sites accessing a common database system that handles immense loads.

This is quite a leap from what Nettwerk was doing just over a year ago. In 1997, for example, five full-time people were spending all of their time maintaining the first version of the Nettwerk site. No drum rolls, please: The site was composed of entirely static pages, and when new information arrived, eight different locations had to be updated manually, new links created, and so on. When orders rolled in, employees sharpened their pencils and wrote up the orders on slips of paper. They had no time for development and design. Says Grant, "It was a nightmare! There had to be a better way to do things." Grant evaluated the Oracle database and Oracle Application Server and, says Grant, "knew that was the answer for us."

Nettwerk started using dynamic content on some of its sites just over a year ago. "It made sense to use Oracle," explains Grant. "It's by far the most robust solution that I've seen - Once you're over the learning curve, there's nothing you can't do with it." To warm up for its main site, Nettwerk produced certain pages of other sites--such as Sarah McLachlan's own site (http://www.sarahmclachlan.com), the BMG Visa site (http://www.bmgvisa.com), the Devlins site (http://www.thedevlins.com), and so on--dynamically. After such minor experimentation using PL/SQL for segments of other Web sites, Nettwerk embarked on its main project: replacing its static site with a 99% dynamic Web site (http://www.nettweb.com). Development began in early 1998, and the site went live in mid-1998.

Nettwerk chose to go with the Oracle solution at the recommendation of an experienced Oracle DBA working for the Ministry of the Environment in Canada. Says Grant, "I must say that I haven't been let down by Oracle yet, and am extremely satisfied with our decision - The Perl CGI scripting that we were previously using seems quite pale in comparison."

A particularly cool feature of the Nettwerk site is the ability to offer time-controlled information. Each piece of site-linked information has an "on/off" switch, as well as "go-live" and "go-dead" dates. Thus, Nettwerk is able to control the exact dates when information, covering topics such as news, tour dates, merchandise specials, new releases, and more, will be generated "live" to a user browsing the site.

The Oracle Application Server-based solution has brought several business benefits to Nettwerk:

Substantial Growth. With just one person needed to maintain content, four more can devote most of their time to development and design. The person maintaining the site can do this from any HTML forms-capable browser that supports a secure socket layer (SSL) connection. The support currently required is minimal. With standard Solaris and DBA backup/recovery routines in place, Grant is able to spend much of his time "tinkering" with new technology that Nettwerk evaluates for possible use. "Basically, we're a 2-person Oracle team that's supported by our in-house art department as required. All for less than $150,000 a year: equipment, manpower, connection fees, and so on," says Grant.
Scalability and Accurate Analysis. The Nettwerk systems handle loads of between 400,000 to 1.3 million hits per day. Using a custom PL/SQL package within the Oracle database that analyzes the Oracle Application Server logs and then generates HTML reports, Nettwerk is able to provide meaningful statistical information about the user audience -- including numbers of hits, numbers of bytes downloaded, and more. This gives Nettwerk the added power of consulting: as example, Nettwerk daily sends to bank administrators email reports on error logs, numbers of hits to various Visa Web sites, or numbers of applications that have been downloaded from the database.

Seamlessness. The system runs seamlessly on any Oracle-supported platform. For example, Grant describes a memorable occasion that drove home the flexibility provided by Oracle. At the 1997 Lilith Fair tour, he says, he set up a Toshiba laptop running the Oracle database and Oracle Application Server in the middle of a grass field. After supplying the laptop with power from a generator and attaching it to 12 Macintoshes, Grant was able to display exact copies of the dynamic Nettwerk Web site on the Macintoshes--with no Internet connections in sight. As a result, Nettwerk was able to collect pseudo-online merchandise orders on-site and then store them in the laptop's database. The database was then updated nightly, and the merchandise orders were downloaded to the main office, all via a phone line. In this way, Nettwerk did not lose any time processing the live purchases, maintaining customer satisfaction. Says Grant, "I'm sure other people are using the same technology, and I guarantee you more and more people are going to be doing it this way."

Lightweight. The multipurpose Nettwerk database data and source code (about 200 packages) take about 1.2 gigabytes of space in the database server, and the site's graphic requirements take up about 3 gigabytes, which are stored on the Oracle Web Server. The database is tuned to have minimal overhead so that even under very heavy loads, end-user performance is fast. Because information will change about once every couple of thousand hits, Nettwerk has tuned the database to cache almost all of the query results, speeding up processes.

Easy Maintenance. Simply by using a telnet session from anywhere, anyone maintaining the site can update the site worldwide -- from a Palm Pilot, laptop, or other mobile machine. With Web-based administration tools, Nettwerk can load large amounts of new information without missing a beat. For example, suppose the company is faced with a list of 85 Lilith Fair tour dates, with accompanying notes - Nettwerk can immediately recruit several people with appropriate access to the Internet site from anywhere in the world to help input data and quickly make the information live worldwide. Says Grant, "No more worries about broken HTML, FTP'ing files, file versions, etc. I really cannot imagine doing this any other way."

Simple Technical Administration. Administration of the site is now simple. For example, all of the links that are generated for the site are produced by a single function call, so that developers can completely control the URLs generated. Whether it's something as simple as choosing whether to serve all of the graphics from a different or even new server, for example, when switching from a development environment to a production environment; or something more complex such as load balancing across multiple Web and database servers, you merely change a couple of parameters or modify the single function itself. This eliminates the worries of having to maintain the functionality in each procedure that's written.


Technical Details:

At Nettwerk, just two people developed the Oracle part of the system. Over a two-month period, Adam Drake, the Senior Web Developer at Nettwerk, worked with others in the company to create a static representation of the Nettwerk Web site. Based on this template, Grant created the data model and developed the information repository. Next came the administrative tools. These were PL/SQL routines that would create and process HTML forms, allowing developers to insert, edit, or delete the information within the database. Finally, once Nettwerk successfully administered the raw meta-data of the site, the two developers wrote the PL/SQL packages that made up the graphical user interface (GUI).

The Technology.

Nettwerk uses the following Oracle products:

Oracle Application Server 4.0.6.4 on Solaris and NT machines
Oracle Application Server 3
Oracle 8.0.5 Database
Oracle Developer/2000 and Oracle JDeveloper
Oracle Payment Server


The system also includes:

A Sun UltraEnterprise 1 running Solaris 2.6 operating system, with Oracle 8.0.5 as the primary database server. . An old Sun SparcStation 20 (2 CPU's) running Sun Solaris 2.6, with Oracle Application Server 4.0.6.4 as the primary Web server. . A single-processor Pentium machine running Windows NT Server, Oracle Application Server 3, and the Oracle Payment Server as an online credit-card authentication machine.
A single-processor Pentium machine running Windows NT Server and Oracle Application Server 4.0.6.4 for NT as a separate "virtual hosting" Web server, all on a 10-base T network.
For development purposes, two Toshiba Tecra 500CDT laptops running NT Server 4.0, with complete versions of the Oracle database 8.0.4 and Oracle Application Server 4.0.6.4 as development/emergency backup machines.
The Oracle Application Server's default SpyGlass Listener, with secure socket layer (SSL) capabilities.


Nettwerk uses two standalone Microsoft Windows NT machines for development and multiple Sun Solaris machines for production. The Nettwerk application is written without tools (99%) in PL/SQL. Simply by using a telnet session and an editor (such as Ultraedit 32 Professional Text from Van Dyke, a $10 shareware program), developers at Nettwerk are able to write the scripts they need to perform production to development functions--such as creating table spaces and migrating databases.

Development and Maintenance.

In general, the two developers maintaining the site divide up the maintenance tasks. One developer (Grant) does data modeling, dynamic SQL, overall concept, and DBA/system administration maintenance, while the other developer (Drake) primarily codes the PL/SQL. Both developers have fully operational versions of the Web sites on their laptops, so they can develop anywhere, anytime. In fact, every machine has two instances of the database running: the Production and the Development. The "get_url" function parameters allow developers to use the exact same code on different machines; for example, simply by changing the parameter for "machine name" and "version," Grant is able to have URLs that link to the appropriate versions on the target machines.

In order to transfer the information from development machines to the production machines, Grant has written some scripts that export source code from the individual schemas. The scripts automatically build the PL/SQL sources and the scripts needed to create/replace them in any of the other machines. When these text files are transferred to the target machine and the "build" script is executed, everything is automatically created. Using the SQL script, the developers are able to export all of the source code into a directory; after that, they copy that directory onto another machine and run the script, which incorporates all of the source code into the database on that machine. Once the source code has moved to the target location, you can edit the individual package bodies or package specifications, and either recompile everything together, or recompile individual packages or bodies that you had to modify.

"When I design a data model," says Grant, "I do it by writing a creation script that will drop all the to-be-created objects, and then proceed to create them. Everything we do, we do from the command line. If I have to, I can log into the system with my Palm Pilot and do what has to be done."

Contingency Plans.

Even with just a two-person development team, Nettwerk has complex systems in place to prevent the site from going down unexpectedly. Says Grant, "I learned this the hard way. I was on a tour bus with nothing but a telnet session on a Mac when I was informed that one of our sites had "broken" and had to be fixed. Up until that point, I had used Procedure Builder to do all of our development - it wasn't installed on that Mac, and I was lost. Now, although we still use Procedure Builder, we make sure that everything is easily done via the command line." Today, the developers have a large collection of text files that contain every aspect of the database needed to "rebuild" the Nettwerk Web sites (minus the data), executable on any Oracle database platform. These files, combined with Oracle8 replication features, enable Nettwerk to offer a reliable system.

The Future

Nettwerk definitely plans to use more Oracle products in the future. Currently in the works for the Nettwerk site are an Oracle-driven chat room, message boards, Web-based e-mail list management, and personalized Web spaces for fan club members. Nettwerk also is starting to use Oracle Jdeveloper to develop Java administration tools for its Web site, as well as other stand-alone applications. As Nettwerk finishes up development, the company is testing the feasibility of using Java - However, because the in-house systems are primarily older Macintosh systems, Nettwerk currently uses 100% HTML for production. Some fire walls (such as a bank's) do not even allow Java behind the fire wall, meaning that for the time being, HTML forms are the only recourse.

But for now, Nettwerk is happy with its growth. Through use of Oracle, says Grant, "We have a cool-looking Web site, with a ton of easily accessible information maintained by a guy who knows next to nothing about computers." For a small company like Nettwerk, that's something worth celebrating - with or without the music.

The Nettwerk dynamic Web site is at www.nettweb.com.


© 2009,