Hi Devs,

As we are using different modules to package different type of
functionalities, which will help us to maintain loosely couple codes. Now
the project has 49 leaf module ( one to hit half century :) ). If we allow
project to grow this way, having too fine grain modules will be huge
headache in future. IMO we should clean this ASAP before it become really
mess. Actually we half way there, I experienced cyclic dependency issues
when I was writing workflow implementation and email monitoring. Please see
the modules in current repo below.

<module-name> ( <num of child modules> )

modules  ( 43 )
     app-catalog ( 2 )
     commons ( 1 )
     configurations ( 2 )
     credential-store ( 3 )
     distribution ( 8 )
     gfac ( 10 )
     integration test ( 1 )
     messaging ( 2 )
     orchestrator ( 3 )
     registry ( 3 )
     security ( 1 )
     server ( 1 )
     test-suit ( 1 )
     workflow ( 1 )
     workflow-modal ( 3 )
     xbaya ( 1 )
airavata-api ( 5 )
tools ( 1 )

Most of the current modules have interfaces and implementations together,
but this violate our main goal which reduce inter module dependencies.
Following is what I am suggesting, WDYS?

core { has all core interfaces and basic classes of gfac-core ,
orchestrator-core , message-core , monitor core, registry core,
workflow-core}
service - all thrift services and service handlers
orchestrator - orchestrator specific classes
gfac
     SSH
     BES
     Local
message - amqp implemention
distribution
     XBaya
     server - { use different mode input to start server as orchestrator ,
Gfac or/and api-server }
commons
registry
app-catalog
security
Workflow
XBaya-gui
Integration-test

Thanks,
Shameera.

Reply via email to