This proposal has been approved and the Eclipse EMF Cloud™ project has been created.
Visit the project page for the latest information and development.

Eclipse EMF.cloud

Monday, July 1, 2019 - 09:13 by Eugen Neufeld
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project
Proposal State
Created
Background

The Eclipse Modeling Framework (EMF) is a tremendously popular framework for defining and managing structured data models. Its code generation facilities as well as its feature-rich generic runtime support makes it a breeze to create software components with sophisticated viewing, editing, and model processing capabilities for structured data models. The general applicability and flexibility lead to huge adoption of EMF in many diverse application domains, including business applications, engineering tools, and modeling environments.

Applications that benefit from the capabilities of EMF have traditionally been powerful rich-client applications. More recently, however, such applications are more and more shifting towards becoming cloud-based and browser-based applications, meaning that the applications’ user interface layers are single-page applications running in a browser, while the data management layers of the application’s backend are deployed as web services running on a cloud platform.

While many of the benefits of EMF are directly transferable to cloud scenarios, such as EMF’s data management and code generation capabilities that are only required in the backend, other components of EMF cannot be directly adopted in a cloud-based environment, for instance the EMF tooling and its editing interface support. Moreover, when using EMF on a server, additional middleware is needed to simplify transferring models and change notifications between clients and servers in distributed applications.To facilitate and simplify the adoption of EMF also in cloud-based applications, this project aims to provide a home for innovative and complementary components for EMF, dedicated to addressing the additional challenges and requirements when applying EMF in the cloud. EMF.cloud aims to be an incubator for new approaches, technologies and ideas around this topic.

 

Scope

Eclipse EMF.cloud provides tools and components that facilitate the adoption of EMF in cloud-based deployment scenarios.

In scope:

  • Browser-based tooling for creating Ecore models
  • Middleware for making EMF models managed on a server accessible to different clients
  • Browser-based editing support for EMF-based models
  • Adapters for Ecore and EMF-models to support other formats that are more common in a cloud-based setting, such as JSON and JSON Schema
  • And in general, components to facilitate EMF’s benefits in the web/cloud

Out of scope are the following:

  • Specific modeling languages or code generators for modeling browser- or cloud-based applications
  • Any software component that is specific to a particular application domain
Description

Eclipse EMF.cloud comprises a set of components that facilitate and simplify the adoption of the Eclipse Modeling Framework (EMF) in cloud-based applications. Thus, the overarching theme of EMF.cloud is to provide a common home to frameworks, tools, and components that enable EMF’s powerful feature spectrum in cloud deployments.

Comparable to the diversity of EMF and its ecosystem itself, EMF.cloud is envisioned to encompass a variety of different types of tools and components, ranging from browser-based tooling to create Ecore models, generic frameworks for processing and editing EMF-based models in a browser-based client, middleware that simplifies the transport of models and model changes between an EMF-based data management server and a client, through to adapters and auxiliary components that help web-native software to consume and interact with EMF models.

EMF.cloud complements the components of EMF to help integrate them in web clients and servers alike. In particular, we would like to utilize the genericity and flexibility of EMF to provide a generic and application independent toolkit for viewing, editing, processing, transporting, and managing EMF-based models in a cloud-native stack.

As a consequence, by its nature, EMF.cloud is open to any software project that aims to address the challenges and specific requirements of using any aspect of EMF in a browser-based setting or cloud deployment.

Why Here?

Following the tradition of Eclipse Foundation to provide a home to EMF and its vast ecosystem, the Eclipse Foundation is also the perfect place for EMF.cloud, as its goal is to encompass frameworks, tools, and components that facilitate the adoption of EMF also in cloud-based applications.

Initial Contribution

In the recent years, we’ve created several components for viewing, editing, and consuming EMF-models in a cloud-based setting. Incrementally, we will generalize and contribute them to EMF.cloud. As an initial contribution, we plan to add tooling for creating and editing Ecore models in a browser-based application.

Source Repository Type