June 28, 2009Doug Hadden
This is section 5.5 of a series of blog entries creating a Government IFMIS Technology Evaluation Guide. This includes information to assist in evaluating IFMIS options and the technology requirements for FreeBalance IFMIS implementations. These series will be combined with feedback to produce a comprehensive Technology Evaluation Guide to be published on our web site.
The FreeBalance Accountability Platform is a pure web-based designed. Unlike ERP software that wraps client/server functionality to support the web, the FreeBalance Accountability Platform is web-native, using only web technology rendered via an application server.
This approach consists of using object-oriented design and development in a layered manner, and follows established best practices for software development. The FreeBalance Accountability Platform has been designed as a Service-Oriented Architecture (SOA).
SOAs are designed to enable more effective software integration, regardless of which software infrastructure is used. The SOA goal is to enable organizations to assemble and re-assemble applications using components from multiple sources.
The legacy ERP value proposition is predicated on the notion that integrated systems are more cost-effective to maintain than multiple best-of-breed applications. Government IT departments are beginning to realize that the new era of SOA enables integrating these best-of-breed applications.
Java Enterprise Edition Infrastructure
FreeBalance supports open systems and open standards to provide the most flexible and cost-effective options for governments. The benefits of Java EE infrastructure include:
- Proven enterprise open source components.
- Financial sustainability through low cost components.
- Small technical footprint – designed to reduce the technical infrastructure to support software
- Ease of deployment, license management, integration, and workflow.
- Integrated national and local government deployment.
- Scalability from small governments to large governments.
- Multi-language support.
The specific technical components in use for the FreeBalance Accountability Platform are:
- User Interface: Apache MyFaces Trinidad.
- Object Management and Orchestration: Spring Framework.
- Data Persistence and Modeling: Hibernate and JPA.
- Open Database support.
Trinidad is a Java Server Faces component and part of the Apache MyFaces project. The JSF framework includes a large, enterprise quality component library, and supports critical features such as accessibility and right-to-left languages. This open source project was donated to the Apache foundation by Oracle Corporation. It also includes a set of framework features such as:
- Partial-page rendering support for the entire component set for fast response.
- Integrated client-side validation to reduce errors.
- PageFlowScope for communicating between pages to accelerate page to page times.
- Obfuscation of client-side scripting to prevent users from determining program logic and prevents hacking.
- Stripping of comments and whitespace within data sent to user interface to reduces the size of data exchange between client and web server, resulting in decreased bandwidth needs.
- Strong access control to improve security.
- Proven support in secure environments such as the Federation of Austrian social security institutions and the standard framework for Oracle Fusion applications.
- Industry standard Secure Sockets Layer (SSL) encryption supports the industry best practices in security.
Object Management and Orchestration
The Spring Framework is an open source development framework for the Java platform. The benefits of the Spring Framework include:
- Comprehensiveness and modularity.
- Providing a framework for integration.
- Enabling management of components across architectural tiers.
- Facilitating good coding practices.
- Ease of testing.
- Consistent programming model to support Java standards such as JDBC, JMS, and JNDI.
- Proven performance in enterprise applications and supported by companies like IBM.
- A powerful MVC (Model-View-Controller) infrastructure that is considered a best practice.
Data Persistence and Modeling
Hibernate is a high performance object/relational persistence and query service that enables the creation of object-oriented applications. Hibernate enables applications to be database neutral while taking advantage of SQL functions. Applications can be written based on business objects that map seamlessly to database physical objects.
The benefits of Hibernate include:
- Increased productivity to meet changing governmentsby enabling developers to concentrate on business logic and by minimizing code. Pooling, caching and transaction management is also handled by Hibernate.
- Greater maintainabilityby automated object/relational persistence.
- Higher performancethrough optimized throughput management
- Vendorindependence, enabling governments to select application servers and databases from commercial and open source vendors.
JPA is the Java Persistence API that provides additional persistence capabilities.
Open Database support.
Commercial and open source databases are supported. Applications are currently developed using Oracle, Microsoft and MySQL databases, but other databases could be easily supported.
Servlet-based Java Enterprise Edition
The use of Servlets enables smaller footprint applications compared to Enterprise Java Beans that was typically used in the previous generation of enterprise applications. These Servlet based applications are easier to deploy and require less computing resources.
FreeBalance Government Framework (FW)
The Government Framework leverages Java Enterprise Edition with a set of software architectural components designed to enable public financial management. The characteristics of the FW include:
- Integration of transactions with content and collaboration.
- A single integrated portal for financial and records management.
- Ease of use for civil servants, even with lower capacity.
- Centralized ‘audit’ capabilities.
- The use of proven software for collaboration.
FreeBalance Government Entities (GE)
Government Entities are a series of standard base components that are reused for government functions and applications. These entities are inherited, configured and adapted to support system extensibility. The characteristics of the GEs include:
- Government-specific functions such as built-in flexible budgetary controls.
- Enabling of rapid implementation, configuration and change.
- An extensible base for new applications to extend customer investment.
FreeBalance Government Functions (GF)
Government Functions are a series of functional components that leverage Government Entities that have been adapted and packaged for application usage. This creates standard functions that are leveraged to support more applications and features.
FreeBalance Government Applications (GA)
Government Applications are built on Government Functions. Applications share common functions and are packaged from the Government Functions.