Proposed Sessions

Please let the program committee know what you think!

Click in the "Your Vote" field for each submission. (You must be logged in to vote.)


Keyword sentence with spaces needs to be in quotes. For example: "keyword 1","keyword 2"

Orion and The Language Server Protocol, The Perfect Couple(ing) (sponsored by IBM)

Today, Orion provides first class support for JavaScript in the browser and on the server using tooling that is built into Orion.  The Language Server Protocol (LSP) is mechanism that encapsulates high level IDE functionality.  LSP allows editors to support language tooling such as auto complete and find references, without knowing the particulars of the language.  By adopting LSP, any LSP-ready language can be easily supported, not just JavaScript.  During this talk we will discuss LSPs and Orion, why we can't live without them, and preview a JDT language server, running in Orion.

Experience level: 
Intermediate

Node4J: Running Node.js in a JavaWorld (sponsored by EclipseSource)

Node.js and server side JavaScript are powerful technologies, although they do not stand on their own in enterprise environments, where Java has been the reigning force for many years. Bridging Node.js and Java provides a much sought after migration path for many Java developers who are moving to their systems to JavaScript. Last year we opened sourced J2V8, a rich set of bindings for Google's V8 JavaScript runtime, this year we built upon that work to bring Node.js to JVM.

Experience level: 
Intermediate

ABAP Development Tools – Bringing a server-based programming model to Eclipse (sponsored by SAP)

Major companies run their business on SAP solutions written with the development language ABAP. This development language uses a proprietary server based programming environment. In 2008 the ABAP development tools team embarked on a journey to replace the existing toolset with a new modern toolset build on the open Eclipse platform.

The aim of this talk is to share the lessons the team learned during the last 8 years and explain the technical details behind them.

The talk will:

Experience level: 
Beginner

Compose and run new services without programming experience, with CHOReVOLUTION Eclipse-based Studio (sponsored by OW2)

The CHOReVOLUTION Studio is a new Eclipse-based IDE for service providers and IoT business users. Based on BPMN2 diagrams and modelling, it provides a dynamic and secure choreography of web services, without requiring multithreading skills. The CHOReVOLUTION technologies cover all the steps from inception, to design, implementation and deployment in the cloud. First use cases are related to Urban Traffic Control and Smart Tourism. CHOReVOLUTION has received funding from the European Union’s Horizon 2020 research and innovation programme.

Experience level: 
Intermediate

Streamline IoT development with Eclipse and ThingWorx (sponsored by ThingWorx)

ThingWorx is an enterprise-ready technology platform that enables developers to rapidly build and deploy smart, connected solutions for the Internet of Things. In order to enhance the functionality of the ThingWorx platform, we utilize “extensions”. Created by our ecosystem of partners and developers, these building blocks are used to deliver new services or applications for the ThingWorx platform.

ThingWorx has created an Eclipse Plugin to enable developers to focus on their feature development, leaving the structural backbone of extensions to us.

Experience level: 
Beginner
Track: 

How To Make Eclipse Rock In The Age Of The Cloud (sponsored by Yatta)

Eclipse Che is the next generation open source Eclipse IDE. Eclipse Che is hosted in the cloud and uses workspaces containing your projects alongside the necessary runtimes: Instead of setting up the required environment - like databases, applications servers, or third party libraries -  everything you need for your project to run is already associated with your workspace.

Experience level: 
Beginner

Context-driven agile - from outsourcing to startup world

Being an Agile Tester can be really challenging. I would like to share with you experience from two types of company cultures - outsourcing and startup worlds to help you understand context-driven agile: you introduce testing in different ways in different agile organizations.
In the last couple of years, I had a chance of working both in an outsourcing company and in an emerging  startup. Things that you read about Agile or Lean philosophy are nice in theory, the practice can be quite different. What are differences between these approaches?

Experience level: 
Beginner

Building a Smarter Eclipse IoT Greenhouse with Eclipse Vorto, Kura, Californium and Paho

The official Eclipse IoT tutorial uses Kura, Paho and Californium together with a Raspberry Pi, a temperature and a humidity sensor to implement a simple IoT example based on Eclipse IoT projects. This session goes one step further and shows how you can implement a much bigger example that leverages the power of OSGi and uses more sensors (gas, luminance, air pressure, proximity) and also some actuators (LCD display, water pump, LED strip, buzzer). Vorto is being used to provide the model of the smart greenhouse.

Experience level: 
Beginner
Track: 

From Open Source Project to Industrial Solution: The role of Papyrus IC

The Eclipse Papyrus project has been formally created in 2009. Since then, Papyrus and the different related technologies have evolved significantly and many companies are now using Papyrus in an industrial context. However, in spite of the progress made in the recent years both from a development perspective and a community perspective, key aspects were still missing that prevented Papyrus from being considered as a first-choice solution by the industrial, including
Governance and product management to ensure systematic development and long-term viability and evolution

Experience level: 
Beginner

Eclipse: 11 years of on-schedule releases, the releng making-of

How does the Eclipse Platform build work? What are the challenges?

We will first explore the structure of the Eclipse Projects (Platform, JDT, PDE, etc.) and show how you can build it and test it locally. You will learn how the projects are aggregated for build and test, and how it is still possible to have modular, individual builds, to shorten single-project testing time.

Experience level: 
Intermediate

Recipes to build Code Generators for Non-Xtext Models with Xtend

The Xtend Language with its Rich String concept is a perfect match to build template based code generators. When using Xtext based models, it is quite easy to implement a generator by implementing the IGenerator interface. The Xtext framework enables integration of such generators in standalone and integrated environments with minimal customization effort.

Experience level: 
Beginner

Demystifying Scoping and Linking in Xtext

The ability to build cross references in textual models is one of the most powerful features of the Xtext framework. What makes this happen is known as Scoping and Linking. Simplified, a Scope defines the set of names visible in a certain context and Linking is the process that is responsible to resolve a proxy by the object defined by a name. By default Xtext provides a powerful default implementation which is sufficient for quite some use cases.

Experience level: 
Intermediate

Code Coverage in Practice

Finally the award-winning EclEmma code coverage plug-in for Eclipse will become an Eclipse.org project! This is a good opportunity to summarize experiences and best practices for efficient usage of code coverage tools in software development projects. The presentation will present different use cases and guide you through different integration points that exist beside the Eclipse IDE. We will also cover common pitfalls and how to prevent them.

Experience level: 
Intermediate

Beam aboard the Eclipse USS (User Storage Service)

Eclipse projects often need to maintain user data or state information that can persist across multiple computers or workspaces.

The Eclipse User Storage Service (USS) is here to help solve this problem. The Eclipse USS is a new storage service from the Eclipse Foundation that will allow projects to store and retrieve user data and preferences from our servers.

During the session we will:

Experience level: 
Beginner

From shell script to puppet to chef to ansible with docker

Almost every software development team has to deal with the integration of external systems: databases, single sign-on systems or other services that are accessed through REST APIs. This makes testing applications end to end a tedious and costly task. There is only one way out: Automation!
In this talk we want to show the techniques and tools that we use to automate testing at Tasktop and in the Mylyn project. We will share the lessons learned while evolving our process from shell scripts to chef and puppet which we are now happily replacing with docker.

Experience level: 
Beginner

Getting Fixes Into Long Term Support - Live and In Colour

