A NEW
EVENT
IS BORN

Modularity and microservices are experiencing strong momentum in the last couple years. The attention is not unwarranted: in the context of digital transformation enterprises large and small are realizing the advantages of a modular approach. Today, countless developers and their teams are successfully building on, and investing in modular ways to build stable systems that are flexible enough to respond to future needs.

WHY?

For the first time, the modularity conference (MODCONF) will open its doors, with the purpose to lead, track, and inform in accordance with that trend.

HOW?

The event brings together experts to share best-practices, network and talk about latest developments in the field. No matter if these topics have been interesting to you for some time, or if you are just starting to dive into the subject: the event is conceived with the notion in mind that all who are interested can contribute, learn, and benefit from someone else's experience and expertise.

WHAT?

Here's what you can expect: inspiration from practitioners from all over the world, a packed agenda and a great venue. You'l learn and see how your peers are delivering projects based on modularity, decreasing time to market and making integration easier than ever before. And if you want to dive in and get your hands dirty: the hands-on workshops are interactive, applicable and fun.

Lastly, MODCONF is a fantastic place to meet and network with other (JAVA) developers, gather new insights and get a chance to think outside the box.

Interested? We'd love to have you!

REGISTER NOW

AGENDA

Tuesday, 15. November 2016
8:00
8:00 - 9:00
Registration

Registration

Room: Level 0, Time: 8:00 - 9:00
Session Summary:

Welcome to DEVCON. Check in to DEVCON and MODCONF by using the self-service iPad stations.

(Level 0)
9:00
9:00 - 9:15
Welcome and Announcements

Welcome and Announcements

Room: Spectrum A, Time: 9:00 - 9:15
Olaf Kock
Training Manager Europe, Liferay
Session Summary:

Everything that you need to know for this year's DEVCON will be announced by Olaf.

Olaf Kock, Liferay
(Spectrum A)
9:15
9:15 - 9:45
Keynote

Keynote

Room: Spectrum A, Time: 9:15 - 9:45
Brian Chan
Founder & Chief Software Architect, Liferay
Session Summary:

Keynote by Liferay's Chief Software Architect & Founder on the modular approach of Liferay. More info coming soon.

Brian Chan, Liferay
(Spectrum A)
9:50
9:50 - 10:20
The Essence of Modularity

The Essence of Modularity

Room: Spectrum A, Time: 9:50 - 10:20
Peter Kriens
Software Architect, aQute
Session Summary:

Modularity is one of the most fundamental building blocks of nature, both in the physical as well as the abstract domain. Though widely acknowledged to reduce complexity in software, the underlying reasons why it works so well are not well understood. By better understanding the theory of modularity we can improve on existing practices. This presentation explains the fundamentals, analyzes the forces in this domain, and demonstrates a modularity/dependency model for today’s software.

Peter Kriens, aQute
(Spectrum A)
10:30
10:30 - 11:00
Lean microservices on OSGi

Lean microservices on OSGi

Room: Spectrum B, Time: 10:30 - 11:00
Christian Schneider
Open Source Architect, Talend
Session Summary:

Microservices and their frameworks like spring boot allow to start fast but can easily produce architectures that are difficult to maintain. 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 and bndtools. The build result is a runnable jar or docker image and nicely fits microservice deployments. See how OSGi allows the flexibility to deploy each microservice on its own and let them communicate over (REST) remote calls or deploy them together and talk using OSGi services locally using the same business code bundles.

Christian Schneider, Talend
(Spectrum B)
10:30 - 11:00
OSGi Transaction Control – A functional approach to resource management

OSGi Transaction Control – A functional approach to resource management

Room: Lounge, Time: 10:30 - 11:00
Tim Ward
CTO, Paremus
Session Summary:

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. This talk will review the Transaction Control specification draft from the upcoming Enterprise OSGi Release 7, and demonstrate the capabilities of Transaction Control using the prototype Reference Implementation from Apache Aries.

Tim Ward, Paremus
(Lounge)
11:30
11:30 - 12:00
Modern building blocks for a modular Front-End

Modern building blocks for a modular Front-End

Room: Spectrum B, Time: 11:30 - 12:00
Chema Balsas
Software Engineer, Liferay
Session Summary:

Building a highly modular and scalable application is now possible. In this talk we’ll explore how OSGi, ES2015, metal.js and soy templates make this dream possible.

