We needed a more reliable, powerful and flexible ERP app that scales well to support a large number of concurrent users, and heavy sales and shipping activity. With xTuple, we gained important features needed to move our business to the next stage.
xTuple ERP is a powerful, fully-integrated Enterprise Resource Planning application, designed to scale to meet the needs of the most demanding companies.
The design of the system intentionally places the burden of transaction processing on the server - specifically the database server. All the business logic resides in the procedural language of the open source database PostgreSQL, allowing for a variety of client interfaces and scalability unbound by client-side limitations.
The primary interface today is a full, rich graphical user interface (GUI) client written with the open source framework Qt - this allows for a client that looks and feels exactly the same on Windows, Linux/Unix, and Mac. There are also wireless devices which leverage the server-side logic for inventory and related transactions, as well as a range of options for web/portal front-ends and interaction with other applications through xTuple's service-oriented architecture (SOA).
Below is some additional detail on some of the building blocks used by xTuple.
Building Blocks: PostgreSQL
PostgreSQL is an Object-Relational Database Management System (ORDBMS) that combines the best features from both object-oriented databases and relational database management systems. It also offers a level of flexibility that is unique within the database industry, arising from its roots in the open source community. It is the product of over 20 years of collaborative development from some of the best developers in the software industry.
It complies better than most commercial products with ANSI standards for the Structured Query Language (SQL) and Data Definition Language (DDL), as well as database connectivity standards such as Microsoft ODBC and Java JDBC.
PostgreSQL also has a powerful procedural language called PL/PGSQL for embedding frequently used routines in the database itself. It is very similar in name, structure, and functionality to Oracle's widely-used PL/SQL language. xTuple makes extensive use of PL/PGSQL for business logic transactions, and also uses database triggers to support workflow and event management.
There are built-in utilities in xTuple ERP to automate routine database maintenance and backups, which can be done with little performance impact even while the system is being actively used. PostgreSQL (and xTuple) also support several real-time database replication and failover options.
For more information on PostgreSQL, please visit the project's home page at www.postgresql.org.
Building Blocks: Qt
The GUI client is written with Qt, which is available from Qt Software (formerly Trolltech), a unit of Nokia Corporation.
Qt is a C++ toolkit for application development. It lets application developers target all major operating systems (Windows, Linux/Unix, Mac) with a single application source code. Qt provides a platform-independent API to all central platform functionality: GUI, database access, networking, file handling, etc. The Qt library encapsulates the different APIs of different operating systems, providing the application programmer with a single, common API for all operating systems. The native C APIs are encapsulated in a set of well-designed, fully object-oriented C++ classes.
Performance under Qt is excellent. Qt is not based on operating system emulation or run-time interpretation. Qt-based applications are native, compiled C++ applications on each platform. The Qt library simply replaces other toolkits such as Motif or Microsoft Foundation Classes.
There is no runtime license required for Qt-based applications, and developer kits are quite reasonable - with both commercial and free open source licenses available for the exact same product. Qt is the foundation of the K Desktop Environment, a widely-used graphical environment for the Linux operating system.