History of Petra
Beginnings of Petra
Petra has been planned and developed since 1993 by OM, and in 1997 the first OM office installed Petra.
Unfortunately, there were two major obstacles for other organisations to use Petra:
- Due to the dependency on a 4GL database and the use of its tightly integrated programming language and development environment and the fact that all of those require the payment of license fees, the Petra software could not be made freely available.
- The IT team of OM was not (and probably never will be) able to support offices of other organisations due to limited staffing resources. It was difficult for other organisations to provide support each for themselves, due to lack of trained staff. (see Support for OpenPetra.org for more details)
Start of Modernisation
Since 2003, steps have been taken to port Petra from a proprietary 4GL database and programming language to another platform. At first, Delphi and Kylix were considered to be a better option than Java at the time, but when Kylix appeared to be dead, the effort concentrated on targeting the then emerging Microsoft .NET platform.
In 2005 we started programming Petra from scratch, using Delphi.NET as programming language and Mono (Linux) and MS.NET (Windows) as .NET Runtime Environments. In doing this we also moved Petra from a two-tier architecture to a modern three-tier architecture and programmed our own middle tier – an application server (there weren’t any cross-platform application servers available for .NET).
During 2007 it became clear to us that the future of Delphi.NET was not reliable anymore, that it was too complicated for a big project and that the programming language was not widely known by programmers.
So in 2008, we made the effort of converting the source code of Petra from Delphi.NET to C# (automatic code conversion was put to good use there). We also made the step from .NET 1.1 to .NET 2.0 in the same go.
Current Situation within OM
The version soon to be rolled out within OM (Petra 2.3) still uses a 4GL database. But a PostgreSQL DB acts as a mirror for the 4GL database, to allow SQL queries to be run efficient and reliably.
Most screens of Petra are still written in the 4GL programming language; major screens that are written in C# are the central Partner Edit and Partner Find screens. Underlying is a modern three-tier architecture (Client/Server architecture) written in C# that utilises an application server.
Start of OpenPetra.org
In 2008, it became clear that the modernisation effort on Petra just within OM would not be enough. The requirements of the bigger offices are hard to satisfy while trying to rewrite the whole software at the same time.
Please continue to read the history of OpenPetra.org!