Chema Balsas, Liferay
(Spectrum B)
11:30 - 13:20
Modular Rest APIs using JAX-RS in OSGi (Workshop)

Modular Rest APIs using JAX-RS in OSGi (Workshop)

Room: Lounge, Time: 11:30 - 13:20
Carlos Sierra Andrés
Core Engineer, Liferay
Session Summary:

Building great APIs is essential in an increasingly interconnected world. In the workshop we will show how to build REST APIs using well known Java standards while dealing with complexity in an incremental way using OSGi. We will build a REST API from scratch that will be consumed from a client application. Creating JAX-RS application in a modular way Incremental resources and providers Adaptable URL generation Deploying in a OSGi container We will also introduce the ongoing OSGi RFC-217 for standarizing JAX-RS inside OSGi containers.

Carlos Sierra Andrés, Liferay
(Lounge)
12:10
12:10 - 12:40
From JARs to Bundles to Resolutions to Knowledge

From JARs to Bundles to Resolutions to Knowledge

Room: Spectrum B, Time: 12:10 - 12:40
Ray Augé
Senior Architect, Liferay
Session Summary:

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. This talk will review and demonstrate the capabilities of these mechanism.

Ray Augé, Liferay
(Spectrum B)
12:50
12:50 - 13:20
Scalable Event Processing – Pushing the limits with Push Streams!

Scalable Event Processing – Pushing the limits with Push Streams!

Room: Spectrum B, Time: 12:50 - 13:20
Tim Ward
CTO, Paremus
Session Summary:

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. Finally the speaker will demonstrate live processing of real IoT data streams using OSGi Push Streams!

Tim Ward, Paremus
(Spectrum B)
13:20
13:20 - 14:35
Lunch Break

Lunch Break

Room: Level 1, Time: 13:20 - 14:35
(Level 1)
14:40
14:40 - 15:10
Best practices for creating Modular Web Applications

Best practices for creating Modular Web Applications

Room: Spectrum B, Time: 14:40 - 15:10
Iliyan Peychev
Senior Software Engineer, HERE
Session Summary:

Today’s Web applications are large and complex systems. Most of them are also hard to support, maintain and improve. In this talk we will focus on a crucial requirement to make a Web application maintainable - to build it from small pieces of modules, each of them replaceable, pluggable and testable. We will explore the different ways of achieving it, what JavaScript provides OOTB and finally, how to share code between the server and the browser.

Iliyan Peychev, HERE
(Spectrum B)
14:40 - 15:50
Modules from Front to Back: Combining Java/OSGi & Web Components

Modules from Front to Back: Combining Java/OSGi & Web Components

Room: Lounge, Time: 14:40 - 15:50
Neil Bartlett
Principal Engineer, Paremus
Session Summary:

OSGi is a powerful and mature technology for modularity in the Java world – many modern web applications run on modular, OSGi-based servers. Web Components are relatively new, but a rich and powerful way to modularise web pages and the front-end of a web application. In this workshop we harness both technologies to create vertical slices of functionality. This enables functional modules to be added and removed in an application with both front- and -back-end modules correctly deployed with all necessary dependencies. The workshop will follow a classroom format and delegates will have a small, working web application upon completion. Technologies to be used include: OSGi, enRoute, Web Components, Polymer, Eclipse/Bndtools. Requirements for the talk: • Java 8 • Eclipse Neon (recommended) https://eclipse.org/downloads/ or Eclipse Luna (minimum) https://eclipse.org/luna/ • Bndtools 3.3 http://bndtools.org/installation.html

Neil Bartlett, Paremus
(Lounge)
15:20
15:20 - 15:50
The Java 9 Module System In Action

The Java 9 Module System In Action

Room: Spectrum B, Time: 15:20 - 15:50
Nicolai Parlog
Freelancer, CodeFX
Session Summary:

You might have heard about Project Jigsaw in Java 9 but did you see it in action? This talk will walk you through the features and pitfalls while modularizing an example application. It will show how to... * define modules and a module graph * migrate an application while handling unmodularized dependencies * analyze an application and its dependencies for compatibility problems With the different pieces of the puzzle coming together you will be able to vet or even spike _your_ app's migration.

Nicolai Parlog, CodeFX
(Spectrum B)
16:00
16:00 - 16:30
Modularity in Web Applications with Vaadin & OSGi

Modularity in Web Applications with Vaadin & OSGi

