Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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. Required to remove dependency on Party
  • Persistence (file system or databaseData Store (entity engine).
  • Lang package to provide classes that are fundamental to the framework
  • Services.
  • Runtime management.

Design Goals

  • Single jar file.

    Infoiconfalse

    Ron, what you are describing is the current mess we are trying to fix. Consolidating the closely-coupled components into a single component (and jar file) is one of the main reasons for the rewrite - that is why it is first on the list of design goals.

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

    Note
    titleDesign Participants Note

    Please take some to watch this presentation by Joshua Bloch: How to Design a Good API & Why it Matters.

...

...

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

...

Graphviz
outputsvg
thumbnailtrue
attachmentattachmentVersionNewFrameworkModuleDependencies.svgreplace
digraph module_dependencies{
node [shape="box", color="lightseagreen", style="filled,rounded", fillcolor="lightyellow1"];
edge [color="peachpufflightseagreen"];
"Security"->"Configuration";
"Security"->"Globalization";
"Security"->"Actor ManagementLogging";
"Security"->"ActorData ManagementStore";
"ActorData ManagementStore"->"Configuration";
"Data Store"Lang->"Globalization";
"ActorData ManagementStore"->"Logging";
"Data Store"Persistence->"Cache";
"SecurityServices"->"PersistenceConfiguration";
"PersistenceServices"->"LangGlobalization";
"Services"->"LangLogging";
"PersistenceServices"->"CacheData Store";
"LoggingServices"->"GlobalizationSecurity";
"ConfigurationGlobalization"->"LoggingConfiguration";
"SecurityCache"-> "LoggingConfiguration";
"Actor ManagementLang"->"LoggingGlobalization";
"PersistenceLogging"->"LoggingConfiguration";
}