|09:00 - 12:00||
Are you a new committer or project lead for an Eclipse project? Are you thinking about proposing a new open source project at Eclipse? In this tutorial, Eclipse Foundation staff members will walk you...
Eclipse Committer Bootcamp
This tutorial will give you a jumpstart on the new concepts of the Eclipse 4 Application Platform. If you have previous experience developing with RCP 3.x but limited or no experience with e4, this tutorial is designed for you. Using a sample RCP application, we introduce the most important features of the new platform, such as the Application Model, Dependency Injection and the new Programming Model. We complete the introduction with an overview of the most important services available, such as the selection or preference services. All topics include hands-on examples that we’ll work through...
What every Eclipse developer should know about Eclipse 4 (e4)
The big new features in Java SE 8 are the introduction of Lambda expressions to the language syntax and the Streams API in the standard class libraries. When combined these introduce a functional style of programming to Java for the first time. This tutorial will take developers who already know Java through these new features using the following structure:
Why does Java need Lambda expressions?
What are the key differences between imperative and functional programming
Lambdas and Streams: Functional Coding With Java SE 8
Open Hardware is everywhere and nowadays it is easy to build your own Internet of Things device. Most of the gadgets on the market have started as Arduino or Raspberry Pi prototype and evolved to mass production. As easy as prototyping hardware devices is the implementation of your own IoT Cloud platform, which acts as central communication hub between the devices and the end user.
In this workshop every attendee will build their own platform, which is able to receive, persist and process sensor data for the web browser. It should be possible to use different IoT protocols for pushing...
Build your own IoT Cloud!
OSGi is arguably the best way to develop software systems and take advantage of modularity. However, until now the threshold to get started was high due to lack of a good tool chain, proper service based libraries, and tutorials, with the consequence that many people gave up before the benefits became visible.
The vision of the OSGi Alliance with the enRoute project is therefore to make OSGi as easy as possible for developers to get started with OSGi without compromising its core values.
This tutorial will guide you through building a small app using the OSGi enRoute tool chain. We will...
OSGi enRoute, the Easy Way Towards Real Modularity
At least since the release of Java 8, functional programming has become mainstream in the Java community. Things like collection processing, lazy evaluation and concurrent programming are much easier to describe in a functional style than in the traditional procedural or object-oriented way.
Xtend is a Java dialect hosted at Eclipse. Designed to remove the syntactic noise, it offers a superior syntax and additional abstractions to provide the full power of functional programming to Java developers. As it compiles to Java 5 code, it will enable functional programming even for Android and...
Functional Programming with Xtend
Eclipse Jubula is a tool for writing automated GUI tests that can be used as acceptance tests and/or regression tests. Its main aim is to help teams:
Communicate openly and frequently about testing
Look at features from the test perspective – early on and continuously
Answer questions like: does it (still) work? Does it do what the user wants?
Gain a valuable overview over the quality status on a regular basis
Make testing something that goes hand-in-hand with development
Reduce the amount of time spent doing boring...
Automating tests with Jubula
Xtext is a framework that makes it easy to build great tooling for languages. This includes a smart editor, incremental building, a symbol index, code generation, Java integration, and much more. Both domain-specific and general-purpose languages are supported.
During the tutorial we will first focus on achieving a quick breakthrough from defining a language to generating code from its instances with Xtend. Then we will walk through all conceptual and code-related aspects of Xtext that every language designer should understand. Common scenarios will be covered with hands-on exercises....
Xtext for Beginners
|12:00 - 12:30||Dedicated Exhibit Time
|12:30 - 13:30||Lunch - sponsored by Actuate, the BIRT company
|13:30 - 14:00||Welcome and Speaker Pitches
|14:00 - 14:50||
Open, collaborative development promises to revolutionize the way the economy operates by shifting the focus from profit-making proprietary production to meaning-making participatory production. Access to prior work and crowd-based contributions allow companies to innovate faster and a greater number of producers to foster a broader and more diverse ecosystem.
We also can (re)shape the artifacts we use and in this way shape our own experiences. What are the mechanisms by which this happens in practice – in our lives and in our work? What began a couple of decades ago as the open...
KEYNOTE: Towards the Open Source Economy
|15:00 - 15:35||
Consider the tasks needed each time you set up a fresh development environment to work with a particular version of a specific project:
Install a project-specific IDE with appropriate tooling.
Which tools need to be available for editing, compiling, debugging, and testing?
Materialize the appropriate bundles and features in the workspace.
What needs to be imported into the workspace and from which source code repositories?
How are those bundles and features organized...
Oomph: Automatically Provision a Project-specific IDE
You should always use a StringBuilder - it's faster than plain concatenation! Don't use an ArrayList but a LinkedList instead, this will speed things up! You should definitely make that method final - then the VM can optimize it! There exist hundreds of similar pieces of wisdom that we Java developers have to keep in mind in our daily work. But are the “common guidelines” still valid in times of Java 8? And have they ever been justified at all?
In this session we will look into the thicket of performance tips and tricks that each generation of Java developers passes to their children. By...
Java Performance MythBusters - Reloaded
This session provides an overview of Java's role in the exploding IoT universe. Starting with the JVM, we'll look up through JRE and JDK implementations, and then out through Java Card, Java ME and Java SE platforms. We'll see where Java fits from the tiniest of devices to the very largest of cloud deployments. We will examine the role of OpenJDK and the various Java vendor implementations available.
At the end of this talk attendees should have a strong sense of the role the various Java platforms play, what tools are recommended depending on your needed scale and where to find all the...
The JVM Universe - Java and the IoT Big Bang
Excited about IoT in general and MQTT in particular? You never found a useful use case for you until now?
After this session...
Integrate MQTT with the Real World: Ludwigsburg calling!
JSP is a legacy UI model developed in the early days of Java EE (back when it was still J2EE). In spite if it's many proclaimed drawbacks, it has persisted until today in many applications and is still widely used while being despised by many. In this talk we'll explore the reasons why anyone would implementing support for such a hated technology in OSGI and how such an implementation might actually breath new life into it.
Breathing new life into JSP with OSGI! Why Bother???
Raising the level of abstraction is cool when it works. When the abstraction breaks it may cause more pain than the actual benefit. DSLs are good for raising the level of abstraction; and debugging an application written with multiple DSLs can be a disaster. The higher you climb, the deeper you can fall.
Help is near: creating a debugger for your interpreted DSL is easier than you thought.
In this talk I will demonstrate, how the JDT debugger can be made aware of your DSL.
You will see...
Maintain the Abstraction: Debuggers for your interpreted DSLs
Apache Karaf is a small OSGi based runtime which provides a lightweight container onto which various components and applications can be deployed.
This session gives an overview over Apache Karaf, how to manage and configure Apache Karaf and how to use the comprehensive command shell that Karaf provides. By the example of a simple pet clinic application we will demonstrate how to build and deploy a web application on Apache Karaf. This talk will introduce the different deployment mechanisms available in Karaf and how to deploy bundles from the file system, command shell or via a maven...
Apache Karaf - Building OSGi applications on Apache Karaf
|15:45 - 16:20||
GEF4, initiated 3 years ago, has finally taken up "cruising" speed. We have worked hard in the last years and are planning to contribute a first snapshot release (still limited and with yet provisional API) for Mars.
While auxiliary components like GEF4 Geometry have already been available in a certain maturity for quite a while, we have used the Luna release timeframe to initiate those GEF4 components, which are meant to ultimately replace GEF (MVC) 3.x and Zest 1.x, namely GEF4 MVC and GEF4 Zest.
GEF4 MVC is the future model-view-controller framework that can be used to build up...
GEF4 - Our mission to Mars
Many core innovations in Eclipse frameworks are focussed around two themes: Reduce the necessary effort for the development of applications and decrease the dependencies on specific technologies or platforms such as UI Toolkits or the type of device a system is running on.
Declarative UI descriptions, such as the Eclipse 4 application model, reduce the effort for client development and even allow you to render applications using different UI technologies. Well-supported protocols such as HTTP allow different technology stacks to communicate easily, e.g., with RESTful APIs. Cross Platform...
10 platforms in 30 minutes - powered by Eclipse
The IoT market is poised for exponential growth, but there are still lots of barriers that prevent building a real, open, Internet of Things.
Over the last few years, Eclipse has been growing an ecosystem of open source projects for the Internet of Things that are used in real-world solutions, from smart gateways bridging sensors to the cloud to device management infrastructures or home automation systems. Java is a key enabler for IoT, and this session provides you with concrete examples of how to build end-to-end solutions with the Eclipse IoT Java stack and projects such as Paho, Kura...
End-to-end IoT solutions with Java and Eclipse IoT technology
You are using Eclipse technology as an underlying platform for your business critical applications.
You or your customer are using the solution for years. Suddenly your system breaks due to a bug in the underlying Eclipse components, due to a new feature, an operating system upgrade or some other reason.
Now what? Eclipse code is open source. You can either fix the code yourself (which isn't really easy), rely on the community or ask others for help and support. This is where the Eclipse Long Term Support Initiative (LTS) comes...
A Critical Bug! SR2 Was Long Ago... Now What?
This presentation tells how OSGi can help developing a distributed and cloud ready Internet of Things platform.
IoT brings unprecedented complexity both in terms of technological variety and new development paradigms. Modularity offered by OSGi is the key concept to build maintainable and robust IoT platforms. OSGi declarative services and dependency injection mechanism allow service producers and service consumers to interact with full respect of mutual component boundaries: this is the fundamental requirement to enable important aspects of an IoT platform like multi-...
Many Bundles of Things
Mozilla, Chrome and other browsers are updated regularly, operating systems too. Hence, let's talk about your RCP based product. Is it updated on a regular basis too? If not, which technologies and strategies shall be used to handle this issue? The Eclipse platform already offers everything you need to realize an updatable application. Point 1 checked - the technology is available. But as important as the technology is the update strategy. Sure, it depends on several application design and marketing...
Release, Patch, Update ... Strategy?
Let's say you need to provide an internet service to your users. Chances are that your service should be available via REST.
Let's say your service should both provide data to users as well as accept data posted by users, and possibly some logic.
Now let's assume your service turns out to become incredibly popular, with lots and lots of users. Sounds like you need Sling and OSGi in the cloud.
In this talk Carsten and David will go through the OSGi and Sling architecture to achieve this. The talk outlines how the OSGi Cloud Ecosystems RFC is used in combination with Apache jclouds to...
Creating an all-purpose REST API for Cloud services using OSGi and Sling
|16:20 - 16:45||Afternoon Break
|16:45 - 17:20||
Xtend is a statically typed programming language that compiles to readable Java code. It is hosted at Eclipse.org and based on the Xtext framework. In this live coding session you will see the latest language features of Xtend and its IDE in action.
In recent versions of Xtend, new language constructs have been added that simplify the life of us developers. Among them are inner classes, swifty lambda sugar and improved operator overloading. The small standard library also got some often requested additions. Of course it’s not only the language itself but also the Eclipse based IDE, that...
New & Noteworthy in Xtend
Xtext is the well-established standard for creating language IDEs in Eclipse. Its text-based editor has a plethora of great features by default and it can be tweaked to support almost everything a user desires. But sometimes a picture says more than a thousand words, and the user wants to have diagrams for their language.
Having seen a revolution in UX design during the last 10 years, the users’ expectations on a graphical tool are very high. Unfortunately, our traditional graphical editing frameworks do not cut it anymore, and integrating them with Xtext will add further usability quirks...
Diagrams, Xtext and UX
This session will present the most important new stuff in Java™ 8. It will show how to get started developing Java 8 code with Eclipse and then demo the new features that are available in Eclipse for this new Java™ release. We will also look behind the curtain and see how the JDT team accomplished that great piece of work.
Eclipse and Java™ 8
In this talk we provide insights about our experiences from open sourcing the Scout framework.
We will cover the process from internally discussing pros and cons of going open source, to getting permission from the board of directors, reaching consent with our CRM product customers and finally, becoming an Eclipse project with over 150'000 yearly downloads.
Guided by Josh Berkus's 10 rules on "How to destroy your community"  we will assess the current state of the Scout project - as honest as we can - and evaluate what we have done right and where we still need to improve.
What we learned by moving Scout to an Open Source Project
After multiple years of experience with testing desktop toolkits, the Jubula team decided to do some research into ways of combining IoT hardware devices with automated functional GUI testing. The aim is to let teams test devices physically and create certain stress situations while also testing the software running on the devices.
IoT/M2M is a hot topic, but the level of standardization and concretization in is still quite low. The aim of the talk is to present the support in Jubula for hardware based testing, as well as to provide background information on IoT environments in...
"The Internet of Testing" - When IoT meets Jubula
Because of the fast growing interest in IoT, smart home solution are now becoming mainstream. We are expecting 17.4 million systems installed systems by 2017 just in Europe. Big corporates like Apple, Google, Samsung, AT...
How to turn your smart home developments into a profitable and sustainable business using OSGi
|17:30 - 18:30||
2014 is the year of the Smart Home - not only have Apple and Google/Nest entered the stage, but there is a lot of buzz around the Internet of Things in general and Smart Homes in particular. The new Eclipse IoT top-level project has been created and the Eclipse SmartHome project is positioned as a truly open alternative to proprietary software stacks.
Being initiated by the popular open-source project openHAB, the Eclipse SmartHome project leads the way from the niche to the mass market by fostering industry adoption as it provides a flexible framework with many options for building Smart...
Smart Homes powered by Eclipse (60-minute extended talk)
In recent years there has been a steady migration of tools to the web, starting with bug trackers and other collaboration tools. More recently core coding tools have started moving to the web as well, with the rise of web code editors such as Eclipse Orion. However when developers make this leap to web-based tools, they must leave behind their existing tools because there is no way to for tools on the web to connect back to tools on the desktop.
This talk introduces Flux, a new project that aims at bridging this gap between existing desktop-class IDEs and future cloud-based developer...
Project Flux: Connecting developer tools across desktop and web (60-minute extended talk)
Wearable computers are one of the next big things. But at the moment, one can buy only specialized systems such as motion trackers, GPS watches, and the like. So why not use existing cheap technology to build your own wearable Java-powered device? This session shows what you can do with affordable technology and Java today. It uses a Raspberry Pi in combination with a heart rate sensor and a GPS sensor to track the heart rate and the location of a runner. The battery-powered Pi measures the data and publishes it via MQTT to different clients such as Java(FX)-based desktop clients, an iPhone...
"Catch me if you can" - Java on wearables (60-minute extended talk)
The modeling community is among the most active and diverse in Eclipse's ecosystem. The modeling symposium aims to provide a forum for community members to present a brief overview of their work. We will encourage 10-minute lightning talks to facilitate a broad range of speakers. The primary goal is to introduce new and interesting technology features. We will open up an informal call for submissions from the community. Depending on the number, we will select submissions that will create a diverse slate of talks. We will focus on areas not represented by other longer talks at EclipseCon....
Modeling Symposium (60-minute extended talk)
Salesforce.com is heavily invested in automating its worldwide data centers and their operations. The goal is to perform the workflows of the entire data center lifecycle from the bootstrapping of physical servers to the deployment and maintenance of applications. The expectation is that this will have two important effects. One, it will reduce risk by making workflows more deterministic and less prone to human error. And two, it will relieve the burden of human operators to do simple, everyday tasks and instead allow them to concentrate their time on more complicated tasks like...
Case Study: Using OSGi within the Salesforce.com Data Center Automation Initiative (60-minute extended talk)
Please note: this talk is scheduled opposite some talks that are 60 minutes long. However, it is a standard-length talk and will be 35 minutes long.
I assume you know what Toni Hoare called his billion dollar mistake, I assume you know, that JDT can detect such problems using annotations, and I assume you've heard, that Java 8 type annotations bring this approach to the next level.
So? Is it time to say: problem solved, let's have a beer?
This talk is for framework developers who know that the truth is more complex.
On the one hand the...
A Deep Dive into the Void - Advanced Null Type Annotations (35-minute standard talk)
Please note: this talk is scheduled opposite some talks that are 60 minutes long. However, it is a standard-length talk and will be 35 minutes long.
System Engineering is taught, both in industry and academia. The availability of open source tools creates a lot of interest for using those tools in teaching. But to date, initiatives have not been coordinated. In this talk, we introduce our initiative for creating publicly licensed teaching materials that use Eclipse-based open source tools for the included case...
Eclipse for Teaching Systems Engineering (35-minute standard talk)
|18:30 - 19:15||Stammtisch
|19:15 - 20:15||Cirque d'Eclipse