[LWN Logo]
[LWN.net]

Sections:
 Main page
 Security
 Kernel
 Distributions
 On the Desktop
 Development
 Commerce
 Linux in the news
 Announcements
 Linux History
 Letters
All in one big page

See also: last week's Development page.

Development projects


News and Editorials

Shane O'Donnell, project manager for the OpenNMS project, addressed the Boulder Linux User's Group (BLUG) on May 10, 2001, where he discussed the current state of OpenNMS and future directions for the project.

[OpenNMS] According to Mr. O'Donnell, maintenance of proprietary network management software is considered to be a thorn in the side by many of the larger hardware vendors who provide such code. Much effort has to go into keeping the code current and it tends to get passed to different programmers over time, which results in the production of a lot of spaghetti code.

Hardware vendors often support network management code only because it is a purchasing requirement put in place by larger organizations who buy networking hardware. Network management software is typically a loss-leader product that does not make money on its own.

Much proprietary network management code also runs only on expensive, proprietary hardware, making it out of reach for medium-sized shops.

This situation provides a fertile environment for open-source projects such as OpenNMS to grow in. The open-source world has many advantages for such a project including the ability to track quickly evolving technology, short times to market, high quality code, the ability to run on inexpensive hardware, and an all-inclusive hardware perspective.

Some of the problems facing older open-source network monitoring tools include a lack of professional support, scalability problems, performance problems, distribution problems, and open source project management problems. The people who are working on OpenNMS intend to address all of these issues. A problem facing open-source networking tools is that many big shops don't currently want to get into non-standard platforms such as a system running Linux, although that is changing as Linux matures and becomes more widely accepted.

OpenNMS is being touted as a next generation network management tool, building upon the success of older, more focused tools such as MRTG, RRDTool, Cricket, GxSNMP, Cheops, Mon, Net Saint, and Big Sister to name a few. Other open-source network tools tend to have a narrow focus and provide a sub-set of monitoring capabilities compared to commercial network monitoring systems. The OpenNMS project is positioning itself as a tool for enterprise-wide use with monitoring, notification, statistics, and report generation capabilities.

OpenNMS aims to bring a nice feature set to the table including:

  • A packaged system that is easy to install and upgrade
  • Extensibility through integration with other tools
  • A built in trouble-ticket system
  • Email and pager based notification for detected fault conditions
  • Full commercial support with the 1.0 release
The OpenNMS project is planning on avoiding the stable/unstable release mechanism which other projects, notably the Linux kernel, have used. In lieu of this, the group plans on just releasing stable versions of the software.

Current features of OpenNMS include:

  • Adaptive configuration
  • Service based polling
  • Configurable device grouping or views
  • Automatic SNMP ID and optimized date collection
  • Performance data reporting and graphing based on RRDtool
  • Web based and command line interfaces
  • PDF report generation for high quality summary output
Some of the underlying technologies employed in OpenNMS include:
  • Java2 based code with native thread support
  • XML based configuration files for manual and GUI configuration
  • A PostgreSQL/JDBC database
  • SNMP for discovery and event receipt
  • Apache Jakarta's Tomcat JSP servelet engine
  • An ICMPD process to solve some of the thread limitations of Java
A running OpenNMS system involves a two-tiered processing model which consists of one or more distributed pollers who collect and condense network information and a master station which pulls the information together and generates displays and reports. These two functions may reside on the same machine or on different machines across networks. The future plans involve expanding this model to include support for more master stations and the associated lines of communication.

One of the more important concepts used by OpenNMS is that of Synthetic Transactions which, for example, replace the simple pinging of a machine to test its connectivity with more functional tests such as successfully loading a web page or a conversation with a mail agent. Synthetic transactions will solve the blue screen of death syndrome where a machine may respond to ICMP (ping) packets, yet is not functioning at a higher level. Release 1 of OpenNMS is scheduled to include synthetic translation software that supports the following protocols: FTP, HTTP, SMTP, DNS, ICMP, TCP, SNMP, and Routing via SNMP. Three layers of synthetic translations are planned, the currently working Discovery layer and the future predefined poller and custom poller and XML layers.

Configuration of OpenNMS looks to be fairly easy with the nearly complete Java based GUI software. The majority of system functionality can be controlled with the GUI, but importantly, experts can also get to the real guts of the configuration information by hand-editing XML based files.

The 1.0 release is currently scheduled for release in September of 2001, the recent 0.7.3 release is functional, but not all of the features are fully implemented. The latest OpenNMS Update includes an announcement for a brand new release, version 0.7.5, which features graphical PDF report generation, better filtering capabilities, bug fixes, a new event calendar, and new availability calculations.

