Showing posts with label EMF. Show all posts
Showing posts with label EMF. Show all posts

Wednesday, June 11, 2025

CDO: New Release, New Homepage

CDO 4.31 is now available, as usual, together with the Eclipse Simultaneous Release 2025-06.

This CDO release contains no new features because most of my time was absorbed by working on the new build system and the new CDO Homepage:

It was quite a bit of a challenge to make it show dynamic content, particularly on the new, simplified Downloads and Documentation pages, after the Eclipse Foundation finally stopped supporting PHP on their web servers.

The beautiful new banner image and the entire main page text were my first experience with AI assistance 😎

Finally, with a new funding contract in the pocket, I can already promise new CDO features for the next release in 2025-09. Have fun and stay tuned...


Monday, April 22, 2013

Join the Eclipse Modeling Day at JAX 2013

Ed and I have organized and will moderate this year's Eclipse Modeling Day at the JAX conference in Mainz. We've put together a nice and broad program for you and we'd be happy to see you in the Gutenbergsaal 2 on

Friday, March 26, 2013 at 9:00 o'clock.


The program is a good mixture of technology talks from Eclipse project leads and experienced industrial users:



Slot I

Xcore

Ed Merks - itemis
Ecore's success stems from its power to describe deep semantic structure more concisely than Java. The downside are the tools. Certainly Ecore's structured editor is simple and effective and its graphical editor is rich and elegant but both are cumbersome compared to traditional text-based tools. The Xtext framework beckons with a solution: a textual syntax for Ecore. Going one step further, we leverage Xbase to define a concise textual notation for describing behavior and exploit it to implement constraints, derived features, operations, and data type conversion. We call this new language Xcore. This presentation will explore Xcore's capabilities and demonstrate its powerful tools in action.


Ed Merks leads the top-level Eclipse Modeling Project as well as the Eclipse Modeling Framework subproject. He holds a Ph.D. in Computing Science from Simon Fraser University and is a partner of itemis AG. 

EMF Data Binding

Tom Schindl - BestSolution.at EDV Systemhaus GmbH
Eclipse data binding provides developers with a framework to ease the development of user interfaces following the Model View Presenter (MVP) pattern. In this talk we will look at the EMF data binding extensions and how to exploit them to create rich and well-designed user interfaces, not necessarily involving SWT.


Tom Schindl is founder and owner of BestSolution.at, a company located in Western Austria that is specialized on Java and Eclipse consulting. Tom is committer on various Eclipse projects and member of the Eclipse Architecture Council.

Slot II

Now that I've Got a Model - Where's My Application?

Eike Stepper – ES-Computersysteme
Models are efficient for capturing enterprise knowledge at a high level of abstraction, independent of technical concerns. What about the background threads that are expected to cooperate nicely with my model? What if real data are magnitudes bigger than the data I've played with? How do I store this data and broadcast changes to the other users of my application? Can I prevent multiple users from accidentally modifying the same object? In this presentation I'll tell you how best to employ some runtime aspects of Eclipse Modeling to build a scalable, transactional and distributed application for your modeled data with little more than a mouse click.



Eike is an independent consultant in the areas of OSGi and modeling with over 25 years of experience in software development. With his consulting company ES-Computersysteme, founded back in 1991, he conducted dozens of successful customer projects. Eike is the leader of the CDO Model Repository and Net4j Signalling Platform projects at Eclipse and a member of the Eclipse Architecture Council. He is also committer on the EMF Client Platform, EMF DiffMerge and Mylyn projects and has won the Top Committer Eclipse Comunity Award 2010.

Building a tool based on EMF

Maximilian Koegel - EclipseSource Munich
EMF enables the automatic generation of the entity model for an application. Additional frameworks allow developers to create a running application including a UI to modify entities as well as a server to distribute the data. In this talk we demonstrate how the first version of your own application can be set up in less than one minute, just by providing your entity model with EMF. Based on the first version, we demonstrate how to iteratively adapt the first version and add additional, custom features. For the creation of the UI, we will use the EMF Client Platform and additional technologies such as databinding. This integrates also with the new Eclipse 4 Application Plattform. Furthermore, we demonstrate how to create a basic diagram editor with Graphiti. Finally, we show how to integrate different server solutions, such as CDO and EMFStore.


