eFace is an Universal Presentation Framework for Java. It consists of:
The XML language is compatible with XAML. The UPF model is very closed to Microsoft's WPF.
In one word, eFace is XAML or precisely WPF for Java.
XAML is a new descriptive programming language developed by Microsoft to write user interfaces for next generation managed applications. WPF (Windows Presentation Foundation) is the graphical subsystem feature of the .NET Framework 3.0 (formerly called WinFX). XAML is used in WPF to represent the controls and code with the help of C#, Visual Basic, and other .NET Framework languages. For more information about XAML and WPF, please visit Microsoft site web
The XAML is a general GUI descriptive programming language invented by Microsoft. WPF is the framework relied on this concept in .NET environment. eFace is a Soyatec's product realized from scratch in Java based on the same concept. The later addresses only the Java market and keeps the compatibility of XAML. The XAML codes from Microsoft can be used in general directly in eFace.
Since eFace adopts the XAML and WFP technology, it inherits all their benefits for Java. There are many benefits:
eFace setup an extensible and component-based infrastructure, which minimizes the amount of code developers have to rewrite and maximizes potential for code reuse. This approache makes possible the separation of the developpers in termes of the roles in project: domain developpers and technology developpers.
The technology developpers aware of the specific platform-device, take over the development of the reusable components for the domain developpers. The domain developpers have the special domain knowledeges and semantic of each compenents. They don't care of their implementations and the display platform-device. The final goal of this organization is to minimize the percentage of the technology developpers and increase the domain development activities.
Using the eFace, applications that are created will run single-sourced in multiple rendering environments. It provides renderers for SWT, Swing and for running in the Web as a servlet or portlet. The same binaries can be used to drive applications in all supported environments; the binaries just need to be deployed differently.
Furthermore, the XAML files can be shared by .NET and Java application.
Because application code is not written directly to the APIs for the environment it is running in, the eFace renderers absorb the burden of updates and fixes when core technology updates occur such as Swing, SWT, Web or others.
XAML is a rich descriptive language. It is in fact a platform and technology neutral executable language. It simplifies the GUI generation task from business logic models on UML, BPM, or directly Java.
The benefits of using an UI Markup language are following :
At current stage, it is only the UI markup language widely used in software industry.
From the technical point of view, XAML is very rich, flexible and extensible markup language. XAML elements can map directly to Java object instances whereas attributes can map to Java properties and events on those objects. It is a perfect markup language for a platform-independent and technology-neutral presentation framework.
All data-visualization applications such as EAI, CRM, ERP, BPM, etc.
As explaned in the JSF page of Sun,
JSF addresses in practice only on the web application althrough theoretically it can handle the client rich application as well. But unfortuanetely, the client rich application is completely ignored by the JSF specification.
However, eFace targets to cover both kinds of application transparently by providing an abstract UI library UPF and a XML descriptive langauge, which are compatible with WPF and XAML of Microsoft. Furthermore, eFace helps the reusability of UI resources between the two worlds: .NET and Java.
The first version is bundled only with SWT renderer. Hence it supports only Windows Vista, Windows XP, Mac OS and Linux. Other renderers will come out later in 2008.