isis-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GESCONSULTOR <o....@gesconsultor.com>
Subject Re: What is Apache Isis? Answer by analogy
Date Sun, 08 Sep 2013 15:39:03 GMT
Yes. That's a good analogy.

Working with Isis your focus is on the domain nearly always. 

When the UI will be fully customizable on later iterations the focus will be also there.




El 08/09/2013, a las 13:35, "Kevin Meyer - KMZ" <kevin@kmz.co.za> escribió:

> Folks: Our website is rather "dry" when it comes to describing "What 
> is Isis". I want to add a section somewhere (possibly starting with my 
> own blog, with something like the following). Any suggestions for 
> improvement / correcting mistakes are welcome!
> 
> 
> I was trying to describe Isis to some scientist colleagues the other 
> night with mixed success. A little later (in the shower, as is so often 
> the case), I realised quite a neat analogy: LaTeX [1]
> 
> In brief: To write a document (e.g. a PhD thesis) using LaTeX, all you 
> (typically) have to do is write the words of the content. There is a 
> syntax for "programming" mathematical formula and including 
> graphics, etc.
> As the author, you care only about "sectioning" - the proper use of 
> "chapter", "section", "subsection" tags, you don't worry about "styling" 
> (bold, 20pt, courier, etc).
> 
> Once you have your content, the final (styled) document is generated 
> using your sources and styling rules (your chosen style templates).
> 
> The result is a beautifully typeset document. Table of contents, index, 
> gloassary, bibliography, these all come for free if you obey some 
> simple rules and include the right "syntax" in your document "text".
> 
> The alternative is Word (or any other WYSIWYG word processor) - 
> you have complete control, but you can waste a lot of time with 
> fiddling the layout and the formatting. Not to mention the painful user 
> inteface workflow for defining and referencing bookmarks, references, 
> cross-references, etc.
> 
> 
> 
> Isis is a bit like LaTeX but for application development. You create 
> POJO's that are internally self-consistent (they enforce their own 
> rules) and Isis renders them to the user (and the repository, etc). 
> (With annotations you get "Word-like" control).
> For any property (e.g. Name) methods like "getName" and "setName" 
> support standard CRUD behaviour.
> But Isis goes way beyond CRUD by providing an extra metalanguage 
> for things like validation "validateName", visibility "visibleName", 
> editability "disableName" and many others (choicesName, 
> defaultName, etc).
> All the required logic is in the POJO itself.
> 
> The alternative is a GUI framework where you manually create 
> buttons, labels and fields. You probably even have to place (x,y 
> location) and size (length) them. Then you have code that binds them 
> to class properties... Think Visual Basic or Delphi[2]. Then have the 
> option of putting (validation, for example) all over the place (e.g. in 
> the GUI componet event handler, and the database interface code, or 
> in a Controller class) - talk about a maintenance nightmare!
> 
> So what is Isis?
> Isis is a framework that lets developers write self-contained code to 
> represent a (business) case. Isis examines that code, with its implied 
> rules, and automatically renders a UI and handles persistence - at 
> runtime. It can also expose the same business case to other services 
> while preserving all the encoded business rules (via a REST 
> interface), provide Authentication (login control) and Authorisation (is 
> this user allowed to do that?).
> 
> 
> 
> [1] http://en.wikipedia.org/wiki/LaTeX
> [2] http://en.wikipedia.org/wiki/Embarcadero_Delphi
> 

Mime
View raw message