SlideShare une entreprise Scribd logo
1  sur  36
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
Agenda
   Introduction
   XMAN REVIEW
   XML UIDLS REVIEW
   CRITERIA AND COMPARISON
   IMPLEMENTATION OF THE
    PRESENTATION LAYER
   Conclusions & Future Work



            XMAN                2
Introduction
 Modern 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 model
   Application behavior
 XMAN Framework produce the required
 application
             XMAN                           4
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
XMAN Framework
 Produced Applications
    Rapid development
    Data-Centric
    Powerful and flexible users’ security
     management
    Easy to change
    Support simple process
    Web application




                XMAN                         6
XMAN Main Components
 Developer environment (GUI,XML)
 Engine
   Persistence Management
   Business Management
   Presentation Management
   Privilege Management




             XMAN                   7
Main Components-How they Work?
Mr. Developer
     Or
 Expert User              The Required
                           Application
    Configuration Files                  Mrs. End User



          XMAN Engine



                 XMAN                                    8
Main Configuration files
             XPO                           Persistence Management


<XpoElement>
<element_type>integer</element_type>                 <<DB Table>>
<element_name> ID </element_name>                 student_profile
”</ "student_idSelector Field_id=>
<XpoElement/>                              Map    •Id
<XpoElement>                                      •Name
<element_type>sting</element_type>
<element_name> First Name</element_name>
                                                  •…
   </ "Selector Field_id="First_Name>
<XpoElement/>
..…


                    XMAN                                            9
Main Configuration files
                XView                                       Business Management

<XViewElement>
   <Source>
    <Selector Selector_id="student_xpo" Field_id="id"/>
  </Source>
</XViewElement>
<XViewElement>                                                      Used By
   <Source>                                                                   XPO
    <Selector Selector_id="student_xpo" Field_id="First   Name"/>
  </Source>
</XViewElement>




                         XMAN                                                  10
Main Configuration files
            XPrivilege                        Business Management


<XprivilageElement>
<Action>Update</Action>
 </"User Value="Bassel>                       Define the user
  <"ViewComponent Source="Student_reg_view>   permissions
<element_name>Acceptance</component_name>
<ViewComponent/>                                                XView
”</"FIT_registrarconstrain rule_ref=>
< XprivilageElement />




                    XMAN                                            11
Main Configuration files
 XForm & XReport
                           Presentation Management
 XTemplate


 XRule                    Rule Management




            XMAN                               12
Architecture - Main Configuration files
      Presentation Layer

                   XReport        XTemplate     XForm


      Business Layer
                          XView                 XView
         XRule                     XPrivilege


      Persistence Layer
                          XPO          XPO      XPO

            XMAN                                        13
Architecture - Main Components
    Presentation Layer
                         Presentation Manager


    Business Layer
                                                XView Manager
     Action Manager
                              XManager

     XRule Manager                        XPrivilege Manager

    Persistence Layer
                          Persistence Manager


          XMAN                                                  14
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 - 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
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
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
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
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
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
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
Selected UIDLs – USIXML
One of the mostly integrated UIDL that
addresses platform-, modality-, and context-
independence




               XMAN                            24
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
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
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
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
UIDLs Comparison – Results
Criteria/ UIDL   1       2   3    4    5    6    7    Total


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


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


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


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


                  XMAN                                         29
Integration Approaches
 Model-based approach
 Browsers-based approach
 Transcode approach




               XMAN         30
Available Tools
 Chiba
    http://chiba.sourceforge.net
 Orbeon
    http://www.orbeon.com
 betterFORM
    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 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
Conclusions




        XMAN   35
XMAN




       XMAN   36

Contenu connexe

En vedette

Lecture 6 -_presentation_layer
Lecture 6 -_presentation_layerLecture 6 -_presentation_layer
Lecture 6 -_presentation_layerSerious_SamSoul
 
Session layer ppt
Session layer pptSession layer ppt
Session layer pptmatangi jha
 
OSI Network model ppt
OSI Network model pptOSI Network model ppt
OSI Network model pptextraganesh
 
Online examination system
Online examination systemOnline examination system
Online examination systemRahul Khanwani
 
OSI Model - Every Detail Explained
OSI Model - Every Detail ExplainedOSI Model - Every Detail Explained
OSI Model - Every Detail ExplainedAshish Malik
 
OSI Model of Networking
OSI Model of NetworkingOSI Model of Networking
OSI Model of NetworkingMukesh Tekwani
 
Library Management System PPT
Library Management System PPTLibrary Management System PPT
Library Management System PPTTamaghna Banerjee
 
Library management system presentation
Library management system presentation Library management system presentation
Library management system presentation Smit Patel
 
SRS for online examination system
SRS for online examination systemSRS for online examination system
SRS for online examination systemlunarrain
 
Library Management System
Library Management SystemLibrary Management System
Library Management SystemAditya Shah
 

En vedette (13)

Network devices
Network devicesNetwork devices
Network devices
 
