GNU Enterprise FAQ - Frequently Asked Questions

The GNUe General FAQ Index (GNUe Home)

1.1 - What is GNUe?
1.2 - What makes GNUe different?
1.3 - How do I get help with or better understand GNUe?
1.4 - How do I report suggestions, errors or omission in this FAQ?
1.5 - Who contributed to this FAQ?
1.6 - When was this FAQ last revised and where can I find it?
1.7 - What is Enterprise Software?
1.8 - Why is GNUe being developed?
1.9 - How does GNUe compare to Quickbooks, PeachTree or other shrink-wrapped accounting software?
1.10 - What is Free Software?
1.11 - Why is GNUe GPL and what does that mean?
1.12 - How do I help the GNUe effort?
1.13 - What standard technologies or standards are used in GNUe?
1.14 - What is the history of GNUe?
1.15 - What are the technical features of GNUe?
1.16 - What is the current status of GNUe?
1.17 - What organizations are using GNUe?

The GNUe Technology FAQ Index (GNUe Home)

2.1 - What is the GNUe architecture (short version)?
2.2 - What is GNUe-Forms and GNUe-Designer?
2.3 - What is GNUe-Common?
2.4 - What is GNUe Application Server?
2.5 - What is GNUe Reports (GNUeR)?
2.6 - What is GNUe Enterprise Wide Office Kommunication (EWOK)?
2.7 - What database does GNUe require?
2.8 - What is Data Transformation Tool?
2.9 - What is Workflow Engine?
2.10 - What is Transaction Processing Engine?
2.11 - What GUIs work with GNUe?
2.12 - Why Python? Why not Java or Perl?
2.13 - What about Windows or Macintosh?
2.14 - What about network traffic, bandwith and thin client?
2.15 - How do I create a simple form and where is it stored and run from?
2.16 - How will external systems interface to GNUe?
2.17 - What is a Business Object?
2.18 - What are Business Rules?
2.19 - Why not Glade instead of GNUe Forms?
2.20 - Why not Mozilla's XUL instead of GNUe Forms?
2.21 - What is GNUe Navigator?

The GNUe Installation FAQ Index (GNUe Home)

3.1 - What hardware is required to run GNUe?
3.2 - What software is required to run GNUe?
3.3 - Where do I get GNUe?
3.4 - How do I build GNUe?
3.5 - How do I make GNUe work in my environment?
3.6 - How do I request changes or modifications to GNUe?
3.7 - How do I get and install updates to GNUe?
3.8 - If I get into trouble, can I purchase timely support for GNUe?

The GNUe Business Process FAQ Index (GNUe Home)

4.1 - What business processes could benefit from the current version of GNUe?
4.2 - What are the financial benefits of using GNUe?
4.3 - How do I determine if GNUe will fit my needs?
4.4 - What is a GNUe Package?
4.5 - What is the GNUe Financials Package?
4.6 - What is the GNUe Budget Management Package?
4.7 - What is the GNUe Customer Relations Package?
4.8 - What is the GNUe E-Commerce Package?
4.9 - What is the GNUe Human Resources Package?
4.10 - What is the GNUe Project Management Package?
4.11 - What is the GNUe Research & Development Package?
4.12 - What is the GNUe Supply Chain Package?
4.13 - What is the GNUe Manufacturing Package?
4.14 - What is the GNUe Sales Package?
4.15 - What is the GNUe Business Intelligence Package?


The GNUe General FAQ
(Top)
(GNUe Home)

1.1 - What is GNUe?

GNUe stands for GNU Enterprise. GNUe is both free software and a modular architecture that provides automated support for most business processes. This type of software is sometimes referred to as Enterprise Software. Many proprietary commercial Enterprise Software applications exist (i.e. from manufacturers like SAP, Manugistics, PeopleSoft, etc.) that provide similar functionality.

GNUe installation will typically provide integrated business software for human resources, payroll, inventory, purchasing, accounting, finance, planning, sales order entry, customer support, forecasting, and other business processes.

1.2 - What makes GNUe different?

