Introducing 

Prezi AI.

Your new presentation assistant.

Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.

Loading…
Transcript

Naked Objects

The Idea

MVC vs Naked Objects

Richard Pawson

  • Original idea behind MVC was to .."bridge the gap between the user’s mind and the computer held data"
  • Original MVC was later modified .."to become a technical solution that separated input, output and information... User's mind was somehow forgoten."
  • Naked Objects appear as an extension and implementation of original MVC idea and also as an important and independent contribution.
  • "...objects present themselves to the user in a standardized way."
  • "...user gets into direct contact with the model since the objects are shown without being cluttered or camouflaged by fancy graphics."

Naked Objects

  • Introduced by Richard Pawson in his PhD thesis
  • Also often described by Dan Haywood

MVC vs Naked Objects

TODO

Definition

Software Architecture pattern which:

  • Encapsulates business logic onto domain objects
  • UI is a direct representation of the domain objects
  • UI is fully created by the definition of domain objects using Reflection

First frameworks

"Perfection is finally attained not when there is no longer anything to add...

...but when there is no longer anything to take away...

...when a body has been stripped down to its nakedness."

There are other Frameworks for Java, .NET, C++ and PHP

Benefits

Limitations

  • Faster development cycle
  • Greater agility
  • Empowering style of user interface
  • Easier requirements analysis

The auto-generated OOUI is:

  • suitable for sovereign apps
  • but not for transient apps

Antoine de Saint-Exupery

Definition

  • Direct encapsulation of business logic onto domain objects
  • UI is a direct representation of the domain objects
  • Reflection is used to create automatically the UI from the definition of domain objects

Limitations

  • A faster development cycle
  • Greater agility
  • A more empowering style of UI
  • Easier requirement analysis

The auto-generated OOUI is:

  • suitable for sovereign apps
  • not for transient apps

Naked Objects

What is Apache Isis?

Thanks for your attention

Part One

Naked Objects

Our Presentation

Part Two

Apache Isis

  • A Java framework that creates domain-driven apps
  • Allows users to concern only about domain objects

Based on Naked Objects

Literature and References

-Group BraiV-

  • http://www.nakedobjects.org
  • http://incubator.apache.org/isis/index.html
  • http://en.wikipedia.org/wiki/Naked_objects

Use Cases

Isis in real world

  • It’s great for rapid prototyping
  • You can easily gain stakeholder feedback
  • Using Isis for your domain model helps prevent business logic creeping into adjacent layers

Schema

As webapp

fully-functional webapp are generated dynamically at runtime just from the domain model classes

Limitations

  • Not useful for big projects with need of customized user interfaces
  • Backend as it's just "reflecting" the domain model behaviour

RESTful webservice

  • allow a custom UI to be built against the RESTful API
  • REST is designed to be machine-readable, and so is an excellent choice for synchronous data interchange scenarios

Web Technologies – WS 2012/13

Domain Objects

Isis Programming Model

Time for examples...

Small live demo

Thomas Eck, Jelena Markovic, Bogdan Rebedeu, Spyridon Papadopoulos

Questions?

Apache Isis

Learn more about creating dynamic, engaging presentations with Prezi