I have a large CakePHP app (well over 100K lines of php, many languages, 
over 2 million users) and I need to support iOS and Android clients. I 
would like to put all the data and business logic in a "back end" that is 
shared across all 3 clients. I know a major rewrite is needed and I am 
looking for recommendations on architecture. I am thinking of moving to a 
"Service Oriented Architecture", putting all the data and business logic in 
"backend services" with defined interfaces that can be used by the CakePHP, 
iOS and Android clients. 

Some considerations:

   1. Ease/Speed of adding new features across all clients is critical. I 
   would like to add functionality to the backend and enable the clients all 
   to use it with all the code in the backend being shared and all the code in 
   the clients being specific to the needs of that client.
   2. I would like to use open-source components (not Cake components) 
   where possible in the backend. They need to be production tested and 
   currently supported by an active community. I would like to use 
   standards-based interfaces and protocols where possible to make it easier 
   to use open-source components. 
   3. I would like the interfaces to support multiple versions at the same 
   time so I can upgrade components independently. 
   4. I would like to have a consistent security model shared across the 
   interface.

Are there some 'recommended best practices' for this?
Are there some frameworks that will make this easier?

-- 
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 cake-php+unsubscr...@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
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