GNUe is free software and built around open standards for the most popular computer systems in the world. It is also designed from the ground up as a modular international system utilizing the latest in object technology. Object technology means that parts of the overall system may be improved and capabilities added without monolithic or system wide changes. International design includes capability for multiple currencies, languages and international support.

1.3 - How do I get help with or better understand GNUe?

First, read the documentation. It can be found at the GNUe Docs Page.

There are also numerious text files in the distributions and in CVS.

Most decisions and discussions regarding GNUe occur on the GNUe IRC chat channel. An excellent summary of recent discussions can be found at the Kernel Cousin GNUe Archives.

Once you are familiar with the documentation and recent IRC discussions you may want to review the mail list archives.

After you are up-to-date the GNUe supporters would be happy to answer your question via email lists or on IRC Chat.

1.4 - How do I report suggestions, errors or omission in this FAQ?

All suggestions, errors, omission or other comments regarding the GNUe FAQ should be emailed to neilt@gnue.org.

1.5 - Who contributed to this FAQ?

This FAQ was originally written in November 2000 and is maintained by Neil Tiffin. Contributors to this FAQ include, in no particular order, Derek Neighbors, James Thompson, Andrew Murie, Alan Clifford, Reinhard Muller, Andrew Hill, Peter Sullivan and Jason Cater.

1.6 - When was this FAQ last revised and where can I find it..

This FAQ is $ Revision: 1.29 $ $Date: 2003/01/06 22:57:49 $. The most recent version (automatically updated from CVS) can be found on the GNU GNUe Project FAQ Page. A mini version is located on the GNUe Web Site.

1.7 - What is Enterprise Software?

Enterprise Software refers to a software system where most of the software used to operate a business is integrated together and business information is maintained in a way that reduces or eliminates duplication, provides timely access by all parts of the organization, provides a high level of accuracy, and requires minimal manual intervention.

1.8 - Why is GNUe being developed?

As an alternative to proprietary systems because:

1.9 - How does GNUe compare to Quickbooks, PeachTree or other shrink-wrapped accounting software?

It doesn't. GNUe is professional strength software designed for multi-user operating systems with either a two or three tier client server architecture. It is built to be scalable and maintainable -- supporting organizations with over 2000 users. Of course, it will also support organizations with just a few users and run on a single computer (with just a little overkill). It can be run out of the box or completely customized by developers. It is free.

1.10 - What is Free Software?

The GNUe project fully supports the concept of Free Software. See http://www.gnu.org/philosophy/free-sw.html.

1.11 - Why is GNUe licensed under the GPL and what does this mean?

GNUe is released under the GPL license. Please see the sample GPL license at http://www.gnu.org/copyleft/gpl.html. The actual license covering GNUe is included in all GNUe distributions.

For a description of why GPL and why free software see http://www.gnu.org/philosophy/why-free.html.

1.12 - How do I help the GNUe effort?

Become familiar with the GNUe system; then, email info@gnue.org. There is always something that needs to be done. We need all types of talent -- programming, documentation, business process analysis, and, most importantly, users. Please don't be bashful.

To formally contribute to GNUe, we will require a signed Free Software Foundation copyright assignment. More information can be obtained by sending email indicating your area of interest to info@gnue.org.

1.13 - What standard technologies or standards are used in GNUe?

GNUe potentially makes use of SGML, HTML, XML, XML-EDI, CORBA, SQL, and several GNU technologies. No doubt some I missed.

1.14 - What is the history of GNUe?

1.15 - What are the technical features of GNUe?

For a more complete description please see the document "GNU Enterprise - Developers Introduction" at http://www.gnu.org/software/gnue/project/docs.html

1.16 - What is the current status of GNUe?

Our development process is:

The GNUe tool box status is:

1.17 - What organizations are using GNUe?

(todo)


The GNUe Technology FAQ
(Top)
(GNUe Home)

2.1 - What is the GNUe architecture (short version)?