Hopefully, the project leaders will take the time to observe the installation and configuration process as performed by novice users and perform any necessary modifications to the code and documentation to ease the process. This step is often neglected in open-source development projects, careful attention to this detail will help to build a wide user base.

Audio

Alsa driver 0.5.11 released. Version 0.5.11 of the Alsa Sound System has been released. This version features IA64 support, and updated drivers for a number of sound cards.

Databases

From DTDs to Databases (O'Reilly's xml.com). O'Reilly's xml.com site features an article by Ronald Bourret on mapping DTDs to databases. "A common question in the XML community is how to map XML to databases. This article discusses two mappings: a table-based mapping and an object-relational (object-based) mapping. Both mappings model the data in XML documents rather than the documents themselves. This makes the mappings a good choice for data-centric documents and a poor choice for document-centric documents. The table-based mapping can't handle mixed content at all, and the object-relational mapping of mixed content is extremely inefficient."

Documentation

Linux Documentation Project Weekly Updates. This week's updates to the Linux Documentation Project include an update to the Linux Hardware Compatibility HOWTO, as well as a brief discussion on the use of a document tracking database at the LDP based on PostgreSQL.

Education

SEUL report for May 14, 2001. The May 14, 2001 edition of the SEUL/Edu report is out. Topics include new projects for putting Linux into schools in Britain and Thailand, discussions on Squeak, a Smalltalk derived language from some folks at Disney, and a list of new educational applications for Linux.

Electronics

Mentor Graphics commits to Linux for PLD front ends (semiconbay). Semiconbay covers the Mentor Graphics move to support PLD design front end tools for Linux. "Mentor's HDL Design Division will provide the initial set of design tools to support Linux. In addition to MicroSim, Mentor will offer on Linux LeonardoSpectrum for high-performance synthesis, HDL Pilot for design management, HDL Detective for analysis and documentation, HDL Author for text and graphical creation, and FPGA Advantage for a complete programmable logic environment." While this is not an open-source project, it is encouraging to see companies working on development tools that run under Linux. (Thanks to Conrad Sanderson)

Embedded Systems

Embedded Linux Newsletter for May 10, 2001. This week's Embedded Linux Newsletter has been published. Topics include Memora's Servio Personal Server, Hard Hat's China venture, a ready to use Java stack for embedded Linux devices, and the free vs patented software debate.

Interoperability

Wine 20010510 available. The flow of information from the Wine Weekly News has stopped due to the need for a new WWN editor, however, development continues on the Wine project. Wine Version 20010510 has been released and is available for download. The release announcement states that this version contains improvements to printer support, graphic driver restructuring, and bug fixes.

Printing Systems

Version 0.2.0 of the Omni Print driver released. A new version of the Omni printer driver has been released. Omni developer Mark Hamzy was kind enough to answer some of our questions about Omni.

Standards

IEEE releases 802 standards. The IEEE has started the "Get IEEE 802" program to make the IEEE Local and Metropolitan Area Network (802) networking standards available for download to the public for free. (Thanks to Theo de Raadt)

Web-site Development

Zope Weekly News for May 12th. The Zope Weekly News for May 12, 2001 is available. The coming of Zope 2.4, Core Session Tracking, ZShell for the CLI lover and other topics are covered this week.

Bug-fix version of PHP Review. A bug-fix release of the PHP Review book reviewing software has been announced. Work has also started on a PHP Review manual.

Window Systems

This week's GNOME Summary. The GNOME Summary for May 12, 2001 is out. Topics covered include the Nautilus 1.0.3 release, the addition of SOAP to GNOME, Galeon 0.10.6, and a small note to the effect that Eazel will shortly be closing its doors.

Section Editor: Forrest Cook


May 17, 2001


Application Links
GIMP
Mozilla
Galeon
High Availability
ht://Dig
mnoGoSearch
MagicPoint
Wine
Worldforge
Zope

Open Source Code Collections
Berlios
Freshmeat
OpenSourceDirectory
Savannah
Le Serveur Libre
SourceForge
Sweetcode

   

 

Programming Languages


Ada

New version of GNU Ada. A new version of GNU Ada has been released, along with a a new project package RPM called GNADE (GNu Ada Database Environment). (Thanks to Juergen Pfeifer.)

Caml

