• No results found

Technical design for SOOM. SOOM Toolbox Analysis. Version

N/A
N/A
Protected

Academic year: 2021

Share "Technical design for SOOM. SOOM Toolbox Analysis. Version"

Copied!
24
0
0

Loading.... (view fulltext now)

Full text

(1)

Technical design for

SOOM

SOOM Toolbox Analysis

Version 1.0 2009-04-03

(2)

SOOM

SOOM Toolbox Analysis Technical design

Project Number SOOM-2009-01

Project Title Service Oriented Object Management

Document Reference

Title SOOM Toolbox Analysis Date 2009-04-03

Document Name SOOM - Toolbox Analyzis V1.doc Version 1.0 draft ‡

final ;

Restrictions public ‡ internal ; restricted ; :

Distribution AIT internal

Authors AIT Team

Abstract This manual describes the internal management of the SOOM project.

Keywords SOOM, SOA, Web Services, SCRUM, Project Management

Document Revisions

Version Date Author(s) Description of Change

(3)

Table of contents

1

Introduction ...4

2

Non functional requirements ...5

2.1 Costs... 5 2.2 Market share ... 5 2.3 Support / Community ... 5 2.4 Maintenance... 5 2.5 Availability ... 5 2.6 Performance... 5 2.7 Security. ... 5 2.8 Compatibility ... 6 2.9 License ... 6

3

Components that need to be handled ...7

3.1 XForm natives ... 7

3.2 Common application functionality...10

3.3 SOOM specific components...11

4

User Stories... 13

4.1 View editor...13

4.2 XComponents properties ...13

4.2.1 Data property...13

4.2.2 Position and size depending on layout ...13

4.2.3 History ...13 4.2.4 Language ...13 4.3 Nested XComponents ...14 4.4 Model editor ...14 4.5 Control editor ...14 4.6 Help ...14

(4)

4.9 User rights ...14

4.10 Generate forms from model...14

4.11 Platform independent ...14 4.12 Deployment...15

5

Tested tools... 16

5.1 Overview ...16 5.2 Visual-Designer (IBM-Alphaworks) ...16 5.2.1 Installation ...16 5.2.2 Summary ...17 5.3 Intalio ...17 5.3.1 Installation ...17 5.3.2 Summary ...17

5.4 Orbeon Form Builder ...18

5.4.1 Installation ...18 5.4.2 Summary ...18 5.5 Chiba ...18 5.5.1 Installation ...18 5.5.2 Summary ...18 5.6 Alfresco ...19 5.6.1 Installation ...19 5.6.2 Summary ...19 5.7 Nuxeo...19 5.7.1 Installation ...19 5.7.2 Summary ...19

6

Conclusion ... 21

I.

Glossary ... 22

(5)

1 Introduction

This document covers the requirements for the SOOM GUI Development Toolbox. What tools have been tried out and what requirements are met by those tools, as well as a list of functional and non functional requirements for the GUI tools are described.

(6)

2 Non functional requirements

This chapter describes the non functional requirements for the GUI development tools.

2.1 Costs

The tools have to be free.

2.2 Market share

No constrains concerning the market share are set.

2.3 Support / Community

The product has to be in active development or must not be older than one year in case XForms 1.1 is implemented.

2.4 Maintenance

In case new XComponents are needed, they either can be created using existing components or need to implemented for free.

2.5 Availability

The designer as local application has to guarantee a 99% uptime. As a web based product, the designer can be offline from 23:00 to 05:00 from Monday to Sunday.

2.6 Performance

The time to respond to mouse clicks must be under 500 milliseconds. Every action that will take longer than one minute has to be displayed on the screen. This is the case for saving, loading, generating and deploying activities. Nevertheless, all these operations shall not take longer than three minutes. In case of deployment, this time can extend depending on the size of the deployed artifacts. It has to be possible to edit up to ten documents without exceeding 15% of CPU usage on a 2Ghz Dual Core and using up to 512 MB memory. Theses values may be tripled for the short time of generating documents for the sake of faster generation times.

2.7 Security.

(7)

2.8 Compatibility

