Hello

In my company, we develop software with cakephp for internal usage. The 
software is getting big for managing it as a single project (46 
controllers, 94 models), and we've been thinking about splitting it in two 
or three different software, each to manage one different domain of the big 
picture (like, a system for user and permission management, other for 
projects, other for financing).

However, there is the need for those modules keep comunicating. For 
instance, a report will need to get for all projects belonging to user X 
the current balance - That would need at least three models in three 
different modules. If I would be working with three different and 
independent cakephp, either I need to (1) get a copy of models from the 
other software, or (2) communicate via webservices.

(1) is faster, however, I'll have a huge number of models anyway. Not to 
mention, as business rules are in the models, when one is updated, it must 
be copied to the other systems, causing a maintenance nightmare.

(2) is ideal as it really encapsulate responsabilities, however it is slow. 
For instance, if I make a find on model Projects, each having a list of 
people linked to it, I'd like to bind those models. As far as I know, 
there's no Webservice Datasource, so I'll need to do it by hand.

I'd rather (3) have everything deployed in one big cakephp installation, 
but maintain my repositories apart; however it would difficult testing. But 
I guess that, when working with big problems like that, you really have to 
face some difficulties.

What are your thoughts on that problem?

Thanks!

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to