Caml Weekly News for May 8-15, 2001. The May 15, 2001 edition of the Caml Weekly News is available. This week's edition discusses Caml on MacOS X and a new Caml book.

Java

The historical collection classes -- Arrays (IBM developerWorks). In an IBM developerWorks article that features an excerpt from the book Java Collections, John Zukowski writes about Java Arrays "Arrays are the only collection support defined within the Java programming language. They are objects that store a set of elements in an order accessible by index, or position. They are a subclass of Object and implement both the Serializable and Cloneable interfaces. However, there is no .java source file for you to see how the internals work. Basically, you create an array with a specific size and type of element, then fill it up."

Lisp

Lisa first Beta released. A preliminary version of the first Beta release of LISA, the Lisp-based Intelligent Software Agents, version 0.9, has been announced. "The main new feature of this version is support for running multiple inference engines, or for making multiple threads interact with a single inference engine, on multithreaded Lisp implementations."

ILISP version 5.11 released. Version 5.11 of ILISP has been announced. "ILISP is an Emacs major mode for interacting with Lisp listeners running as inferior processes. It provides commands for editing forms, compiling and executing Lisp code, getting documentation, etc."

Perl

Exegesis 2 (use Perl). Damian Conway is writing a series of Exegesis articles on Perl 6 to parallel Larry Wall's Apocalypse series. The first Exegesis article, number 2, starts off with a quick example of some Perl 6 code.

Perl articles on Dr. Dobbs' (use Perl). Dr. Dobbs' has a few new Perl tutorial articles by Brian d Foy. Included are articles on Creating Perl Code Graphs, profiling in Perl, and more.

PHP

PHP Weekly Summary for May 14, 2001. The May 14, 2001 edition of the PHP Weekly Summary is out. Topics this week include PHP on OS390 Unix, an upcoming expat upgrade, logging Apache peak memory use, and more.

Python

python-dev summary April 26 through May 10, 2001. The summary of traffic on the python-dev mailing list has been posted for the period of April 26 through May 10, 2001. Topics include the Smalltalk metaclass system, decoding string objects, and the move of MacPython to Sourceforge.

Dr. Dobb's Python-URL! (May 14). Dr. Dobb's has posted their Python-URL! summary for this week. Topics include an interview with Mark Lutz, the first game based on Pygame, and the inevitable discussion on what happens to Python if Guido meets an unfriendly bus.

Python 2.0 Quick Reference. A new version of the Python 2.0 Quick Reference has been made available.

Python Imaging Library 1.1.2 announced. Version 1.1.2 of the Python Imaging Library has been announced. "Version 1.1.2 is a maintenance release, which fixes a couple of problems caused by incompatible changes in Python 2.1. It also fixes some other bugs."

Tcl/Tk

Dr. Dobb's Tcl-URL! - weekly Tcl news and links. The May 14, 2001 weekly summary of the Tcl world has been posted from Dr. Dobbs. Topics include a discussion on interfacing Tcl/Tk to custom electronic hardware and support for 3D graphics.

Miscellaneous

Otters with rocks (ZDNet). Old timers know the struggle well - to learn a new programming language and decide if it really makes life more productive. In this ZDNet opinion piece, the author looks at a plethora of languages and tries to decide if any makes his life any better. "Moore's Law and clever developers have bestowed upon us high-level languages that allow us to concentrate on the problems we need to solve, rather than spending the effort to sure we've initialized all the necessary subsystems of the OS appropriately before we even begin. With the abundance of compute power, the overhead involved in interpreted languages has shrunk down to negligibility for many tasks, and the amount of time gained by being able to use these languages instead of lower-level ones is huge."

Section Editor: Forrest Cook

 
Language Links
Caml
Caml Hump
Tiny COBOL
Erlang
g95 Fortran
Gnu Compiler Collection (GCC)
Gnu Compiler for the Java Language (GCJ)
Guile
Haskell
IBM Java Zone
Jython
Free the X3J Thirteen (Lisp)
Use Perl
O'Reilly's perl.com
Dr. Dobbs' Perl
PHP
PHP Weekly Summary
Daily Python-URL
Python.org
Python.faqts
Python Eggs
Ruby
Ruby Garden
MIT Scheme
Schemers
Squeak
Smalltalk
Why Smalltalk
Tcl Developer Xchange
Tcl-tk.net
O'Reilly's XML.com
Regular Expressions
 

Next: Commerce

 
Eklektix, Inc. Linux powered! Copyright © 2001 Eklektix, Inc., all rights reserved
Linux ® is a registered trademark of Linus Torvalds