Room: Spectrum B, Time: 16:00 - 16:30
Florian Pirchner
CEO, Lunifera GmbH
Session Summary:

We have been working in the area of modular software development for many years now. This talk is structured into two parts. The first part is about the basics behind modularity. What is modularity? What are best practice patterns behind it? How can we use Java to create real modular systems? What is the problem with WAR files and ServletContainers? Why can OSGi handle modularity so much better than JEE can? What about WildFly’s module system to create modular systems? How can we “make” JEE more modular? After part one the attendees know the difference between JEE-, OSGi- and Wildfly-ClassLoader-Architecture. And they will understand why (and how) OSGi allows to write much more modular systems then JEE containers do. In the second part, I will do a live demo and we are going to write a highly modular web application based on OSGi and Vaadin. We will make use of the brand new Vaadin-OSGi-R6 implementation based on the OSGi Prototype Scope. After this talk, the attendees will have good knowledge about modularity in web applications, the problems we are facing and a best practice implementation for a highly modular web application.

Florian Pirchner, Lunifera GmbH
(Spectrum B)
16:00 - 16:30
The Component Model in Mobile App Development: Liferay Screens 2

The Component Model in Mobile App Development: Liferay Screens 2

Room: Lounge, Time: 16:00 - 16:30
José Manuel Navarro
Senior Software Engineer, Liferay
Session Summary:

The component model was introduced more than 40 years ago, and it is one of the best practical applications of modularity. This presentation will bring you a new point of view of mobile app development, and will give you more insight about modular development and more specifically about the software component model

José Manuel Navarro, Liferay
(Lounge)
16:30
16:30 - 16:55
Afternoon Coffee Break

Afternoon Coffee Break

Room: Level 1, Time: 16:30 - 16:55
(Level 1)
17:00
17:00 - 17:30
Building awesome applications with WeDeploy

Building awesome applications with WeDeploy

Room: Spectrum A, Time: 17:00 - 17:30
Zeno Rocha
Developer Advocate, Liferay
Session Summary:

In this session you’ll see how launch production-ready environments in a matter of minutes, how to store data in the cloud, search and stream content in realtime, authenticate and manage users very easily, and much more. If you’re interested in Microservices and Containers, this is the right talk for you.

Zeno Rocha, Liferay
(Spectrum A)
17:00 - 17:30
Building Real-Time Web Applications with Websocket in a OSGi Container

Building Real-Time Web Applications with Websocket in a OSGi Container

Room: Spectrum B, Time: 17:00 - 17:30
Cristina González Castellano
Software Engineer, Liferay
Session Summary:

Web applications have grown a lot, and they consume a really huge amount of data. One of the most important aspects that were holding them back was the client started transactions. Some alternatives were created trying to overcome the previous problem (like long-polling), but the main problem affecting to all these alternatives was the HTTP overhead. Trying to solve many of the problems described above, the WebSocket alternative was created. RFC 6455 defines an important new capability for web applications: a full-duplex, two-way communication channel between the client and the server. Thanks to this fact, we can have a low level, bidirectional communication channel where transactions can be started in both endpoints. During the talk we’ll discover how Websockets work, how we can use them in our OSGi container using the Whiteboard pattern, and, last but not least, we will learn how to build applications that can benefit from all the new goodies offered by this infrastructure we’ve built.

Cristina González Castellano, Liferay
(Spectrum B)
17:00 - 17:30
Unleashing the Full Potential of OSGi

Unleashing the Full Potential of OSGi

Room: Lounge, Time: 17:00 - 17:30
Igor Arouca
Lead Consultant, Liferay
Session Summary:

Modularity, modularity, modularity. That’s all we hear these days. Yet, well-designed modular systems are still the exception rather than the rule. Why is that? Thinking in modular terms requires a concerted effort and a mindset change until it becomes second nature. Throughout this talk, you will learn how to leverage the power of OSGi in Liferay DXP to implement true modular systems. For instance, you will learn how to (re)implement some classic design patterns using the OSGi runtime, making them even more useful than before. You can think of this talk as your first step towards modularity nirvana.

Igor Arouca, Liferay
(Lounge)
17:40
17:40 - 18:10
Software Craftsmanship in the era of the Software Revolution

Software Craftsmanship in the era of the Software Revolution

Room: Spectrum A, Time: 17:40 - 18:10
Milen Dyankov
Developer Advocate, Liferay
Session Summary:

