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 KevinMeyer
Date Wed, 18 Aug 2010 18:30:46 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 KevinMeyer.
The comment on this change is: Minor additions - added references to WebSphere Portal Server.
http://wiki.apache.org/incubator/IsisProposal?action=diff&rev1=4&rev2=5

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

  
  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.
  
- At the same time that we have been developing our ideas on the naked objects, there has
been a resurgent interest in object modeling at the enterprise level, specifically as described
by Eric Evans' book, Domain Driven Design.  Recognizing that there's a lot of synergy between
the two ideas, the NO framework now uses DDD terminology, such as repository, domain service
and value.
+ At the same time that we have been developing our ideas on the naked objects, there has
been a resurgent interest in object modelling at the enterprise level, specifically as described
by Eric Evans' book, Domain Driven Design.  Recognizing that there's a lot of synergy between
the two ideas, the NO framework now uses DDD terminology, such as repository, domain service
and value.
  
  As mentioned in the proposal section, Isis will consist of both the original NO framework,
along with a number of sister projects.  These sister projects were written by Dan Haywood
to support a book he wrote about the framework, Domain Driven Design using Naked Objects (Pragmatic
Bookshelf, 2009).  The intent of these projects was to demonstrate the pluggable nature of
the framework.
  
@@ -44, +44 @@

  
  Fourth, it removes doubt over its direction.  Currently the NO framework is ASLv2 but copyright
Naked Objects Group Ltd (NOGL), with Richard Pawson still the figurehead of the naked objects
movement.  As already mentioned, NOGL's energy is in their commercial .NET product.  They
are happy to donate the relevant rights to this software to Apache because it recognizes that
the framework is already critically dependent upon the open source community, so this is the
best way to encourage greater take up, and ensure its future.  Changing the name of the Java
version also means it removes confusion in the market place as to what Naked Objects framework
is (ie a .NET product only).  Meanwhile the rights to the various sister projects that Dan
has written would also be donated to ASF.   Having a single legal entity - ASF - owning rights
for all of this software would be very desirable; we think it might prompt others to explore
the framework.
  
- Fifth, the synergies with other Apache projects will help us meet our ambition to make the
framework easier to extend.  One of the sister projects provides a customizable viewer built
up using Wicket; similarly, we have started on an object store using CouchDB. While we do
understand that it isn't a goal of Apache per se to create a portfolio of frameworks, we do
hope that being part of the Apache family might encourage members of these other communities
to help us develop either those viewers/object stores.  In so doing the community will make
it easier to write viewers or object stores with other technologies, either Apache's own (eg
Click, Tapestry, MyFaces, Pivot, ...; Cayenne, HBase, iBATIS, OpenJPA, ...) or external. 
The 'domain services' angle of DDD also means there are opportunities to integrate with frameworks
that aren't just about presentation or persistence; in Dan's book he sketches out an integration
with Camel/ServiceMix; there are multiple opportunities here.
+ Fifth, the synergies with other Apache projects will help us meet our ambition to make the
framework easier to extend.  One of the sister projects provides a customizable viewer built
up using Wicket; similarly, we have started on an object store using CouchDB. While we do
understand that it isn't a goal of Apache per se to create a portfolio of frameworks, we do
hope that being part of the Apache family might encourage members of these other communities
to help us develop either those viewers/object stores.  In so doing the community will make
it easier to write viewers or object stores with other technologies, either Apache's own (eg
Click, Tapestry, MyFaces, Pivot, ...; Cayenne, HBase, iBATIS, OpenJPA, ...) or external (e.g.
[[http://www-01.ibm.com/software/websphere/portal/|WebSphere Portal Server]]).  The 'domain
services' angle of DDD also means there are opportunities to integrate with frameworks that
aren't just about presentation or persistence; in Dan's book he sketches out an integration
with Camel/ServiceMix; there are multiple opportunities here.
  
  Sixth, it isn't finished.  As has been pointed out to us, projects whose codebases are finished
don't make for good project candidates.  Isis, though, will probably never be truly finished.
 The hexagonal architecture, as we think of it, is about plugging in different presentation
and persistence layers.  There are lots of UI frameworks we haven't even started on (eg Vaadin,
JavaFX, Eclipse RCP, NetBeans RCP, Eclipse RAP, FLEX, Silverlight, ...), as well as lots of
new persistence stores (eg MongoDB, neo4j, Cassandra, db4o, BigTable, Amazon S3, JCloud …
).  There are also lots of development tools that could be built, either plugins into IDEs,
or into build tools such as Maven.
  
@@ -113, +113 @@

   * v 0.4 - wicket viewer release, couchdb release
   * v 0.5 - porting to apache implementations:  jpa persistor ported from hibernate to apache
openjpa; restful objects ported from resteasy to either apache wink and/or apache cxf
   * v 0.6 - manageability: integrate with JMX for runtime management; provide profiling of
client/server and webapps (eg serialization vs domain logic vs domain services vs object store
timings)
-  * v 0.7 - 
+  * v 0.7 - Portal integration: Examine and implement support for compatible portals. Under
consideration: [[http://www-01.ibm.com/software/websphere/portal/|WebSphere Portal Server]].
   * v 0.8 - 
   * v 0.9 - contract tests for all major plugin APIs (object stores, authentication, authorization,
remoting)
   * v 1.0 - 

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


Mime
View raw message