Linux-Kontor Accounting Package
If Linux wants to hold up in enterprises other than Internet Service Providers (ISPs), the availability of business management software is vital. Unfortunately, applications in this field have been few and far between. The Linux-Kontor project is an attempt to close this gap. Its aim is to create an open, modern and modular program environment with central components for the enterprise market and accounting. The concept and current stage of development are described below.
Linux-Kontor is a project for the development of a free business management software suite. Core components of this suite are Bookkeeping and Inventory Management modules with the three requirements of platform-independence, Internet capabilities and scalability.
Of course, Linux is already being used in many enterprises (see the books listed in Resources). The classical use, in which Linux has proven itself thousands of times, has been as a server environment. There, Linux is being used as file, print, communications and database servers, and ISPs rely on the penguin for a whole range of Internet services.
Exotic uses, such as Debian Linux on a laptop in a space shuttle or using Alpha workstations to create the special effects for the movie Titanic are impressive, but in my opinion do not necessarily help to show Linux as a basis for “normal” use. A better way to do that would be to provide an easy-to-use façade, which is the aim of projects such as KDE (http://www.kde.org/) or GNOME (http://www.gnome.org/), or simply through the availability of standard applications.
Linux-Kontor (LK) is destined to be one of the standard business management applications. A strong interest (and market) within the Linux community has been shown in numerous discussions at the booth of the Linux Verband LIVE (http://www.linux-verband.de/), the German counterpart to the American Linux International; during this year's CeBit; and at the MediaLIVE in Arnsberg, Germany (http://www.media-live.de/). MediaLIVE is a trade show concentrating on small and medium-sized enterprises in this country, where I talked about a related subject.
The strongest motivation for Linux-Kontor is the fact that comparable software has not been available up to now. There are, of course, applications for the home banking sector—the Personal Financial Assistants (PFAs). Several projects have been created for KDE and GNOME, including KPFA for the KDE desktop and GnoMoney for GNOME (at least GTK is being used). Watermark has tried to support both desktop systems by developing a graphical user interface (GUI) for both. KPFA has been taken over by Watermark.
Older PFA projects such as Xacc (X Accountant) and CBB (Linux Check Book Balancer), which were in use for some time, count on Motif/Lesstif, respectively, with Perl/Tk for the widget set. FreeMoney, one of the lesser-known business accounting projects, uses Perl/Tk too.
In addition, several developers have united and started the GnuCash project in which Xacc, GnoMoney and Watermark have been merged. GnuCash is reputed to be suitable as both PFA and as accounting software for operational applications, and will be available for as many desktop systems as possible (Motif, GTK and QT). Like all the other projects, GnuCash is LGPL licensed. It pursues a “Model-View-Controller” strategy similar to LK. See Resources for the web addresses of these projects.
Note that LK is not designed to be home banking software; it has no connection to Quicken-like products.
The LK project was started at the end of last year by Björn Bayard, CEO of IoS GmbH. Most IoS employees, including me, are involved in its development. In addition, we have found several volunteers via mailing lists who convert SQL scripts for Adabas-D into PostgreSQL.
Linux-Kontor is Open Source software. It is designed to be used in small and medium-sized enterprises—rather atypical places for free software. Nevertheless, the source is free under the LGPL license. We made it free for two reasons. First, we are convinced of the efficiency of free software and believe this method of development is well-suited for LK. Second, smaller companies in particular are not guaranteed to survive. In this sense, free software is a protective investment for clients, since they will at least have the software sources in case the software company goes out of business.
Furthermore, LK is modern in that it uses the most recent software tools. Java is used, as it is the only programming language offering many advantages; LK can be used on the Internet and is platform-independent. It can work anywhere Java works; a Java-enabled web browser is the only necessity. For those places not yet working with Linux, this might turn out to be an advantage (soft migration).
LK provides the ability to manage distributed objects provided by Java via remote method invocation (RMI) and is modular in the program's distribution and the scale of functions. It has a three-tier architecture: a database server, an application server and the clients. An already-existing RDBMS (relational database management system) can be used as a database server. Adabas-D and PostgreSQL are currently supported, with Adabas-D as the primary database platform. Thus, you are not restricted to a special database. You need only a JDBC (Java Database Connectivity) driver. Support for further databases (e.g., MySQL) is a project for volunteers.
As soon as Sun's JDK 1.2 is available, Linux-Kontor will be converted to CORBA, allowing the integration of older and non-Java-based systems.
The application server contacts the SQL database with the help of JDBC and answers requests from application programs—the so-called “views”, which build a connection to the application server via RMI. These views are generally “dumb” clients whose only job is to receive data from the server, present it, respond to user inputs, and resend the processed data to the server. In most cases, such a view is a single database record stored in a Java object.
For the time being, these views must still be programmed manually. It would be more desirable to have a “Linux-Kontor application builder” through which a dialog window and access methods for a special dataset could be easily defined. In order to structure the work flow in a company, a work-flow module together with a work-flow editor would be useful, as would a report generator.
On the plus side, views are available for the customer management module containing, among other things, address management (see Figure 1) and administration of orders modules. Invoicing and financial accounting modules are just being prepared.
LK regards a customer as either a company or a person, so that different data can be stored. Address administration allows the entering of different address types, e.g., bill-to address or ship-to address, which can be used accordingly later on. To each client, several contact persons (as many as you like) can be added. Correspondence, mainly non-written, can be stored for future purposes and forwarded via e-mail if necessary. An acquisition module is planned in order to win new customers.
Included in the customer module, but independent of it, is a program for order and invoice administration. Each order consists of several items. Developments are already available for different German industries, from printing works (e.g., the Offset Druck Team) to Internet service providers (e.g., Delta Internet). The “Gemeinschaftswerk für Behinderte” (a joint venture for the handicapped) is also interested as a public institution.
On the minus side, modules for field-repair administration, project management, payroll accounting (including working-time registration) and stock management remain unfinished.
LK is scalable; several application servers can be used as the number of clients increases. Of course, all three tiers can run on different machines. Another nice option might be to distribute a database to several machines. Linux-Kontor should be prepared to face bigger challenges.
The introduction of the Euro in 1999 and the Year 2000 problem both provide the necessary pressure to replace older systems with newer ones, rather than modify them. LK is a viable solution for small and medium-sized enterprises. As years always have four digits and currencies can always be converted, the year 2000 and the Euro's introduction will not present any problem for Linux-Kontor.
“Linux-Kontor” was chosen as the name of this package in order to express our support for this marvelous free software and to promote its distribution. As Java is used, the program is not exclusively restricted to Linux. In addition, “Linux-Kontor” is a registered trademark of the German Linux-Verband LIVE, which should prevent trademark law disputes.
|Non-Linux FOSS: libnotify, OS X Style||Jun 18, 2013|
|Containers—Not Virtual Machines—Are the Future Cloud||Jun 17, 2013|
|Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer||Jun 12, 2013|
|Weechat, Irssi's Little Brother||Jun 11, 2013|
|One Tail Just Isn't Enough||Jun 07, 2013|
|Introduction to MapReduce with Hadoop on Linux||Jun 05, 2013|
- Containers—Not Virtual Machines—Are the Future Cloud
- Non-Linux FOSS: libnotify, OS X Style
- Linux Systems Administrator
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- Validate an E-Mail Address with PHP, the Right Way
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Introduction to MapReduce with Hadoop on Linux
- RSS Feeds
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?