There has to be the possibility to export XForm compliant documents as well as XML schema files. The GUI designer has to run on Windows and Linux. It can either be a web based product or another tool.

SVN compatibility shall be available.

2.9 License

The license of the product must consider redistributing the product under a different license and must be commercially usable. The source code of the product must not be available but one should be allowed to change the source if desired.

(8)

3 Components that need to be handled

This chapter is separated into three categories. XForm native components, common application components and SOOM specific components. Each category has a different origin but each component needs to be handled the same.

The following table describes the basic Properties for each component. XComponent

Description A component that assembles several components into groups Properties • class field: style information

• position: x,y of surrounding component • id: an unique identifier of the component • width: width of the compound

• height: height of the compound

• show language selection: displays a language selector for this component which overrides child languages on change

• show history information: displays a button which displays the change history of a component. this will also display child

• components: a set of components

• data [optional]: a reference to a model element, child elements can refer to

• constrains [optional]: when data is referenced, constrains to this data should be

• Layout: The arrangement of the components within the compound: float, block, absolute

• Help: Help text for the component

Based on • -

3.1 XForm natives

XForms has a variety of built in components that need to be supported by the designer. The components of the following categories are assemblies of the XForm native components.

(9)

Label

Description A simple text field Properties • Single text String

Based on • XComponent

Input

Description A simple text field to enter text

Properties • read-only: is this field read-only • data: reference to a data field Based on • XComponent (Label?)

Select

Description A combo box or set of radio buttons to select one record Properties • read-only: is this field read-only

• data: reference to a data field • option*: A list of options for the field • display type: radio or combo box Based on • XComponent (Label?)

Mulitselect

Description A list box or set of checkboxes to select more then one Properties • read-only: is this field read-only

• data: reference to a data field • option*: A list of options for the field • display type: list box or checkboxes Based on • XComponent (Label?)

(10)

Checkbox

Description A checkbox

Properties • read-only: is this field read-only • data: reference to a data field • value: the value when selected Based on • XComponent (Label?)

Group

Description A styled group of components Properties • Label: a label

Based on • XComponent (XComponent *)

Switch

Description displays one of several groups at a time

Properties • initial active: the group that will be displayed on startup • add choice: adds a new Group

• remove choice: deletes a Group Based on • XComponent (XComponent *)

Button

Description A button that can initialize actions (submissions)

Properties • on click action: what submission will be called when the button is clicked

(11)

Repeatable

Description A repeatable container.

Properties • data: reference to the form data • show header: displays a header

• show add/remove on each line: displays the show, remove buttons on each line

• show add/remove in header: displays additional add/remove buttons in the header when it is shown.

• min: minimum number of repetitions • max: maximum number of repetitions

Based on • XComponent (XComponent (Label*), XComponent (XComponent*))

Upload

Description A upload container.

Properties • data: reference to the form data • filetype: allowed filetypes Based on • XComponent (Label?)

3.2 Common application functionality

These components are mostly based on mockups and applications that have been created using different kinds of programming languages and environments like Java (Swing, SWT) or HTML (with Javascript support)

Tab

Description Tabs with a tab pane. Since the tab pane consists of separated components, they can be edited by themselves or via delegates

Properties • orientation of the tab pane: top, bottom, left, right

• add tab: adds a Group to the Switch and a Button to the tab pane • remove tab: deletes the Group and the associated Button

(12)

Predictive

Description A textbox that offers a selection of context sensitive data Properties • content provider: a service where the data derives from

• context: the context in which the text stands

• context display: how the context shall be displayed. hide (not editable), multiselect (a select box to choose from), toggle(a button to show/hide the multiselect), own (opens a new dialog to choose) • context setting: the closable values for the context

• size: size of the list

• data: reference to the forms data Based on • XComponent (Label?)

3.3 SOOM specific components

Some additional components specific for SOOM are as following Lookup

Description An Input with a Button to Open a search window to select data from. It is much like the Predictive component but opens an own window to select the data from.

Properties • content provider: a service where the data derives from

• context display: how the context shall be displayed. hide (not editable), multiselect (a selectbox to choose from), toggle(a button to show/hide the multiselect), own (opens a new dialog to choose)

