You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Shawn McKinney (Jira)" <ji...@apache.org> on 2023/09/04 18:32:00 UTC
[jira] [Created] (FC-326) Collapse the P and D layers
Shawn McKinney created FC-326:
---------------------------------
Summary: Collapse the P and D layers
Key: FC-326
URL: https://issues.apache.org/jira/browse/FC-326
Project: FORTRESS
Issue Type: Improvement
Affects Versions: 3.0.0
Reporter: Shawn McKinney
The original design of fortress has 4 layers:
1. Manager
2. Implementation
3. Process
4. Data
1. The manager is the outer interface. It communicates with the clients. Its job is to hide the implementation of fortress and any details about its data usages. (there should be no LDAP or SQL smell here) Also at this level are the exceptions and factories that are visible to users of the system.
2. The impl knows about the data, because it must handle the specificity of it. For example, it knows if its LDAP, REST (or eventually SQL). It's the target of instantiation during runtime (by the manager factory), and it handles all calls further down (into the process/data).
3. The process layer knows some details about the data. For example, fine-grained data validation is performed at this level. It may have to handle some special use cases surrounding LDAP data management. This is also where any special business rules would be applied. Particular to what the use case is for adding, updating or deleting an entity.
4. The Data level is where the DAO API does the work. Here would be something like an LDAP, JDBC toolkit employed. It won't know about any relationships. It never calls across entities. That is always done above (in the process layer).
****
In retrospect the 3 layer (process) has proven unnecessarily complex. There's not enough value in keeping it going forward.
This is a proposal to collapse the stack by one, removing the process layer. Any functions that are currently going on there can be moved either up or down.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@directory.apache.org
For additional commands, e-mail: dev-help@directory.apache.org