toward a standardized xman presentation layer with consideration of user interface description...
DESCRIPTION
Bassel Saab and Mohamad Haji, “Toward a Standa rdized XMAN Presentation Layer with Consideration of User Interface Description Languages”, DeSE2011 Conference, Dubai, UAE, Dec 2011TRANSCRIPT
Department of Software Engineering and Information Systems,
Faculty of Information Technology (FIT),University of Damascus,
Damascus, Syria
Bassel F. Saab supervised by: Dr. Mohamed S. Hajji
Agenda Introduction XMAN REVIEW XML UIDLS REVIEW CRITERIA AND COMPARISON IMPLEMENTATION OF THE
PRESENTATION LAYER Conclusions & Future Work
XMAN 2
IntroductionModern Business
Rapid Application Development (RAD)
XML From Data Structure Exchanging to Software development
XMAN 3
What is XMAN Framework?XMAN is a Framework for Rapid
Development of Business Applications
The developers can specify the required application using a specific XML configuration files to describe: Application data modelApplication behavior
XMAN Framework produce the required application
XMAN 4
XMAN FrameworkIs
Multi-tier Open Architecture XML-CentricData-Centric Descriptive or DeclarativeSemi-MDA Framework
SupportsAspects of Change ManagementAspects of Security Management
XMAN 5
XMAN FrameworkProduced Applications
Rapid developmentData-CentricPowerful and flexible users’ security
management Easy to changeSupport simple processWeb application
XMAN 6
XMAN Main ComponentsDeveloper environment (GUI,XML)Engine
Persistence Management Business ManagementPresentation ManagementPrivilege Management
XMAN 7
Main Components-How they Work?
XMAN 8
Mr. DeveloperOr
Expert User
XMAN Engine
Mrs. End UserConfiguration Files
The Required Application
Main Configuration filesXPO
XMAN 9
Persistence Management
<XpoElement>< element_type>integer</element_type>
< element_name> ID </element_name>< Selector Field_id=“student_id>/ "
/<XpoElement><XpoElement>
< element_type>sting</element_type>< element_name> First Name</element_name>
< Selector Field_id="First_Name >/ "/<XpoElement>
…..
<<DB Table>>
student_profile
•Id•Name• …
Map
Main Configuration filesXView
XMAN 10
Business Management
<XViewElement> <Source> <Selector Selector_id="student_xpo" Field_id="id"/> </Source> </XViewElement><XViewElement> <Source>
<Selector Selector_id="student_xpo" Field_id="First Name"/> </Source> </XViewElement>
XPOUsed By
Main Configuration filesXPrivilege
XMAN 11
Business Management
<XprivilageElement>< Action>Update</Action>
< User Value="Bassel >/"< ViewComponent Source="Student_reg_view >"
< element_name>Acceptance</component_name>/< ViewComponent>
< constrain rule_ref=“FIT_registrar>/" /<XprivilageElement>
XView
Define the user permissions
Main Configuration filesXForm & XReport XTemplate
XRule
XMAN 12
Rule Management
Presentation Management
Architecture - Main Configuration files
XMAN 13
Persistence Layer
XPO XPO XPO
Business Layer
XView
XPrivilege
XView
XRule
Presentation Layer
XReport XTemplate XForm
Architecture - Main Components
XMAN 14
Persistence Layer
Business Layer
Presentation Layer
XManager
Persistence Manager
Presentation Manager
XPrivilege ManagerXRule Manager
XView ManagerAction Manager
XMAN Enhancement - UIDLs Motivation UIDLs: User Interface Definition
Languages Main efforts
Separating the purpose from the presentation
AUIML, AAIML, Seescoa XML, Teresa XML, TADEUS-XML، useML, RIML, DIAL, DISL, GIML
XMAN 15
Selected UIDLs - UIML User Interface Markup Language UIML Created by Virginia Tech’s Center for
Human Computer Interaction HCI, Harmonia Inc., and other organizations on uiml.org (http://www.uiml.org).
Work on UIML began in 1997 Last version UIML 4.0 was published in
2008
XMAN 16
Selected UIDLs - UIMLDescription into six orthogonal pieces, answering six questions :(1)What are the parts comprising the UI? (the <structure>). (2)What is the presentation (look/feel/sound) used for the parts? (the <style>). (3)What is the content (e.g., text, images, sounds) used in the UI? (the <content>). (4)What is the behavior of the UI (e.g., when someone clicks or says something)? (the <behavior>). (5)What is the mapping of the parts to UI controls in some toolkit (e.g., Java Swing classes or HTML tags)? (the <presentation>). (6)What is the API of the business logic that the UI is connected to? (the <logic>).
XMAN 17
Selected UIDLs - UIMLDownside:Does not allow the creation of user interfaces for the different languages or for different devices from a single description Not separating user interface elements from their presentation and lacking an explicit data model As it just offers a single language to define the different types of user interfaces, it does not allow the creation of user interfaces for the different languages or for different devices from a single descriptionThere is still a need to design separate UIs for each device
XMAN 18
Selected UIDLs - XIMLThe eXtensible Interface Markup Language
(XIML)The follower of MIMIC Provides a way to describe a user interface
without worrying about its implementation. It was initially developed by the research
laboratories of RedWhale Software Corp. It is now supported by the XIML forum
(http://www.ximl.org), an industrial organization dedicated to the research, the dissemination, the adoption, and the standardization of XIML
XMAN 19
Selected UIDLs - XIMLXIML divides the definition of an interface into components, high-level building blocks of an interface:1.Task (business processes) 2.Domain (defines a hierarchy of components)3.User (defines a hierarchy of end-users)4.Presentation, and Dialog (defines actions within the interface). Components are then mapped to Elements (concrete representations such as widgets). Using:1.Relations2.Attributes 3.Statements4.Definitions.
XMAN 20
Selected UIDLs – XIMLDownsideGleaning information on XIML from the freely available sources on the Internet is difficult. intended to lead to code generation at design time and code interpretation at runtime, no tool is available A possible problem is that it does not support third party extensions, or synchronization of the UI state It is unclear at this time exactly how these objects interact.
XMAN 21
Selected UIDLs – USIXMLUsiXML (http://www.usixml.org) Mainly supported by the Cameleon research
project (http://giove.cnuce.cnr.it/cameleon.html) under the umbrella of the European Fifth and Sixth Framework Programme (FP5-2000-IST2, FP6-2002-IST1) and the SIMILAR network of excellence (http://www.similar.cc)
“µ7” concept:multi-device, multi-user, multi-linguality, multi-
organisation, multi-context, multi-modality, and multi-platform
XMAN 22
Selected UIDLs – USIXMLdevelopment life cycle into four levels of abstraction:1.Task and Concepts, 2.Abstract UI (AUI), 3.Concrete UI (CUI)4.Final UI (FUI)
XMAN 23
Selected UIDLs – USIXML
One of the mostly integrated UIDL that addresses platform-, modality-, and context-independence
XMAN 24
Selected UIDLs – XFormsXForms 1.0 Recommendation is the next-
generation Web forms language, designed by the W3C.
It solves some of the problems found in the HTML forms by separating the purpose from the presentation and using declarative markup to describe the most common operations in form-based applications
XForms 1.0 (Third Edition) was published on 29 October 2007.
The original XForms specification was made an official W3C Recommendation on 14 October 2003, while XForms 1.1, which introduced a number of improvements, reached the same status on 20 October 2009.
XMAN 25
Selected UIDLs – XFormsXForms separates the presentation from the dataAllowing reuse and device independence. Integrated into other markup languages, such as
XHTML , SVG or any suitable markup languageXForms is an abstract user interface description
language. XForms 1.0 includes other W3C specifications
directly: XML Events, XPath 1.0, XML Schema Datatypes, and XML 1.0.
XMAN 26
Selected UIDLs – XFormsXForms is a W3C initiative Express forms-based UIs at a level that is more
abstract than supposed-to be physical HTML descriptions.
In some way, this initiative addresses the question of multiple computing platforms.
Although XForms is promoted by the W3C, thus giving it the widest potential audience abroad.
XForms is basically aimed at expressing forms-based UIs with presentation and some dialog aspects
XMAN 27
UIDLs Comparison – Cretria 1. Standardization 2. Separation of concern.3. Independency 4. Supported XML-Based languages5. Integration6. Available Tools7. XMAN Deployment
XMAN 28
UIDLs Comparison – Results
XMAN 29
Criteria/ UIDL1234567Total
UIML++++-+-++5- ,2
XIML-++++-++5- ,2
UsiXML-+++++++++8- ,1
XForms+++++++++++++12
Integration Approaches Model-based approach Browsers-based approach Transcode approach
XMAN 30
Available ToolsChiba
http://chiba.sourceforge.netOrbeon
http://www.orbeon.combetterFORM
http://www.betterform.de
XMAN 31
Integration Rules Playing CRUDS with forms in XMAN applications
depends on XPrivilege which determine every User (or group) - XView (at elements level) privileges.
Using betterXForm and XFORMS replacing XMAN-XForm and XReport configuration files, XTemplate still there with some additions to its basic rule.
Then XViews, in XMAN business layer, mapped to the XForms model in the generated form. A complete XView or part of it could be mapped to one or more XForms models in the generated forms.
Every generated form have to provide CRUDS functions, with respect to the related XPrivileges. The relations among CRUDS screens could be configured.
User Interface in the generated Form configured using XTemplate.
XMAN 32
Integration Rules Using dynamic binding, XTemplate configurations can be specified
for any generated form, and could be linked to Context, User or Group (this point needs extra research).
Instance data fetched in run time using dynamic binding. BizManager, with corporation with ActionManager and PrivilegeManager in XMAN business layer, provide the required instance data.
Form controls generated from the form model applying the mapping rules and styles defined in XTemplates.
To use new widget some configurations needed in the declarative Useragents in betterFORM.
Controls validation follows the related business rules defined in the business layer.
Controls binding follows Master-Details model and some Validation rules.
Other possible dynamic behaviors of the form elements could be declared in the generated forms. Detect these declarations is essential for the change management.
The XForms submitting determined dynamically by the BizManager in XMAN business layer, this allow a dynamic linking, behavior and flow for the forms of the XMAN developed applications.
XMAN 33
Conclusions & Future WorkDevelopment of applications in full or in
part through the different componentsThe XMAN configuration files and
components helps RAD and facilitate change management
Based on employing and integrating a number of the most important standards and frameworks currently known
XMAN 34
Conclusions
XMAN 35
XMAN
XMAN 36