Why Sportwire?

Every news media website has the same problem: Incoming news ticker data must be parsed, spooled and delivered to their website. Every online sports news service has their own style, and their own focus; these abstract differences which do not change the underlying problem of just spooling the news.

Because we differentiate our websites by what we say, there is no advantage to 'owning' the spooling system. Because software development is expensive and tedious, it makes no sense for everyone to invent their own. The popularity of our old GPL Sportswire for the now-obsolete ESPN binary format convinced us to do it again, only this time, we're going public from the start. Like Sportwire I, it may not suit everyone, some may only need parts of it, others may need to overhaul or extend it, but its here, available for use, and we welcome participation.

Overview

Sportwire models live sports events and provides webserver tools to report games on a sports news website. Sportwire does not rebroadcast the ESPN news feed; the feed is XML, but the original XML is not stored. The feed only updates game models in the relational database.

The architecture of the sportwire is in two tiers:

  1. Feeder: DOM-based parsers for the incoming DTDs are attached to the continuous feed from Sportsticker or AFP; the stream is partitioned into XML documents and the elements of these docs are mapped to relational tables.
  2. SportPage: A topic-oriented webpage servlet to cache views into the game models and to present these views through a template-driven web server.
Sportwire also includes a compatibility kit to adapt the older ESPN binary feed to the newer XML format, and tools to move files and dedicated line feeds to multi-client TCP sockets.

Sportwire is written in Java 1.3, and targetted to Oracle 9i and PostgreSQL 7 RDBMS and Apache/Tomcat webservers. SportPage requires the Velocity template system, Apache JORO, LOG4J, JDOM, Xerces, Xalan and JUnit.

Resources

Project Page:: Sportwire SourceForge tracks the project status. This includes task lists, documentation

Design Docs:

Can I Join?

Yes, if you have the right skills. The complete product will only be useful to high-traffic public news websites, but a project like this has lots of smaller problems. Our plan includes Object-Relational mapping, XML transforms and transport, ASCII/XML translation, robust TCP/IP socket coding, Java Beans, remote method calls, translating C/C++ to Java ... you don't have to be working for a sports news website to participate.

Our only restriction, apart from quality control, is that all copyrights for work on Sportwire code be assigned to the Canadian Broadcasting Corporation. The CBC is not in the business of selling software, but the corporation must be assured future revisions are not constrained by copyright; if you move on, the CBC can freely re-assign your code to another developer. In the meantime, you have the prestige of working on a very high-profile open source project for one of the world's leading public broadcasters; you may not get rich, but it can't hurt the resume.


Sportswire Project Contacts:

For more project information, design documentation, to download the current CVS sources and to participate in the Sportwire project, please visit the Sportwire Sourceforge Project Page

project lead: Gary Lawrence Murphy <garym@teledyn.com>
Sportwire is © 2002 Canadian Broadcasting Corporation (cbc.ca)

Project created: Thu Oct 25 15:38:35 EDT 2001
Last updated: Fri Nov 16 19:48:49 2001