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-unsubscr...@directory.apache.org
For additional commands, e-mail: dev-h...@directory.apache.org

Reply via email to