MDD Inclusion of Navigational,
Structural and RBAC Elements
for JSF and ASP.NET MVC
Frameworks in UML Models
Humberto Cortés & Antonio Navarro
Dpto. Ingeniería del Software e Inteligencia Artificial
Universidad Complutense de Madrid
Spain
Index
• Motivation
• WAE4x Metamodels
• UML WAE
• WAE4JSF
• WAE4.NET
• WAE4x Profiles
• WAE4JSF profile
• WAE4.NET profile
• OdAJ2EE Models
• Conclusions
• Future Work
ISELEAR 2016 2
Motivation
• Educational applications are becoming complex enterprise
applications
• Enterprise Application (Fowler, 2002):
• Persistent data
• A lot of data
• Concurrent access to these data
• A lot of user interface screens
• Integration with other enterprise applications
• Conceptual dissonance within data
• Complex business logic and illogic
ISELEAR 2016 3
Motivation
• Enterprise applications tiers:
• Client
• Presentation
• Business logic
• Integration
• Resource tier
• Oracle JSF (JavaServer Faces) and Microsoft ASP.NET MVC (Active
Server Pages.NET Model-View Controller) are enterprise frameworks
for the presentation tier
ISELEAR 2016 4
Motivation
• Modelling approaches for the presentation tier:
• Modelling-oriented
• UML WAE (UML Web Application Extension) (Conallen, 1999)
• IFML (Interaction Flow Modeling Language) (OMG, 2014)
• RMM (Relationship Management Methodology)-based (Isakowitz, 1995)
• WebML (Web Modeling Language) (Ceri, Fraternali & Bongio, 2000)
• UWE (UML-based Web Engineering) (Hennicker & Koch, 2001)
• OOH4RIA (Object-Oriented Hypermedia 4RIA) (Meliá, Gómez, Pérez & Díaz, 2010)
• Low-code oriented
• Mendix
• OutSystems
ISELEAR 2016 5
Motivation
• These approaches are right, but we wanted a simple UML extension able
to characterize the presentatior tier of enterprise applications
• WAE4x: WAE4JSF & WAE4.NET MVC
• Two lightweight profiles for the characterization of the presentation tier of
JSF/ASP.NET MVC applications
• In the rest of tiers plain UML can be used. Thus, any multitier and security
pattern can be used in UML designs
• Because our models are platform-specific models (PSMs), they can be directly
translated into code
• Role-Based Access Control (RBAC) supported
• This extension is used in the modelling of OdAJ2EE
ISELEAR 2016 6
WAE4x Metamodels
UML WAE
• UML WAE defines nine main stereotypes
• Structural components
• client page
• server page
• form
• Navigational components
• link
• submit
• forward
• redirect
• Presentational components
• frameset
• target
ISELEAR 2016 7
WAE4x Metamodels
UML WAE
• We have extended UML WAE with two new MOF metamodels that
have been translated into two new UML profiles
• WAE4JSF: 20 stereotypes
• WAE4.NET: 15 stereotypes
ISELEAR 2016 8
WAE4x Metam.
WAE4JSF
ISELEAR 2016
WAE4JSF MOF Metamodel
WAE4x Metam.
WAE4.NET
ISELEAR 2016
WAE4.NET MOF Metamodel
WAE4X Profiles
WAE4JSF Profile
WAE4JSF concept UML stereotyped element WAE4JSF stereotype
JSF Classifier - -
JSF Server Page Class JSF Server Page
JSF Div Class JSF Div
JSF Form Class JSF Form
Outcome Class Outcome
target JSF Server Page from Outcome Directed association Access
Managed Bean Class Managed Bean
Action n/a n/a
Static Link Directed association Static Link
Dynamic Link Directed association Dynamic Link
Static Submit Directed association Static Submit
Dynamic Submit Directed association Dynamic Submit
Return Condition Directed association Return
Template Class Template
Template Component Class Template Component
JSF Server Page invoker of Template Directed association Use
Template has Template Component Directed association Include
Role Class Role
Has permission Directed association Has permission
UML-WAE Redirect Directed association Redirect
UML-WAE Forward Directed association Forward
Business Logic Class Business Service
ISELEAR 2016 11
Representation of WAE4JSF MOF concepts with the WAE4JSF UML profile
WAE4X Profiles
WAE4.NET Profile
ASPX.NET concept UML stereotyped element ASPX.NET stereotype
ASPX Classifier - -
ASPX Server Page Class ASPX Sever Page
ASPX Div Class ASPX Div
ASPX Form Class ASPX Form
Controller Class Controller
Action Class Action
Action Link Directed association Action Link
Action Submit Directed association Action Submit
Return Condition Directed association Return
Master Page Class Master Page
Place Holder Class Place Holder
ASPX Server Page invoker of Master Page Directed association Use
Master Page has Place Holder Directed association Include
Role Class Role
Has permission Directed association Has permission
Business Logic Class Business Service
ISELEAR 2016 12
Representation of WAE4.NET MOF concepts with the WAE4.NET UML profile
OdAJ2EE
• OdAJ2EE (Navarro et al. 2013):
• Online Learning Object Repository (LOR)
• Designed to define and manage Hybrid Learning Objects (HLOs)
• HLOs use metadata dynamically defined from domain-specific relational
databases
• A complex enterprise application
• JSF
• JAAS (Java Authentication and Authorization Service)
• JPA (Java Persistence API)
• About 100 JSF pages in the presentation tier
ISELEAR 2016 13
OdAJ2EE
• Use case: new relational schema for metadata
• Template-based user interface
• Existent schemas are previously loaded
• A new schema is defined
• The new name is validated
• The use case ends with success of with a fail
• JAAS RBAC
ISELEAR 2016 14
OdAJ2EE
ISELEAR 2016 15
OdAJ2EE screenshot for schema creation (NewSchemaPage)
OdAJ2EE
OISELEAR 2016 16
WAE4JSF model for new schema use case in OdAJ2EE
OdAJ2EE
ISELEAR 2016 17
WAE4.NET model for new schema use case in OdAJ2EE
Conclusions
• Educational applications are becoming complex enterprise
applications
• UML4x:
• Lightweight UML WAE extension for JSF/ASP.NET MVC
• Any multitier and security pattern can be used
• Models are directly translatable into code
• RBAC Support
• Tested with OdaJ2EE
• JSF: component-based vs. ASP.NET MVC action-based
ISELEAR 2016 18
Future Work
• Definition of a platform-independent metamodel that abstracts the
common elements present in WAE4x metamodels
• Technological movement from Borland Together to open source
frameworks
• Reverse engineering machinery
• WAE4x extension
• Other frameworks (e.g. Spring MVC)
• Other JSF/ASP.NET MVC features
ISELEAR 2016 19
MDD Inclusion of Navigational,
Structural and RBAC Elements
for JSF and ASP.NET MVC
Frameworks in UML Models
Humberto Cortés & Antonio Navarro
Dpto. Ingeniería del Software e Inteligencia Artificial
Universidad Complutense de Madrid
Spain

