Expected benefits from using a standardized open source based platform
To reduce the risks associated with the classical Architectures, the IT actors have to think about the required expected benefits a global open source minded IT architecture would have to provide them.
- A stable & standard architecture: new applications or modules would be integrated smoothly and with minimal effort.
- Cost reduction:
- The TCO (Total Cost of Ownership) will be reduced by the integration of the development, administration, runtime and maintenance cycles in the same framework.
- An open source architecture will reduce dramatically the licensing costs, in opposition to several other frameworks where the growth of the number of users usually impacts on costs.
- By using pre-defined features (LDAP API, web security features + protected file system directories, dynamic error messages system, pre-defined system parameters table allowing to tune the functioning of the application thru administration parameters), the new architecture would also help lowering the TCO of the application.
- Performance: the system would insure good response times to users’ requests, even during full-charge periods (many users in parallel, many tasks to perform, with a large amount of data in the database).
- Availability: the applications developed on this framework would have to support a high availability towards user requests, certainly during the office hours, but also during other periods including weekends, late evenings and early mornings.
- Scalability: the architecture would easily allow resizing the IT infrastructure. Matching the business needs, it would allow switching from a small to a huge system without impacting on the software application nor generating new versions of the framework or its applications.
- Standardization & Evolution: Being Open-Source minded, the architecture would allow to easily plug new beans or other modules, taking into account the specificity of the business. This way of working would allow foreseeing future evolutions while preserving current investments.
- Portability & Connectivity: The framework would have to be as portable as possible from one IT system to another, allowing future changes of the technical infrastructure (OS, server hardware, devices, web and application server, etc) without or small impact in the application software. It also would permit to easily connect to other heterogeneous IT systems
Languages and file formats
- Java 5 / Java EE
- HTML + CSS
Database and web server infrastructure
- OAS – Oracle Application Server
- Security Filter
- JVM 1.6
Open Source Frameworks and Libraries
All these technologies were grouped, integrated and packed together in a so-called platform, or framework.
- RTE Editor (FCKEditor)
- STRUTS 2 (MVC)
- SPRING MVC
- HIBERNATE + JDBC
- JASPER Report
The Architectural Structure of the Open Source framework brings up the following particular features and capabilities to meet all the expectations.
- System Adaptability
- Compatibility with different J2EE compliant Application Server
- Several supported programming languages
- Database Independence
- Connectivity / Middleware
- JVM Hosting Tolerance
- Component based
- Job Scheduling support for batch tasks.
- Full integration with STRUTS 2, Action handler and possibility to use the library tag when JSP Pages are used as views.
- Integration with SPRING, mainly IoC (Inversion Of Control also called Dependency Injection), AOP (Aspect oriented programming), Spring Hibernate Support, including the Open Session In View Filter.
- Backward compatibility with GIDPro Platform
- RAD (Rapid Application Development)
- Reusable server-side library
- Automatic validation of HTML fields depending on their database constraints
- “On the fly” compiling of the classes if the source changes
- Parallel processing / Concurrence
- User Management
- Authentication, Access Rights, Multilanguage, Navigation are managed by the Application server security filters with information from the Repository and LDAP.
- Groups access rights can be defined at application level (modules, menus, pages, fields, tables, etc) and at client’s data level.
- User History: connections can be logged and centralized.
- Performance / Optimization
- Connection pooling
- Thin client
- Client database
- Multilingual support
- Upload/Download files functionality
- Hierarchical Tree presentation
- Graphical Capabilities
- Server-Related Features
- Multiple output format
- Parameters configuration
- Error handling
- SOAP (Web Services) Client / Server Capability
- Portlets are supported for the applications developed with the platform when needed
- TCP/IP Media Connectors & JNDI integration: to allow communicating with other systems
- WFS: Web Feature Services
- SSL2 encryption over Internet
- Protected directories on the Application Server
A reliable and persistent environment
The technological direction taken by the platform guarantees its perennity/perpetuity. Open source mindset and Java Technologies are, and will be more extensively used in the future of the IT world.The platform foundations being built on those technologies, its future is secured from a technological point of view; no migration of the framework to another technology is foreseen nor needed at short and medium term (2-5 years).
The platform is used by Important Companies. Pulsar has developed important projects on the platform framework. For major customers, the platform framework is intended to be the basement of a whole IT architecture. For instance, for Eurocontrol projects like MICA, Digital NOTAM and ICARD-RD are implemented with the platform. This implantation of the platform in the IT systems of major actors insures the platform stability and perpetuity.
New projects induced by this technological presence allow Pulsar to stimulate the R&D efforts for future developments of the framework. Consequently, The platform initiates a beneficial cycle, taking advantage of each experience to improve continuously its own technology. Generic modules are systematically re-used (instead of “re-inventing the wheel”), allowing shorter and more stable developments for new projects or modules.
Platform Internal IT Architecture
- The first tier
The first tier is the client. The client could access to the application using a web browser. The Web Application should be developed to be used with Internet Explorer 6+ and Firefox 2+. The recommended resolution is 1280*1024 but the application could also be designed to work on 1024*768 (some scrollbars may appear).
- The middle tier
The middle tier is the core business of the application. To allow a better split between the process of data and the representation of data, we decided to use the concept of MVC (Model View Controller). This concept is composed of a controller which intercepts the requests made by the client and, based on a configuration file, decides what to do. The Model will be in charge of collecting the data, processing them and prepare them for the view. Finally, the view will take the data from the Model and display them in the way the client wants to see them.
At Pulsar, we make specific Java packages to manage the business logic of the application. Keeping the logic in separated packages allows using it for other user interactions like, for example, web services.
The business components in J2EE applications typically use the JDBC API to access and change persistent data in relational databases. This often leads to the mixing of persistence code with business logic—a bad idea. The Data Access Object (DAO) design pattern addresses this problem by separating the persistence logic into data access classes.
For the connection to the database, we use an ORM layer (Object Relational Mapping). This gives us an access in read and writes to the data stored in the database. The big advantage of using an ORM is that all the interactions with the data are made in Java.
- The third tier
The third tier is the database. This database will contain all necessary information for the application.
Platform Integration in the IT Network Infrastructure
When deploying the application in the client’s IT network infrastructure, several problems must be tackled at a technical level. Please find below a diagram showing a typical integration in a company IT network infrastructure.
Some generic / classical functions
- Users Management
- Access Rights
- System parameters and preferences
- Document management
- Load balancing requirements