GNUe is an n-tier client server enterprise system. The user interface is provided by GNUe Forms client. The GNUe Forms client talks directly to the GEAS (enterprise application server) using CORBA technology. GEAS currenty connects to SQL92 relational databases using API calls. GEAS also manages the business objects which consist of data and business rules.

The backend use of a standard SQL92 relational database provides standard interfaces for external systems and leverages current IT practices and staff. This was an important consideration for simplifying the migration to GNUe and the integration of GNUe with other systems ( see 2.16). For 2-tier, backend support includes most major relational databases including DB2, Oracle, Sybase, MySQL, and PostgreSQL. For n-tier support, only MySQL and PostgreSQL are supported at this time.

The current GNUe software components are:

Internally, GNUe n-tier is object based. The objects contain data and business rules with data stored in an SQL database. The business objects are accessed using CORBA and we use Python-orbit for binding Python to our current ORB ORBit. Therefore the business rules are written in Python. Since other bindings exist, a developer is not necessarily limited to Python.

A small system will typically have the following process running ( see diagram):

A large system may have multiple SQL, Application, CORBA name and Report servers all running on different machines.

2.2 - What is GNUe-Forms and GNUe-Designer?

GNUe-Forms is a platform and UI-independent forms system. It reads an XML-based forms definition and creates GUIs for Win32, GTK, and, soon, Curses and HTML. It has a fully data-aware widget set and can be used in both 2-tier and n-tier environments.

GNUe-Designer is the IDE for the GNUe tools. It allows you to visually layout your forms in a RAD-style environment. Designer has a builtin forms client, so you can quickly test your forms while still in Designer. Designer also now has support for form creation wizards... answer a few questions, attach your form to a table, select the fields to include, and, voila, a basic form is created.

2.3 - What is GNUe-Common?

GNUe-Common is the basis for the GNUe tools, such as Forms, Reports, and Designer. It implements a database-abstraction layer that provides support for most major databases. A builtin XML-to-Object parser and Object-to-XML marshaller are used by Forms, Reports, and Designer to save and read Forms/Report definitions to and from an XML file. Work has begun on an RPC-abstraction layer that will allow server processes to define their public methods once and have them available to CORBA, XML-RPC, SOAP, and DCOM clients.

2.4 - What is GNUe Application Server (AppServer)?

AppServer is a data abstraction layer and allows GNUe to utilize single API to all data sources (local and remote). So the client has one set of calls it uses, but can access different vendors SQL databases or even CVS or XML files. Similar to Borland's Database Engine or other data abstraction tiers. AppServer is transparent to the user. It will run with multiple instances and do load balancing. AppServer is required for n-tier operation.

2.5 - What is GNUe Reports (GNUeR)?

GNUe Reports shares many features with GNUe Forms. It is comprised of a report designer and a client that generates the requested output. Report definition files are also XML based. And programs can communicate directly with the XML reports definition language much like they can with GNUe Forms. The major difference is that GNUe Reports is optimized to handle large amounts of data and run separately from the GNUe Forms Client.

2.6 - What is GNU Bayonne?

Integration of non-transaction based ad-hoc communications utilizing fax, email and paging other non-network communications with GNUe. Transaction based external communications (EDI and XML-EDI) will utilize the Data Transformation Tool. To use EWOK the user would typically hit the EWOK button in the Forms client and a pop-up window would appear with destination and information selection options. This may be replaced with Bayonne. This change is in process, see the news section for more information.

2.7 - What database does GNUe require?

GNUe n-tier (AppServer) and GNUe 2-tier both work with a wide range of backends, such as PostgreSQL, MySQL, Oracle, DB2, Sybase, Interbase, SAP-DB, ODBC, etc.). The current list of supported databases is listed on the website. The internal structure of GNUe AppServer is object based but stores information in a standard SQL92 relational database. It is anticipated that GNUe will interface to any SQL92 (odbc, oracle, sybase, interbase, etc) standard relational database. The API design does not limit the storage to RDMS.

2.8 - What is GNUe Integrator?

fs

