Building applications based solely on what Java Enterprise provides is time-consuming. That is why we have been developing our own OneWeb platform for over a decade. This allows us to build systems quickly and within a reasonable budget.
We developed OneWeb to support programmers and web developers in building advanced, high performance, interactive online transaction systems. This platform enables us to proceed from the system concept described in the functional specifications to a fully implemented and operational system quickly and smoothly. All this has been made possible by the application development methodology and many ready-made components that come with the platform.
OneWeb is currently a technical reflection (formalized in code and documentation) of the knowledge and experience we have gained over more than a decade of developing advanced Web solutions.
A Java Enterprise Extension
We have implemented OneWeb in Java and embedded it in the proven, secure and robust Java Enterprise application server architecture. This choice gives the platform the following advantages:
- Portability between hardware platforms and operating systems;
- Interoperability with system platform elements from any manufacturer or vendor;
- An extensive collection of ready-made software components – both commercial and Open Source;
- Compliance with industry standards for large scale software development; and,
- Support from major software manufacturers.
All the services and mechanisms available on the platform can work in environments with large numbers of users and concurrent execution threads. This makes them extremely useful in developing powerful and highly scalable solutions.
Supporting Developers at Every Stage
The OneWeb platform provides both components and a development environment, complete with a design and implementation methodology. This ensures strict control over the software production process, fosters quick onboarding, and shortens time to market.
OneWeb supports the developer at every stage of the software building process, by directly facilitating:
- Application visualisation—by providing advanced presentation components such as tables, trees and self-validating forms. The platform additionally comes with a robust and flexible template engine that provides for the complete separation of program code and HTML pages.
- Application control logic creation—by defining a model and providing tools for automatic screen sequence control, transitions between individual application components, and other user-system interaction components.
- Data model creation—by providing object-relational mapping (O/R mapping) tools.
Ready-Made Visual Components
We estimate that designing and implementing a good user interface accounts for as much as 80 per cent of the work involved in creating a complete solution. That is why we placed so much emphasis on producing such a wide range of advanced visual components. See below for examples of how we have applied some of those components in our projects.
Building Secure Applications
When we developed OneWeb, we placed special emphasis on ensuring that any applications built using the platform would be secure. We made sure we achieved a high level of application security by:
- Providing a basic service to support user authentication processes, such as logging in and out, changing passwords, and enforcing password changes according to a defined policy.
- Providing a basic service to support authorization control processes, e.g. access to specific modules, screens and menu items, and even the specific actions that a user can perform on a given screen.
- An O/R mapping that uses PreparedStatement queries. This eliminates SQL Injection attacks at the platform level.
- A templating engine that helps to eliminate most XSS attacks at the platform level.
- A set of guidelines and good development practices for building secure Internet applications.
For more information about the security of our systems, please see the section on that topic.
OneWeb-Based Application Architecture
All solutions built using the OneWeb platform consist of two essential components:
- The platform core which provides the basic mechanisms for creating a professional web solution.
- A set of applications that make up the functionality of the developed system. Applications can use components from the OneWeb platform core or from other applications.
An outline of this architecture is presented below.
Every application developed in the OneWeb environment contains the following components:
- Services to implement the specific features of the application. These services define the business object interfaces the application supports and the mechanisms that enable them to operate.
- Actions to directly translate user actions into specific service calls and, consequently, change the application status.
- Presentation components to make business objects available in a form that is suitably structured for presentation in page templates. The presentation components connect the retrieval of business data (using application services) and their presentation in page templates.
- Page template macros to display application-specific HTML page fragments. Template macros also enable any presentation components to be called. Special constructs (e.g. conditional forks and loops) that make it possible to create visual effects of unlimited complexity are also available.
- Processes to define transitions between specific application screens.
All elements are similarly built and comprise the same types of components, i.e. services, actions, presentation components, page template macros and processes. This structure makes the system transparent and easy to maintain, no matter how functionally complex, and makes the functionality available to the end-user virtually limitless.