Maximilian Koegel is General Manager of EclipseSource Munich. He has many years of experience with Eclipse RCP and EMF and works as a consultant to customers in these areas. Also he is project lead of the projects EMFStore and EMF Client Platform and he is a committer in other EMF projects at Eclipse.org.

Slot III

Model-Driven SOA at Swiss Mobiliar

Christoph Gutmann, Michael Rauch – Schweizerische Mobiliar Versicherungsgesellschaft AG
This talk examines how Swiss Mobiliar successfully applied Eclipse Modeling technologies to create a lightweight, technical, design-time SOA infrastructure.  It presents our forward-engineering solution including the use of DSL engineering and repositories, as well as a review of the types of artifacts we generate.


Michael Rauch works as a Software Architect for Swiss Mobiliar where he is responsible for the Model-Driven SOA initiative. He works with the Eclipse Modeling Platform since 2010.

Christoph Gutmann is a Software Architect at Swiss Mobiliar. He is responsible for the SOA and JEE reference architectures, realizes code generation and manageability of SOA dependencies by model-driven architecture based on a forward engineering approach

Service Repository for Model-Driven SOA

Thomas Stahl, Stefan Zeug – b+m Informatik AG
SOA is a specialized domain to which MDD and domain-specific language technologies can be applied. This talk explores design principles for a service repository based on a generic model repository as well as common DSL and generator infrastructure. The Eclipse Modeling Project offers a rich set of base frameworks that serves our purpose, though there are challenges in ensuring that they integrate well in the context of our domain.  We will discuss conceptual and implementation aspects of such a model-based service repository for Swiss Mobiliar.


Dipl. Inform. Thomas Stahl is Chief Architect at b+m Informatik AG.One maior focus of his professional life is Model-Driven Software Development (MDSD). Parts of the Eclipse Modeling Project and the first book on MDSD are results of his pioneering efforts.  Furthermore he has substantial experience in Software- and Enterprise-Architecture,  modern IT-technologies and several vertical domains. He can be reached at t.stahl@bmiag.de

Dipl. Inform/Dipl. Kfm. Stefan Zeug works as an IT-Architect for 10 years. He is currently leading the Architecture Team at b+m Informatik AG and has special interests in MDD-based concept and technologies. He can be reached at stefan.zeug@bmiag.de.

Slot IV

Interface Management in a Large Enterprise

Robert Blust – UBS
Capturing and preserving knowledge of an IT supply chain as models provides a holistic view of a large and diverse system. UBS’ enterprise model repository plays a crucial role in our tooling strategy. The talk focuses on our Eclipse-based tool chain that helps to identify, specify, design, implement and govern the interfaces between parts of our system.

Robert Blust works as an IT Architect for UBS WM CH and is responsible for the strategic tool landscape supporting the software development lifecycle. Since 2009 he leads a growing team realizing the vision of an integrated tooling platform based on the Eclipse Modeling Framework with a strong focus on model based engineering, scalability and collaboration.

Code Generation with Xtend

Sven Efftinge - itemis
Xtend is the successor to the Xpand template language which has previously been an obvious choice for developing code generators. Although Xtend is not just a template language for code generation it is extremely well suited for that task. In this session you will learn about the advantages and cool features which make Xtend a great language for building fast running, extensible and maintainable code generators.


Sven Efftinge is a passionate software developer, kite surfer and father. He's the project lead of Eclipse Xtend, a statically-typed programming language for the JVM, and Xtext, a framework for developing programming languages and domain-specific languages. He leads a development and research office for itemis, a strategic member at Eclipse.



Tuesday, November 20, 2012

Fail Server, Fail!

To use online data offline certainly opens entirely new operation spaces for application systems. The most obvious advantage is that an application becomes tolerant against network failure and can continue to work with replicated offline data until the master server is reachable again.

Of course it also protects against server failure, but only to a certain degree. If the master server fails an application can continue to work with offline data but without the master server to broadcast change notifications there is no real-time collaboration anymore. And the risk that the offline modifications lead to non-trivial conflicts at the time the master server comes back and the changes are to be merged up increases over time.

Leveraging the same replication mechanisms that CDO uses for offline clone repositories you can easily build up fail-over repository clusters. The most sophisticated topology involves a separate fail-over monitor which manages a dynamically growing or shrinking set of repositories. It elects new master repositories in case the current master fails and communicates with special fail-over sessions in the clients.