• context setting: the closable values for the context • data: reference to the forms data

(13)

Classification

Description An Input with a Button to Open a thesaurus search window to select data from. Data will be displayed as a hierarchy.

Properties • content provider: a service where the data derives from

• context display: how the context shall be displayed. hide (not editable), multiselect (a selectbox to choose from), toggle(a button to show/hide the multiselect), own (opens a new dialog to choose) • context setting: the closable values for the context

• data: reference to the forms data Based on • XComponent (Input, Button, Group)

(14)

4 User

Stories

This section covers user stories that describe the handling of the GUI designer.

4.1 View editor

The tool has to provide the form designer with the possibility to drag and drop or click and place XComponents onto a canvas or into other XComponents located on the canvas.

The XComponents must be resizable and freely movable within the bounds of the surrounding XComponent or canvas.

A copy and paste functionality to quickly duplicate XComponents and move them from one form to the other should be supplied y the system as well as undo/redo of at least 5 activities.

4.2 XComponents properties

To change the properties like data, class, context setting and so on, the tool must provide a separate editor or an inline feature for the user.

For various properties, this editor shall be context sensitive.

4.2.1 Data property

The data property shall be aware of the surrounding components data reference and provide a pre selection of relevant items within the XML node.

4.2.2 Position and size depending on layout

float: The components will be arranged next to each other using the x, y parameters as margins.

block: The components will be arranged underneath each other using the x, y parameters as margins.

absolute: The components will be positioned according to the x,y coordinates within the surrounding component.

Other layouts should be created with nested groups. The dynamic layout like float and block are no must criteria.

4.2.3 History

The history functionality shall override child components on change

(15)

4.3 Nested XComponents

Since many XComponents are assembled using other components, it should be possible to edit nested XComponents to either move labels or change button styles.

4.4 Model editor

The model (fxorm:instances) must be editable and not hard linked to the view. Changes at the model may rise warnings or errors (depending on xform specification) in the view or control editor.

4.5 Control editor

As part of XForms, the control is an editor based on submissions and actions. An implementation of the XForms 1.1 specification must be available in this editor.

4.6 Help

Links to the XForms 1.1 specification should be available at appropriate parts of the toolset. The model editor must have at least one link to the instance section of the specification. The control editor must at least have a link to the events section of the specification.

4.7 Creating own XComponents

The designer tool must provide the user with the possibility to store and reuse assembled XComponents. The user can name the new component and put it into a library. The library must provide categorization functionality.

4.8 Styling information

The designer tool must provide the possibility to place images just like XComponents. The possibility to load user specific cascading style sheets that will affect the appearance of the XComponents is optional.

4.9 User rights

The possibility to set user specific rights in a form is optional.

4.10 Generate forms from model

Based on XML documents and fragments, XComponents or whole Forms should be generated by the designer tool. During the generation process, the usage of specific XComponents for certain nodes shall be configurable by XPath.

(16)

4.12 Deployment

There is no special requirement concerning the deployment of the forms. Own runtime environments are sufficient as long as XForm compliant forms can be saved.

(17)

5 Tested

tools

This chapter describes the tested tools and how the fit into

5.1 Overview

Requirement DesignerVisual Intalio Orbeon Form

Builder Chiba Alfresco Nuxeo

Non functional requirements

Costs free free free free free free

Market Share - - -

Support - Comm. Comm. Comm. Comm. -

Maintenance 04/2006 01/2009 08/2008 12/2008 10/2008 02/2009

Availability X X X X X X

Security √ √ √ √ √ √

Performance √ √ √ - - -

Compatibility √ X X X X X

License IBM Intalio LGPL liberal BSD and Apache 2 GPL LGPL, EPLand / or GPL XComponents Available Properties √ √ X - - - XForm natives 10/10 9/10 9/10 - - - Common 0/2 1/2 0/2 - - - SOOM 0/2 0/2 0/2 - - - User Stories Editor √ √ √ - - - Special Properties 0/4 0/4 0/4 - - - Nested √ √ X - - - Model Editor √ X X - - - Control Editor √ X X - - - Help √ X X - - - Own XComponents X X X - - - Styling X X X - - - User Rights X X X - - - Generator √ X X - - - Platform √ √ √ - - - Deployment √ √ X - - -

