Bassel Saab and Mohamad Haji, “Toward a Standa rdized XMAN Presentation Layer with Consideration of User Interface Description Languages”, DeSE2011 Conference, Dubai, UAE, Dec 2011
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages
1. Bassel F. Saab
supervised by: Dr. Mohamed S. Hajji
Department of Software Engineering and Information Systems,
Faculty of Information Technology (FIT),
University of Damascus,
Damascus, Syria
2. Agenda
Introduction
XMAN REVIEW
XML UIDLS REVIEW
CRITERIA AND COMPARISON
IMPLEMENTATION OF THE
PRESENTATION LAYER
Conclusions & Future Work
XMAN 2
3. Introduction
Modern Business
Rapid Application Development (RAD)
XML
From Data Structure Exchanging to
Software development
XMAN 3
4. 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 model
Application behavior
XMAN Framework produce the required
application
XMAN 4
5. XMAN Framework
Is
Multi-tier
Open Architecture
XML-Centric
Data-Centric
Descriptive or Declarative
Semi-MDA Framework
Supports
Aspects of Change Management
Aspects of Security Management
XMAN 5
6. XMAN Framework
Produced Applications
Rapid development
Data-Centric
Powerful and flexible users’ security
management
Easy to change
Support simple process
Web application
XMAN 6
15. 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
16. 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
17. Selected UIDLs - UIML
Description into six orthogonal pieces, answering six
questions :
What are the parts comprising the UI? (the
<structure>).
What is the presentation (look/feel/sound) used for the
parts? (the <style>).
What is the content (e.g., text, images, sounds) used in
the UI? (the <content>).
What is the behavior of the UI (e.g., when someone clicks
or says something)? (the <behavior>).
What is the mapping of the parts to UI controls in some
toolkit (e.g., Java Swing classes or HTML tags)? (the
<presentation>).
What is the API of the business logic that the UI is
connected to? (the <logic>).
XMAN 17
18. Selected UIDLs - UIML
Downside:
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 description
There is still a need to design separate UIs for each
device
XMAN 18
19. Selected UIDLs - XIML
The 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
20. Selected UIDLs - XIML
XIML divides the definition of an interface into components,
high-level building blocks of an interface:
2.Task (business processes)
3.Domain (defines a hierarchy of components)
4.User (defines a hierarchy of end-users)
5.Presentation, and Dialog (defines actions within the
interface).
Components are then mapped to Elements (concrete
representations such as widgets). Using:
s Relations
Attributes
Statements
Definitions.
XMAN 20
21. Selected UIDLs – XIML
Downside
Gleaning 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
22. Selected UIDLs – USIXML
UsiXML (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
23. Selected UIDLs – USIXML
development life cycle into four levels of abstraction:
Task and Concepts,
s Abstract UI (AUI),
Concrete UI (CUI)
Final UI (FUI)
XMAN 23
24. Selected UIDLs – USIXML
One of the mostly integrated UIDL that
addresses platform-, modality-, and context-
independence
XMAN 24
25. Selected UIDLs – XForms
XForms 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
26. Selected UIDLs – XForms
XForms separates the presentation from the data
Allowing reuse and device independence.
Integrated into other markup languages, such as XHTML ,
SVG or any suitable markup language
XForms 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
27. Selected UIDLs – XForms
XForms 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
28. UIDLs Comparison – Cretria
a Standardization
p Separation of concern.
n Independency
n Supported XML-Based languages
s Integration
s Available Tools
s XMAN Deployment
XMAN 28
32. 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
33. 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
34. Conclusions & Future Work
Development of applications in full or in part
through the different components
The 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
Modern Business is fast created, growing up and changed Business application must be developed rapidly and so for the changing RAD is coming as an answer for business application development From another perspective, XML is a promising technology that developed for data structure exchanging and now its penetrating the application development
Using XMAN, Developers can … Required application: mean the application under development or the application we want to develop Application data model Application behavior Moreover, The data presentation Configuration files we will describe later XMAN Framework consist of many components we will describe later
Multi-tier application Open Architecture framework Produce XML-Centric applications
Multi-tier application Open Architecture framework Produce XML-Centric applications
Definitions: XPO: represent the Application data entities XView: 2 key roles in the system, first identifying information to be displayed second, to identify the permissions on the system entities XPrivilege: Descriptions of the users' privileges to implement CRUD operations on the XViews
Definitions: XPO: represent the Application data entities XView: 2 key roles in the system, first identifying information to be displayed second, to identify the permissions on the system entities XPrivilege: Descriptions of the users' privileges to implement CRUD operations on the XViews
Definitions: XPO: represent the Application data entities XView: 2 key roles in the system, first identifying information to be displayed second, to identify the permissions on the system entities XPrivilege: Descriptions of the users' privileges to implement CRUD operations on the XViews
Definitions: XForm & XReport XTemplate XRule
Describe the possible relations between the configuration files
Link the main components and the configuration files