Discussions

News: TSS Article: Using Naked Objects for Prototyping and Modeling

  1. Developers have traditionally had to choose between the benefits of rapid prototyping and of up-front modeling. This article examines how the Naked Objects Framework gives you the best of both approaches. When combined with various development environments, you can model simultaneously in UML, Java code and user perspectives, with all three in guaranteed synchronization.

    Read Naked Objects: Modeling simultaneously in UML, Java, and User Perspectives

    Threaded Messages (14)

  2. Modeling/Prototyping[ Go to top ]

    If you find this approach interesting, checkout VE, a comprehensive Java-based platform for model-driven development, at http://www.intelliun.com/

    You can model your domain objects and instantly execute them and validate their behavior via a web browser. Add public operations to an object, and they will show up as buttons whenever the object is served. Great way to validate the requirements with your domain experts without worring about low-level coding.

    You can also customize the look-and-feel of any object for any Actor (user) with a WYSIWYG browser based editor, without needing to know anything about HTML, JavaScript, JSP, etc. And with a click of a button, a full database schema will be generated based on the domain object model, with all of the necessary object-relational mapping.

    It would take bearly an hour to duplicate the example in the article, and maybe another hour to dress up the look-and-feel. Generate the database schema and you have a 3-tier fully functional application in 2 +/- hours.

    Checkout an overview of VE approach at http://www.intelliun.com/technology/approach-how.htm then get more details on VE/Designer and VE/Server.

    You can also watch the online demo at http://www.intelliun.com/technology/demos

    Read the white papers at http://www.intelliun.com/technology/whitepapers

    Or step through the detailed online tutorial at http://www.intelliun.com/developers/tutorials/accs/

    The technology is available free for download at http://www.intelliun.com/developers/downloads
  3. Modeling/Prototyping[ Go to top ]

    You write: "Generate the database schema and you have a 3-tier fully functional application in 2 +/- hours."

    You write that one needs to read a lot of things, install a lot of tools and learn a lot of things.

    Only if someone spends days of reading, installing, trouble shooting and practicing he can become fast in using the tool you mentioned.

    All these promises are going to fail because they are much too optimitic and the people who state this forgot how much time they spent to master all those things.
  4. Modeling/Prototyping[ Go to top ]

    With every new technology there is a learning curve that do usually involve reading and experimentation. We definitely haven't solved this problem.

    Nevertheless, learning VE, especially with OO and UML background is relatively less than learning yet another spec. in J2EE or Web services. Actually, you can look at VE as a great vehicle for learning OO as Smalltalk once was, because you see the result of your model and any change you make to it immediately.

    Model-driven development is the inevitable future of web application and Web services development. And, VE is the most aggressive technology today in making this a reality.
  5. Modeling/Prototyping[ Go to top ]

    Actually, you can look at VE as a great vehicle for learning OO as Smalltalk once was, because you see the result of your model and any change you make to it immediately.

    Nifty. Is the model interpreted or compiled?
  6. Commercial products adverts[ Go to top ]

    With all respect, and don't know if you work at that company, but it seems to me kind of rude, altough allowed, to use another development thread to publicity yours. Let me advice you to create your own thread and arguee there such things.

    Anyhow, cheers.
  7. Juan,
    as one of the authors of the article, many thanks for your polite message.

    If you agree with Juan, please mark the original posting as noisy so that this discussion can keep to the merits or otherwise of our article.

    Dan Haywood
  8. NOISY[ Go to top ]

    Lame.
  9. Cool[ Go to top ]

    Hey,

    I like this more and more with each new article! I'll have to find some time to actually try this out. To me the Together way of working is kinda natural, although at some point I usually move the code into Eclipse to get into production.. I just don't like the TCC editor..

    But Naked Objects seem almost as sexy as some other naked objects :-p

    Thanks guys.

    //ras
  10. Cool[ Go to top ]

    Thanks. We also like Eclipse as a development tool. We haven't yet tried out the Together-for-Eclipse plug-in, but this would hopefully give us the best of both worlds.

    Richard
  11. the TCC editor...[ Go to top ]

    I just don't like the TCC editor..


    No-one likes the TCC editor, not even Borland. They've just released Together running and integrated very nicely on top of JBuilder. Okay, it's not Eclipse, and it still costs an exhorbitant amount, but at least its a decent enough IDE. (the name of the product is "Enterprise Studio 7" ... marketing, doncha just love it).

    Actually, Borland also provide Together functionality on Eclipse, but I don't know if the pattern API is the same. And it still costs the same huge amount.

    One last thought, though ... I note that Borland have also made Together as a plug-in for VS.Net, for a rather more reasonable $199. Further to our last article about developing NO in .Net, that's something I'm going to look into (but obviously, no-one's gonna start developing in .Net just because of a cheaper editor. Interesting price differential, though...
  12. What I'd like to see for NO[ Go to top ]

    What I'd like to see for Naked Objects is the ability to use POJOs rather NO specific POJOs.

    Notably, you need to use their "primitive" types etc, e.g. you can't simply use String.

    For example, we have several objects that we're using here for our app. Simple JavaBeans. We have an introspective XML reader/writer that lets us stream them out and edit them. Not pretty, but it's beats nothing at all.

    It would be nice to be able to plop the root bean of our structure and have NO "magically" come up with a screen, but we can't. We'd have to rewrite the objects into the NO framework (which we don't use at all).

    I would like to see a simple proxy wrapper that could be quickly written to shroud a current object, thus making NO more useable for legacy code.
  13. Notably, you need to use their "primitive" types etc, e.g. you can't simply use String.


    The difference between java.lang.String and NO's equivalent, TextString, is that the former is an immutable value object whereas the latter is really a wrapper for a value, more akin to a StringBuffer.

    > I would like to see a simple proxy wrapper that could be quickly written to shroud a current object, thus making NO more useable for legacy code.

    I've been thinking about this topic, and I think that it would be quite feasible to represent the NO framework as an (admittedly rather substantial) aspect. If one took a set of POJOs then, with some suitably straightforward conventions, one could develop an aspect that would map POJO conventions to NO framework requirements.

    Richard Pawson has just sent out an invitation to the NO user community for a possible meeting in Apr-Jun timeframe in the UK. If you are interested, just respond.
  14. I understand that NO's primitive are simply aren't particularly different, but rather more NO aware (or NO is more aware of them).

    The proxy (or aspect, perhas) was something that I haven't put any real thought into either, but I did notice its lack almost immediately when playing a little bit with NO.

    Perhaps I should hook up with some NO mailing list or forum.

    (I was going to send you an email, but, to my surprise, there is no way to send an email from these message boards...)
  15. I looked through this series of articles hoping to get something more than just phrases that NO solves this and that problem. I would like to see how it does it. Especially, I do not like the comment that one of the authors is capturing the requirements during the session with the client in the form the author only understands or has experience with.
    If you could clearly walk through any fairly simple example (as VE demo does), it would only benefit the purpose of this series.
    So far reading the articles of this series rose the questions to the serverside owners. Did you really review what you publish on your web site?

    Thanks,

    David