THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
A New Application Framework Design
Note |
---|
This is a draft document - it can be changed at any time by anyone. |
...
- Configuration.
- Globalization (locale, time zone, currency).
- Logging.
- Security (authentication/authorization).
- Actor Management (profiles, roles - required for security; Actors - people, external services) Think of UML Actor. Persistence (file system or database).Required to remove dependency on Party
- Data Store (entity engine).
- Lang package to provide classes that are fundamental to the framework
- 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.
Note title Design Participants Note Please take some to watch this presentation by Joshua Bloch: How to Design a Good API & Why it Matters.
...
- Library: OFBiz Configuration
- Java package name: org.apache.ofbiz.foundation.config
Globalization
- Library: IBM ICU4J
- Java package name: org.apache.ofbiz.foundation.globalization
...
- Library: Apache Shiro, OFBiz
- Java package name:org.apache.ofbiz.foundation.security
...
Actor Management
- Library: OFBiz
- Java package name: org.apache.ofbiz.foundation.actor
Data Store
- Library: OFBiz Entity Engine, JDBC
- Java package name: org.apache.ofbiz.foundation.persistenceentity
Services
- Library: JMS, Quartz Scheduler
- Java package name: org.apache.ofbiz.foundation.service
Lang - Data Types
- Library: Apache Commons Lang, Apache Commons Convert, OFBiz
- Java package name: org.apache.ofbiz.foundation.lang
Cache
- Library: eHCache
- Java package name: org.apache.ofbiz.foundation.cache
...
Graphviz | ||||||
---|---|---|---|---|---|---|
| ||||||
digraph module_dependencies{
node [shape="box", color="lightseagreen", style="filled,rounded", fillcolor="lightyellow1"];
edge [color="lightseagreen"];
"Security"->"Configuration";
"Security"->"Globalization";
"Security"->"Logging";
"Security"->"Data Store";
"Data Store"->"Configuration";
"Data Store"->"Globalization";
"Data Store"->"Logging";
"Data Store"->"Cache";
"Services"->"Configuration";
"Services"->"Globalization";
"Services"->"Logging";
"Services"->"Data Store";
"Services"->"Security";
"Globalization"->"Configuration";
"Cache"-> "Configuration";
"Lang"->"Globalization";
"Logging"->"Configuration";
} |