MDD Inclusion of Navigational, Structural and RBAC Elements for JSF and ASP.NET MVC Frameworks in UML Models

  • 1.
    MDD Inclusion ofNavigational, Structural and RBAC Elements for JSF and ASP.NET MVC Frameworks in UML Models Humberto Cortés & Antonio Navarro Dpto. Ingeniería del Software e Inteligencia Artificial Universidad Complutense de Madrid Spain
  • 2.
    Index • Motivation • WAE4xMetamodels • UML WAE • WAE4JSF • WAE4.NET • WAE4x Profiles • WAE4JSF profile • WAE4.NET profile • OdAJ2EE Models • Conclusions • Future Work ISELEAR 2016 2
  • 3.
    Motivation • Educational applicationsare becoming complex enterprise applications • Enterprise Application (Fowler, 2002): • Persistent data • A lot of data • Concurrent access to these data • A lot of user interface screens • Integration with other enterprise applications • Conceptual dissonance within data • Complex business logic and illogic ISELEAR 2016 3
  • 4.
    Motivation • Enterprise applicationstiers: • Client • Presentation • Business logic • Integration • Resource tier • Oracle JSF (JavaServer Faces) and Microsoft ASP.NET MVC (Active Server Pages.NET Model-View Controller) are enterprise frameworks for the presentation tier ISELEAR 2016 4
  • 5.
    Motivation • Modelling approachesfor the presentation tier: • Modelling-oriented • UML WAE (UML Web Application Extension) (Conallen, 1999) • IFML (Interaction Flow Modeling Language) (OMG, 2014) • RMM (Relationship Management Methodology)-based (Isakowitz, 1995) • WebML (Web Modeling Language) (Ceri, Fraternali & Bongio, 2000) • UWE (UML-based Web Engineering) (Hennicker & Koch, 2001) • OOH4RIA (Object-Oriented Hypermedia 4RIA) (Meliá, Gómez, Pérez & Díaz, 2010) • Low-code oriented • Mendix • OutSystems ISELEAR 2016 5
  • 6.
    Motivation • These approachesare right, but we wanted a simple UML extension able to characterize the presentatior tier of enterprise applications • WAE4x: WAE4JSF & WAE4.NET MVC • Two lightweight profiles for the characterization of the presentation tier of JSF/ASP.NET MVC applications • In the rest of tiers plain UML can be used. Thus, any multitier and security pattern can be used in UML designs • Because our models are platform-specific models (PSMs), they can be directly translated into code • Role-Based Access Control (RBAC) supported • This extension is used in the modelling of OdAJ2EE ISELEAR 2016 6
  • 7.
    WAE4x Metamodels UML WAE •UML WAE defines nine main stereotypes • Structural components • client page • server page • form • Navigational components • link • submit • forward • redirect • Presentational components • frameset • target ISELEAR 2016 7
  • 8.
    WAE4x Metamodels UML WAE •We have extended UML WAE with two new MOF metamodels that have been translated into two new UML profiles • WAE4JSF: 20 stereotypes • WAE4.NET: 15 stereotypes ISELEAR 2016 8
  • 9.
  • 10.
  • 11.
    WAE4X Profiles WAE4JSF Profile WAE4JSFconcept UML stereotyped element WAE4JSF stereotype JSF Classifier - - JSF Server Page Class JSF Server Page JSF Div Class JSF Div JSF Form Class JSF Form Outcome Class Outcome target JSF Server Page from Outcome Directed association Access Managed Bean Class Managed Bean Action n/a n/a Static Link Directed association Static Link Dynamic Link Directed association Dynamic Link Static Submit Directed association Static Submit Dynamic Submit Directed association Dynamic Submit Return Condition Directed association Return Template Class Template Template Component Class Template Component JSF Server Page invoker of Template Directed association Use Template has Template Component Directed association Include Role Class Role Has permission Directed association Has permission UML-WAE Redirect Directed association Redirect UML-WAE Forward Directed association Forward Business Logic Class Business Service ISELEAR 2016 11 Representation of WAE4JSF MOF concepts with the WAE4JSF UML profile
  • 12.
    WAE4X Profiles WAE4.NET Profile ASPX.NETconcept UML stereotyped element ASPX.NET stereotype ASPX Classifier - - ASPX Server Page Class ASPX Sever Page ASPX Div Class ASPX Div ASPX Form Class ASPX Form Controller Class Controller Action Class Action Action Link Directed association Action Link Action Submit Directed association Action Submit Return Condition Directed association Return Master Page Class Master Page Place Holder Class Place Holder ASPX Server Page invoker of Master Page Directed association Use Master Page has Place Holder Directed association Include Role Class Role Has permission Directed association Has permission Business Logic Class Business Service ISELEAR 2016 12 Representation of WAE4.NET MOF concepts with the WAE4.NET UML profile
  • 13.
    OdAJ2EE • OdAJ2EE (Navarroet al. 2013): • Online Learning Object Repository (LOR) • Designed to define and manage Hybrid Learning Objects (HLOs) • HLOs use metadata dynamically defined from domain-specific relational databases • A complex enterprise application • JSF • JAAS (Java Authentication and Authorization Service) • JPA (Java Persistence API) • About 100 JSF pages in the presentation tier ISELEAR 2016 13
  • 14.
    OdAJ2EE • Use case:new relational schema for metadata • Template-based user interface • Existent schemas are previously loaded • A new schema is defined • The new name is validated • The use case ends with success of with a fail • JAAS RBAC ISELEAR 2016 14
  • 15.
    OdAJ2EE ISELEAR 2016 15 OdAJ2EEscreenshot for schema creation (NewSchemaPage)
  • 16.
    OdAJ2EE OISELEAR 2016 16 WAE4JSFmodel for new schema use case in OdAJ2EE
  • 17.
    OdAJ2EE ISELEAR 2016 17 WAE4.NETmodel for new schema use case in OdAJ2EE
  • 18.
    Conclusions • Educational applicationsare becoming complex enterprise applications • UML4x: • Lightweight UML WAE extension for JSF/ASP.NET MVC • Any multitier and security pattern can be used • Models are directly translatable into code • RBAC Support • Tested with OdaJ2EE • JSF: component-based vs. ASP.NET MVC action-based ISELEAR 2016 18
  • 19.
    Future Work • Definitionof a platform-independent metamodel that abstracts the common elements present in WAE4x metamodels • Technological movement from Borland Together to open source frameworks • Reverse engineering machinery • WAE4x extension • Other frameworks (e.g. Spring MVC) • Other JSF/ASP.NET MVC features ISELEAR 2016 19
  • 20.
    MDD Inclusion ofNavigational, Structural and RBAC Elements for JSF and ASP.NET MVC Frameworks in UML Models Humberto Cortés & Antonio Navarro Dpto. Ingeniería del Software e Inteligencia Artificial Universidad Complutense de Madrid Spain