users
[Top] [All Lists]

DP in J2EE (was: Does corp. America still trust Java?)

To: users@xxxxxxxxxx, Edward Sumerfield <esumerfd@xxxxxxxxxxx>
Subject: DP in J2EE (was: Does corp. America still trust Java?)
From: Mark Windholtz <windholtz@xxxxxxxxx>
Date: Fri, 25 Feb 2005 09:11:08 -0500
Delivered-to: mailing list users@cinjug.org
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:references; b=LExXC9fxB39gt/u4R5FXGXz7fYvtIfJO+a9SFo0NQsJdfaF0HL+X6BXGTR0lTPH0XO5JryvbdKIfzs4rQkF9pXIdbo1+kpOpUTYQcHi0ZMWkbvv5iuABJhv4Vw+kXGxuvuOU3sct8YyoNOektaqSVmmZf8bYf3Hnj3px6kP2eXI=
In-reply-to: <01c201c51aaf$6e922e40$9702a8c0@junior>
Mailing-list: contact users-help@cinjug.org; run by ezmlm
References: <20050214171845.29476.qmail@web30702.mail.mud.yahoo.com> <BAY101-F145278522B716EAF9E5B04CC620@phx.gbl> <47260.216.68.236.9.1109269671.squirrel@216.68.236.9> <3a4860b405022411531b2b38d1@mail.gmail.com> <01c201c51aaf$6e922e40$9702a8c0@junior>
Reply-to: Mark Windholtz <windholtz@xxxxxxxxx>
Edward Sumerfield <esumerfd@xxxxxxxxxxx> wrote:
> 
> Assuming your reference to "DP style" development relates to more
> transaction oriented design, then java and C# are identical. Both can be
> used in either way.

 Yes.  Martin Fowler called this pattern: "Transaction Script"
  
 To me Data Processing style also involves the use of:
   * data structures (called Beans) 
      that have only data with gettters/setters.
   * Util classes to operate on the Data Structures
   * Managers, Services, and Helpers, etc, that do all the real processing.
   * And global public constants that are shared by multiple
algorithms scattered across the code base.

> 
> You said that "most development is in DP style". Why does this imply that a
> language is more or less biased toward that style just because that's what
> people do with it?
> 

  What people do with it creates the language culture.
  Perhaps some people could build OO programs in 
  a culture of DP, but it will always be fighting against the norm.
 

> Why can I not apply my OO design techniques to my DP app?
>

  You can.
  Often however, requirements are presented in terms of DP 
  vocabulary.  This makes building it in OO more difficult
  for the users to understand.

  DP is encouraged when requirements:
     * Specify the screens
     * Specify the DB schema
     * Specify the data fields, flags, switches, and codes
     * Specify the data transformations.

  Fitting that into an OO mold is another impedance mismatch.

  OO requirements would
     * talk in Business terms
     * Name the concepts involved (Classes)
     * Iterate furiously to refine understanding, and reduce concepts
to a minimum
     * define and place behavior (not data) into and among the classes 

     This requires business uses to talk in business language.
     However, I'm noticing that most Business users are now talking
     in terms of data and processing.  Not in their own native business
     language.   

     Many Business users speak DP.
     They expect DP solutions.
    
     So, to really do OO, the upstream expectation need to 
     be broadened.   The business users need to speak in
     their native language of concepts again.

    This is a switch in culture.  And will be difficult.

    The first step is for us Java folks to understand that
    what we have often been delivering is not OO.
    But at the core of most J2EE systems are
    data structures and processes, hence DP-style.

    Much of the common literature in Java has encouraged this.
    The J2EE blue prints, Struts, Entity Beans, etc.
    These all encourage a DP approach.

    So to do OO in J2EE, is often swimming against a
    powerful set of fundamental assumptions, and frameworks.

    Thats why I'm exploring the Ruby language and culture.
    The assumptions in Ruby are tilted heavily 
    toward Object Orientation.

    * requirements definition as behavior
    * iteration
    * testing
    These are all deep in the Ruby way of programming.
    <plug>
                   Ruby on Rails tutorial on March 1,
                   see:  www.objectwind.com/xp-cinci
                   see also yahoo groups:  xp-cincinnati
     </plug>

    I worry that trying to do OO in J2EE will often make 
    one a frustrated outsider.

> If missing the presentation has made these statements seem
> ridiculous then  please ignore.
>

  Not at all.  Thanks for asking.

Regards,
-Mark

<Prev in Thread] Current Thread [Next in Thread>