Upload
neil-martino
View
216
Download
0
Embed Size (px)
Citation preview
7/31/2019 Introducing Apache is Is Slides
1/12
Introducing
Apache Isis
7/31/2019 Introducing Apache is Is Slides
2/12
Ubiquitous Language
With a conscious effort by the team, thedomain model can provide the backbone
for that common language
Eric Evans,Domain Driven Design
7/31/2019 Introducing Apache is Is Slides
3/12
What is Naked Objects ?
An Architectural Pattern automatically renders domain
objects in an OOUI
fits in with thehexagonal architecture
A Principle all business functionality is
encapsulated on thecore business objects
problem solver, not processfollower
A natural bed-fellow forDomain-Driven Design rapid prototyping &
development
7/31/2019 Introducing Apache is Is Slides
4/12
An example of theDRY Principle
The UI representations
correspond directly
with the underlying
domain 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
7/31/2019 Introducing Apache is Is Slides
5/12
What is Apache Isis ?
Apache Isis combines the naked objects pattern
with the hexagonal architecture
7/31/2019 Introducing Apache is Is Slides
6/12
Isis apps are just pojos
7/31/2019 Introducing Apache is Is Slides
7/12
The Isis Programming Model
Runtime support
Annotations
Business Rulesthrough Conventions
Behaviourally Complete
Pojo
Dependency injection
Bytecode enhancements
Declarative business rules
Rendering hints
see it
use it do it
know-whats
know-how-tos
contributed actions
Entity
Value
Repository & Services
7/31/2019 Introducing Apache is Is Slides
8/12
So what does the app look like?
Let's see...
mvn archetype:generate \-D archetypeGroupId=org.apache.isis.support \-D archetypeArtifactId=quickstart-archetype
7/31/2019 Introducing Apache is Is Slides
9/12
Resources
Apache Isis Incubator website links to the mailing list (isis-dev), IRC (#apache-isis)
links the wiki, JIRA
http://incubator.apache.org/isis how to use Isis quickstart archetype
Richard Pawsons original thesis on Naked Objects http://incubator.apache.org/isis/Pawson-Naked-Objects-thesis.pdf
Dan Haywoods book http://www.pragprog.com/titles/dhnako
Naked Objects on .NET http://nakedobjects.net
7/31/2019 Introducing Apache is Is Slides
10/12
T e DS :
Why?
Strategic
Agility
Strategic
Agility
Respond tounforeseenchanges inbusiness
requirements
Operational
Agility
Operational
Agility
Provide
clericalofficers with
greaterflexibility to
solvecustomers'problems
Technical
Agility
Technical
Agility
Accommodatechanges intechnology
7/31/2019 Introducing Apache is Is Slides
11/12
T e DS
What? Platform for the future generation of
business systems
the common BOM (a shared kernel)
a technology platform UI, remoting, bespoke ORM, ...
Specific applications replacing & extending existing
administration systems: State pensions, Free Travel, Household Benefits, ECS, ...
Overpayment/Debt Management system, Medical Referrals, ...
Integration with other systems, technologies and depts
BizTalk messaging, batch, scanning, barcodes, ...
Central Printing, SMS, other media, ...
7/31/2019 Introducing Apache is Is Slides
12/12
Why the DSP's Naked Objects systemmakes for an interesting story:
One of the purest examples of domain-driven design for a large-scale transactional
business application, anywhere in the worldExtreme re-use and sharing of objects between applications
Enables easy modification in response to changing business requirements
Domain-driven design
Possibly the first large-scale application of agile development within the public sector,
anywhere in the world
Agile Development
A rich user interface to a core transactional business system
Empowered Users
User interfaces 100% auto-generated from the underlying business objects
with no custom coding to write or to maintain
More opportunity to explore domain than otherwise possible
Powerful & Productive Environment