Basic principles

5 views
Skip to first unread message

prasadgc

unread,
Jul 22, 2008, 5:48:51 PM7/22/08
to SOFEA
OK, as suggested by Peter, I'm starting a new thread with a draft of
our basic principles.

1. Refactoring: Presentation Logic MUST be confined to the client.
Business Logic MUST be confined to the server.
=> The client MUST NOT contain any logic other than rendering and
(screen)flow logic. The client MUST call services for all business
logic.
=> The server side MUST be capable of supporting both visual and non-
visual clients.
2. Services: The server SHOULD conform to SOA principles and any of
the popular approaches to SOA (SOAP or REST)
3. Clients: The client SHOULD conform to an MVC architecture
4. Client/Server Interface: The interface between the client and the
server SHOULD support:
=> rigorously defined data formats
=> rich message exchange patterns (not just request/response)
=> additional qualities of service (security, etc.)

Justin suggests the following should not be part of the base
architecture but could be enforced by a variant like SOFEA, which also
treats 2 and 4 as MUSTs:

5. Client Deployment: The deployment of the client SHOULD be through
an independent mechanism, i.e., not dependent on the same server that
is used to host business logic. (The two capabilities may be co-hosted
on the same physical infrastructure but there MUST NOT be any logical
dependencies between them.)

Regards,
Ganesh

Mic

unread,
Jul 24, 2008, 4:01:30 AM7/24/08
to SOFEA
Hi Ganesh,
It would be nice to have together with these principles, a short
description of the objective(s) set by this group.
Thanks,
Mic

Peter Svensson

unread,
Jul 24, 2008, 4:15:01 AM7/24/08
to so...@googlegroups.com
Hi Mic,

We're a bunch of people with similar interests, you might say. Ganesh (and his team) has created the SOFEA specification, I have in much looser terms defined something called "Thin Server Architecture" and Mário have blogged about the future of web apps. Justin is co-developer of the JavaScriptMVC framework, which focus on separation of concerns.

All of us have one thing in common: The realization that there is a client in the browser and that server-sid templating (or any kind of View on the server) is an anti-pattern.

We're tossing around ideas to try to find a common ground for a 'unified' theory of web app building around that core idea.

At least that is my perspective. Please anyone, feel free to chuck in more info!

Cheers,
PS

Ganesh and Sashi Prasad

unread,
Jul 24, 2008, 7:08:41 AM7/24/08
to so...@googlegroups.com
I think that's a fair summary, Peter.

The only modification I would make is that we're not exclusively focused on *web* apps. In general, any kind of client-side presentation is fair game.

Regards,
Ganesh

2008/7/24 Peter Svensson <psve...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages