Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0 Yves YANG & Philippe...

19
Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0 Yves YANG & Philippe Ombredanne

Transcript of Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0 Yves YANG & Philippe...

Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0

Yves YANG & Philippe Ombredanne

Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0

About usAbout us

Yves YANG has over 17 years of experience working with OO software development and mainly worked on Eclipse and ODBMS: GemStone, Matisse and Versant. He was the chief architect of EclipseUML and co-founder/CTO of Omondo from 2002 to early 2006. He is also the project leader of an Open source: EclipseJDO. In Soyatec, he has developed two new products: eBPMN designer and eFace. His activities focus on the EMF/UML/BPMN/BPDM modeling, GUI/XAML/VE development and China OutSourcing.He is one of the initial committers of Eclipse BPMN2. Philippe Ombredanne is a passionate open source software developer, Eclipse committer, activist and enthusiast plug-in developer. He is a maintainer for EasyEclipse, an open source distribution of useful Eclipse plug-ins, and active contributor to several open source Eclipse projects, including PHPEclipse, the Visual Editor, the Ajax Tooling Framework, the Drools IDE and more. As a volunteer, he led the Google Summer of Code program for Eclipse for the last two years. He is the CTO and co-founder of nexB, a software company dedicated to open source and application life-cycle management tools and services

Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0

AgendaAgenda

What’s VEX ?

Why VEX ?

VEX in action

Demo & Feedback: CCR GUI Visual editor

Demo & Feedback: eFace XAML editor

Development Guidelines

Planned Features

Development plan

Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0

What’s VEX ?What’s VEX ?

The purpose of the VEX subproject is to develop a generic extensible solution on top of VE to visually edit GUI based on XML markup language, instead of Java code.

XML dialect for GUI is a declarative approach to build UI of application. Several products and standards have adopted this technology:

JSF - Java

XForm – W3C

XUL - Mozilla

XAML – Microsoft

XHTML – W3C

Flex - Adobe

SVG – W3C

Open Laszlo - Laszlo

Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0Domain developer

Why VEX ?Why VEX ?

Final User

Business Analyst

Application architect

Visual UI EditorVisual UI Editor

UI ModelerUI Modeler

UI Code GeneratorVisual UI Editor

UI Code GeneratorVisual UI Editor

Component developer

Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0

Why VEX ?Why VEX ?

Final User

Visual UI EditorVisual UI Editor

UI ModelerUI Modeler

UI Code GeneratorVisual UI Editor

UI Code GeneratorVisual UI Editor

Component developer

Application architect

Domain developer

Business Analyst

Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0

Why VEX ?Why VEX ?

Declarative UI programming approaches provide a lot of advantages over traditional code based solutions such as:

Better separation of the business logic and UI resources

Better re-usability of UI components

Enablement of developers role separation (UI designer, domain developer and UI component developer)

Cleaner, more modular architecture

Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0

Why VEX ?Why VEX ?

WYSIWYG editor is a necessary element in this solution to improve the development productivity for both Eclipse RCP and web applications.

It targets to following profiles of user:

Business analyst

Application architect

Graphic designer

Domain developer

Component developer

Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0

Demo:Demo:CCR GUI Visual EditorCCR GUI Visual Editor

CCR is a major international re-insurance company.

CCR manages very large number of business forms (~1500) and needed a flexible way for business analysts to efficiently produce new business forms.

« Time to market » is the primary requirement.

It is an extension of Eclipse VE to edit the GUI in their own XML dialect.

It relies on a domain GUI library on Swing.

Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0

Feedback:Feedback:CCR GUI Visual editorCCR GUI Visual editor

It is an extension of Eclipse VE to edit the GUI in their own XML dialect. It relies on a domain GUI library on Swing.

WizardsGenerate different kinds of window and dialog through templatesFill the content through a model in dictionary

XML source code viewer Undo/Redo Copy/paste UI Preview

Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0

Feedback:Feedback:CCR GUI Visual editorCCR GUI Visual editor

Rule based and real-time error checking such as name and Tab Order conflicts

Problem markers

Tab Order designer

Reset Tab Order through element’s location

Switch Tab Orders by drag and drop

Direct edit the Tab Order

Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0CCR GUI XML

Feedback:Feedback:CCR GUI Visual editorCCR GUI Visual editor

VE CoreVE Core

JEM

Palette

Property sheet

GEF Override

EMF

RuntimeModel

Mappers

Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0

Demo: Demo: eFace XAML editoreFace XAML editor

eFace XAML editor is a commercial visual design studio for XAML.

It is an extension of Eclipse WST XML editor to edit XAML GUI files.

It inherits all advantages and limitations of XML editor. It relies on eFace engine with SWT render.

Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0

Feedback: Feedback: eFace XAML editoreFace XAML editor

eFace XAML implements following additional features:

Direct GUI view

Code completion

Template block insertion

Java source editor

Java code generator

Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0

VEX Development VEX Development GuidelinesGuidelines

Framework Openness

Possible to support all XML GUIs such as JSF, XForm, XUL, XAML, etc

Easy of use

Target all project engineers, including Business analyst and graphic designer

Extensible

Extends the VE architecture

Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0

VEX planned FeaturesVEX planned Features

Extension of VE

Mapping facilities between DOM and JEM

Rule-based validation via Extension Point

Problem markers

Tab Order editor

Morphing

Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0

VEX planned FeaturesVEX planned Features

Integration with WST XML editor

XML and GUI view synchronization

Code completion

Template support

Template management facilities

Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0

Development planDevelopment plan

Short term, the initial contribution of the VEX framework to the Eclipse VE project is being prepared for review, and new committers are being on boarded in VE

First exemplary implementation will target a simple XML language for SWT such as XSWT or EXSWT or similar.

Beyond that we expect to foster collaboration with other open source projects and organizations inside and outside of Eclipse. VEX opportunities for reuse and collaboration include

Domain specific visual editorsWeb tools OpenMRS…

Copyright © 2006-2008 Soyatec. Licensed under the Eclipse Public License 1.0

The endThe end

Questions?

Keep an eye out for the incoming contribution to Eclipse in the next few months