incubator-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Incubator Wiki] Trivial Update of "IsisProposal" by MohammadNour
Date Tue, 24 Aug 2010 09:20:40 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Incubator Wiki" for change notification.

The "IsisProposal" page has been changed by MohammadNour.
http://wiki.apache.org/incubator/IsisProposal?action=diff&rev1=7&rev2=8

--------------------------------------------------

  == Background ==
  Naked Objects is an open source Java framework that was originally developed to explore
the idea of enterprise systems that treat the user as a "problem solver, not a process follower".
 Conceived by Richard Pawson, the first version of the framework was written by Robert Matthews
(2002).  Richard and Rob also wrote a book, Naked Objects (Wiley, 2002), to explain the idea.
  
- More generally, Naked Objects is an implementation of the naked objects architectural pattern.
 In its purest form, "all" the developer has to do is develop their domain model as pojos;
Naked Objects then provides: a user interface by rendering those pojos; persistence by extracting
the content of the pojos; security by wrapping access to the pojos; remoting by turning local
calls into remote ones; and localisation by adapting all the names used in the metamodel.
 All of this is done reflectively at runtime so that the developer can concentrate on the
most important aspect - the application itself.  You can think UI generation as analogous
to Hibernate and other ORMs, but rather than reflecting the pojo into the persistence layer,
they are reflected into the presentation layer.  A number of other open source frameworks
cite it as their inspiration, including JMatter, OpenXava, and Trails.
+ More generally, Naked Objects is an implementation of the naked objects architectural pattern.
 In its purest form, "all" the developer has to do is develop their domain model as pojos;
Naked Objects then provides: a user interface by rendering those pojos; persistence by extracting
the content of the pojos; security by wrapping access to the pojos; remoting by turning local
calls into remote ones; and localisation by adapting all the names used in the metamodel.
 All of this is done reflectively at runtime so that the developer can concentrate on the
most important aspect - the application itself.  You can think UI generation as analogous
to Hibernate and other ORMs, but rather than reflecting the pojo into the persistence layer,
they are reflected into the presentation layer.  A number of other open source frameworks
cite it as their inspiration, including JMatter, !OpenXava, and Trails.
  
  Over this time Naked Objects has attracted a fair degree of attention among the early adopter
crowd, generally splitting opinion as either a very good idea or a very bad one.  A common
misconception is that naked objects is only appropriate for simple CRUD based applications.
 While developing CRUD applications is indeed trivial, an important innovation is that the
UI generated by NO also renders the pojo's commands/behaviors (we call them actions).  Simply
stated: any public method that does not represent a property or collection is rendered so
it can be invoked, eg with a button, a menu item or a hyperlink.  We characterize entities
with such behaviors as "behaviorally complete".  It's OO as your mother taught it to you.
  

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@incubator.apache.org
For additional commands, e-mail: cvs-help@incubator.apache.org


Mime
View raw message