Abstract data types
Abstract data typesAbstract data types
Abstract data types
 
L17 Presentation Layer Design
L17 Presentation Layer DesignL17 Presentation Layer Design
L17 Presentation Layer Design
 
Lecture 6 -_presentation_layer
Lecture 6 -_presentation_layerLecture 6 -_presentation_layer
Lecture 6 -_presentation_layer
 
Session layer ppt
Session layer pptSession layer ppt
Session layer ppt
 
OSI Network model ppt
OSI Network model pptOSI Network model ppt
OSI Network model ppt
 
Online examination system
Online examination systemOnline examination system
Online examination system
 
OSI Model - Every Detail Explained
OSI Model - Every Detail ExplainedOSI Model - Every Detail Explained
OSI Model - Every Detail Explained
 
OSI Model of Networking
OSI Model of NetworkingOSI Model of Networking
OSI Model of Networking
 
Library Management System PPT
Library Management System PPTLibrary Management System PPT
Library Management System PPT
 
Library management system presentation
Library management system presentation Library management system presentation
Library management system presentation
 
SRS for online examination system
SRS for online examination systemSRS for online examination system
SRS for online examination system
 
Library Management System
Library Management SystemLibrary Management System
Library Management System
 

Similaire à Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages

Dynamics CRM 2011 Architecture Overview
Dynamics CRM 2011 Architecture OverviewDynamics CRM 2011 Architecture Overview
Dynamics CRM 2011 Architecture OverviewDmytro Golodiuk
 
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side FunctionalityExtending XForms with Server-Side Functionality
Extending XForms with Server-Side FunctionalityMarkku Laine
 
Apache Flex - Enterprise ready GUI framework
Apache Flex - Enterprise ready GUI frameworkApache Flex - Enterprise ready GUI framework
Apache Flex - Enterprise ready GUI frameworkTomislav Pokrajcic
 
We4IT LCTY 2013 - x-pages-men - ibm domino xpages - performance in a nutshell
We4IT LCTY 2013 - x-pages-men - ibm domino xpages - performance in a nutshellWe4IT LCTY 2013 - x-pages-men - ibm domino xpages - performance in a nutshell
We4IT LCTY 2013 - x-pages-men - ibm domino xpages - performance in a nutshellWe4IT Group
 
Overview of WPF in light of Ribbon UI Control
Overview of WPF in light of Ribbon UI ControlOverview of WPF in light of Ribbon UI Control
Overview of WPF in light of Ribbon UI ControlAbhishek Sur
 
Working With XML in IDS Applications
Working With XML in IDS ApplicationsWorking With XML in IDS Applications
Working With XML in IDS ApplicationsKeshav Murthy
 
Hibernate interview questions
Hibernate interview questionsHibernate interview questions
Hibernate interview questionsvenkata52
 
DanNotes XPages Mobile Controls
DanNotes XPages Mobile ControlsDanNotes XPages Mobile Controls
DanNotes XPages Mobile ControlsPaul Withers
 
JMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages ScalabilityJMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages ScalabilityTony McGuckin
 
XRX Presentation to Minnesota OTUG
XRX Presentation to Minnesota OTUGXRX Presentation to Minnesota OTUG
XRX Presentation to Minnesota OTUGOptum
 
Extending oracle tools final
Extending oracle tools finalExtending oracle tools final
Extending oracle tools finalInSync Conference
 
EPM Logs 101 - Hyperion Focus 17
EPM Logs 101 - Hyperion Focus 17EPM Logs 101 - Hyperion Focus 17
EPM Logs 101 - Hyperion Focus 17Datavail
 
Getting Started With ANDROID
Getting Started With ANDROIDGetting Started With ANDROID
Getting Started With ANDROIDAmit Yadav
 

Similaire à Toward a Standardized XMAN Presentation Layer with Consideration of User Interface Description Languages (20)

Dynamics CRM 2011 Architecture Overview
Dynamics CRM 2011 Architecture OverviewDynamics CRM 2011 Architecture Overview
Dynamics CRM 2011 Architecture Overview
 
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side FunctionalityExtending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
 
Apache Flex - Enterprise ready GUI framework
Apache Flex - Enterprise ready GUI frameworkApache Flex - Enterprise ready GUI framework
Apache Flex - Enterprise ready GUI framework
 
We4IT LCTY 2013 - x-pages-men - ibm domino xpages - performance in a nutshell
We4IT LCTY 2013 - x-pages-men - ibm domino xpages - performance in a nutshellWe4IT LCTY 2013 - x-pages-men - ibm domino xpages - performance in a nutshell
We4IT LCTY 2013 - x-pages-men - ibm domino xpages - performance in a nutshell
 
Overview of WPF in light of Ribbon UI Control
Overview of WPF in light of Ribbon UI ControlOverview of WPF in light of Ribbon UI Control
Overview of WPF in light of Ribbon UI Control
 