Table 5-1Requirements overview

5.2 Visual-Designer (IBM-Alphaworks) This is the eclipse plugin from IBM

5.2.1 Installation

• Download Eclipse 3.2 or better

http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.4.1-200809111700/eclipse-SDK-3.4.1-linux-gtk.tar.gz [Urldate 02/16/2009]

(18)

• Install WTP from Eclipse Update Site

• Install Visual Designer Plugin (Following Features From Eclipse technologies)

http://awwebx04.alphaworks.ibm.com/ettktechnologies/updates [Urldate 02/16/2009]

o Visual Designer o Generator

o Compound XML Document

5.2.2 Summary

The update site is not available all the time. Username and password is required to get the plugin. Creating a new form is not possible due to a NAMESPACE error. The license can be found at

http://www14.software.ibm.com/cgi-bin/weblap/lap.pl?la_formnum=&li_formnum=L-APAL-5L22XX&title=XML%20Forms%20Generator. The possibility to export XForms for different formats is plus. Unluckily, the source code is not available and the exception can not be checked. The properties editor is available but looks pretty awkward. The basic XForm elements can be created but tests on other features could not be performed due to the missing save feature.

5.3 Intalio

The form designer is shipped as a bundle with the Intalio BPMS|Client

5.3.1 Installation • Download o http://bpms.intalio.com/docman/downloads/intalio-designer-5.2.1-for-linux/download.html [Urldate: 02/17/2009] o http://bpms.intalio.com/docman/downloads/intalio-server-5.2.1/download.html [Urldate: 02/17/2009]

• Extract Server and Designer

• Install JRE 1.5 (Problems occurred while starting the server with openjdk6)

o Set JRE_HOME environment variable • start server (bin/startup.sh)

• start designer

• To stop the server use system/manager as username/password

5.3.2 Summary

(19)

The Output of XForms is possible but it cannot generate a form from a model. Also, no Buttons can not be added to the canvas.

5.4 Orbeon Form Builder

Orbeon is the XForms application used by Intalio. The created a own forms editor.

5.4.1 Installation

• Download Jetty 6.1.14 from http://dist.codehaus.org/jetty/jetty-6.1.14/ [Urldate: 02/17/2009]

• Download Orbeon 3.7 beta 1 from http://www.orbeon.com/forms/download [Urldate: 02/17/2009]

• Extract Orbeon and extract orbeon.war into jetty/webapp/orbeon directory. If the orbeon.war is moved as is, the forms cannot be saved.

• Start jetty (java –jar start.jar)

• Stop jetty by terminating the terminal (Ctrl-C)

5.4.2 Summary

Orbeons Form Builder is at an alpha stage but is very user friendly. Most disappointing is the missing repeatable feature. The created forms follow a specific Orbeon XForm structure and therefore export/import as XForms 1.1 is not possible. Although Orbeon can run almost any XForm, the For builder is not fully functional yet.

5.5 Chiba

Chiba Web is a server-side XForms implementation, coming with a JavaScript layer, XForms 1.1 support, localisation, XPath 2.0 and more.

5.5.1 Installation

• Download Jetty 6.1.14 from http://dist.codehaus.org/jetty/jetty-6.1.14/ [Urldate: 02/17/2009]

• Download Chiba Web 3 from

http://sourceforge.net/project/showfiles.php?group_id=20274&package_id=154662

[Urldate: 02/18/2009]

• Extract chiba.war into jetty/webapp/chiba directory. • Start jetty (java –jar start.jar)

(20)

5.6 Alfresco

5.6.1 Installation

• Download Alfresco 3 Labs Edition from

http://wiki.alfresco.com/wiki/Labs_3_Final_download_files [Urldate: 02/18/2009] • Run Setup procedure

• Start server (./alfresco.sh start)

• Login at http://localhost:8080/alfresco or http://localhost:8080/studio with admin/admin as username/password

• Stop server (./alfresco.sh stop)

5.6.2 Summary

Alfresco does not provide an editor so far (at least it cannot be found). It supports XForms as rendering engine for their forms but uses Chiba and Orbeon (currently in development) for this task. The Web Studio is just for designing own Websites, not XForms.