With the new CDO Offline Example application it's now easier than ever to play with these complex setups. I've recorded another screencast (which builds upon this one) for you to give you a clue on how to start:

Switch to HD on YouTube

I hope you're inspired by the demo and develop new ideas for your own applications...

Monday, November 19, 2012

Use Online Data Offline

You may know that a CDO model repository can be used like an online database with change notifications to make your modeled applications truly collaborative with no more than a handful lines of code.

You may not know, yet, that CDO supports a number of additional repository configurations which help to build up more complex topologies of replicating repositories.

To make it easy to explore the possibilities I've created a new example application that you can install through Eclipse's example wizard.

To make it even easier I've recorded a screencast for you that guides you through the first example and shows you how to embed local offline clone repositories into client applications.

With this setup applications use online data while they're online and continue to work with offline data while they're offline:

Switch to HD on YouTube

I hope you're inspired by the demo and develop new ideas for your own applications...

Thursday, October 25, 2012

Now that I've Got a Model – Where's My Application?

Models are efficient for capturing enterprise knowledge at a high level of abstraction, independent of technical concerns. Using the Eclipse Modeling Framework (EMF) I can generate an Eclipse editor for my model on a click of a button and instantly play with it. Once I've iterated on the model I need to develop an application around it to put it to use. Now I realize that modeling didn't eliminate any technical aspects, it just relieved me from thinking about them early.
What about the background threads that are expected to cooperate nicely with my model? What if real data are magnitudes bigger than the data I've played with? How do I store this data and broadcast changes to the other users of my application? Can I prevent multiple users from accidentally modifying the same object? My application seems to disappear behind a curtain of challenges until I discover that the Connected Data Objects (CDO) framework provides me with a sophisticated platform for the technical aspects of my model.

In my EclipseCon presentation today I'll tell you how best to employ the runtime aspects of these frameworks to build a scalable, transactional and distributed application for your modeled data with little more than a mouse click.

The session will be in the Theatre from 10:30 to 11:30. I've prepared quite some gimmicks for you and I'm looking forward to seeing you there...

Wednesday, June 27, 2012

CDO 4.1 is Available


Together with the Juno release train we have released CDO 4.1.
You can download or install it from:


The release notes and documentation are also available.

I'd like to thank the CDO committers, contributors and users for another year full of exciting challenges, pleasant cooperations and major achievements. For myself CDO is a full-time job and I'd like to do no other job. Thank you for that!

Monday, March 21, 2011

CDO Enters the 3rd Dimension

Update: The new room is 
Ballroom B+C
(not D, as in the printed schedule!)

EclipseCon is near and I'd like to invite you to attend Martin's and my talk CDO 3D on Monday shortly after lunch time.


As you may know or not, CDO is a runtime environment for distributed shared EMF models. Especially for organizations with huge models (e.g. the NASA, banks like the UBS AG, etc.) CDO is indispensible and has become sort of modeling mainstream in the past years.


Although I've always invested a lot into cool animated Powerpoint slides and although CDO comes with really new functionality each year, we've recognized a slight tendency of the conference audience to decide for parallel talks about completely new modeling technology, if they were forced to choose one. This fact (and the guy who shouted "next year we get Pixar Studios" after my last EclipseCon talk) has made me think about new ways of presenting a complex distributed technology. That's why this year's talk is titled "CDO 3D".


We will have no Powerpoint slides anymore but fully focus on real-time demos of a distributed system with a CDO model repository server and two CDO client applications. The client applications have RCP user interfaces, as well as a self-made scripting console that we will use to demo the API usage of CDO and the immediate influence of local CDO calls on the entire system.


In addition we've developed a 3D visualization frontend, that renders the contents and activities in multiple Java virtual machines into a 3D canvas in real-time. We've instrumented these VMs so that the frontend can even visualize the method calls between the Java objects and the network traffic between the VMs. This diagram outlines the basic architecture of our presentation system:


If you're still asking yourself "What the hell is he talking about?" watch this short video:

(click here for watching a larger video)

Of course we'll also talk about some of the cool new features in CDO 4.0 like OCL queries, Blobs and Clobs, cross referencing and referential integrity checks, fail-over cluster and the brand new backend integration with MongoDB. I'm looking forward to see you in Santa Clara!