Versions Compared

Key

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

...

The framework is the underlying data structures and utilities that supply the essential common features used by the base applications and the extended components. These higher level components will have many dependencies on the framework components. There should be no dependencies in the framework on other parts of OFBiz but a few have crept in. They are show as the gray arrows in the diagram.
There should be a full discussion in the mailing list before any new dependencies are added. Actually they should be avoided and even an effort to remove the existing one would be welcome. Framework-only distribution is a first step in this direction...

An overview of the components in the framework stack can be found here:

Framework stack

base applications

...

Digraph
outputsvg
compound=true;
fontname="helvetica-bold";
node [shape=plaintext fontname="helvetica-bold" ];
subgraph clusterBaseApplications{
style=filled; color=cornsilk;
 
BaseApplications [shape="plaintext" label="base applications"];


node [shape=plaintext fontname="helvetica-bold" ];
node [color=cornsilk fontcolor=blue];
{rank=same; humanres; marketing;}
{rank=same; order;}
{rank=same; workeffort;}
{rank=same; accounting;manufacturing;}
{rank=same; party;}
{rank=same; product;}
{rank=same; content;}
BaseApplications->humanres [style=invis weight=0];
BaseApplications->marketing [style=invis weight=0];
}
subgraph clusterFramework{
style=filled; color=cornsilk;
nodesep=.25;

Framework [shape="plaintext" label="framework"];
node [shape=plaintext fontname="helvetica-bold" ];
node [color=cornsilk fontcolor=purple];
"entity(ext)";
service;
webapp;
security;
common;
Framework->"entity(ext)" [style="invis"];
Framework->service [style="invis"];
Framework->webapp [style="invis"];
}
subgraph clusterExtended {


Extended [shape="plaintext" label="extended"]; 
style=filled; color=cornsilk;
node [color=cornsilk fontcolor=firebrick];

	subgraph clusterSpecialpurpose {
	specialpurpose [shape="plaintext" label="specialpurpose"]; 
	style=filled; color=ivory;
	node [color=cornsilk fontcolor=orange];
	eCommerce;
	}
Extended->"hot deploy"[style="invis"];
Extended->specialpurpose [style="invis"];
specialpurpose->eCommerce [style="invis"];
}
//{rank=same; Extended}
//{rank=same; Framework; BaseApplications}
edge [color=darkgreen weight=1];
marketing->order;
marketing->product;
edge [color=seagreen weight=1];
order->workeffort;
order->accounting;
order->party;
order->content;
order->product;
humanres->accounting;
humanres->party;
manufacturing->product;
workeffort->accounting;
workeffort->party;
workeffort->content;
workeffort->product;
workeffort->manufacturing;
accounting->party;
accounting->product;
accounting->manufacturing;
accounting->workeffort;
product->party;
product->content;
"entity(ext)"->common;
service->common;
service->security;
webapp->common;
webapp->security;
edge [color=grey weight=0];
order->marketing;
party->marketing;
Framework->party[ltail=clusterFramework, sametail=t1];
Framework->content[ltail=clusterFramework, sametail=t1];
Framework->product[ltail=clusterFramework, sametail=t1];
Framework->accounting[ltail=clusterFramework, sametail=t1];

edge [color=salmon weight=0];
product->eCommerce [fontcolor="salmon", label="OFBIZ-6110", samehead=h2];
order -> eCommerce [fontcolor="salmon", label="OFBIZ-6110", samehead=h2 ];

BaseApplications->Framework[arrowsize=1,color="red",ltail=clusterBaseApplications, lhead=clusterFramework  weight=10];
Extended->BaseApplications[arrowsize=1,color="red",ltail=clusterExtended,  lhead=clusterBaseApplications weight=10];
Extended->Framework[arrowsize=1,color="red",ltail=clusterExtended, lhead=clusterFramework weight=10];





An overview of the base applications can be found here:

Base Application stack

specialpurpose

Components within the specialpurpose set should not depend on each other. If there is a need for components in this set to depend on something in another set, that something should be put into the most appropriate component in the applications set and both specialpurpose components can depend on the applications component. We have currently a dependency of the applications components from, at least, the ecommerce component with regards to the demo data, see 

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyOFBIZ-6110
for details.

An overview of the special purpose applications can be found here:

Plugins stack

hot-deploy

Hot deploy consists of user-define components that are not part of OFBiz. Components in this set are created by 3rd parties, as add-ons to OFBiz. The guidelines suggested for the specialpurpose component set are recommended here as well.

...