Actions speak louder than words (but we'll use words too)

Join us for a live demo of putting actual fixes into old code via LTS.  We'll attempt - without a net - to take a recently fixed bug, backport it, push changes, review them and get it into the LTS infrastructure for a proper build.  You'll see just how easy it can be to do your own self-serve fixes on older versions of plugins. 

Follow along and marvel at the impressive spectacle that only a build demo can provide!

Experience level: 
Intermediate

Papyrus for xtUML - BridgePoint on OSS Steroids

Papyrus-xtUML (BridgePoint) and the xtUML modeling dialect are growing like crazy due to Open Source Software engagement within the Eclipse Foundation, PolarSys Working Group and Papyrus Industry Consortium.  This mature language is invigorated by a vibrant and worldwide user base embracing Eclipse and open governance.  New users were waiting in the wings for BridgePoint to escape the commercial licensed software tar pit.

Experience level: 
Beginner

The Seven Habits of Diverse Communities

Diversity is key to the long term success of communities and businesses. There is plenty of research that shows diversity promotes innovation and can drive market growth. In the Eclipse community, we do well on some aspects of 'acquired' diversity, which involves traits you gain from experience, for example, people who have worked in different companies in different countries. However, the community does less well on 'inherent' diversity which involves traits you are born with such as gender and ethnicity.

Experience level: 
Beginner

Xtend - Tips & Tricks

Xtend is a Java dialect that allows for much simpler and clearer code. As it compiles to Java code, it is 100% compatible with all Java libraries as well as GWT and Android. It is very easy to learn for Java developers and highly addictive!

In this session we will show several tips and tricks to write better Java code in Xtend. Apart from some hidden gems in the language itself, we will unveil all the features in the IDE, and show how to integrate Xtend in your build. As such, we will proof that the language is ready for being employed in production.

Experience level: 
Intermediate

Eclipse RAP 101

Eclipse RAP is a framework to write Web application based on a Java API. As the API is based on SWT, it allows to seamlessly run existing SWT/RCP application as web applications from the same code base. The project is widely adopted, is known for its stability, celebrated its 10th year at Eclipse, and continues to innovate.

Experience level: 
Beginner

Eclipse loves JavaScript: using and contributing to JSDT 2.0

The increasing importance of JavaScript also in back-end development, triggered new investments to revamp the JavaScript Development Tools for Eclipse.

JSDT 2.0 is available since the Neon release, and ships lots of functionalities, to enable full-stack development, trying to make javascript ninjas happy.

In this talk, you will start getting updates about the new features shipped in Neon.1, such as npm scripting, the new ClosureCompiler, and so on.

Experience level: 
Beginner

Considering Regulations for Developers in Banking

Enrion is a young company from Germany. We present different Fin-Tech software-solutions which we implemented at banks. As a regulatory-proof framework we have chosen Eclipse Scout. We put our software into symbiosis with the banks permissions- and role-system by connecting our framework to the internal Active-Directory (or LDAP-Server). Along with other aspects, we delivered a cutting edge to our customers while considering the regulations given by the European Banking Authority (EBA) and the German authority (BaFin).

Experience level: 
Intermediate

The Eclipse PolarSys Rover - show, tell, and run!

Models and code can be exciting to some, but systems are often better understood understand when you actually see them in action!

Sure, PolarSys(*) could have kept on doing the typical approach of showing nice models, showing nice code, showing code running on a computer. But systems are more exciting when we see them in action, and, for techies, especially when we understand how they were made to do what they do!

The PolarSys Rover is how we can concretize the application of the PolarSys solutions to the development of a system.

Experience level: 
Beginner

A security test suite for OSGi deployments

This talk provides a detailed view of potential cyber-attacks to which OSGi application or bundle developers are exposed and which could also affect platform manufacturers or integrators products deployment. The work is based on an analysis of state-of-the-art studies done in past projects, is done within the OSGi Alliance and is about to be published as OSGi security guidelines. These guidelines are backed with a security test suite made with OSGi Enroute on OSGi open source github repository.

Experience level: 
Intermediate
Track: 

Developing a Multicore RC-Car with APP4MC

The RC-Car is developed at Dortmund University of Applied Sciences and Arts and serves as a demonstrator for mutlicore-based implemenetations. Consisting of several control units, it provides a playground for developing, testing and evaluating various applications with automotive focus.

Experience level: 
Beginner
Track: 

Introduction to Project Jigsaw

This session gives you a deep insight into the new Java modularity system introduced in Java 9.

You will find exactly what you need in order to get started using modularity in Java 9. You’ll learn through code examples and explanations how to take advantage from Java modularity in your projects.

Discover the great advantages that the Java 9 modular system offers to each developer.

You will learn to:

Experience level: 
Beginner
Track: 

5 Solutions to Integrate Xtext in Eclipse RCP and Modeling Tools

 Xtext is well known for making it easy to create smart editors and code generators or compilers for your own textual languages. While in many cases text is a great format for persistence, collaboration, and as a user interface, sometimes it is a mix of technologies that leads to the optimal user experience: In this talk we showcase and explain five ways to integrate with other established Eclipse projects:

Experience level: 
Intermediate

Managing a large project environment with Jenkins, Gerrit and Brain

In this session we will showcase how Compex manages the continuous integration process for the multi-module Eclipse project Open Standard Business Platform (OSBP), gaining quality, control and confidence.

This includes the control of the build process orchestrating amongst others Maven, Nexus, Jenkins, Gerrit, SonarQube as well as the publishing of >80 repositories and >500 bundles.

Experience level: 
Intermediate

CDO for Application Programmers

In this presentation we'll explore how best to employ EMF (Eclipse Modeling Framework) and CDO (Connected Data Objects) to build a scalable, transactional, and distributed application for your modeled data with just a few mouse clicks and a couple lines of code.

Experience level: 
Beginner

More Oomph

Without a doubt, most of the things you're currently doing manually to configure your Eclipse development environment can be automated with Oomph. You've probably used the Eclipse Installer to create your installations, but Oomph does so much more.

Experience level: 
Beginner

A pack of rovers: model driven product line management for the PolarSys rover platform

The PolarSys rover project intends to serve many PolarSys and Eclipse technologies and tools as a common platform to demonstrate their capabilities. It is also used in different teaching and research projects. This means, there is not really one rover but a pack of rovers, each with its unique intent. There is no single hardware and software configuration for the rover but a whole product family of different configurations.

Experience level: 
Intermediate

Building Nano Services with OSGi Declarative Services

OSGi declarative services exist for a long time and are used to implement a modular service-oriented architecture. Because of the supported dynamics, the easy way to define, register and consume services, declarative services can be found in various scenarios. Using several of the long time existing specifications like Declarative Service, ConfigurationAdmin and Remote Service Admin, it is also easy to setup the currently hyped micro services by using OSGi declarative services.

Experience level: 
Beginner
Track: 

Dealing with Preprocessors in Xtext Compilers

Preprocessing (aka ‘textual macros’) for computer languages is a terrible idea. Unfortunately, quite a few legacy languages (like C, C++ and Verilog) have preprocessing as part of their standard, and there is no turning back. For the programmer, preprocessing complicates debugging and it can result in all sorts of strange side effects. For the IDE developer, preprocessing is an even bigger challenge. How do you help programmers if each character in a source could be completely different after the preprocessor has run?

Experience level: 
Intermediate

Eclipse and Java™ 9

Java™ 9 is supposed to be released in March 2017. This session will present the most important new stuff in Java™ 9, especially project Jigsaw, which introduces modules into Java™. I will show how to get started developing Java™ 9 code with Eclipse and then demo the new features that are already available in Eclipse for the upcoming Java™ release. We will also look at the new Java™ 9 runtime images.

Experience level: 
Beginner
Track: 

CDT: Latest & Greatest Tooling for C/C++

The CDT project features advanced tooling support for C & C++ development. It is a mature project that is constantly evolving to support its users needs. It is widely used and adopted as part of other initiatives such as Polarsys. Technology like the CDT indexer heavily influences the upcoming dramatic speed improvements to the JDT indexer.

Experience level: 
Beginner

Hands-on: Manage your devices with Lightweight M2M and connect them to your cloud

The Internet of Things is rising fast, but how can it be run safely and efficiently using standards?
OMA Lightweight M2M is an IoT protocol for managing smart objects. It provides answers to the typical IoT needs: monitoring, configuring, securing and upgrading devices.
It is bandwidth efficient and fits in constrained embedded environments while providing friendly and discoverable RESTful API.

This tutorial aims at giving you a hands-on experience with Lightweight M2M:

Experience level: 
Intermediate
Track: 

The End of the world as we know it - AKA your last NullPointerException $1B bugs!

Eclipse JDT has static null analysis capabilities. This talk presents lessons learnt from applying this feature to parts of a very large existing code base (OpenDaylight SDN controller), looks at contributions made to the tooling situation for Maven around it, and includes a call to action to contribute to an emerging shared repository of External Annotation files (*.eea) for the most commonly used general Java frameworks as the critical missing piece for this cool JDT feature to gain more widespread use.

Experience level: 
Beginner

Colonization of Mars - Meet the Eclipse SmartHome powered Mars Rover

Won the Rover at EclipseCon France as a welcome surprise - and now it rolls around, talks and listens like Alexa, Siri & Co. Come to discover the journey of the Rover and his friendship with Eclipse SmartHome and Apache Karaf and hear about the fun we had putting it all together.

Along the way, you will learn how new devices are connected to Eclipse SmartHome, what is behind all the new voice enabling features and what it means to remotely provision and debug OSGi software on a truly mobile device.

Experience level: 
Intermediate

IoT Security in action!

Security is hard, but this “tools in action” session will walk you through some of the most common issues and threats in an IoT (Internet of Things) context, and will show you how to be more careful in your day-to-day life.

This talk aims at presenting the most common attacks targeting devices, and for each threat we will present open source tools that can help you preventing them.

Experience level: 
Advanced
Track: 

How the Bosch Group is making use of OSGi for IoT

In February 2015 the Bosch Group acquired ProSyst Software as part of its IoT strategy. For Bosch Software Innovations, the Bosch Group's software and systems house, OSGi offers the right balance between flexibility and hardware cost for IoT gateways. There is currently no other technology for IoT gateways that is both more future-proof and more mature than OSGi. In this presentation we want to give an overview of what has been achieved since then, looking at how the ProSyst's OSGi technology has been integrated into the comprehensive Bosch IoT Suite as well as the Bosch IoT Cloud.

Experience level: 
Beginner
Track: 

Develop e4 applications with JavaFX

You got a UI design from your graphic artist and you have sleepless nights because you know its next to impossible to implement in an e4 application when using SWT?

You have 2 choices:

  • Convince your customer that this nice design is impossible and you need a new design you can implement with SWT
  • you start to realize that SWT is not the right toolkit for todays RCP applications

There's a new Java UI toolkit available and shipped with your JDK named JavaFX who provides

Experience level: 
Intermediate

The Java Eightification of Eclipse Collections

Eclipse Collections (EC) and its predecessors embraced a functional programming approach for collections long before that became standard in Java 8. EC liberally uses function types (now lambdas) and higher order functions (now provided on the Stream interface). For a couple of years EC and Java 8 had disjoint functional APIs for collections. Now with version 8 (Milestone 1 released on July 6th), EC embraces Java 8 and adds interoperability in multiple ways:

Experience level: 
Intermediate

What's next for e4 and e4 on JavaFX

Eclipse 4 is now an established rich client platform with production ready renderers for:

  • SWT shipped by the Eclipse Platform project
  • JavaFX shipped by the e(fx)clipse project

In the last 2 releases not many new features have been implemented inside the base e4 application, while e(fx)clipse has been inventing new features who make the platform more powerful and is going to do more in the next few releases.

The e(fx)clipse team has many interesting ideas who might ore might not adopted by the base e4 platform like:

Experience level: 
Intermediate

Xtext beyond the defaults - How to tackle performance problems

Nearly every Eclipse user is aware what Xtext is and what it is useful for. It is always a pleasure to see in which kind of areas it is used.
One reason is clearly, that it is really easy to build a first working example in no time. The grammar alone is sufficient and the rest is done by a code generator. Xtext will generate stub classes, that are ready to fill in individual logic for different areas.
By doing that most of the things just work, because Xtext comes with a lot of defaults that suits in most of the cases.

Experience level: 
Intermediate

It's Beautiful enRoute

This talk will explain to java developers not yet using OSGi, how they can produce output with little knowledge of the underlying technology.
A helicopter view of the OSGi enRoute methodology will be explained with a demonstration of the simplicity of bringing non OSGi code into the brilliant enRoute environment.
The src from ImageJ, a non OSGi image processing codebase, will be brought into an enRoute setup consisting of an API bundle, a provider bundle and a command bundle.

Experience level: 
Beginner
Track: 

OSGi toolchain from the ground up

OSGi learning curve is steep but its benefits widely surpass difficulties: OSGi gives you sensible dependencies management, pluggable extensions mechanisms, strong modularity, out-of-the-box semantic versioning support and strong contract-based software development.

Experience level: 
Intermediate
Track: 

Exploring the Future of Eclipse Modeling: Web and Semantic Collaboration

Eclipse Modeling is the de-facto industry standard stack for building state-of-the-art model-based engineering tools. However, its foundations have been largely unchanged for more than 10 years, while the landscape of software engineering tools is shifting rapidly. One major new direction are web IDEs, where the Eclipse ecosystem has a technology leader with Che.

Experience level: 
Intermediate

From code patch to Jar file: close the loop with Eclipse Common Build

Every project wants more code contributions. Having too many is a good problem, until you become the bottleneck. We'll follow along as an incoming contribution makes its way into a release jar with minimal reviewer intervention and maximum build automation.

Hudson CI will make sure the code builds. Automated tests will make sure the build passes. Sonar and FindBugs will make sure the code is optimized. Gerrit will help you review and with your +2, Maven, Tycho and jarsigner will package everything up and put it in your download area.

Experience level: 
Intermediate

Introducing Xtext Core

The Xtext framework has always been a very useful and successful part of the Eclipse world, because it makes it very easy to design programming languages and corresponding Eclipse tooling. Since the last two years the team was also working on adding support for other popular editing platforms, such as IntelliJ IDEA and web browsers in general.

Experience level: 
Intermediate

Language Server Protocol Explained

The Language Server Protocol (LSP) introduced by Microsoft’s VSCode team has been a hot topic recently. In a nutshell it is an effort to unify how editors communicate with advanced language tooling.

In this session we want to give you an overview of what the LSP is, why it is so important and how you could leverage it. We will also explain what it does and what it doesn’t do, discuss some misconceptions and show some cool demos based on a Java implementation of the protocol.

Experience level: 
Beginner

Diagrams Revisited

Eclipse diagram frameworks focus a lot on strict architecture, maximum number of features and graphical model authoring. Sadly, I have very often seen this ending up in sluggish tools, with a lot of half-baked features and subtle consistency bugs. And with for form fields to fill in than for my tax return.

Experience level: 
Beginner

Embedding Xtext in Your Website

Xtext is a language development framework that comes with web browser support. Its JavaScript-based API allows you to add language-specific features such as code completion and live validation to a text editor embedded in a website. In this session we will share our experience with Xtext’s web support gathered in the first year after its release (November 2015). We will show and explain how you can implement different use cases such as:

Experience level: 
Intermediate

Xtext for Beginners

Xtext makes it easy to develop programming and domain-specific languages and tooling for them. It includes a basic language infrastructure consisting of a parser, linker, and compiler, as well as advanced features such as Java integration, symbol indexing, incremental building, and editing support for different platforms. Starting from version 2.11, in addition to Eclipse, Intellij IDEA and the Web support, Xtext comes with a Language Server Protocol implementation that opens a way to new platforms such as Eclipse Che and VSCode. 

Experience level: 
Beginner

New and Noteworthy in EMFCompare for Neon.1

A lot of improvements have shipped in EMFCompare with the Neon version, and more is to come in Neon.1!

Let's review these novelties and how they can help you better compare and merge your models and deal with collaborative modeling in Eclipse thanks to EGit.

You'll discover among other things the performance boosts, the UI simplification to make comparisons more simple to understand, the simplified customization for Domain-Specific Languages, as well as the improved support for Papyrus, for instance on UML-RT.

Experience level: 
Intermediate

ABAP Development Tools – Bringing a server-based programming model to Eclipse

Major companies run their business on SAP solutions written with the development language ABAP. This development language uses a proprietary server based programming environment. In 2008 the ABAP development tools team embarked on a journey to replace the existing toolset with a new modern toolset build on the open Eclipse platform.

The aim of this talk is to share the lessons the team learned during the last 8 years and explain the technical details behind them. 

The talk will:

Experience level: 
Beginner

Hearing and Feeling Eclipse

Getting started with Eclipse from scratch is challenging, but starting with only hearing Eclipse or feeling it with a Braille display is even more challenging. Blind programmers do not see the graphical interface and cannot use the mouse to operate the IDE. Nevertheless, many blind programmers use Eclipse as their programming environment. Thus, they have to face several problems while working with Eclipse; starting from how to operate Eclipse with a keyboard only, how to change views or perspectives, how to install plugins, how to recognize errors or warnings and many more.

Experience level: 
Beginner

IoT using OSGi, Cassandra, ElasticSearch and OpenNMS

OpenNMS (www.opennms.org) is an open source infrastructure management platform which gathers events and performance data from a very wide variety of sources. It has been around for over 15 years and is used by many large enterprises to manage their compute and network infrastructures. Relasing the potential of IoT, the OpenNMS project decided to invest in integrating OpenNMS with Cassandra and Elastic Search to provide a very scalable platform for processing data from an IoT environment.

Experience level: 
Beginner
Track: 

Taming Startup Dynamics

If you had to name a single great thing about OSGi, it would probably be its dynamics. Services come and go; other services react to those events, configuration can change and so on. Even the startup is dynamic: start levels are increased synchronously; however, configuration, Declarative Services, and Blueprint are started asynchronously after bundles turn active. Sometimes you want to exercise control over when your application is actually fully started or more importantly when it is not.

We will show you a way to monitor startup of your application and demonstrate failure scenarios for common subsystems like configuration and Blueprint. We will also demonstrate the concept of start phases. A phased start enables a higher level of security in the face of failures during startup.

Experience level: 
Intermediate
Track: 

Service Discovery in OSGi: Beyond the JVM using Docker and Consul

As many of you know, OSGi has a powerful and dynamic service discovery mechanism, but it is limited to services inside JVMs. With Docker nowadays it is trivially easy to deploy all kind of (micro) services, so we'd like to discover those too. We will have a look at how we can use the Docker API to discover services in other containers, and how we can use Consul to expand service discovery to other hosts.

Experience level: 
Intermediate
Track: 

Buildship 2.0

Since its inclusion in Eclipse Mars.1, we have implemented many improvements to Buildship, Eclipse Plug-ins for Gradle. This presentation, driven by live demonstrations, will go over all the user-facing enhancements that have made it into Buildship 2.0. Amongst those enhancements are support for composite builds, more accurate project synchronization, performance improvements, and more. We will also cover the latest improvements in Gradle and how they are leveraged in Buildship.

Experience level: 
Beginner

Six good reasons to spice up your projects with EMF Parsley

EMF Parsley allows for easy and straightforward UI building starting from EMF Models; it provides a set of reusable UI components (trees, tables, forms, editors), which are completely customizable, and an Xtext/Xbase based DSL editor for defining/customizing the UI components, which then can be used by your application with few lines of code.

Here is why you should use it in your projects:

Experience level: 
Intermediate

How to construct, develop and deploy a RCP application (E4) accessing a database ?

This tutorial pretend to show how to deal with an 3-Tiers architecture. This architecture is the backbone for a real VMC model and gains from each tier.

Oracle provides the strength and the persistence of a structured relational database (data tier). The E4-RCP application offers all the features to develop ergonomic interfaces (presentation tier). The server Glassfish is hosting and mapping the EJB Beans (logical tier).

And you will be able to make the tree working together  .... 

Experience level: 
Intermediate

About Tycho, Maven, P2 and Target-Platforms: Supporting Productive Software Solutions vs. Scientific Prototypes

This talk shares our experience when setting up Tycho and Maven for our Eclipse based and modular software framework Virtual Satellite. In particular in a research environment as you encounter at DLR (German Aerospace Center), this is challenging. On the one hand, Virtual Satellite needs to support multi-million euro projects such as future space missions. Therefore it needs to be mature, well tested and guarantee intended behavior for a serious group of users. On the other hand, it needs to provide a playground for scientific work such as PhD projects.

Experience level: 
Intermediate

Observation of Gravitational Waves from Binary Black Hole Mergers - Dawn of a New Astronomy

For the first time, scientists have directly detected gravitational waves. Gravitational waves are ripples in the fabric of spacetime as predicted by Einstein's theory of general relativity. Even though gravitational waves can carry enormous amounts of energy, they cause only tiny effects on earth such that it took 100 years from prediction to detection. The mergers of stellar-mass black holes approximately 1.3 billion years ago were identified as the source of the gravitational waves.

Experience level: 
Beginner
Track: 

Full Lifecycle Management in Eclipse, from Feature to Cloud

Eclipse is central to Microsoft's strategy to support Java and other cross-platform languages and non-Microsoft operating systems.  This session will detail how Eclipse enables integration with Azure and Visual Studio Team Services for cloud application debugging, version control, issue tracking, build monitoring, continuous integration, and deploying cloud solutions to Linux virtual machines and application containers.

Experience level: 
Beginner

Easy updates for remote RCP applications

In this talk I will show how we automatically update our eclipse RCP based desktop applications at remote customer sites. Updates are uploaded to an FTP server and a background application on the customer site will update the application when updates are available.

The main application is started from a network drive to make it easy for new users to use it without any manual install.

Experience level: 
Beginner

Eclipse Committer Orientation

Are you a new committer or project lead for an Eclipse, LocationTech, or PolarSys open source project? Are you thinking about proposing a new open source project? This session will take you quickly through the important parts of being a committer on an Eclipse Foundation project. Don't expect a lot of background or related discussion; in this session, we get right to the point and talk you through the key things that you need to know to follow the rules and be an effective committer.

Experience level: 
Beginner

CHOReVOLUTION Studio is an Eclipse-based IDE that helps business users compose and run new service compositions without programming expertise

The CHOReVOLUTION Studio is a new Eclipse-based IDE for service providers and IoT business users. Based on BPMN2 diagrams and modelling, it provides a dynamic and secure choreography of web services, without requiring multithreading skills. The CHOReVOLUTION technologies cover all the steps from inception, to design, implementation and deployment in the cloud. First use cases are related to Urban Traffic Control and Smart Tourism. CHOReVOLUTION has received funding from the European Union’s Horizon 2020 research and innovation programme.

Experience level: 
Intermediate

Introduction to Functional Testing with SWTBot and Maven/Tycho

SWTBot is an open-source Eclipse project for functional testing of SWT applications. SWTBot provides a Java API for specifying the behavior of the UI application to test, thus it is a purely programmatic approach to UI testing. Differently from other functional testing frameworks, like Jubula and RCP Testing Tool, you do not specify the expected behavior using a visual editor and a model representing the actions to perform on the application under test: you write a standard JUnit test using SWTBot fluent Java API, which hides most of the complexities of SWT and Eclipse.

Experience level: 
Intermediate

How we reached 0 technical debt in our Eclipse project

In this talk we would like to tell our story in testing our Eclipse project, EMF Parsley, and how we used code quality tools like Sonarqube to reach 0 technical debt.

EMF Parsley is an Eclipse project that provides a framework for quickly developing user interfaces based on EMF models. The framework allows for customization via dependency injection. It also provides an Xtext based DSL to quickly and cleanly configure and customize the UI components.

Experience level: 
Intermediate

OSGi/Java in Industrial IoT: More than a Solid Trend — Essential to Scale into the World of Internet-Connected Things

With the promise of "real" IoT, the requirements for computational capabilities and agility at the edge demand IT-centric architectures and solutions that are based on open and industry standards. "IoT stacks" that are built on OSGi and Java’s solid foundation ensure effective modular software development and management on abstracted hardware.

Experience level: 
Beginner
Track: 

End-to-End open source for IoT with RIOT

The talk will be introduction to the need for open source wall the way down to IoT devices and sensors, to the RIOT operating systems which allows to do that, and will overview the current state of developments within the RIOT community. If times permit, a small demo can also be included in the end of the talk.

Experience level: 
Intermediate
Track: 

Building web apps with nothing but Java

Spring Boot and Vaadin forms a cool combination, that allows you to build modern single-page web applications with plain Java - without any “front-end” skills at all. Java for your persistency and business logic, Java for your UI. And, even if you knew how modern web apps work, you’ll be much more efficient with Vaadin based UIs, as you’ll be working with one language only, instead of swapping between Java, markup languages, JS and Css. We’ll build a JPA backed CRUD application, with nice looking Vaadin UI.

Experience level: 
Beginner

The Shuttle Case

January 28, 1986: The space shuttle Challenger explodes just one minute after launch. As the world looked on horrified, few realized that this was an inevitable accident that had been predicted by the designers for years. Indeed, the day before the key engineers believed that there was "essentially a 100% probability of disaster."

After the accident, NASA embarked upon major management reforms. Sadly, the reforms made the launches look almost too safe, and as a result over the subsequent years standards and relationships slipped once more.

Experience level: 
Beginner
Track: 

Handling large automotive engineering models with the Eclipse ecosystem

Automotive tooling is often based on Eclipse - including little helper tools, commercial products and large in-house engineering backbones. In this talk, we will present our experiences from building engineering backbones that are used to model, integrate and provide the full data required for the software and network engineering of automotive ECUs (electronic control units). We will discuss aspects of the implementation of these backbone, such as

* Evaluation and selection of transformation technologies within Eclipse (Xtend, QVTO, etc.)

Experience level: 
Intermediate

Machine Learning: A gentle Introduction

Over the last years machine learning has become a hot topic. This is no surprise as the state of the art has reached levels that started to gain a lot of attention in the media: Self-driving cars, winning to Go game against top professional players and social media platforms that recognize your face in most online pictures.

This presentation provides an overall picture of machine learning and does not require any previous knowledge in the field. Sit back, relax and learn more about the following topics:

Experience level: 
Intermediate

Non-negotiable usability

When it comes to create and deliver the best features for target users, usability discussions can go on endlessly.

But there are other features to implement in the release, and at some point, this new release must be shipped.

So how to make sure you have achieved the minimum usability to avoid rejection.. and even foster adoption?

What does it take to make your assessment and reduce the risk of any further negotiation?

This is what this talk intends to provide - an explanation of a method and a team-spirit to adopt.

Experience level: 
Beginner

Dynamically assembled REST microservices using JAX-RS and... microservices?

REST microservices are a powerful tool for composing large-scale systems, and the standalone nature of a microservice helps to avoid it becoming part of a “big ball of mud” application. Given the power and success of microservices as inter-process modules, why stop there? OSGi has offered in-process microservices for nearly two decades, and uses them to great effect in modular applications.

The new OSGi JAX-RS whiteboard service allows dynamic OSGi services to be automatically exported as JAX-RS Resources, Filters or Applications. These “Microservice modules” can be easily shared or moved between frameworks, allowing you to benefit from a microservice structure that goes all the way down.

Experience level: 
Beginner
Track: 

B612: the PolarSys font

The project is the result of a study performed between 2010 and 2012 and whose goal was to develop a new font for enhanced readability and better comfort for the reader. After user needs analysis,observations and discussions with end-users (crews, ...), requirements for the font designed have been issued. The font has been iteratively designed and tested in lab and simulators. This fully open-sourced  font is designed for enhanced readability and comfort and safety (protection against reading errors).

Experience level: 
Beginner

Why Desktop-IDEs aren’t the future - but Cloud-IDEs neither

You hate current desktop IDEs and think that Cloud-IDEs are the solution? Or do you hate those emerging Cloud IDEs and hope that the desktop IDE will survive this somehow? This talk discusses why both is true and false at the same time. We start to talk about todays Desktop IDEs, about their history, the burden of legacy they are dealing with, and issues they failed to overcome in the modern world. The talk continues with a discussion of Cloud IDEs, their major advantages, and their major problems - and why many developers are not willing to use them for their daily work yet.

Experience level: 
Intermediate

What every Java developer should know about AngularJS

Many business applications nowadays have a least some web UI parts using server-side rendered, static HTML. With the upcome of dynamic HTML Javascript frameworks like Ember.js or backbone.js, there is a continuous trend to implement those web front-ends as “single page” applications. While there is a lot of diversity in the JavaScript world, one framework has become especially popular for business applications, that is AngularJS. It allows to extend HTML by dynamic behaviour and provides essential concepts for developing single page web applications.

Experience level: 
Beginner

DIANNE: A distributed deep learning framework on OSGi

With the current explosion of IoT devices connected to the Internet, the biggest challenge in the near future is how to process and analyze all this generated data, making use of the highly distributed compute infrastructure at hand. A promising approach for data analysis is deep learning, using brain-inspired neural networks for feature extraction and detection. In our research lab, we have developed DIANNE, an OSGi-based framework for creating, deploying and training artificial neural networks in a modular way.

Experience level: 
Beginner
Track: 

Building a domain-specific modeling product based on Papyrus

In the Eclipse ecosystem, there are several great frameworks available for building custom modeling products, such as the Eclipse Modeling Framework, the Graphical Modeling Framework, and Xtext. One modeling product that uses all of the frameworks mentioned above is Papyrus, which provides a feature-rich, open-source modeling environment for UML.

Experience level: 
Intermediate

Build your responsive HTML5 single page applications with Eclipse Scout

Learn how to write good looking HTML5 applications in Java with the Scout framework.

With the Neon release of the Scout framework you can now build modern HTML5 applications. Out of the box your HTML5 frontend will runs on desktop, tablet and mobile devices. Developers attending the tutorial should bring solid experience with the Java language. As Scout applications (including the frontend) are implemented in Java, only minimal knowledge regarding HTML5/CSS3/Javascript is required.

Experience level: 
Intermediate

Sirius Workshop: let's create a graphical modeling editor for a robot!

Eclipse Sirius is the project that makes it easy to create custom graphical modeling workbenches dedicated to specific business domains.

In this tutorial, you will see how to create a diagram editor to define the choreography of a Mindstorms robot. Based on a graphical language, this tool will allow you to define and combine the different steps of a choreography executed by a Lego Mindstorms: going forward, turning, grabbing or releasing the object, …

The workshop is composed of four steps:

Experience level: 
Intermediate

Execute and synchronize your models with Papyrus 4 Java

UML is a  modeling language widely used in Industry. Models raise the abstraction level and a a good means to document a software system. But what good is such a model if it does not correspond to the actual implementation of your system? This could happen either, if the implementation was never automatically derived from the model. Even if code generation has been used initially, model and code could diverge if the latter is modified during debugging and testing without reflecting the changes in the model. It is thus important to synchronize model and code in an automatic way.

Experience level: 
Beginner

From stairway to heaven onto the highway to hell with Xtext

Xtext has revolutionized the way to implement textual DSLs and is used
nowadays successfully in many projects. The framework provides an excellent
documentation and  introductionary examples which allows developers without
even having knowledge about Eclipse plugin development or parser techology to
build sophisticated languages with extraordinary tool support. Advanced users
are even able to build full-blown programming languages for the JVM, like
Xtend.

Experience level: 
Intermediate

Eclipse Kura & MODBUS - Monitor industrial automation equipment

Industrial automation devices like PLCs, Inverters, Power meters, Flow
meters, etc used as a field devices operate as a standalone equipment with
ability to interchange information between each other on demand or on a
periodic basis. Field devices need to be monitored and maintained, which is
usually handled manually by technician. Existing installations with legacy
protocols usually are hard or expensive to integrate with other systems. IoT
technologies currently available may constitute a significant solution when
facing such problems.

Experience level: 
Intermediate
Track: 

Real World IoT: Architectures and Projects with Eclipse IoT

After building an active, fruitful, and successful community, Eclipse IoT has now assembled a growing number of projects which enable the execution of IoT applications and solutions. After a brief overview of the challenges related to IoT deployments, this talks aims at illustrating reference patterns for IoT architectures which, based on open source projects at Eclipse, address those issues. The session will share the experience from real world IoT use cases where those technologies and patterns have been employed.

Experience level: 
Beginner
Track: 

Getting to the Next Level with Eclipse Concierge

Eclipse Concierge provides a clean, small and lightweight implementation of the OSGi core framework specification, specifically tailored to embedded systems and IoT. In this talk, we will cover how to use and deploy the Concierge OSGi framework (e.g. using OSGi enRoute), and discuss many of the new and upcoming features in the Concierge project such as the OSGi REST interface and Cloud Ecosystems reference implementations.

Experience level: 
Intermediate
Track: 

OSGi for European and Japanese smart cities - experiences and lessons learnt

Internet of Things (IoT) is the digital skin of the physical world. It has specific requirements such as dynamicity to self-adapt to the continuously changing physical context. The world is heterogeneous and the objects should interoperate to collaborate, thus interoperability is essential. Openness and short learning curve are other requirements so that innovators (e.g. startups) can rapidly build applications with reduced time-to-market and avoid vendor lock-in.

Experience level: 
Beginner
Track: 

Herding Cats – How to Gain Control Over Your Industrial IoT Hardware Zoo

Industrial IoT solutions typically require a mix of heterogeneous IoT devices. These devices feature different processors, different operating systems, and different means to interface sensors and actuators. They require different tool chains to program them. Setting up the tool chains and getting them to work often requires high effort. Furthermore different communication and IoT protocols with different payload formats need to be utilized.

Experience level: 
Intermediate
Track: 

Drainage Manager

Just imagine an intelligent drainage system which automatically opens the valve and pumps out water when there is a heavy rain/flood etc and the water level in the drains goes above accepted level. It has sensors installed at frequent intervals, which monitors the water level and keep sending the alarm to the concerned person and even actuates by triggering a signal to open the valve or pumps. If the level still goes up and it senses some kind of blockage, it sends message to the concerned person to check it before it creates panic on the road/society.

Experience level: 
Beginner
Track: 

OSGi on High Speed Trains in Germany

We designed, developed, deployed and have been running an OSGi platform on all high-speed ICE trains in Germany since 2014. Requirements, design and development lasted 6 years and the goal of the platform was to integrate multiple existing systems on the train and link them to the back-office systems using GSM-R and GSM-P network. This integration required a modular platform and OSGi offered the ideal technology to achieve this.

Experience level: 
Intermediate
Track: 

XMI or Parsed Concrete Syntax, How Shall I Persist?

You want to see and edit your model graphically; you want to see and edit your model textually.  The choice of model data storage has performance implications with orders of magnitude differences between choices. How should you persist your model data to most efficiently support these requirements?

binary data, XMI, SQL, parsed language?
1 file, 2 files, several files?

This presentation will explore the strengths and weaknesses of various persistence strategies.
Performance will be a key factor with special attention to:

Experience level: 
Intermediate

Industry 4.0 with Eclipse Kura

In Industry 4.0, different types of isolated and optimized sensors, machines, and instruments of varying vintage will emerge as a fully integrated, automated, and optimized production flow, leading to greater efficiencies and changing traditional production relationships among suppliers, producers, and customers. In the IoT context, Eclipse Kura is a Java/OSGi application container framework that enables remote management of IoT service gateways and provides a wide range of APIs that simplify the development of IoT applications.

Experience level: 
Intermediate
Track: 

The Things Network: Applying Eclipse Technologies to build real Use Cases

The Things Network is a global open crowd-sourced IoT platform built on top of the LoRaWAN standard. It provides extreme long ranges, low power consumption, and low cost, both on infrastructure as on application devices. With this, it is possible to cover a complete city with only a handful of gateways (base stations). 

Experience level: 
Beginner
Track: 

Embedded Modeling at Eclipse - a tale of two dialects

The most observant amongst you may have noticed that there are two "competing" Eclipse open source products to develop models for embedded systems and that both are part of both the Eclipse PolarSys Working Group and of the Eclipse Papyrus Industry Consortium!

These projects are:

    * Eclipse Papyrus for Real Time, implementing UML-RT
        http://projects.eclipse.org/projects/modeling.papyrus-rt

Experience level: 
Beginner

What Every Xtext User Wished to Know - Industry Experience of Implementing 80+ DSLs

Avaloq is an internationally leading Fintech company and the creator of the Avaloq Banking Suite. Domain Specific Languages (DSLs) are used to customize the business logic of the banking suite. Xtext is an Eclipse project that provides rich support for the implementation of DSLs. Xtext is very flexible and easily extensible allowing to apply it way beyond simple flowchart DSLs. At Avaloq we used Xtext to implement tools for over 80 DSLs out of which over 50 languages existed long before we learned about Xtext and hence were designed without Xtext implementation in mind.

Experience level: 
Intermediate

A Cooperative Modeling Environment – Challenges, Approach, Open Questions

UML modeling often equals to graphical UML modeling because most people learned UML by its graphical notation. Therefore, there are far more graphical UML editors than other types of editors such as textual ones.  This, however, often excludes visually impaired users from modeling because they cannot access or edit the modeled information easily. Moreover, even power users can benefit from alternative editing opportunities. In this session, we want to report on our progress of implementing a cooperative modeling environment that brings together graphical and textual UML modeling.

Experience level: 
Beginner

An App store for Eclipse Smart Home?

Eclipse Smart Home is an open platform for building Smart Home solutions. With OpenHab, there is even an open implementation for a Smart Home Gateway based on Eclipse Smart Home. However, setting up a custom Smart Home solution with those frameworks still requires a great deal of configuration effort, and, especially for advanced solutions, programming skills. One of the major shortcomings is, that implemented behavior and configurations, created by advanced users cannot easily be shared with common users.

Experience level: 
Beginner

Building an extension for Eclipse Che - an experience report

Eclipse Che is a cloud-based IDE including online workspace management. As all Eclipse projects, it is open source as well as extensible with custom plugins. Some of Ches’ language tooling already reuses existing Eclipse frameworks, such as JDT for the Java support or Orion for the code editor.
Therefore, we wondered, can we enable the EMF tooling to run online in the cloud?
Our goal was to create an Ecore editor for the Che IDE, to enable code generation and potentially even facilitate other EMF features, such as a generic editor.

Experience level: 
Beginner

EMF Forms: The past, the present and the features

With Neon.1, we ship the 11th release of EMF Forms, a framework to efficiently build form-based UIs for showing and modifying data. Since version 1.0.0, we have completed over 1000 feature requests and bug reports, 33 contributors have submitted 10k commits and developed over 600k lines of code. EMF Forms continues to be one of the most active projects at Eclipse.

Experience level: 
Beginner

Building Full-stack Applications with Open Source Technologies

In this session we present a complete multi-user task-management application built with open source technologies. The goal of the chosen technologies is to make the life of the application developer as simple as possible while keeping it flexible enough to implement large and complex business applications.

The technology mix includes the following components: Eclipse Scout, Spring Boot and Docker.

Experience level: 
Intermediate

Building the IoT Cloud with Eclipse IoT

With analysts predicting millions of connected devices, there is a growing need for an open source IoT cloud solution which can connect and manage edge devices. Such solution should enable developers to quickly integrate their devices and backend services, preventing the need to solve recurring problems and create silo applications. This session will present open source IoT cloud platform built within Eclipse IoT.

Experience level: 
Intermediate
Track: 

Eclipse + Maven + OSGi has never been so easy

We started to develop our first maven plugin in 2013 to accelerate the development iterations of OSGi and to support Test Driven Development. In the last three years, lots of functionality were introduced in our custom developed toolchain. The icing on the cake is the Eclipse plugin that allows developers to start, stop and upgrade their custom OSGi environment from the IDE.

Experience level: 
Beginner
Track: 

Enforcing reproducible builds with Eclipse Package Drone

This session will explain a real world derived use case, where we use the new trigger system (since 0.13) in Eclipse Package Drone to restrict the upload to artifacts which don't already exist and also prevent uploading artifacts with the same version but a different content. Of course there will be a short introduction to Package Drone, and some other interesting use cases will also be covered.

Experience level: 
Beginner

Contribute to your Eclipse IDE using pure E4 plugins

Today, there is still some confusion between the choice of developing using the Eclipse 3 or Eclipse 4 concepts.

Yet, it is easy to develop new E4 plug-ins that fit into the legacy E3 code while benefiting from innovations such as injection or the application model.

The purpose of this presentation is to refresh the basic principles of the migration and the E4 runtime. Then, it is to explain the development of a pure E4 plug-in that adds a command on an EMF editor  which is still generated using Eclipse 3 concepts.

Experience level: 
Beginner

KOMMA: Forget about EMF-based modeling, editing and querying of a closed world

Modeling with EMF is cool, isn't it? Indeed, if you use EMF in scenarios where your domain is predetermined and inferring new knowledge is not that important. Of course, there are possibilities to derive information from EMF-based models. EMF-IncQuery, e.g., is a mature tool to accomplish this. But the universe of domains is finite since the EMF world is considered to be closed.

Experience level: 
Beginner

KOMMA: Modeling with RDF and linked data

KOMMA is an RDF-based modeling framework for Eclipse. It is based on OpenRDF Sesame (now Eclipse RDF4J) for the underlying data management and the connection to different triple stores (RDF databases). KOMMA is for RDF what EMF is for ECore.

Experience level: 
Beginner

Beyond Universal SaaS

The Software-as-a-Service paradigm sells universal best practices to customers. Successful ones, claim that their solutions can be customized to fit up to 90% of your current business practices. But in the world of large enterprises this gap of 10% or more is not acceptable.
We will explore the demands, the opportunities and the solutions to walk the last mile from "Universal Enterprise SaaS" to "My Enterprise SaaS" using Eclipse Dirigible leveraging SAP HANA Cloud Platform and SAP SaaS solutions such as Successfactors and Ariba.

Experience level: 
Beginner

Avoid the chaos - Handling 100+ OSGi Components

Have you ever felt that your system could collapse like the house of cards? Has it ever happened to you that an OSGi component got unsatisfied and that caused a chain reaction? It can be hard to find the root cause when you see 50+ non-active components. In this talk, we will show, how these issues can be solved quickly so programming can be fun again.

In the first part of the talk we will introduce our component model that is based on the concept of Declarative Services. There are minor changes, the ones that allow us to handle large set of component graphs easily.

Experience level: 
Intermediate
Track: 

Tuleap and Mattermost - new tools for Eclipse project

Eclipse has always been a place of open innovation and collaboration. However, the bug tracking system, a key enabler of collaboration and open-ness, has been stuck with a feature set from the 90ies making it hard to communicate plans and priorities to the outside world.

In order to help address these issues, Tuleap, an open-source ALM has been installed at the Eclipse Foundation.
In this session, come and learn about Tuleap and how it can serve your project.

The session will present:

Experience level: 
Beginner

Embedded Java: create an application for microcontrollers using the Edje library

In this lightning talk session we will provide an update on the Edje project and introduce our demos on the IoT Playground.

The Edje project defines a standard high-level Java API called Hardware Abstraction Layer (HAL) for accessing hardware features delivered by microcontrollers (MCU) such as GPIO, DAC, ADC, PWM, etc. that can directly connect to native libraries, drivers and board support packages provided by silicon vendors with their evaluation kits.

Experience level: 
Beginner
Track: 

From JARs to Bundles to Resolutions to Knowledge

Creating a modular system leads to a number of benefits, from technical improvements to organizational improvements. However, at scale modularity can require a significant amount of mental energy. The OSGi model is fundamentally based on the idea of injecting knowledge into individual modules which frameworks use to great effect. But given hundreds or thousands of modules the sheer volumn of information can make reasoning about them difficult. Luckily OSGi defines mechanisms for performing operations to reason over arbitrary number of modules.

Experience level: 
Intermediate
Track: 

Eclipse Tips and Tricks

This talk aims at providing tips and tricks that increases the productivity of the eclipse user  in each of the stages-  Starting with workspaces and projects organization, navigation, editor and through the coding and debugging phases. The new features of Neon will be highlighted at appropriate places in the presentation. The slides are attached. Every section's discussion will be followed by a demo using the Eclipse Neon IDE, highlighting the features discussed in that section.

Experience level: 
Beginner

Modeling Avengers : Open Source Technology Mix for Saving the World

Planet earth is facing massive challenges:  global warming and scarcity of natural resources among others. Those challenges are reaching a level of complexity unknown yet and trying to address those requires deep scientific understanding, real world data,  specialized tools, inter-disciplinary collaboration and the ability to evaluate “What If” scenarios.

Experience level: 
Intermediate

Sirius 4.1 : Let Me Sirius That For You!

The Sirius 4.1 version available in the Eclipse Neon release brings a significant number of new features that empowers the developer to create impressive designers.
This new release represents countless hours of hard work encapsulated in both the Sirius and EEF projects.
During this talk, we’ll have a look at a handful of the new features available in this release:

Experience level: 
Beginner

Native mobile applications with Dirigible and Tabris

This talk will explain how to develop native iOS and Android applications with Eclipse Dirigible leveraging Tabris.js mobile framework. 

First a demo will be shown on how to create a project from scratch with a single data structure and a RESTful service. Next, a mobile application will be created which will call the backend RESTful service and will vizualize the result. 

Afterwards it will be explained why were these technologies chosen, architecture and concepts behind these technologies and future delivery plans for the mobile applications.

Experience level: 
Beginner

Elevate your IDE with scripts

Script your IDE. Learn how to automate your daily tasks. Extend the UI without writing java code. Test your Java classes without launching them. Write scripted tests for your dedicated application.

Anything goes with scripting!

While we will briefly show what EASE is all about we want to focus on the new keyword mechanism that allows you to add scripts to the UI of your application without knowing anything about extension points or plugin development. Further we can bind scripts to events which allows to build cool things like custom save actions or builders.

Experience level: 
Beginner

M2M – Transforming the Legacy

Our Automotive Eclipse tooling for electronic control units enables realisation of various functionalities for different vehicles. The central part of our IDE is a single holistic EMF model. This model had and still has benefits, but over the years standards evolved and so this core part of our software became bigger and bigger with constantly increasing technical debt.

Experience level: 
Intermediate

The Eclipse Layout Kernel

Graphical editors are a popular means to visualize concepts and architectures through the design of a diagram. More and more solutions follow this approach, among them Papyrus, Sirius, or Capella. However, for diagrams to be useful, their elements have to be carefully positioned. Only then do they convey their intended meaning quickly and accurately.

Experience level: 
Intermediate

Why PHP Still Rules the Web and What Eclipse Can Offer You

Which programming language rules the web? JavaScript? Correct, but only in the web browser. Another hero dominates the web servers - the PHP scripting language.

Let's have a look at what made PHP so successful. How a 21-years old programming language is still fresh and modern to bring innovation to the web?

Impressed? Want to give it a shot? Let's see how Eclipse can help you in your first steps with PHP.

Experience level: 
Beginner

What's NOT new in modular Java

With Java 9 and Jigsaw project around the corner (this time apparently for real), we finally need to stop pretending we can simply ignore the concept of modularity in Java! The thing is - modularity is NOT just some new framework! Neither it is a simple set of APIs! It's a complex concept that has been around for almost as long as the industry itself.

Experience level: 
Intermediate
Track: 

OSGi for outsiders

OSGi has evolved and matured beyond recognition over the last few years. It's now easier than ever before, to build dynamic, modular Java applications to address the challenges imposed by ever growing and constantly changing business requirements. Despite that fact, OSGi seems to be far from receiving the appreciation it deserves. And if you are OSGi developer who now wanders "why should I care?", let me remind you Thomas Edison's famous quote "The value of an idea lies in the using of it"!

Experience level: 
Intermediate
Track: 

Building IoT ontologies and integrating them with Eclipse projects

Ontologies define the relationships between objects, using a defined vocabulary and defined relationships. What sounds awfully dry and technical is actually quite exciting in the context of the IoT: Imagine you're interested in "room temperature control" and the computer will return a list of all devices that can be used to either monitor or control ambient temperature - without those devices having been explicitly labelled as "room temperature" devices.

Experience level: 
Intermediate
Track: 

Introduction to Eclipse Che Extensibility Model

This session will present internals of Eclipse Che. Session will highlight how to customize the development platform by adding or developing new plug-ins or set of extensions.

You'll learn the basics in order to:

  • register custom actions in the Che IDE menu
  • create new set of commands
  • use a custom docker image for the workspace of projects.
  • add support for a new coding language
  • generate a custom assembly with all pre-defined plug-ins
Experience level: 
Intermediate

Extending Eclipse Che to build custom cloud IDEs

Eclipse Che: High performance, open source software developer environments in the cloud.

In this session, internals of Eclipse Che will be described and explained. Session will highlight how to customize the development platform by adding or developing new plug-ins or set of extensions.

The development of extensions will include client side and server side extensions.

Experience level: 
Intermediate

Microservices & OSGi: Better together?

Since the 1960s the industry has been rediscovering the benefits of modularity.  Modularity comes in many different guises, from small software objects to deployed systems.  Although many approaches to modularity exhibit common characteristics, a number also have unique benefits.  This talk will introduce the concepts of modularity, Microservices and OSGi, and compare Microservices and OSGi against a Modularity Maturity Model (a measure of modularity capability and completeness).  It will describe how the similarity in characteristics between Microservices and OSGi make these technologies a

Experience level: 
Intermediate
Track: 

Schedule your micro-services on Docker Swarm and a cluster of Raspberry Pis with a Sirius-based workflow designer

Lightweight containers technologies such as Docker are more and more adopted for deploying and managing micro-services architectures. Indeed, they hide a part of the complexity resulting from the language heterogeneity and the large choice of existing implementation frameworks that can be used to implement modern applications. Containers provide those benefits without introducing the general cost of the virtualization.

Experience level: 
Beginner

Gendoc, the Eclipse project for document generation from Modeling Tools

Gendoc (http://www.eclipse.org/gendoc/) is an Eclipse component. It offers a solution to generate industrial documents (needed for certification) by starting from a document template written directly in the target format (OpenXML or OpenDocument) .

Data are extracted from models and put into generated documents by script/queries.

Gendoc is currently working with Papyrus, Capella, Sirius and RSA models and diagrams and can be extended easily to support all other kind of editors.

This talk will

Experience level: 
Beginner

Of microservices and microservices

Microservices are definitely the hot topic du jour . Everyone ( and their dog ) is using microservices or migrating towards them. To make things more interesting, the OSGi community has been talking about microservices for 6 years now, so now we have two clashing definitions of the term.

Experience level: 
Beginner
Track: 

Why contributing to an eclipse project will benefit your RCP application.

When you develop your own RCP application, sometimes the technologies you depend on might have glitches, and may not work the way you would like. Then you end up forking it thus making it harder to maintain and upgrade. Alternatively, you could have easily contribute to the Eclipse ecosystem.

The aim of this talk is to demonstrate from an industry point of view based on my experience, on different RCP application why contributing to an eclipse project will benefit your own RCP application and the whole community.

Experience level: 
Beginner

The future of eclipse.org websites and services

At the moment, if you want to have an overview of an Eclipse Community user, you must have a look at many websites: the forums, bugzilla, marketplace, ...

That is why at the Eclipse Foundation, we are working on new services:
- a brand new user profile, to manage and share your information
- the User Storage Service, to be used by plugins to store data on the eclipse.org user account
- an Oauth / openID server for Eclipse websites, services, projects, plugins, ...

Experience level: 
Beginner

Standard Tests for plugin.xml

Eclipse plug-ins rely heavily on configuration rather than coding. In particular, very plugin has at least one plugin.xml file and often several supporting XML documents that connect interfaces to implementations, specify commands to run, provide UI elements, and more. And all of this XML configuration code can and does break.

Experience level: 
Intermediate

Testing Eclipse Plug-ins: Lessons from the Field

Google uses Test-Driven Development extensively, but when Google’s newly formed Cloud Tools for Eclipse team set out to write a new Eclipse plug-in to support the Google Cloud Platform, we ran into a numerous areas where the RCP framework was not very testable. This talk explores multiple hacks we used to test things that were never designed to be tested:

 

Experience level: 
Beginner

N4JS - Sound Static Type System For ECMAScript 2015 And More

One of the biggest challenges presented by large-scale projects is their maintainability over time. Early code validation by means of a static type system ensures that the time and effort required to recognise and diagnose errors is significantly reduced. N4JS is an open-source super-set of ECMAScript and an IDE for N4JS and ECMAScript. It is based on Eclipse technologies, such as EMF and Xtext, an Eclipse project proposal has been submitted. In the talk we will present N4JS and compare it with TypeScript.

Experience level: 
Intermediate

Have fun and be recognized in your work by contributing to the Eclipse community

Eclipse open source projects reflects the work of its community. At their respective level, anyone can contribute without necessarily having to be an advanced developer.

In fact, contributing simple fixes is a great way to start on your path to becoming an advanced developer and be recognized in your job..

Following an introduction of the different types of contributions and the role that anyone can have, this talk will focus more specifically on the code contribution process from both the perspective of the contributor and the committer who accepts the contribution.

Experience level: 
Beginner

Oomph / oasp4j-ide IDE provisioning - Tackling the challenges of software engineers' daily work!

The talk will address the challenges of IDE provisioning for industry projects. In specific, providing a preconfigured eclipse by Oomph as well as providing isolated development environments including any binaries like ant, maven, nodejs for each project without using virtual machines. I address the latter point by introducing the oasp4j-ide (https://github.com/oasp/oasp4j-ide).

Experience level: 
Beginner

Fast Unit tests for Eclipse plugins - possible architectures and available tooling

Almost nobody agrees on the current definition of a unit tests in general and even more for an Eclipse plugin. Worked with different projects and presented this talk at EclipseCon France, I saw different constraints and point of view on the subject. My focus will be testing class inside a plugin without launching an OSGI platform - aka testing at the speed of light. I will explain the advantages and the constraints depending on the project context (API, RCP application).

Experience level: 
Intermediate

How to extend Eclipse Dirigible WebIDE and AppServer

This talk will give details about the different options for extending the Eclipse Dirigible development platform including:

* standard OSGi for extending the core

* embedded HTML5 content e.g. Orion, ACE, Designer

* applications built-with and run-on Dirigible itself

* 3-thd party engines integrations in the AppServer - embedded/standalone

 

Some related information can be found at:

Experience level: 
Intermediate

Enterprise JavaScript ... what the heck?

Enterprise JavaScript is a set of API modules that aims at standardising the usage of HTTP client and server, database access, files operations, websockets, soap and even threads and streams manipulations for JavaScript language.

In this talk will be explained the new API paradigm in Eclipse Dirigible and will be shown examples for

* database access

* HTTP client usage

* multi-threading

* files operations

* Websockets

* messaging

* and even SOAP calls

 

More info can be found at:

Experience level: 
Beginner

WebSockets and Equinox OSGi in a Servlet Container

How to use WebSockets, coming as a standard feature with the modern Servlet Containers (e.g. Tomcat 7.x) from within the embedded Equinox OSGi environment deployed as a WAR application archive?

This talk will explain in details how to configure the classloaders and dependencies as well as how to create a websocket bridge for the internal OSGi plugins.

More details can be found here:

Experience level: 
Advanced
Track: 

Transaction Control – A functional approach to modular transaction management

Transactions are a critical part of almost all Enterprise applications, but correctly managing those transactions isn't always easy. This is particularly true in a dynamic, modular world where you need to be certain that everything is ready before you begin.

With the advent of lambda expressions and functional interfaces we now have new, better tools for defining transactional work. The OSGi Transaction Control service uses these functional programming techniques to scope transactions and resource access, providing control and flexibility while leaving business logic uncluttered. The resulting solution is decoupled, modular and requires no container magic at all, making testing and portability a breeze.

Experience level: 
Beginner
Track: 

Scalable Event Processing – Pushing the limits with Push Streams!

Data is being produced everywhere, there are sensors in thousands of homes, metrics collection from your cloud applications, industrial sensors manage the safe provision of water and electricity. The question is, what do we do with all of this data? How do you cope with thousands (or millions) of push-based data events per second?

A crucial part of any of any solution is to have the right primitives. An asynchronous, push-based event processing pipeline is essential. OSGi Push Streams offer the power and simplicity of Java 8 streams, but with the power of asynchronous push-based events. This talk will describe the  work happening in OSGi's Push Streams RFC, using streams and promises to build scalable event processing pipelines.

Experience level: 
Intermediate
Track: 

What's happening in the OSGi IoT Expert Group?

The Internet of Things is a hot topic in the IT industry, and it shows no sign of cooling down. When OSGi was first conceived its purpose was to do exactly the sorts of things that IoT gateways do right now. In fact a lot of IoT gateways run OSGi today! The OSGi IoT Expert Group exists to help identify new areas where OSGi can offer a better IoT platform, and to define solutions for those use cases.

This talk from the chair of the IoT Expert Group will cover the recent work that's been going on in the IoT Expert Group, what outputs you can expect to see in the future, and also information about how you can get involved with the Expert Group

Experience level: 
Beginner
Track: 

Performance testing on a budget

Several studies have shown that the performance of a software product is as important as its functional correctness. However, many people perceive performance testing and analysis as an activity which requires a deep technical understanding of the application under test and expensive tools.

This talk will show with practical examples that this is not neccessarily true.

Experience level: 
Beginner

Domain driven design in Scala: A primer on crafting DSLs, domain models and code generators.

- How to build your high-level DSL

    - how to design, implement and validate your DSL

    - problems that arise while working with high-level abstractions

- How to define, process and validate your domain models

    - processing, enrichment, validation

- How to implement code generation templates in Scala using string interpolation

The whole session is based on real life experience we went through while working on dryTools product Sifu (more info on http://drytools.co).

Experience level: 
Intermediate

Building data-centric UIs with EMF

The Eclipse Modeling Framework (EMF) provides extensive support for the implementation of data-centric UIs, whether for tools or for general purpose applications. This support includes generated classes, such as label and content providers, to support for implementing trees or tables, databinding, and additional UI frameworks for various purposes.

This tutorial starts from a given example data model. We will introduce how to create a UI allowing you to create, modify, and delete instances of this data model.

Experience level: 
Beginner

Powering a Live Escape Game with ECF & e(fx)clipse

During the talk I will show how we used Eclipse technologies to create software for an enhanced live escape game. To demonstrate the system I will show the core riddle of the game: a “bomb disarming simulation” where you physically need to cut the correct cables to disarm it, just like 007 in the movies. That is … if you can pass the fingerprint scanner to open the case!

Experience level: 
Beginner

Eclipse Hono - IoT Server Platform

With wide array of IoT technologies available today, it's not unusual to see developers ending up solving recurring problems and creating silo applications. Eclipse Hono project tries to solve this problem by offering a cloud-based IoT platform architecture which helps developers to write applications against uniform service interfaces and reduce efforts needed to deploy them.

Experience level: 
Intermediate
Track: 

WTF is a realm?

Creating an observable list is so easy: ObservableList list = new WritableList();

Have you ever asked yourself, what list.getRealm() gives you? And why there is no list.setRealm()? It's because the realm is a constructor-arg, that is not needed in most of the secondary constructors of all eclipse observables. They all use Realm.getDefault(), if no realm is provided. But what's the default realm then?

Experience level: 
Intermediate

Modeling Symposium

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.

Experience level: 
Intermediate

Building a multi-tenant application stack with Vaadin, Kotlin, Spring Boot and Postgres

In this talk you will hear about quite a bunch of modern technologies.

We will build a quite simple web application based on the Vaadin Web Framework, we will use Spring Boot and Spring Security togther with the Vaadin Spring integration to modularize and secure the application. 

You will see what I difference it makes using Kotlin compared to Java when creating the Vaadin UI and how nicely Kotlin interoperates with tha Java world.

Experience level: 
Intermediate

Dockerizing apps for the Deployment Platform of the Month - with OSGi

Docker is enjoying immense popularity today for deployment of nearly any type of app and new platforms that support Docker appear on a regular basis. While supporting Docker natively, many platforms have specific APIs to get them to work. As a dev you don’t want to lock yourself in to any of these. You want to keep the option open to switch to target platforms if the need arises. This talk outlines the OSGi Compute Management Service RFP 179 that abstracts over mechanisms to create and launch container nodes.

Experience level: 
Intermediate
Track: 

How Eclipse technologies made it into power plants and heavy machinery with logi.CAD3

The purpose of this talk is to present Eclipse based logi.CAD3, an engineering system for industrial automation according to the IEC 61131-3 standard. Instead of giving a classical product presentation, it will be explained how the different involved Eclipse projects are combined in order to achieve the goal of supplying customers with a one-stop-shop for the automation of water power plants, coaches, injection molding machines, and more.

Experience level: 
Beginner
Track: 

Experiences from Building a New SmartHome

In 2015 I have built a new house for my family. And since I am both a tech and an Eclipse enthusiast, I wanted to build it around OpenHAB and SmartHome technology. I have learned a lot along the way about planning and implementing SmartHome and made experiences (positive and negative). With this talk I want interested people and future home-builders to benefit from my experiences and to maybe avoid some of the caveats I faced.

<!--break-->

During the talk I will highlight the topics

Experience level: 
Beginner
Track: 

What every Eclipse developer should know about Eclipse 4 (e4)

This tutorial will give you a jumpstart on the 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 application, we introduce the most important features of the Eclipse 4 platform, such as the Application Model, Dependency Injection and the Programming Model based on Annotations. We complete the introduction with an overview of the most important services available. All topics include hands-on examples that we’ll work through together.

Experience level: 
Beginner

Mattermost at Eclipse - IRC for the Web

The Eclipse Foundation is running a community supported instance of Mattermost, a real-time Web communication platform like Slack or HipChat. It is a Web application which allows to integrate other communication channels through the use of an API. This makes it possible to bridge Eclipse's IRC channels, the Forum, Stackoverflow and many more sources in one location.

The instance is a possibility for Eclipse projects to engage their community in an easy manner (no IRC client required) but also provides a tool for projects to communicate internally, but in an open manner.

Experience level: 
Beginner

21 Ways to Give Back to Eclipse and What's YOUR Benefit of Doing It

So you are an Eclipse user or even a plugin developer? Do you want to learn how to give back and be an active part of the great community behind Eclipse?

I am sure you do! Eclipse has become successful because of sharing and giving back.

I will share with you 21 ways to give back to Eclipse. Some of them are easy and would take a minute of your time. Others need a greater stretch of your efforts. For each one I will tell you what is your personal benefit of doing it.

Experience level: 
Beginner

New and cool in OSGi R7

The OSGi expert groups are working on the next big release. Learn in this session about the various new specification efforts going on and how they will make your developer life easier. The new specifications range from configuration handling, object conversion, JAX-RS, distributed eventing, to cloud and IoT.

Experience level: 
Beginner
Track: 

GEF(4) Dot Oh Dot Oh

The Graphical Editing Framework (GEF) project team has officially released its next generation API (aka. GEF4) as part of its 4.0.0 (Neon) release. Within this talk, I want to give a demo-tour that covers (basically) all the new GEF4 components, while especially pointing out what has been achieved since the 3.10.0 (Mars) and 3.10.1 (Mars.1) releases, in which we included a first snapshot. The goal is to give a nice overview of what is provided, taking an end-user/adopter's perspective, and not going into technical details.

Experience level: 
Beginner

Full CSS styling for SWT and Eclipse

In order to have proper CSS styling one has to do it in the "right" place and this place is the drawing library itself aka SWT in the Eclipse case. To give a little teaser - button effect as can be seen in the attached video achieved by setting the following style to the button:

"button { border-style: solid; border-radius: 5px;}

button:hover { transition: width 2s, height 2s, background-color 2s, transform 2s; border-radius: 50px;}"

No custom drawing code at SWT layer needed at all.

Experience level: 
Beginner

Arduino, Qt, and IoT with the Eclipse C++ IDE

The Eclipse C++ IDE and the CDT project have long been a standard toolset for embedded development. It’s flexibility to handle most compilers and debuggers has made it easy for vendors to adopt it into their commercial offerings.

With the Eclipse Neon release and CDT 9.0, the CDT project has begun to focus on vertical open source runtime stacks to improve the user experience for developers trying to use Eclipse for specific environments. This has also helped us improve CDT’s underlying build and launch frameworks to make this easier.

Experience level: 
Intermediate

My Minecraft-Smart-Home: Prototyping the Internet of Uncanny Things

Software solutions and everyday objects are becoming increasingly "smarter", take over more "responsibility" and know more and more about us and our intentions. But what does that mean for developers, and what impact does this have on the user? How do we convey the understanding and competence for this Internet of Things? Sascha Wolter covers typical IoT challenges and inspires with crazy and sometimes creepy examples.

Experience level: 
Beginner

Creating an Eclipse Project in Code

You’ve probably created hundreds if not thousands of Eclipse projects in the IDE, but have you ever done it in Java code? We’ll explain how programs can apply natures and facets to generate and configure Eclipse projects from Java instead of the user interface. Learn how to write new wizards for new kinds of projects. Examples include Google Cloud Tools for Eclipse and the Web Tools Project. Applications include code generation, project automation, library and framework support, courseware, and more.

Experience level: 
Intermediate

RCP 4.x migration - Highlights and Pitfalls (Lessons Learned)

It was at the EclipseCon NA 2011 when I first considered a migration of the open source project OpenChrom (https://www.openchrom.net) to the new e4 platform. The new feature set looked really promising and I thought better switching to e4 earlier than later. I asked several people about the new features at the EclipseCon Europe 2011 again. Then I made the decision to start the migration in December 2011 based on Eclipse 4.1.1.

Experience level: 
Intermediate

Lean Microservices with OSGi

Microservices and their frameworks like spring boot allow to start fast but can easily produce ugly monoliths or tangled webs of fine grained dependencies. OSGi on the other hand provides great modularity but is regarded as more complex than spring boot and alike. This Talk shows how to create lean and modular microservices using OSGi, maven, bndtools and Apache Karaf. The build result is a runnable jar or docker image and nicely fits microservice deployments.

Experience level: 
Intermediate
Track: 

Pitfalls in Creating a State of the Art Single Page Web Application

Today, more and more web applications are built as so called single page applications (SPA). There are many reasons for doing so, e.g. enhancing the user experience by executing code on the client rather than on the server. A common way to create such a SPA is to use AngularJS together with HTML 5 and CSS 3 as front end technology and the Spring technology stack for the back end.

Experience level: 
Beginner

Rocket-Start Your Eclipse Che Experience

Eclipse Che is the next generation open source Eclipse IDE hosted in the cloud. It uses workspaces that contain your projects as well as the required runtimes: instead of setting up the required environment like databases, applications servers or third party libraries, everything that you need for your project to run is associated with your workspace.

Experience level: 
Beginner

Declarative Services for Eclipse RCP development

OSGi declarative services exist for a long time and are used to implement a modular service-oriented architecture. Because of the supported dynamics, the easy way to define, register and consume services, declarative services can be found in various scenarios. With Eclipse 4 for example, declarative services are therefore used more often than the Equinox specific extension points.

With Eclipse Neon the support of the declarative services annotations is added to the PDE, which makes it even easier to use declarative services in Eclipse RCP development.

Experience level: 
Beginner

Combine RCP and Web applications

When starting a new project, it's the old difficult decision to choose between rich client and web applications. Effectively, it's either web or rich client. Especially when developing Eclipse RCP applications, it's just desktop. Sure, cool techniques like RAP could be used to exchange SWT by web ready JavaScript libraries. Moreover, e4 enables us to use different rendering engines for example JavaFX. But again, it's an either SWT or another UI library decision.

Experience level: 
Intermediate

Here's why you should care about ethics in software development

Quality has been widely accepted as a success factor for software projects and testers have evolved beyond pure checking of functionality. Testing the so called "-ilities" like usability and accessibility has become a normal part of their job.

Current trends like IoT, Big Data and autonomous driving bring another area into focus: The ethical examination of the newly developed features.

Experience level: 
Beginner

Aspecio: aspect-oriented programming meets the OSGi service model

Aspect-oriented programming is a paradigm meant to provide "horizontal" modularity: by encapsulating cross-cutting concerns such as access control or performance metrics away from business logic, it was supposed to be a new tool for developers that would not only prevent copy-paste and guard methods, but allow to stack semantic models on top of single-concern implementations.

Experience level: 
Intermediate
Track: 

OSGi and Java 9 Modules Working Together

Next year, Java 9 will be released along with the long-anticipated Java Platform Module System (JPMS).

Eclipse and OSGi developers have been building modular Java applications since the early 2000's, but the capabilities of the new module system supplement those offered by OSGi and also overlap with them to some degree. How should we adapt to this new world?

Experience level: 
Intermediate
Track: 

Getting started with OSGi declarative services

OSGi declarative services exist for a long time and are used to implement a modular service-oriented architecture. Because of the supported dynamics, the easy way to define, register and consume services, declarative services can be found in various scenarios. With Eclipse 4 for example, declarative services are therefore used more often than the Equinox specific extension points. 

Experience level: 
Beginner
Track: 

Optimising Eclipse Plug-ins

In this presentation, Alex will talk about optimising Java code in the context of Eclipse plug-ins, and demonstrate some of the tools that come with every JVM that can be used to inspect the state of a Java process. He will also present some Eclipse specific tools such as MAT and the show how some common patterns (and anti-patterns) can be found in existing plug-in code, and how they can be improved.

Experience level: 
Advanced

Succeed with Eclipse: Large Scale

At our company we are scaling Eclipse technologies to the large. Not only do we have a whole lot of developers around the globe working with the Eclipse IDE that need to be synchronized and updated, but we also develop really huge applications based on Eclipse RCP (700+ plugins).

In this talk, I want to present to you which problems (and of course which solutions to those problems) lie on the road to successfully leverage the power of the Eclipse IDE and the Eclipse RCP platform (both on client and server side) in such environments - a summary of nearly 10 years of experience.

Experience level: 
Intermediate

Our Sponsors

For information about becoming a sponsor, please visit the EclipseCon Europe 2016 sponsor prospectus page.

Elite Dual ECE/OSGi CE

Premium

Basic

Project Quality Day

IoT Theme Day

Media

EclipseCon Support Other Events

Our Other Events

Eclipse events are hosted all over the world!

  • EclipseCon France 2017
  • Eclipse Summit India 2017
  • Eclipsecon Europe 2017