Introducing… Apache Isis. Ubiquitous Language With a conscious effort by the team, the domain...
-
Upload
nelson-warren -
Category
Documents
-
view
212 -
download
0
Transcript of Introducing… Apache Isis. Ubiquitous Language With a conscious effort by the team, the domain...
Introducing…Introducing…Apache IsisApache Isis
Ubiquitous LanguageUbiquitous Language
With a conscious effort by the team, the domain model can provide the
backbone for that common languageEric Evans,
Domain Driven Design
What is Apache Isis?What is Apache Isis?
Isis Use CasesIsis Use Cases
prototypepojo
domain model
deploy as thedomain model
in your own app
deploy as anauto-generated
RESTful web service
deploy as aauto-generated
webapp
specify, develop
domain model &unit test
with Isis persistence or
with custom persistence
JUnit integrationBDD integration
Isis’programming modeland optionally
custom extensions
Isis apps are just pojosIsis apps are just pojos
The Isis Programming ModelThe Isis Programming Model
So, what does the app look So, what does the app look like?like?
• Isis Online Demo
• Maven archetypemvn archetype:generate \ -D archetypeGroupId=org.apache.isis.support \ -D archetypeArtifactId=quickstart-archetype
Apache Isis’ ArchitectureApache Isis’ Architecture
ResourcesResources• Apache Isis Incubator website– http://incubator.apache.org/isis– links to the mailing list
• mailto:[email protected] – links to the wiki and to JIRA– describes how to use Isis’ quickstart archetype
• Isis Online Demo– http://mmyco.co.uk:8180/isis-onlinedemo
• Restful Objects spec– http://restfulobjects.org – as implemented by the json (REST) viewer
Naked ObjectsNaked Objects
Don’t Repeat YourselfDon’t Repeat Yourself
• The UI representationscorrespond directlywith the underlyingdomain object model
• So, for instance:– objects instances exposed as icons– object properties / collections exposed in forms– object methods exposed as menu items
• eg Claim#submit(Approver)– repositories/domain services exposed as desktop icons
• eg ClaimRepository, EmployeeRepository
The DSP:The DSP:
Why?Why?
The DSPThe DSP
What?What?
Why the DSP's Naked Objects system Why the DSP's Naked Objects system makes for an interesting story:makes for an interesting story:
Naked Objects ResourcesNaked Objects Resources
• Richard Pawson’s original thesis on Naked Objects– http://incubator.apache.org/isis/Pawson-Naked-Objects-thesis.pdf
• Richard Pawson andRob Matthew’s book
• Dan Haywood’s book– http://www.pragprog.com/titles/dhnako
• Naked Objects MVC– http://nakedobjects.net – also implements the Restful Objects spec