Have you ever thought of the process of producing software? Would you describe it as craftsmanship? Or is it more like assembly line? How it should be? What is more important, quality or time to market? What about cost? We programmers need to be more efficient, deliver faster, meet deadlines, respond promptly to ever changing expectations, … At the same time we must remain creative yet precise and disciplined, continuously learning but aware of decades old principles, be open minded while our memory is mostly consumed by algorithms … And as if that wasn’t enough, our programmers’ ego, overclocked by the existence of some software masterpieces, insists on being an artist, a craftsman everyone else envy, a visionary architect that will change the world one day. If that sounds hard for a single programmer to handle, imagine what it has to be for a software company. Especially an open source one, with hundreds of own developers, thousands of community members and ever growing expectations from demanding customers. Curious? This keynote takes some time to explore how we (both individual developers and software companies) got where we are, why that matters and what options we have looking forward.

Milen Dyankov, Liferay
(Spectrum A)
18:15
18:15 - 18:45
Machine Learning: the next revolution or just another hype?

Machine Learning: the next revolution or just another hype?

Room: Spectrum A, Time: 18:15 - 18:45
Jorge Ferrer
VP of Engineering, Liferay
Session Summary:

Machine Learning is quickly becoming the hottest topic in the technology world. The largest technology companies are investing tons of resources on it and the expectations on what it will achieve are sky rocketing. Is the hype justified? How does it affect us as developers? In this session we will go over the key concepts of machine learning, including neural networks and deep learning. We will also see examples of what they are good for and what they are not to better understand its applicability. Finally we will explain real code examples of machine learning for specific applications and show how to continue learning more to be able to answer whether it may be such a significant revolution.

Jorge Ferrer, Liferay
(Spectrum A)
18:45
18:45 - 19:00
Intro for Evening Reception

Intro for Evening Reception

Room: Spectrum A, Time: 18:45 - 19:00
Session Summary:

Learn about the challenges and prizes that you can win during the WWW Party.

(Spectrum A)
19:00
19:00 - 22:30
WWW Party

WWW Party

Room: Level 0, Time: 19:00 - 22:30
Session Summary:

Enjoy the wild wild west party.

(Level 0)

PRICES

EARLY BIRD*

excl. VAT

199€

STANDARD

excl. VAT

249€

* Early Bird valid until September 30th

VENUE

Darmstadtium

Science and Congress Centre Darmstadt GmbH & Co. KG

Schlossgraben 1 64283 Darmstadt

Hotel suggestions for modconf

We reserved room allotments in the following hotels in Darmstadt for attendees of the DEVCON and Modularity Conference. When booking your hotel room at the three suggested hotels, please alway mention the booking code "DEVCON 2016". More hotels in Darmstadt can be found under www.booking.com.

RAMADA DARMSTADT
Eschollbrücker Straße 17
64296 Darmstadt
0049 (0) 6151 - 3850

Rooms can be booked for the dates of Nov. 13-17, 2016.
Single Room: 95,00 €
Double Room: 115,00 €
This room allotment is only valid until October 17, 2016!
Click here to download the hotel room booking form.
INTERCITY HOTEL DARMSTADT
Poststraße 13
64294 Darmstadt
0049 (0) 6151 - 906910

Rooms can be booked for the dates of Nov. 13-17, 2016.
Single Room: 105,00 €
Double Room: 115,00 €
This room allotment is only valid until October 14, 2016!
Booking code: "DEVCON 2016"
MARITIM RHEIN-MAIN HOTEL
Am Kavalleriesand 7
64296 Darmstadt
0049 (0) 6151 - 3030

Rooms can be booked for the dates of Nov. 13-17, 2016.
Single Room: 104,00 – 124,00 €
Double Room: 133,00 – 153,00 €
This room allotment is only valid until October 2, 2016!
Booking code: "DEVCON 2016"
WELCOME HOTEL DARMSTADT
Karolinenplatz 4
64289 Darmstadt
T: +49-6151-3914-0

Rooms can be booked for the dates of Nov. 13-17, 2016.
Single Room: 145,00 €
This room allotment is only valid until October 15, 2016!
Booking code: "DEVCON 2016"
Note: All hotel room allotments mentioned above are including breakfast. Rooms will be distributed on a „first come, first served" basis. Cancellation fees will be issued on the name of the guest, who made the reservation.