This tool will handle all incoming and outgoing data transformation requirements including EDI, XML-EDI, spreadsheet import/export and others.

2.9 - What is Workflow Engine?

(todo)

2.10 - What is Transaction Processing Engine?

(todo)

2.11 - What GUIs work with GNUe?

GNUe Forms currently supports (some are tested more than others) win32, gtk, motif, curses and mac GUI. A Java client is being authored as well and a web client is anticipated in the very near future.

GNUe Designer uses the wxWindows widget set, which currently supports Win32, GTK, and Motif.  Soon, wxWindows will support MacOS and QT/KDE.

2.12 -  Why Python? Why not Java or Perl?

If you want Java, LinuxKontor is probably a better choice for you. Because of Java's popularity, some of the GNUe team is working on a Java forms client (although it is not a priority and, therefore, is not actively maintained). We do know that Java applications can connect to a AppServer backend via Java's CORBA support. However, Java is NOT the preferred language for our clients as it has issues with its ownership. Because this is a free software project we will provide all functionality using free software. Also, at the time, Java did not have any usable widget sets -- swing was/is too slow to be used in an application setting.

Perl is another widely used, free high-level scripting language with many similarities to Python. The early developers chose Python over Perl because of Python's maintainability (clean code) and object-oriented nature. Perl does not scale well in a large project with multiple active developers. It is quite common for a developer to write a perl script and, 6 months later, not have a clue what the script was designed to do. It is commonly said that perl is better suited for smaller, one-time projects. 

Other free scripting languages could have been used. However, the same arguments against Perl usually hold for these as well. Perhaps other languages would have worked just as well. The bottom line, however, is that Python was chosen early on, has a tremendous standard library, has proven itself with respect to clean code, and is well-liked by the GNUe developers, so we see no reason to change.

2.13 - What about Windows or Macintosh support?

The GNUe Application Server works natively on Mac OS X. It does not currently work on Windows, but support is anticipated.

GNUe Forms and GNUe Designer use the wxPython/wxWindows abstraction library, which currently provides widget support for GTK, Motif, and Windows 9x/XP/NT/2000. A Mac OS X port of wx is being heavily worked on, but is currently not usable. A QT/KDE port for wx is also under development. Work is also under way on Curses and HTML frontends for GNUe Forms.

GNUe Reports runs on most platforms supported by Python. The primary limitation will be the driver for your database backend. For example, while GNUe Reports will run on Windows, a corresponding PostgreSQL driver may not be available. 

2.14 - What about network traffic, bandwith and thin clients?

All network flow is all by ORBit. We would expect same type of traffic as a MIDAS client or DCOM client on windows. We are middle ground bandwidth wise and thin client wise. GNUe doesn't use bandwidth whenever you move the mouse etc. The forms code is an XML form that is interpreted by the client. Its only when you do an event relating to the backend that it sends traffic (i.e. event driven). The only possible issue, we anticipate, would be latency with internet deployment with using thin clients talking to GEAS on other side of the world.

2.15 - How do I create a simple form? Where is it stored and how do I run it?

The form is an XML file. You can create it with any editor or with GNUe Designer. Then you can run it remotely by typing "gfclient http://myserver.com/some_form.gfd" or locally by typing "gfclient /path/to/file/some_form.gfd". 

2.16 - How will external systems interface to GNUe?

External systems may interface with GNUe in two ways. The simple and more standard way is to connect directly with the SQL backend relational database. The downside to this method is that it will bypass all business logic built into GNUe business objects. So some business logic will be duplicated in the external systems. Also database tables are considered very changeable for upgrades and extensions, therefore external systems using this method will require more maintenance than those using the GNUe API method.

The other way for external systems to interface with GNUe is to connect directly to the Application Server using the GNUe API. This method is not as standard but will provide better data integrity as all data will be subject to the business rules defined in GNUe business objects. It will also be less prone to changes as we expect the GNUe API to change less than the SQL tables will change.

2.17 - What is a Business Object?

