Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description...

36
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

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 2011

Transcript of Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description...

Page 1: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 2: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

Agenda Introduction XMAN REVIEW XML UIDLS REVIEW CRITERIA AND COMPARISON IMPLEMENTATION OF THE

PRESENTATION LAYER Conclusions & Future Work

XMAN 2

Page 3: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

IntroductionModern Business

Rapid Application Development (RAD)

XML From Data Structure Exchanging to Software development

XMAN 3

Page 4: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 5: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

XMAN FrameworkIs

Multi-tier Open Architecture XML-CentricData-Centric Descriptive or DeclarativeSemi-MDA Framework

SupportsAspects of Change ManagementAspects of Security Management

XMAN 5

Page 6: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

XMAN FrameworkProduced Applications

Rapid developmentData-CentricPowerful and flexible users’ security

management Easy to changeSupport simple processWeb application

XMAN 6

Page 7: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

XMAN Main ComponentsDeveloper environment (GUI,XML)Engine

Persistence Management Business ManagementPresentation ManagementPrivilege Management

XMAN 7

Page 8: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

Main Components-How they Work?

XMAN 8

Mr. DeveloperOr

Expert User

XMAN Engine

Mrs. End UserConfiguration Files

The Required Application

Page 9: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 10: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 11: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 12: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

Main Configuration filesXForm & XReport XTemplate

XRule

XMAN 12

Rule Management

Presentation Management

Page 13: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

Architecture - Main Configuration files

XMAN 13

Persistence Layer

XPO XPO XPO

Business Layer

XView

XPrivilege

XView

XRule

Presentation Layer

XReport XTemplate XForm

Page 14: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

Architecture - Main Components

XMAN 14

Persistence Layer

Business Layer

Presentation Layer

XManager

Persistence Manager

Presentation Manager

XPrivilege ManagerXRule Manager

XView ManagerAction Manager

Page 15: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 16: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 17: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 18: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 19: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 20: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 21: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 22: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 23: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 24: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

Selected UIDLs – USIXML

One of the mostly integrated UIDL that addresses platform-, modality-, and context-independence

XMAN 24

Page 25: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 26: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 27: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 28: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

UIDLs Comparison – Cretria 1. Standardization 2. Separation of concern.3. Independency 4. Supported XML-Based languages5. Integration6. Available Tools7. XMAN Deployment

XMAN 28

Page 29: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

UIDLs Comparison – Results

XMAN 29

Criteria/ UIDL1234567Total

UIML++++-+-++5- ,2

XIML-++++-++5- ,2

UsiXML-+++++++++8- ,1

XForms+++++++++++++12

Page 30: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

Integration Approaches Model-based approach Browsers-based approach Transcode approach

XMAN 30

Page 31: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

Available ToolsChiba

http://chiba.sourceforge.netOrbeon

http://www.orbeon.combetterFORM

http://www.betterform.de

XMAN 31

Page 32: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 33: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 34: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

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

Page 35: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

Conclusions

XMAN 35

Page 36: Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

XMAN

XMAN 36