Hello,

is there an overview of the camel packages, their meaning and composition? Is there an intended layering of the packages in the form upper layers may access lower layers not vice a versa? I think such an overview would be really helpful for new developers interested to get involved in camel and also for the more advanced users.

I was trying to reverse engineer the layering of the packages by using an architecture tool. But as there are currently many cycles in the package dependencies it is not possible to get a correct layering. I have already committed some easy fixes that remove cycles were I was quite sure what the intended layering was. The remaining cycles are more complex. I would still like help to resolve the cycles but need some help with it. With the help of an intended architecture like mentioned above I could try to make some suggestions.

To show the current state I will try to add some diagrams of the reverse engineered structure to the mail. If this does not work I will upload the pictures to my website and link to them.

I hope one of the core developers can help me with this.

Best regards

Christian


---
The first diagram is the dependency graph. It shows the packages in camel-core and their current dependencies. Whereever there are cycles on of the dependecy links is marked red. This does not mean that exactly the red dependency is wrong but it means one of the two directions should probably be avoided.

http://www.liquid-reality.de/camel/dependencies_first_level.png

The second diagram shows the layering the tool reverese engineered. Any upper layer / package may access lower layers but not vice a versa. The offending dependencies are shown as arrows. As in the diagram above this layering is far from perfect as the tool can not know which layer should be up when there are cycles. If one of the core developers can give me the intended layering I could create a layering diagram that shows the intended architecture and where dependencies do not follow this rule.

http://www.liquid-reality.de/camel/layering.png


--

Christian Schneider
---
http://www.liquid-reality.de

Reply via email to