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="peachpuff"lightyellow1"];
edge [color="lightseagreen"];
"Security"->"Configuration";
"Security"->"Globalization";
"Security"->"Actor ManagementLogging";
"Security"->"ActorData ManagementStore";
"ActorData ManagementStore"-> "LangConfiguration";
"ActorData ManagementStore"-> "PersistenceGlobalization";
"SecurityData Store"->"PersistenceLogging";
"PersistenceData Store"->"LangCache";
"Services"->"LangConfiguration";
"LangServices"->"Globalization";
 "PersistenceServices"->"CacheLogging";
"LoggingServices"->"GlobalizationData Store";
"ConfigurationServices"->"LoggingSecurity";
"SecurityGlobalization"->"LoggingConfiguration";
"Actor ManagementCache"-> "Configuration";
"Lang"->"LoggingGlobalization";
"PersistenceLogging"->"LoggingConfiguration";
}