+ All Categories
Transcript
Page 1: An Architectural Model for Adapting Domain-Specific AOM Applications

An Architectural Model for An Architectural Model for Adapting Domain-Specific Adapting Domain-Specific

AOM ApplicationsAOM Applications

Patricia MatsumotoPatricia MatsumotoEduardo GuerraEduardo Guerra

Page 2: An Architectural Model for Adapting Domain-Specific AOM Applications

Understanding

AOM

Page 3: An Architectural Model for Adapting Domain-Specific AOM Applications

The domain model flexibility is an essencial requirement in the context of some applications.

Page 4: An Architectural Model for Adapting Domain-Specific AOM Applications

health insurance

defense communications

archeology

Page 5: An Architectural Model for Adapting Domain-Specific AOM Applications

AOMAdaptive Object Models

An architectural style where classes, attributes, relationships and behaviors

are represented at runtime as instances using metadata.

Page 6: An Architectural Model for Adapting Domain-Specific AOM Applications

Type Object

Properties

Type Square

AOM Patterns

Page 7: An Architectural Model for Adapting Domain-Specific AOM Applications

Basic AOM Structure

http://adaptiveobjectmodel.com/

Page 8: An Architectural Model for Adapting Domain-Specific AOM Applications

Problems inUsing AOM

Page 9: An Architectural Model for Adapting Domain-Specific AOM Applications

But it is very complicated to implement an AOM system,

because I need to implement all the model and all the components

that handle it.

Page 10: An Architectural Model for Adapting Domain-Specific AOM Applications

AOM ModelApplicationDomain

Persistence

Graphical Interface

Domainspecific!

Page 11: An Architectural Model for Adapting Domain-Specific AOM Applications
Page 12: An Architectural Model for Adapting Domain-Specific AOM Applications

An application usually creates an AOM specific to their domain,

and this fact make difficult the creation of more general

frameworks!

The components are stuck to their

domain!

Page 13: An Architectural Model for Adapting Domain-Specific AOM Applications

But the flexibility of an AOM should be only enough! We don't want a new programming language!

It is good to have the domain model close to our domain, because that can improve code readability

on the business rules.

Page 14: An Architectural Model for Adapting Domain-Specific AOM Applications

?

How we can create domain-specific AOM models and allow the reuse of the components that deals with it?

Page 15: An Architectural Model for Adapting Domain-Specific AOM Applications

Proposed SolutionProposed Solution

Page 16: An Architectural Model for Adapting Domain-Specific AOM Applications

Aplication AOM Model

Generic AOM Model

MetadataMapping

ApplicationDomain

Page 17: An Architectural Model for Adapting Domain-Specific AOM Applications

Has some domain-specific characteristics and contains only enough flexibility.

Independent of application domain

and is used by the components.

metadata mapping

Generic AOM Model

Aplication AOM Model

Page 18: An Architectural Model for Adapting Domain-Specific AOM Applications

Integration Model

Page 19: An Architectural Model for Adapting Domain-Specific AOM Applications

Metadata is used to map the roles of each element to the AOM generic model.

AOM generic model is used to adapt the domain-specific AOM model.

Frameworks only depends on the generic model and can be reused.

Page 20: An Architectural Model for Adapting Domain-Specific AOM Applications

AOM Role Mapper

http://esfinge.sf.net

Page 21: An Architectural Model for Adapting Domain-Specific AOM Applications

Metadata HandlingA Metadata Descriptor is used to represent metadata at runtime.

A Metadata Reader is used to read annotations, but others can be implemented.

A Metadata Repository is used to avoid unnecessary readings.

Page 22: An Architectural Model for Adapting Domain-Specific AOM Applications

@EntityType

@Entity

@PropertyType

@EntityProperties

@EntityProperty

@PropertyTypeType

@PropertyValue

@CreateEntityMethod

Page 23: An Architectural Model for Adapting Domain-Specific AOM Applications

@Entity public class Account {

@EntityType private AccountType accountType; …

public AccountType getAccountType() { return accountType; }

public void setAccountType(AccountType accountType) { this.accountType = accountType; } }

Page 24: An Architectural Model for Adapting Domain-Specific AOM Applications

Solution Example

Page 25: An Architectural Model for Adapting Domain-Specific AOM Applications

Solution Example

Page 26: An Architectural Model for Adapting Domain-Specific AOM Applications

Fixed properties on classes can be mapped to AOM properties.

Relationships are mapped using a different property implementation.

The AOM objects can be created using factories that instatiate the appropriate classes.

AOM Model Adapters

Page 27: An Architectural Model for Adapting Domain-Specific AOM Applications

Provide a hotspot for persistence components for model and instances.

Model Manager

Has an internal map to avoid to have duplication in the model.

Entity types are identified by name and package, entities by the framework.

Has an internal map to avoid to have duplication in the model.

A Visitor is used by frameworks to build the entities and entity types.

Page 28: An Architectural Model for Adapting Domain-Specific AOM Applications

Og

hma

Mod

elTa

lk

Esfin

ge

Not coupled to a domain

Make AOM development easy

Allow domain-specific AOM

Integrate external frameworksFrameworks can be reused by different AOM models

Page 29: An Architectural Model for Adapting Domain-Specific AOM Applications

Validation

Page 30: An Architectural Model for Adapting Domain-Specific AOM Applications

Application

Domain-specific AOM Model

Generic AOM Model Adapters

MongoDBPersistenceFramework

Page 31: An Architectural Model for Adapting Domain-Specific AOM Applications

Two different AOM models were developed and mapped using the framework.

Page 32: An Architectural Model for Adapting Domain-Specific AOM Applications

Application

Page 33: An Architectural Model for Adapting Domain-Specific AOM Applications

MongoDB

Page 34: An Architectural Model for Adapting Domain-Specific AOM Applications

Modularity Analysis

Page 35: An Architectural Model for Adapting Domain-Specific AOM Applications

Domain only depends on the annotations

Page 36: An Architectural Model for Adapting Domain-Specific AOM Applications

Frameworks depends on the AOM model

Page 37: An Architectural Model for Adapting Domain-Specific AOM Applications

Applications depends on the API and AOM model

Page 38: An Architectural Model for Adapting Domain-Specific AOM Applications

It is evaluated that with this model is possible to decouple the application AOM model from the AOM frameworks allowing their reuse.

Page 39: An Architectural Model for Adapting Domain-Specific AOM Applications

However there are still However there are still many challenges in the many challenges in the AOM domain and for the AOM domain and for the

Esfinge AOM Role Mapper!Esfinge AOM Role Mapper!

Page 40: An Architectural Model for Adapting Domain-Specific AOM Applications

Thank You!


Top Related