SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
An Architectural Model for
Adapting Domain-Specific
    AOM Applications


   Patricia Matsumoto
    Eduardo Guerra
Understanding
   AOM
The domain model flexibility
is an essencial requirement in
the context of some
applications.
health      insurance   archeology




  defense        communications
AOM
   Adaptive Object Models
 An architectural style where classes,
attributes, relationships and behaviors
     are represented at runtime as
       instances using metadata.
AOM
Type Object
                            Patterns

              Properties




                           Type Square
Basic AOM
                     Structure



http://adaptiveobjectmodel.com/
Problems in
 Using AOM
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.
Persistence




Application               AOM Model
 Domain


              Domain                   Graphical
              specific!                Interface
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!
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.
How we can create domain-specific
AOM models and allow the reuse of
the components that deals with it?




              ?
Proposed Solution
Metadata
      Mapping




                               Generic
                              AOM Model




Application      Aplication
 Domain          AOM Model
metadata
                    mapping
    Aplication                      Generic
    AOM Model                      AOM Model




Has some domain-               Independent of
specific characteristics   application domain
and contains only           and is used by the
enough flexibility.              components.
Integration Model
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.
AOM Role Mapper
http://esfinge.sf.net
Metadata Handling
  A 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.
@EntityType
@Entity
@PropertyType
@EntityProperties
@EntityProperty
@PropertyTypeType
@PropertyValue
@CreateEntityMethod
@Entity
public class Account {

    @EntityType
    private AccountType accountType;
    …

    public AccountType getAccountType() {
       return accountType;
    }

    public void setAccountType(AccountType accountType) {
       this.accountType = accountType;
    }
}
Solution
Example
Solution Example
AOM Model Adapters
   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.
Model Manager
Provide a hotspot for persistence
components for model and instances.

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

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

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

                                                    Esfinge
                                Oghma
Not coupled to a domain
Make AOM development easy
Allow domain-specific AOM
Integrate external frameworks
Frameworks can be reused by
different AOM models
Validation
Application

                  Domain-specific
                    AOM Model
                 Generic AOM
                Model Adapters




  Persistence
  Framework      MongoDB
Two different AOM models were developed
   and mapped using the framework.
Application
MongoDB
Modularity Analysis
Domain only depends on the annotations
Frameworks depends on the AOM model
Applications depends on the API and AOM model
It is evaluated that
with this model is
possible to decouple
the application AOM
model from the
AOM frameworks
allowing their reuse.
However there are still
 many challenges in the
 AOM domain and for the
Esfinge AOM Role Mapper!
Thank You!

Más contenido relacionado

Similar a An Architectural Model for Adapting Domain-Specific AOM Applications

AIXM, WXXM, FIXM a unified approach to Modelling
AIXM, WXXM, FIXM a unified approach to ModellingAIXM, WXXM, FIXM a unified approach to Modelling
AIXM, WXXM, FIXM a unified approach to ModellingSnowflake Software
 
Automate document generation from sys ml models with rational rhapsody report...
Automate document generation from sys ml models with rational rhapsody report...Automate document generation from sys ml models with rational rhapsody report...
Automate document generation from sys ml models with rational rhapsody report...Bill Duncan
 
Automate document generation from SysML models with Rational Rhapsody Reporte...
Automate document generation from SysML models with Rational Rhapsody Reporte...Automate document generation from SysML models with Rational Rhapsody Reporte...
Automate document generation from SysML models with Rational Rhapsody Reporte...Bill Duncan
 
Aloa - A Web Services Driven Framework for Automatic Learning Objcet Annotation
Aloa - A Web Services Driven Framework for Automatic Learning Objcet AnnotationAloa - A Web Services Driven Framework for Automatic Learning Objcet Annotation
Aloa - A Web Services Driven Framework for Automatic Learning Objcet AnnotationMohamed Amine Chatti
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
Spring Architecture | Advanced Java
Spring Architecture | Advanced JavaSpring Architecture | Advanced Java
Spring Architecture | Advanced JavaVISHAL DONGA
 
Object Relational Mapping In Real World Applications
Object Relational Mapping In Real World ApplicationsObject Relational Mapping In Real World Applications
Object Relational Mapping In Real World ApplicationsPhilWinstanley
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools researchRoger Xia
 
ALOA: A Web Services Driven Framework for Automatic Learning Object Annotation
ALOA: A Web Services Driven Framework for Automatic Learning Object AnnotationALOA: A Web Services Driven Framework for Automatic Learning Object Annotation
ALOA: A Web Services Driven Framework for Automatic Learning Object AnnotationMohamed Amine Chatti
 
The six key steps to AEM architecture
The six key steps to AEM architectureThe six key steps to AEM architecture
The six key steps to AEM architectureAshokkumar T A
 
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...Sameh El-Ashry
 
Model2Roo - ACME
Model2Roo - ACMEModel2Roo - ACME
Model2Roo - ACMEjccastrejon
 
Manage Azure Cloud with ARM Templates
Manage Azure Cloud with ARM TemplatesManage Azure Cloud with ARM Templates
Manage Azure Cloud with ARM TemplatesManuj Aggarwal
 

