20
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

Embed Size (px)

Citation preview

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

MDD Inclusion of Navigational, Structural and RBAC Elements

for JSF and ASP.NET MVC Frameworks in UML Models

Humberto Cortés & Antonio NavarroDpto. Ingeniería del Software e Inteligencia Artificial

Universidad Complutense de MadridSpain

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

ISELEAR 2016 2

Index• Motivation• WAE4x Metamodels

• UML WAE• WAE4JSF• WAE4.NET

• WAE4x Profiles• WAE4JSF profile• WAE4.NET profile

• OdAJ2EE Models• Conclusions• Future Work

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

ISELEAR 2016 3

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

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

ISELEAR 2016 4

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

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

ISELEAR 2016 5

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

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

ISELEAR 2016 6

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

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

ISELEAR 2016 7

WAE4x MetamodelsUML WAE• UML WAE defines nine main stereotypes• Structural components

• client page• server page• form

• Navigational components• link• submit• forward• redirect

• Presentational components• frameset• target

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

ISELEAR 2016 8

WAE4x MetamodelsUML 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

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

ISELEAR 2016

WAE4x Metam.WAE4JSF

WAE4JSF MOF Metamodel

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

ISELEAR 2016

WAE4x Metam.WAE4.NET

WAE4.NET MOF Metamodel

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

ISELEAR 2016 11

WAE4X ProfilesWAE4JSF ProfileWAE4JSF concept UML stereotyped element WAE4JSF stereotypeJSF Classifier - -JSF Server Page Class JSF Server PageJSF Div Class JSF DivJSF Form Class JSF FormOutcome Class Outcometarget JSF Server Page from Outcome Directed association AccessManaged Bean Class Managed BeanAction n/a n/aStatic Link Directed association Static LinkDynamic Link Directed association Dynamic LinkStatic Submit Directed association Static SubmitDynamic Submit Directed association Dynamic SubmitReturn Condition Directed association ReturnTemplate Class TemplateTemplate Component Class Template ComponentJSF Server Page invoker of Template Directed association UseTemplate has Template Component Directed association IncludeRole Class RoleHas permission Directed association Has permissionUML-WAE Redirect Directed association RedirectUML-WAE Forward Directed association ForwardBusiness Logic Class Business Service

Representation of WAE4JSF MOF concepts with the WAE4JSF UML profile

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

ISELEAR 2016 12

WAE4X ProfilesWAE4.NET Profile

ASPX.NET concept UML stereotyped element ASPX.NET stereotypeASPX Classifier - -ASPX Server Page Class ASPX Sever PageASPX Div Class ASPX DivASPX Form Class ASPX FormController Class ControllerAction Class ActionAction Link Directed association Action LinkAction Submit Directed association Action SubmitReturn Condition Directed association ReturnMaster Page Class Master PagePlace Holder Class Place HolderASPX Server Page invoker of Master Page Directed association UseMaster Page has Place Holder Directed association IncludeRole Class RoleHas permission Directed association Has permissionBusiness Logic Class Business Service

Representation of WAE4.NET MOF concepts with the WAE4.NET UML profile

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

ISELEAR 2016 13

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

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

ISELEAR 2016 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

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

ISELEAR 2016 15

OdAJ2EE

OdAJ2EE screenshot for schema creation (NewSchemaPage)

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

OISELEAR 2016 16

OdAJ2EE

WAE4JSF model for new schema use case in OdAJ2EE

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

ISELEAR 2016 17

OdAJ2EE

WAE4.NET model for new schema use case in OdAJ2EE

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

ISELEAR 2016 18

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

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

ISELEAR 2016 19

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

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

MDD Inclusion of Navigational, Structural and RBAC Elements

for JSF and ASP.NET MVC Frameworks in UML Models

Humberto Cortés & Antonio NavarroDpto. Ingeniería del Software e Inteligencia Artificial

Universidad Complutense de MadridSpain