A Business Object is an encapsulated unit of information and methods that relate to the business. For example a customer is a Business Object. Also a purchase order, a line item on a purchase order and a receipt against a line item on a purchase order are all Business Objects related to each other. Business objects are defined by the developer in .gcd files. The .gcd file may also define methods and triggers for the Business Objects.

An example Business Object without methods:

class contact
{
  char  name<25>;
  int16 age;
  float net_worth;
  text  notes;
};

2.18 - What are Business Rules?

Business Rules are methods defined for classes. Currently business rules are implemented in Python or C.

2.19 - Why Not Glade instead of GNUe Forms?

GNUe Forms and Glade are two separate types of tools. Comparing one to the other is, pardon the cliche, like comparing apples to oranges.

Glade is a powerful, yet special-purpose, GUI layout application. It is specifically designed to generate GUI layouts for a GTK/GNOME application and is very well suited for such a task. If you are wanting to design a GUI for a non-data-aware app that runs only under Gnome/GTK, then you should look at Glade.

However, one of the main goals of GNUe Forms is to be independent of any particular user interface. Using a single form definition, your data-aware application will work on various graphical desktops (Windows, GTK/GNOME, KDE, Mac, Motif) as well as via a text-only (curses) interface and a web browser (HTML). We are even looking at designing a Bayonne forms client -- your form could be accessed via a telephone!

Also, one of the primary draws of Forms is its fully data-aware widget set.  Glade would require you to program any database logic yourself. Forms provides a natural link between an on-screen form and a database backend with very little, if any, programming.

2.20 - Why not Mozilla's XUL instead of GNUe Forms?

"Tonight Derek was reading over some of the documentation on GNUe. It occurred to me that Mozilla and XUL might make a great front end UI to this system. Instead of creating multiple GUI front ends for the different environments you wish to support, you could make one XUL front end that could run on every platform that Mozilla can run on (and there are a lot). Is there some reason you've chosen not to do this?"

This has been talked about in infinite detail, but the summary is that browsers don't make good front ends for Enterprise systems. They are a nice option, but most data-entry style applications are not "friendly" when used from a browswer.