Sankaragopal Velayudhan_Architect
Sankaragopal Velayudhan_ArchitectSankaragopal Velayudhan_Architect
Sankaragopal Velayudhan_Architect
 
Working With XML in IDS Applications
Working With XML in IDS ApplicationsWorking With XML in IDS Applications
Working With XML in IDS Applications
 
Hibernate interview questions
Hibernate interview questionsHibernate interview questions
Hibernate interview questions
 
Chpater1
Chpater1Chpater1
Chpater1
 
treeview
treeviewtreeview
treeview
 
treeview
treeviewtreeview
treeview
 
DanNotes XPages Mobile Controls
DanNotes XPages Mobile ControlsDanNotes XPages Mobile Controls
DanNotes XPages Mobile Controls
 
JMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages ScalabilityJMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages Scalability
 
XRX Presentation to Minnesota OTUG
XRX Presentation to Minnesota OTUGXRX Presentation to Minnesota OTUG
XRX Presentation to Minnesota OTUG
 
Extending oracle tools final
Extending oracle tools finalExtending oracle tools final
Extending oracle tools final
 
Framework
FrameworkFramework
Framework
 
WPF Intro
WPF IntroWPF Intro
WPF Intro
 
EPM Logs 101 - Hyperion Focus 17
EPM Logs 101 - Hyperion Focus 17EPM Logs 101 - Hyperion Focus 17
EPM Logs 101 - Hyperion Focus 17
 
LCM JB.pptx
LCM JB.pptxLCM JB.pptx
LCM JB.pptx
 
Getting Started With ANDROID
Getting Started With ANDROIDGetting Started With ANDROID
Getting Started With ANDROID
 

Dernier

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Dernier (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
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
  • 7. XMAN Main Components  Developer environment (GUI,XML)  Engine  Persistence Management  Business Management  Presentation Management  Privilege Management XMAN 7
  • 8. Main Components-How they Work? Mr. Developer Or Expert User The Required Application Configuration Files Mrs. End User XMAN Engine XMAN 8
  • 9. Main Configuration files  XPO Persistence Management <XpoElement> <element_type>integer</element_type> <<DB Table>> <element_name> ID </element_name> student_profile ”</ "student_idSelector Field_id=> <XpoElement/> Map •Id <XpoElement> •Name <element_type>sting</element_type> <element_name> First Name</element_name> •… </ "Selector Field_id="First_Name> <XpoElement/> ..… XMAN 9
  • 10. Main Configuration files  XView Business Management <XViewElement> <Source> <Selector Selector_id="student_xpo" Field_id="id"/> </Source> </XViewElement> <XViewElement> Used By <Source> XPO <Selector Selector_id="student_xpo" Field_id="First Name"/> </Source> </XViewElement> XMAN 10
  • 11. Main Configuration files  XPrivilege Business Management <XprivilageElement> <Action>Update</Action> </"User Value="Bassel> Define the user <"ViewComponent Source="Student_reg_view> permissions <element_name>Acceptance</component_name> <ViewComponent/> XView ”</"FIT_registrarconstrain rule_ref=> < XprivilageElement /> XMAN 11
  • 12. Main Configuration files  XForm & XReport Presentation Management  XTemplate  XRule Rule Management XMAN 12
  • 13. Architecture - Main Configuration files Presentation Layer XReport XTemplate XForm Business Layer XView XView XRule XPrivilege Persistence Layer XPO XPO XPO XMAN 13
  • 14. Architecture - Main Components Presentation Layer Presentation Manager Business Layer XView Manager Action Manager XManager XRule Manager XPrivilege Manager Persistence Layer Persistence Manager XMAN 14
  • 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
  • 29. UIDLs Comparison – Results Criteria/ UIDL 1 2 3 4 5 6 7 Total UIML ++ + + - + - + 2- ,5+ XIML - + + + + - + 2- ,5+ UsiXML - ++ ++ + + + + 1- ,8+ XForms ++ + + ++ ++ ++ ++ 12+ XMAN 29
  • 30. Integration Approaches  Model-based approach  Browsers-based approach  Transcode approach XMAN 30
  • 31. Available Tools  Chiba  http://chiba.sourceforge.net  Orbeon  http://www.orbeon.com  betterFORM  http://www.betterform.de XMAN 31
  • 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
  • 35. Conclusions XMAN 35
  • 36. XMAN XMAN 36

Notes de l'éditeur

  1. 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
  2. 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
  3. Multi-tier application Open Architecture framework Produce XML-Centric applications
  4. Multi-tier application Open Architecture framework Produce XML-Centric applications
  5. 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&apos; privileges to implement CRUD operations on the XViews
  6. 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&apos; privileges to implement CRUD operations on the XViews
  7. 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&apos; privileges to implement CRUD operations on the XViews
  8. Definitions: XForm &amp; XReport XTemplate XRule
  9. Describe the possible relations between the configuration files
  10. Link the main components and the configuration files