IsyFact, a German open source framework to develop government applications, recently won silver in the category of 'Most agile IT infrastructure' of the German eGovernment Contest (eGovernment-Wettbewerb) 2015. The creators of the framework, the German Federal Office of Administration (BVA), call it
a software factory for the efficient development of (government) business applications.
The architecture, the data store and the design of the user interface for applications in a specific domain are generally the same, so they can be shared and re-used. To do so, however, requires a well-structured and well-documented framework of standardised building blocks, architectural blueprints, methods, tools and a platform. This framework provides a software architecture and production process in which only the data structures, the business logic and the interface of a specific application remain to be developed, i.e. a software factory.
The IsyFact framework provides such a software factory for the construction of complex IT applications for the BVA. It allows new applications or new requirements on existing applications to be developed quickly and efficiently.
IsyFact is being developed since 2007 by the IT development department of the German Federal Office of Administration ('Bundesverwaltungsamt', BVA). Initially, it was part of the Register Factory, the BVA's architecture standard for large public security register applications. Last month, IsyFact was released as a separate open source software.
Both IsyFact and the Register Factory are delivered through the 'Bundesstelle für Informationstechnik' (BIT), the IT department (Federal Office for Information Technology) of the BVA, as part of its IT service and product portfolio. The department runs a Shared Service Centre (SSC) and functions as a competence centre. It plays an important role in the rationalisation and modernisation of the IT landscape of the German federal government.
Description of the way to implement the initiative
The IsyFact framework consists of five pillars:
these describe the architecture and concepts of the application landscape, including the A-Architecture (technical application architecture), the T-Architecture (technical software implementation architecture), and the TI-Architecture (underlying hardware and system software);
- building blocks:
these re-usable software modules consist of software components, libraries and templates, providing independent professional and technical services to build a Service-Oriented Architecture (SOA); each application consists of a selection of these building blocks, matching a specific application blueprint;
- operating platform:
a single operating platform — i.e. hardware, application server and database — underneath all the applications, providing standardised and efficient operations;
the implementation processes follow the German software lifecycle/project management standard V model XT, combined with agile development methods;
for modelling, conceptualising and software generation, for programming, building and deploying, for testing and bug/issue management, for system management (administration and monitoring), and to set up development and testing environments.
Ralf Leonhard of the Federal Office of Administration in Cologne compares the IsyFact framework to a car factory: the manufacturer can build several car types based on the same chasis, allowing development costs to be shared.
A software factory contains production means too.
The agile architecture provides an easily extendable and adaptable framework to guarantee flexible, long-term further development of the software.
The IsyFact framework is mainly based on the Java programming language and technology. It builds on established open source software frameworks and libraries as much as possible.
The prescribed or recommended products are:
- basic technologies:
- system software:
- server operating system: SuSE Linux Enterprise Server (SLES);
- database management system: Oracle (proprietary);
- JEE application servers: Apache Tomcat;
- web server: Apache;
- libraries for application development:
- web application framework: Apache MyFaces, Spring MVC/Webflow;
- deployment framework: Spring Framework;
- persistence framework: Hibernate;
- interface framework: Metro;
- logging framework: Apache log4J;
- LDAP framework: Spring-LDAP;
- special software and libraries:
- monitoring: Nagios;
- Business Rule Management System: JBoss Drools;
- test framework: Framework for Integrated Test (FIT), *Unit;
- tools and methodologies:
Main results, benefits and impacts
The IsyFact software development and project management tools help the Federal Office of Administration and other agencies to optimally implement their business processes in software applications. The platform and methodology scales from just a handful of users up to thousands of users distributed over many separate offices.
IsyFact supports the full application development process, consisting of planning, analysis, design, programming, testing and deployment. The implementation of individual components or even the full process can be outsourced to external service providers.
IsyFact is the basis for all of our applications in the field of public security, says Leonhard,
for example, the National Firearms Register (NWR), the European Visa Information System (VIS), and the Schengen Information System (SIS). A few months ago, we started migrating the Central Agency for German Schools Abroad to IsyFact.
Until recently, IsyFact was used for our internal business applications as part of the Register Factory. We are now extending its use as an independent component to a wider range of applications.
The advantages of using IsyFact are:
- a solid foundation based on five pillars: blueprints, building blocks, operating platform, methodology and tools;
- a universal starting point of commonalities for a variety of specialist applications;
- fast and low-cost development of registries, using the Register Factory;
- efficient operation of registries through standardisation and usage specifications;
- methods proven in the migration of existing business applications and the implementation of new applications at the Federal Office of Administration.
Furthermore, IsyFact improves the quality and efficiency of e-government processes:
- efficient and reliable delivery of new, standardised services;
- long-term flexibility of services that are not diverging with changes in the requirements;
- standardisation allows and promotes efficient cooperation and processes between agencies;
- enables the exchange and dissemination of building blocks and components based on the IsyFact Standards in public administration;
- IsyFact is the first open software factory in public administration:
- easy deployment through open source license;
- enables further standardisation and extension;
- can be the basis for an open ecosystem of software factories.
With regard to the latter, Leonhard sees the spin-off of various software factories as the model for further development and deployment of IsyFact:
- open source: easy to deploy, integrate and participate, and free to use;
- can be tailored to a specific project due to its agile architecture and flexible platform;
- a standardised and efficient marketplace where solutions can be made available and exchanged.
Return on investment description
In the development of new applications you can now focus on the business tasks, says Leonhard,
since the technical requirements are already prescribed and tested. With the additional use of the modules, we estimate savings of 10-30 percent.
Track record of sharing
IsyFact is being used by various projects and has become a valuable expertise building block for the Federal Office of Administration. Other agencies are allowed to re-use and extend the framework. Others can get the software and the reference architectures, i.e. the IsyFact Standards, for free after registration. The code and documentation are published under the Apache License 2.0 and the Creative Commons Attribution Licence 4.0, respectively.
We've also had some interest from other countries, says Leonhard,
specifically in our European projects in the visa realm, where we had contacts with Austria, Swiss, France and EU bodies. The documentation is a central and large part of the IsyFact Standards, and all of the documentation and comments in the source code are only in German, so that currently limits the wider deployment of IsyFact. But the principles and libraries are internationally usable and we have chosen licences that do not limit the usage to German legislation.