Upload
technological-ecosystems-for-enhancing-multiculturality
View
14
Download
1
Embed Size (px)
Citation preview
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
ISELEAR 2016 2
Index• Motivation• WAE4x Metamodels
• UML WAE• WAE4JSF• WAE4.NET
• WAE4x Profiles• WAE4JSF profile• WAE4.NET profile
• OdAJ2EE Models• Conclusions• Future Work
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
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
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
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
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
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
ISELEAR 2016
WAE4x Metam.WAE4JSF
WAE4JSF MOF Metamodel
ISELEAR 2016
WAE4x Metam.WAE4.NET
WAE4.NET MOF Metamodel
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
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
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
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
ISELEAR 2016 15
OdAJ2EE
OdAJ2EE screenshot for schema creation (NewSchemaPage)
OISELEAR 2016 16
OdAJ2EE
WAE4JSF model for new schema use case in OdAJ2EE
ISELEAR 2016 17
OdAJ2EE
WAE4.NET model for new schema use case in OdAJ2EE
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
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
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