Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added Runtime management to basic functionality.

A New Application Framework Design

Note

This is a draft document - it can be changed at any time by anyone.

Document Purpose

This document is intended to introduce a high level design of an application framework for the Apache Open for Business project.

Overview

The application framework will be written in Java and it will provide the basic structure to write an application. The framework will provide the following basic functionality:

  • Configuration.
  • Globalization (locale, time zone, currency).
  • Logging.
  • Security (authentication/authorization).
  • Persistence (file system or database).
  • Services.
  • Runtime management.

Design Goals

  • Single jar file.
  • Compact, small memory footprint.
  • Scalable from SBCs to enterprise-class ERP systems.
  • Reuses existing technologies.
  • Easy to configure and maintain.

Basic Architecture

Configuration
Globalization
  • Library: IBM ICU4J
  • Java package name: org.apache.ofbiz.foundation.globalization
Logging
  • Library: SLF4J
Security
Persistence
  • Library: OFBiz Entity Engine
  • Java package name: org.apache.ofbiz.foundation.persistence
Services
  • Library: JMS, Quartz Scheduler
  • Java package name: org.apache.ofbiz.foundation.service
Data Types
  • Library: Apache Commons Lang, Apache Commons Convert, OFBiz
  • Java package name: org.apache.ofbiz.foundation.lang
Date/Time
  • Library: OFBiz
  • Java package name: org.apache.ofbiz.foundation.time
Money
  • Library: OFBiz
  • Java package name: org.apache.ofbiz.foundation.money
Cache
  • Library: eHCache
  • Java package name: org.apache.ofbiz.foundation.cache