5.7 Nuxeo

Nuxeo is lilke Alfresco a ECP. Until now, no XForms editor has been found.

5.7.1 Installation

• Download Nuxeo EP from http://www.nuxeo.org/static/NuxeoEP/nuxeo-ep-5.2.0.m4-installer-1.jar [Urldate: 02/19/2009]

• Download Nuxeo RCP from http://doc.nuxeo.org/xwiki/bin/view/Main/Downloads [Urldate: 02/19/2009]

• Run Nuxeo EP java installer (java –jar nuxeo.jar)

• Follow http://doc.nuxeo.org/5.1/books/nuxeo-book/html/admin-specific_IP_binding-configuration.html [Urldate: 02/19/2008] to set IP binding

• Extract Nuxeo RCP

• Start Nuxeo Server (./bin/run.sh)

• Login at http://localhost:8080/nuxeo with Administrator/Administrator as username/password

• Start Nuxeo RCP (./nuxeo-rcp) • Stop server with Ctrl-C

(21)

could not be started with a actual release of eclipse. The Nuxeo RCP could not be used as well although IP binding and IPv4 was set. The connection was constantly refused.

(22)

6 Conclusion

Most of the tested products did not provide any form of XForms editor but have a runtime for XForms. Chiba and Orbeon are used within other products like Alfresco whereas Chiba Orbeon has a build in web flow engine (XPL1) which is a subset of the soon to become standard XProc2. Chiba on the other hand is slicker. Orbeons Alpha version of the designer can be handled very well but misses the very important repeat feature which, on the other hand can be displayed by Orbeon XForms runtime. Both Orbeon and Chiba need some customizations to the XForm to run smoothly which does not break the XForms compatibility.

The most convincing editor would have been the Visiual Deesigner by IBM but the projects seems to be on hold. Since it is not possible to save changes and generated XForms can sometimes not be opened or they have errors render the product unusable as well.

Especially the SOOM specific components Lookup and Classification as well as the History and Language feature are not available in any evaluated product and therefore need to be created by the designers needs. The Language feature is somehow build in for labels in Orbeon.

Intalio is the next best choice but does not provide the ability to edit Control or Model features within the XForm.

The final statement would be that none of the evaluated products is capable of providing the functionality needed by SOOM GUI designers.

(23)

I. Glossary

SOOM Service Oriented Object Management

SOOM Forms A mockup for XComponents to generate XForm applications

XComponents A term for components used to build up XForms within SOOM Forms.

XForms XForms is an XML application that represents the next generation of forms for the Web. XForms is not a free-standing document type, but is intended to be integrated into other markup languages, such as XHTML or SVG. An XForms-based web form gathers and processes XML data using an architecture that separates presentation, purpose and content

(24)

II. List of Tables

References

Related documents

[87] demonstrated the use of time-resolved fluorescence measurements to study the enhanced FRET efficiency and increased fluorescent lifetime of immobi- lized quantum dots on a

Thus there is a need to increase supply through supporting farmers to increase domestic rice production to stabilize prices, If the country is to be self sufficient in rice

We found that TAT- α 7pep2[L 336 -M 345 ] had no effect on spatial learning and memory in the Morris water maze and displaced object recognition task in mice, but did affect

Histones were diluted in sterile endotoxin-free water to a final concentration of 1 mg/ml.. The polycations poly- L-Lys and poly-L-Arg were diluted in sterile en- dotoxin-free water

The clinically observed changes of tumor volumes are presented as open circles in Fig. The solid lines in the figure indicate the temporal volume change generated by the solutions

Keywords: Nanoparticle, Titanium dioxide (TiO2), Lymph node proliferation assay (LNPA), DNCB, Skin

fibroblasts occurs via NADPH oxidases [35]. Furthermore, p-ERK1,2, which was shown to mediate MWCNT-induced COX-2 in the present study, is also strongly activated by H 2 O 2 in

type III procollagen mRNA in skin tissue of UCD- 200 animals surviving the inflammatory stage of the disease is similar to that shown by in situ hybridization and at the protein