> Could you show some examples (code, ideas, whatever) of what you tried
> to accomplish, so the CakePHP community can grow from your experience
> and/or maybe provide additional information to assist in finding a
> solution?

There is no single line of code, nor will be until all the application
architecture is clearly defined and probed. The goal is to build a
Rich Internet Application (RIA) as a service (SaaS) for the management
of a large travel agency. Current solutions I've seen are built on top
of desktop platforms such as Microsoft Dynamics Navision or as
standard server/client intranets.

Both approaches have limitations: desktop applications cannot be
accessed from outside the company without installing software on the
computer. Web applications can, but are less usable and have a slower
response.

I'm interested in approaching this problem from a different
perspective, trying to combine the best of the two worlds: a server/
client architecture over HTTP, but the server streaming just JSON or
XML after AJAX requests instead of rendering web (X)HTML pages.

Have a look at this: http://qwikioffice.com/desktop-demo/login.html

The UI can be built directly on the DOM of the web browser by
extensive use of Javascript. I'm planning to use the ExtJs (extjs.com)
framework on the client for that. DOM generated controls combined with
AJAX requests are far more powerful than standard HTML form widgets.

So the scenario now is a little more complex: there are two apps (one
in the server and one in the client) instead of one. And they are
binded in a data-centric fashion just by JSON data (no code nor markup
between).

On the server side I plan to use a RDBMS such as MySQL or PostgreSQL
and CakePHP. There will be no (X)HTML views except for the frontpage.
When the user triggers an action in the UI, an AJAX request is sent to
the server and attended by a controller, which will send back just a
JSON with the requested data (may be a list or a record from the DB).

The pros of this approach are obvious for the user, which would be
able to use a web application as a single-page website, with the
benefits of desktop software: good responsiveness and shortest delays
between actions.

As an example, the user can open two windows (JS modal windows) in the
same browser tab, each with different views (say the passenger list of
two different flights) at the same time for comparing, as well as to
move the windows around, resize them or edit different records at the
same time. This is not possible with the traditional intranet
approach, where requesting a view necessarily closes the previous
one.

Such an application needs to be extensible. A tiny core can be easily
built to provide a basic interface to customers, workers, targets and
flights, but a client may ask to a solution for managing terrestrial
transport (buses, drivers, stops, timetables...). Implementing this
into the core would add extra complexity and affect the stability for
sure.

This is why I'm interested and making some little research these days
about how to build a plugin architecture for a MVC application running
over PHP. AFAIK there wont be a problem in the client side, because
Javascript objects can be redeclared and extended easily, but none of
this can be done with PHP and Cake. Or at least that's what I have
came up to.

I find this is very interesting because such a plugin architecture can
be later applied to many other applications and scenarios.

Feel free to share your thoughts or experiences here in this thead.

--
jaime a t iteisa d o t com
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to 
cake-php+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to