Specifically, there were a few key issues with using Mozilla as our primary interface:

  1. Mozilla is a bit 'heavy' for a client. (Now I realize we could have just reused the rendering engine (gecko) and wrapped it, but thats pretty significant work in and of itself.
  2. The concept of data aware widgets doesn't exist to the mozilla team unless of course you are willing to do all data in RDF/RSS format. Our enterprises, of course, dont store data in this format. :) I have recently restarted XUL conversations on this and think it would be do able. However, once again there is an issue that it would be a lot of work.
  3. At the time we started GNUe over 2 years ago, XUL was severely infantile and mozilla still was not 'widely' adopted. This was around M10 releases. If you doubt we didn't make serious efforts search for my name (derek) or my sig at that time XULFool and you will see us active in many irc sessions, mailing lists etc. For sometime I had wanted to use XUL.
  4. At the time .... Mozilla was under MPL only which made it iffy at best for us to use as a GNU project.

Since Forms is designed to be UI-independent, it is worth noting that someone could write a XUL driver for Forms. This would allow those who would prefer an XUL interface to do so, but would not in any way make Mozilla the primary interface of Forms.

2.21 - What is GNUe Navigator?

GNUe Navigator is a helper application for Forms and Reports. It takes an XML definition of meuu items and the form or report associated with them, and turns it into a navigation form, to allow users to select and run a Form or Report.


The GNUe Installation FAQ
(Top)
(GNUe Home)

3.1 - What hardware is required to run GNUe?

Currently, the GNUe Application Server is designed to run primarily on Unix/Linux systems (including Solaris). A Windows port is in progress. The GNUe clients work on most systems including Windows, Macintosh, and any system running Motif, X or curses.

3.2 - What software is required to run GNUe?

In general, Linux/Unix type system is required with the following to build from CVS:

For more information see http://www.gnu.org/software/gnue/project/what.html.

3.3 - Where do I get GNUe?

The GNUe test systems are Solaris, Red Hat and Debian Linux distributions. Rpms are available for Red Hat Linux, Debian Linux and general source distributions from the GNUe Download Page . Plus anonymous CVS access instructions are available from the GNUe CVS Page.

3.4 - How do I build GNUe?

(todo)

3.5 - How do I make GNUe work in my environment?

(todo)

3.6 - How do I request changes or modifications to GNUe?

(todo)

3.7 - How do I get and install updates to GNUe?

(todo)

3.8 - If I get into trouble, can I purchase timely support for GNUe?

(todo)


The GNUe Business Process FAQ
(Top)
(GNUe Home)

4.1 - What business processes could benefit from the current version of GNUe?

(todo)

4.2 - What are the financial benefits of using GNUe?

(todo)

4.3 - How do I determine if GNUe will fit my needs?

Consult the oracles at irc.openprojects.net #gnuenterprise

4.4 - What is a GNUe Package?

A GNUe Package is an arbitrary collection of modules that provides focused functionality. Because modules may be combined independently, packages provide a convienent but not rigid grouping.

4.5 - What is the GNUe Financials Package?

Because finance and accounting are the backbone of every business, the GNUe Financials Package is the heart of GNU Enterprise. With it, you can manage your finances, pay your bills, invoice your customers, allocate budgets, manage your assets and analyze your costs.

More information may be found at Financials Proposal.

The GNUe acocunting package is currently in the proposal stage.

4.6 - What is the GNUe Budget Management Package?

(todo)

4.7 - What is the GNUe Customer Relations Package?

Customer Relationship Management (CRM) allows your sales, marketing and customer support groups to work together to improve customer (and prospect) satisfaction. GNU Enterprise CRM provides campaign management, literature fulfillment, lead management, sales analysis and call center.

4.8 - What is the GNUe E-Commerce Package (Sales)?

(todo)

4.9 - What is the GNUe Human Resources Package?

Human Resources manages your most valuable asset, your people. With GNU Enterprise Human Resources, you can pay staff, ensure equitable compensation, manage training, administer benefits and comply with the myriad of government regulatory programs.

4.10 - What is the GNUe Project Management Package?

Project Management gives you the control you need to make money from your estimates and bids. With GNU Enterprise Project, you can create estimates, define projects, set up budgets, monitor progress and send invoices to your customers.

4.11 - What is the GNUe Research & Development Package?

(todo)

4.12 - What is the GNUe Supply Chain Package?

Supply Chain Management (SCM) optimizes the flow of information and materials from your customer’s initial order through to delivery to their front door. This process requires the coordinated efforts of your suppliers plus workers in Order Entry, Inventory, Manufacturing, Shipping, Purchasing and Billing. Even your Web Store can be involved. Your company’s competitiveness depends directly of how well you optimize your SCM business process. With GNU Enterprise SCM, you will have a good head start.

More information regarding the Supply Chain Package can be found here .

4.13 - What is the GNUe Manufacturing Package?

Manufacturing forms a key part of the Supply Chain Management process. GNU Enterprise Manufacturing supports different styles of manufacturing - engineer-to-order, process, and project. It includes Master Production Scheduling, Bill of Materials, Material Requirements Planning, Capacity Requirement Planning and Shop Floor Control.

Please visit the GNU Enterprise Top 10 Questions to ask your proprietary ERP salesman.

4.14 - What is the GNUe Sales Package?

Sales is a critical package within your organization. When the customer signs the order, it triggers the entire Supply Chain Management process. Through analysis of sales data, Customer Relationship Management tries to understand customer needs. GNU Enterprise Sales allows you to monitor the performance of sales staff and spot problems. It allows you to set sales compensation policies which reflect company objectives then calculates sales compensation based on information from Order Entry.

4.15 - What is the GNUe Business Intelligence Package?

Business Intelligence (BI) allows management to monitor key metrics in your organization, spot trouble (or opportunities) and drill down through other applications for more information. Then they can use BI’s analytical tools to visually monitor progress.

End of GNUe FAQ
(GNUe Home)
(Top)