Wednesday, May 15, 2013
Thank You Google!
Yesterday I asked you to vote for the JRE that you're using in production to get an impression whether we need to keep support for Java 1.5. The participation was very good, there were 45 votes in the first two hours. The majority of the voters is using Java 1.7, a second majority is using Java 1.6, almost noone is using Java 1.5, noone is using Java 1.4 or 1.8.
Then, all of a sudden, I realized a decrease in total votes. First they dropped down to 19, now they're at 10. The problem of disappearing votes is known for almost a year. Thank you Google, a warning note on the poll gadget would have been nice!
Here's a replacement that hopefully works better:
Tuesday, May 14, 2013
Still Using Java 1.5?
Traditionally most Eclipse plugins declare a Java 1.5 compatibility in their bundle manifests:
And so does CDO. Now it seems that newer versions of some JDBC drivers (e.g. HSQLDB) start to depend on Java 1.6 and, unfortunately, the JDBC API of Java 1.6 is not compatible with its 1.5 pendant.
We're currently discussing how to deal with this problem and we're very interested in your opinion. Please participate in this small poll to give us an impression on whether Java 1.5 support is still needed:
Bundle-RequiredExecutionEnvironment: J2SE-1.5
And so does CDO. Now it seems that newer versions of some JDBC drivers (e.g. HSQLDB) start to depend on Java 1.6 and, unfortunately, the JDBC API of Java 1.6 is not compatible with its 1.5 pendant.
We're currently discussing how to deal with this problem and we're very interested in your opinion. Please participate in this small poll to give us an impression on whether Java 1.5 support is still needed:
Saturday, May 4, 2013
Copyright Headers from the Git History
The other day Vincent Zurczak has blogged about Updating Copyright Mentions with Eclipse and his way of maintaining legal headers in software artifacts is very similar to what we've always done in CDO. We had the exact same header in all artifacts and we used search and replace once per year to update them all. For us that has several disadvantages:
Yesterday I've finally finished this tool:
A simple Check Copyrights for missing copyrights ends with:
If there are copyrights missing the tool produces a list of the paths and can optionally open them in editors. The Update Copyrights action takes approx. 35 minutes on the same working tree and results in files with beautiful legal headers that are totally in line with the Git history.
If you are interested in the code have a look at UpdateCopyrightsAction.java. There are just a few places that are CDO-specific and I would be happy to review your patches to make the tool more flexible.
- Most importantly that means to modify files that have no other (real) changes in that year.
- It was hard to find the files with missing legal headers.
- It was hard (well, mostly because I wasn't smart enough) to have different copyright owners.
Copyright (c) 2008, 2009, 2011-2013 Owner and others.
Yesterday I've finally finished this tool:
A simple Check Copyrights for missing copyrights ends with:
Copyrights missing: 0
Copyrights rewritten: 0
Files visited: 22722
Time needed: 5.73 seconds
Copyrights rewritten: 0
Files visited: 22722
Time needed: 5.73 seconds
If there are copyrights missing the tool produces a list of the paths and can optionally open them in editors. The Update Copyrights action takes approx. 35 minutes on the same working tree and results in files with beautiful legal headers that are totally in line with the Git history.
If you are interested in the code have a look at UpdateCopyrightsAction.java. There are just a few places that are CDO-specific and I would be happy to review your patches to make the tool more flexible.
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
The program is a good mixture of technology talks from Eclipse project leads and experienced industrial users:
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.
Labels:
Eclipse,
eclipse modeling,
EMF,
JAX
Thursday, March 28, 2013
Modeling, Diagramming, Collaborating
This year's EclipseCon in Boston is just awesome. So many great sessions, nice people and excellent seafood everywhere. My own talk yesterday seemed to be a great success, given the ratings I got so far. I'd like to encourage you to write a comment about my talk, in case you enjoyed it.
Then I've been so impressed by the Sirius technology that Obeo and Thales have been demonstrating and I'm totally excited that they're going to show how they integrated their modeling workbench with CDO model repositories in order to take model collaboration to the next level. I strongly recommend to not miss their session today:
Then I've been so impressed by the Sirius technology that Obeo and Thales have been demonstrating and I'm totally excited that they're going to show how they integrated their modeling workbench with CDO model repositories in order to take model collaboration to the next level. I strongly recommend to not miss their session today:
Collaborative Modeling applied to avionic design: give wings to your team
I hope to see you there...
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:
I hope you're inspired by the demo and develop new ideas for your own applications...
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:
I hope you're inspired by the demo and develop new ideas for your own applications...
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...
Subscribe to:
Posts (Atom)