Similar a An Architectural Model for Adapting Domain-Specific AOM Applications (20)

1 introduction
1 introduction1 introduction
1 introduction
 
MDA
MDAMDA
MDA
 
AIXM, WXXM, FIXM a unified approach to Modelling
AIXM, WXXM, FIXM a unified approach to ModellingAIXM, WXXM, FIXM a unified approach to Modelling
AIXM, WXXM, FIXM a unified approach to Modelling
 
6
66
6
 
Automate document generation from sys ml models with rational rhapsody report...
Automate document generation from sys ml models with rational rhapsody report...Automate document generation from sys ml models with rational rhapsody report...
Automate document generation from sys ml models with rational rhapsody report...
 
Automate document generation from SysML models with Rational Rhapsody Reporte...
Automate document generation from SysML models with Rational Rhapsody Reporte...Automate document generation from SysML models with Rational Rhapsody Reporte...
Automate document generation from SysML models with Rational Rhapsody Reporte...
 
Aloa - A Web Services Driven Framework for Automatic Learning Objcet Annotation
Aloa - A Web Services Driven Framework for Automatic Learning Objcet AnnotationAloa - A Web Services Driven Framework for Automatic Learning Objcet Annotation
Aloa - A Web Services Driven Framework for Automatic Learning Objcet Annotation
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
Spring Architecture | Advanced Java
Spring Architecture | Advanced JavaSpring Architecture | Advanced Java
Spring Architecture | Advanced Java
 
Introduction to MDA
Introduction to MDAIntroduction to MDA
Introduction to MDA
 
Object Relational Mapping In Real World Applications
Object Relational Mapping In Real World ApplicationsObject Relational Mapping In Real World Applications
Object Relational Mapping In Real World Applications
 
Gof design patterns
Gof design patternsGof design patterns
Gof design patterns
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools research
 
ERP_Up_Down.ppt
ERP_Up_Down.pptERP_Up_Down.ppt
ERP_Up_Down.ppt
 
ALOA: A Web Services Driven Framework for Automatic Learning Object Annotation
ALOA: A Web Services Driven Framework for Automatic Learning Object AnnotationALOA: A Web Services Driven Framework for Automatic Learning Object Annotation
ALOA: A Web Services Driven Framework for Automatic Learning Object Annotation
 
The six key steps to AEM architecture
The six key steps to AEM architectureThe six key steps to AEM architecture
The six key steps to AEM architecture
 
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
 
Model2Roo - ACME
Model2Roo - ACMEModel2Roo - ACME
Model2Roo - ACME
 
java
javajava
java
 
Manage Azure Cloud with ARM Templates
Manage Azure Cloud with ARM TemplatesManage Azure Cloud with ARM Templates
Manage Azure Cloud with ARM Templates
 

Último

Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

An Architectural Model for Adapting Domain-Specific AOM Applications

  • 1. An Architectural Model for Adapting Domain-Specific AOM Applications Patricia Matsumoto Eduardo Guerra
  • 3. The domain model flexibility is an essencial requirement in the context of some applications.
  • 4. health insurance archeology defense communications
  • 5. AOM Adaptive Object Models An architectural style where classes, attributes, relationships and behaviors are represented at runtime as instances using metadata.
  • 6. AOM Type Object Patterns Properties Type Square
  • 7. Basic AOM Structure http://adaptiveobjectmodel.com/
  • 9. 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.
  • 10. Persistence Application AOM Model Domain Domain Graphical specific! Interface
  • 11.
  • 12. 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!
  • 13. 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.
  • 14. How we can create domain-specific AOM models and allow the reuse of the components that deals with it? ?
  • 16. Metadata Mapping Generic AOM Model Application Aplication Domain AOM Model
  • 17. metadata mapping Aplication Generic AOM Model AOM Model Has some domain- Independent of specific characteristics application domain and contains only and is used by the enough flexibility. components.
  • 19. 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.
  • 21. Metadata Handling A 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.
  • 23. @Entity public class Account { @EntityType private AccountType accountType; … public AccountType getAccountType() { return accountType; } public void setAccountType(AccountType accountType) { this.accountType = accountType; } }
  • 26. AOM Model Adapters 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.
  • 27. Model Manager Provide a hotspot for persistence components for model and instances. Has an internal map to avoid to have duplication in the model. Entity types are identified by name and package, entities by the framework. A Visitor is used by frameworks to build the entities and entity types.
  • 28. ModelTalk Esfinge Oghma Not coupled to a domain Make AOM development easy Allow domain-specific AOM Integrate external frameworks Frameworks can be reused by different AOM models
  • 30. Application Domain-specific AOM Model Generic AOM Model Adapters Persistence Framework MongoDB
  • 31. Two different AOM models were developed and mapped using the framework.
  • 35. Domain only depends on the annotations
  • 36. Frameworks depends on the AOM model
  • 37. Applications depends on the API and AOM model
  • 38. It is evaluated that with this model is possible to decouple the application AOM model from the AOM frameworks allowing their reuse.
  • 39. However there are still many challenges in the AOM domain and for the Esfinge AOM Role Mapper!