Øredev 2017


Migrating to Java 9 Modules by Sander Mak

Key takeaways
  • What’s coming with the Java 9 module system
  • How to migrate existing applications to Java 9
  • Modularising an existing application

Java 9 comes to your doorstep (whether you ordered it or not). The module system in Java 9 is a great advancement for the Java language, and we would like to migrate existing code to make use of the module system. Migrating an existing code base from the classpath to any kind of module system can be a challenging task.

Java 9 comes with a number of features to ease migration. This includes automatic modules and the unnamed module. While these features provide great value, they do require understanding of the module system to use them to their full potential.

In this talk we look at examples of migrating real code, based on a Spring/Hibernate application. We’ll face common problems we run into during migration, which gives us practical tips to apply, but also a good understanding of the module framework itself and the various migration features it supports. This talk is an excellent preparation to start migrating your own code.

Devoxx Belgium


Serverless Deep Dive by Bert Ertman

Are you still using Docker in production? Get over it! Serverless is the NEW future of the Cloud. But since the Cloud is still someone else’s computer, that needs to be managed too. And if it is sitting idle, you probably have to pay for it whether you like it or not. No server can be more easily managed than no server. Therefore: meet Serverless, a new paradigm that truly approaches the Pay-as-You-Go philosophy once promised by the Cloud.

This session explores Serverless, its impact on existing architectures, and assesses it’s usability for Mobile Back-ends as a Service (MBaaS), Functions-as-a-Service (FaaS) and also for Microservices based architectures hosted in the cloud. Live coding and demos will be based on Amazon Web Services and Apache OpenWhisk offerings.

Bert Ertman will give Deep Dive session during Devoxx Belgium. Deep Dive talks are in-depth session of 2 x 75 minutes.

J-Fall 2017


J-Fall is the biggest Java conference of the Netherlands and is organised by and for the NLJUG (the Dutch Java User Group).

Luminis joins the JFall 2017 edition with 3 sessions:

  • How well do you know your network stack? – Angelo van der Sijpt
  • Designing for Modularity with Java 9 – Sander Mak
  • Serverless deep dive – Bert Ertman

 

Microsoft Techdays 2017


  • Entity Framework Core by Chris van Beek & Alex van Beek

    Entity Framework Core is een volledig nieuw Entity Framework met ondersteuning voor zowel relationele- als NoSql databases. Het bevat dus een aantal grote wijzigingen; zowel op API niveau als hoe zaken onder water werken. In deze sessie doen wij Entity Framework Core helemaal uit de doeken. Wij beginnen met simpele queries, waarna wij gaan kijken naar een aantal belangrijke performance verbeteringen. Uiteraard gaan wij ook kijken naar migraties; deze zijn ook helemaal anders in deze nieuwe versie. Wij eindigen met een overzicht van wat bij de release van Entity Framework Core wel ondersteund is en wat niet ten opzichte van het huidige Entity Framework. Aan het einde van deze sessie ben je weer helemaal bij en weet je of Entity Framework Core past bij je volgende project.

  • Typescript by Chris van Beek & Alex van Beek

    Javascript is tegenwoordig niet meer weg te denken uit het land der programmeertalen. De NPM repositories bevatten meer libraries dan de Maven repositories. Of je een moderne HTML(5) web applicatie bouwt, een mobiele hybride applicatie met Cordova of een backend bouwt met NodeJs; Javascript is overal. Tegelijk is op grote schaal Javascript schrijven en een onderhoudbare codebase houden, best lastig, de taal mist hiervoor een aantal belangrijke syntax elementen en eigenschappen. Hier valt wel omheen te werken, maar dit vergt weer erg veel discipline van het team. Gelukkig is er TypeScript: Een taal uit de Microsoft keuken die gebaseerd is op de nieuwste EcmaScript standaarden die compileert naar Javascript code. Hierdoor is het mogelijk om een nette onderhoudbare codebase op te bouwen, die gewoon ondersteund wordt door alle moderne browsers. In deze sessie leer je de nieuwste vanaf de basis, het is wel belangrijk dat je bedreven bent in Javascript.

  • HTTP/2 in Action by Piet van Dongen

    We’ve all heard about HTTP/2, but what’s in it for us? Is it really that much better? How can we start using it? During this talk, we will explore HTTP/2’s new features while creating our own web server, demonstrating new features like server push, multiplexing and header compression. At the end, we can proof how HTTP/2 benefits not only the end user, but developers and operations as well!

Brain Upgrade: What’s new in Java 9


Java 9 is er dan nu echt bijna. In deze gratis kennissessie nemen we je mee langs de belangrijkste nieuwe features. Sander is auteur ‘Java 9 Modularity’ (O’Reilly) en zal in het eerste deel laten zien hoe je modulaire applicaties opzet met het Java 9 module systeem. In de tweede helft komen andere nieuwe Java 9 features aan bod, bijvoorbeeld JShell, verbeteringen aan Streams en Collections en de nieuwe ProcessHandle en HttpClient APIs.

Alle deelnemers ontvangen tevens het boek ‘Java 9 Modularity’ welke is geschreven door collega Sander Mak en Paul Bakker.

JavaOne 2017


  • Java EE PostModernism by Bert Ertman
    Postmodernism articulates that the world is in a state of perpetual incompleteness and permanent unresolve. Enterprise Java specs move slowly, and many alternatives exist around our ecosystem. Java EE developers have over the years been mocked by many: Spring, Ruby, Scala, Node, and lately microservices. We’ve seen ’em come, and no doubt we’ll see ’em go. Still, enterprise Java is going strong in many places. This session takes a look at how different stacks and solutions affect the life of enterprise Java development today, whether they are perceived as good or bad, and how enterprise Java development is evolving and adjusting to the new normal in a postmodern world.

  • Designing for Modularity with Java 9 by Sander Mak & Paul Bakker
    Java 9 brings modules as a core concept to the platform, but it’s more than just a language feature. With modules in Java 9, we can improve the design of code to increase maintainability and extensibility. As with every design principle, modularity requires thought and trade-offs to really reap the benefits. This session covers design practices for making codebases more maintainable and extensible. You will also find out about trade-offs to help you make the best choices. Topics include hiding implementations, using services for extensibility, API modules, avoiding cycles, optional dependencies, and dynamically loading modules. Familiarity with modules is helpful but not required. The speakers are the authors of Java 9 Modularity (O’Reilly).

  • Modules or Microservices? by Sander Mak
    Microservices promise a scalable architecture and increased flexibility. Then you find out that running a microservices-based architecture is not that straightforward after all. The popular debate is often framed in a false dichotomy between the messy monolith and the lean microservices architecture. In this session, you’ll see there’s a third way: the modularized application. The presentation explores what the right (and wrong) reasons are for going with a microservices architecture and also what the alternative of a modularized app (for example, with Java 9) entails. Splitting an existing app into microservices isn’t always the clear winner. There’s a place for both microservices and larger applications with a strong internal modular structure. Choose wisely!

  • Serverless, the Future of the Cloud? by Bert Ertman
    Are you still using Docker in production? Get over it! Serverless is the new future of the cloud. Because the cloud is still on someone else’s computer, it needs to be managed. And even if it is sitting idle, you probably have to pay for it, whether you like it or not. No-server can be more easily managed than a server. Therefore: meet serverless, a new paradigm that truly approaches the pay-as-you-go philosophy once promised by the cloud. This session explores serverless and its impact on existing architectures and assesses its usability for mobile back ends as a service (MBaaS), functions as a service (FaaS), and microservice-based architectures hosted in the cloud. Internet connectivity permitting, there will be demos too.
     

Brain Upgrade: What’s new in Java 9


Java 9 is er dan nu echt bijna. In deze Brain Upgrade nemen we je mee langs de belangrijkste nieuwe features. Sander is auteur ‘Java 9 Modularity’ (O’Reilly) en zal in het eerste deel laten zien hoe je modulaire applicaties opzet met het Java 9 module systeem. In de tweede helft komen andere nieuwe Java 9 features aan bod, bijvoorbeeld JShell, verbeteringen aan Streams en Collections en de nieuwe ProcessHandle en HttpClient APIs. 

Wil je na de release van Java 9 een vliegende start maken? Meld je dan nu snel aan voor deze Brain Upgrade!

Alle deelnemers ontvangen tevens het boek ‘Java 9 Modularity’ welke is geschreven door collega Sander Mak en Paul Bakker.

 

JavaZone 2017


Serverless: The Future of the Cloud?! by Bert Ertman
Are you still using Docker in production? Get over it! Serverless (and also containerless) is the new future of the Cloud. But since the Cloud is still someone else’s computer, that needs to be managed too. And if it is sitting idle, you probably have to pay for it whether you like it or not. No server can be more easily managed than no server. Therefore: meet Serverless, the new paradigm that truly approaches the Pay-as-You-Go philosophy once promised by the Cloud. This talk explores Serverless, its impact on existing architectures, and assesses it’s usability for Mobile Back-ends as a Service (MBaaS), Functions-as-a-Service (FaaS) and also for Microservices based architectures hosted in a cloud environment. Internet connectivity permitting, there will be lots of demos too.

DigitalOcean


HTTP/2: Whats New? by Piet van Dongen

HTTP/2 is here and you can and should use it. No more domain sharding, resource bundling, convoluted hacks. Instead, you get much better performance and security with less work than before. This talk focuses on HTTP’s history and its new features: multiplexing, header compression, server push and more!

By day, Piet is a software engineer at Luminis, where he keeps himself busy doing the whole full stack thing. By night, he sleeps. The rest of the time, he mostly entertains his kids, wife and vacuum cleaner, sometimes locking himself in the bathroom to read his Twitter feed or a book.

Devoxx4Kids


Devoxx4Kids in Apeldoorn

Luminis organiseerde op zaterdag 1 juli 2017 een Devoxx4Kids event in Apeldoorn. Devoxx4kids is een wereldwijde beweging die zich tot doel stelt om kinderen te leren programmeren. Tijdens deze uitvoering van Devoxx4Kids volgden meer dan 60 kinderen tussen de 10 en 14 jaar interactieve workshops. Deze workshops, die ook door kinderen worden geleid, hebben het doel om kinderen op verschillende manieren te laten leren wat er mogelijk is met computers. De grote opkomst onderstreept de behoefte van kinderen om meer te begrijpen van programmeren.

Kinderen helpen met programmeren

Ruim 60 kinderen kregen de gelegenheid om bij software-technologiebedrijf Luminis aan drie soorten programmeersessies deel te nemen. Dit is de eerste keer dat er een Devoxx4Kids-event wordt georganiseerd in Apeldoorn. Leren programmeren lijkt complex door het bestaan van allerlei verschillende programmeertalen. Er zijn echter vele andere vormen van programmeren mogelijk die het voor kinderen mogelijk maakt om op andere manieren te leren programmeren. Daarmee leren kinderen ook de mogelijkheden en beperkingen van computers kennen. Het gebruikte leermateriaal is ontwikkeld door medewerkers van Luminis en is gebaseerd op werkvormen, oefeningen en lessen uit de praktijk van de Devoxx4kids-beweging.

 

Codemotion Amsterdam


  • Relevant search results (with elasticsearch) by Jettro Coenradie
    You want to give your site visitors the best user experience. To accomplish this, your visitors can search as well as browse your content. Search is only relevant when results are meaningful to the visitor. In this talk, Jettro will introduce you to the concepts like precision, recall and relevancy. Jettro uses Examples to show concepts in the context of search, autocomplete, suggestions and grouping of results. Used technologies are: Angular, Java and elasticsearch. After the presentation you’ll have a good idea about the steps you need to take te present your visitors relevant results.

  • Machine Learning from a software engineer’s perspective by Marijn van Zijlst
    Lot’s of software engineers seem to avoid the field of machine learning because it seems hard. In this talk I want to give developers an intuition of what machine learning is using visual examples and without using mathematical formulas. I want to show that machine learning will make things possible that cannot be achieved using traditional procedural programming. I will identify high level components of a supervised machine learning algorithm: vectors, feature spaces, neural networks and labels.

  • Real life cross-platform application development using Xamarin Forms by Frank Folsche
    Now Xamarin has been bought by Microsoft there is even more talk about it. In this session I will walk you through the development process of a real life Xamarin Forms application. The session will include a quick overview about difference between normal Xamarin development and Xamarin Forms. After that we will do a deep dive into the development tools and design patterns used to develop the application. It will show how you can create native apps with 90% code sharing among Android, iOS and Windows.

  • HTTP/2 in Action by Piet van Dongen
    We’ve all heard about HTTP/2, but what’s in it for us? Is it really that much better? How can we start using it? During this talk, we will explore HTTP/2’s new features while creating our own web server, demonstrating new features like server push, multiplexing and header compression. At then end, we can proof how HTTP/2 benefits not only the end user, but developers and operations as well!

J-Spring 2017


  • Serverless: The Future of the Cloud?! by Bert Ertman
    Are you still using Docker in production? Get over it! Serverless (and also containerless) is the new future of the Cloud. But since the Cloud is still someone else’s computer, that needs to be managed too. And if it is sitting idle, you probably have to pay for it whether you like it or not. No server can be more easily managed than no server. Therefore: meet Serverless, the new paradigm that truly approaches the Pay-as-You-Go philosophy once promised by the Cloud. This talk explores Serverless, its impact on existing architectures, and assesses it’s usability for Mobile Back-ends as a Service (MBaaS), Functions-as-a-Service (FaaS) and also for Microservices based architectures hosted in a cloud environment. Internet connectivity permitting, there will be lots of demos too.
  • Modules or Microservices? by Sander Mak
    Microservices promise a scalable architecture, increased flexibility and better performance. But then you find out what’s actually involved in designing, developing and running a microservices-based architecture and it turns out it’s not that straightforward after all. Often the discussion around microservices is framed in a false dichotomy between the messy monolith and the lean and mean microservices architecture. In this talk we’ll see there’s a third way: the modularised application. Functional decomposition of your application doesn’t imply every component has to become its own independent process. Modularisation is about strong encapsulation, well-defined interfaces and explicit dependencies. Many languages offer in-process modularisation features, for example Java 9 with its upcoming module system. There’s a strong overlap with the microservices philosophy and development benefits, without incurring the penalty of operational complexity. We’ll explore what the right (and wrong) reasons are for going with a microservices architecture, but also what the alternative of a modularised application entails. You’ll see that splitting up an existing service or application into microservices isn’t always the clear winner. After this session you’ll be able to choose between the alternatives for the right reasons. There’s a place for both independently deployed microservices and larger applications with a strong internal modular structure. Choose wisely!

Luminis DevCon 2017


The 3rd major, annual IT conference: Luminis DevCon, organized by the software and technology company Luminis, is to be held on Thursday 6th April 2017. The venue is the CineMec cinema rooms in Ede. This year’s event will focus on trends and the latest software development technologies. Multiple technical sessions will be presented by renowned international and national speakers who will also share their experience and knowledge through a series of parallel sessions and workshops.

Following the previous years’ successful, sell-out events, Luminis’ 3rd annual DevCon is scheduled for 6th April 2017, where 500 participants are expected. This year, a number of collaborative case studies will be presented, including from: the Dutch tax authority, Bol.com, ANWB and Binck Bank. Tickets are available at devcon.luminis.eu.

 

JavaLand 2017


  • The Fallacies of Distributed Computing: What if the Network Fails? by Bert Ertman & Willem Dekker

Brain Upgrade: HTTP/2


HTTP is dead, long live HTTP! 20 years ago, HTTP/1.1 was standardised and has served us well. But a lot has changed since 1997, when a single request was often enough to display a web page. Nowadays, web applications need lots of external images, JavaScript and CSS files, causing a need for complicated solutions (hacks). Ain’t nobody got time for that!

HTTP/2 is here and you can and should use it to dramatically speed up your web application and simplify your workflow. No more domain sharding, no more resource bundling, no more convoluted hacks. Instead, you get much better performance, security by default and you barely have to change anything all!

During this Brain Upgrade we will explore the goals of HTTP/2, how it differs from HTTP/1.1 and we will explain and demonstrate some of its best features, like data compression, server push, pipelining and multiplexing.

Øredev


  • Java 9 Modularity in Action – Paul Bakker, Sander Mak
  • Kubernetes automation for blue/green production deployments – Paul Bakker

Devoxx Belgium


Luminis joins the Devoxx Belgium 2016 edition with 2 sessions:

 

  • Java 9 Modularity in Action (University) by Paul Bakker and Sander Mak
  • 15 Kubernetes features in 15 minutes (Quickie) by Marc Sluiter

J-Fall 2016


Luminis joins the JFall 2016 edition with 3 sessions:

  • Java 9 Modularity in Action – Paul Bakker, Sander Mak
  • The fallacies of Distributed Computing: What if the Network Fails? Bert Ertman, Willem Dekker
  • What every developer needs to know about cryptopraghy – Angelo van der Sijpt

Codemotion Berlin


  • Just enough crypto for the web by Angelo van der Sijpt

Cryptography is a staple of the modern web, and most developers don’t make it past “it uses HTTPS, so it must be secure, right?”. In 30 minutes, I will show you how what you need to _understand_ to make your web application secure, and explain everything you need to know about the file types used in public key infrastructure. We will touch on, – encryption, – synchronous and asynchronous cryptography, – key exchanges, – certificates, – passwords and hashing. Note: this talk is certified math-free.

 

JokerConf – Saint Petersburg


  • Java 9 Modularity in Action – Sander Mak

Sundsvall Java Summit


Sundsvall Java Summit, Sundsvall, Zweden 

  • An Evening about Microservices

Microsoft Techdays


  • Net Core en MVC 6 – Alex van Beek, Chris van Beek
  • MVC 6 Web API – Alex van Beek, Chris van Beek
  • Front-end web development for back-end developers – Frank Folsche, Steef Burghouts

JavaZone 2016


  • Java Modularity: Life After Java 9, Sander Mak en Paul Bakker
  • Kubernetes automation in production – Paul Bakker

 

VoxxedDays Belgrade


On the second day of the conference VoxxedDays Belgrade Chris presented about Angular, Typescript and RequireJS.

Angular, Typescript and RequireJS: the great all together

You will come across AngularJS to structure your application logically, do databinding and create a responsive single page application.
RequireJS is used to do lazy loading of JavaScript files and to get some much needed dependency management within JavaScript. But RequireJS and JavaScript can be very complex. JavaScript is not a very simple language to write your logic in! It is not object oriented, it is weakly typed and it has lot of strange language constructs!

Typescript is a new scripting language based on ECMA 6. It will give you true object orientation, strong typing and built in support for modules with RequireJS. And it compiles to just JavaScript so it runs in any browser!

In this session I will explain how we used Angluar, TypeScript and RequireJs to create interactive web applications. You will learn how these three technologies work together and I will explain our best practices when building these front-ends. I will be showing some of our real life applications to explain the different concepts.

 

VirtualJUG


VirtualJUG is the world’s first online-only Java User Group.

  • VJUG24 session: Java 9 Modularity in Action – Paul Bakker, Sander Mak

JavaOne 2016


  • Microservices for Mortals – Bert Ertman
  • Migrating to Java 9 modules – Paul Bakker, Sander Mak

Devoxx UK


  • Kubernetes automation for blue/green deployments – Paul Bakker
  • Java 9 Modularity in Action – Paul Bakker, Sander Mak

Java Dev Summit


Java Dev Summit at Bucharest Technology Week

  • Microservices for Mortals by Bert Ertman
    With popular poster children such as Netflix and Amazon, Microservices based Architectures seem to be the killer approach to 21st century architectures. But are they only for Hollywood Coders pioneering on the bleeding edge of our profession? Or are they ready to be used for your projects and your customers? I will go over the benefits, but more so the pitfalls, of using a Microservices based architecture. What impact does it have on your organization, your applications, on dealing with scale and failures, and how do you prevent your landscape from becoming an unmaintainable nightmare. This talk goes beyond the hype. Why are companies doing this, and what struggles will be waiting for you.

DevTalks Romania


  • Zero downtime deployments with Docker and Kubernetes by Arjan Schaaf

Geecon Polen


  • Kubernetes automation for blue/green deployments – Paul Bakker
  • Java 9 Modularity in Action – Paul Bakker, Sander Mak

 

Luminis DevCon 2016


Following their successful 2015 conference, Luminis is pleased to announce their second “for developers by developers” IT conference. Come and join us at this developers’ experience on April 19th 2016 at the CineMec Venue in Ede. Enjoy the art of software engineering!

Codemotion Dubai


  • Microservices for Mortals by Bert Ertman
    With popular poster children such as Netflix and Amazon, Microservices based architecture seems to be the killer approach to 21st century architectures. But are they only for Hollywood Coders pioneering on the bleeding edge of our profession? Or are they ready to be used for your projects and your customers? I will go over the benefits, but more so the pitfalls, of using a Microservices based architecture. What impact does it have on your organization, your applications, on dealing with scale and failures, and how do you prevent your landscape from becoming an unmaintainable nightmare.

JavaLand 2016


 

  • Java 9 Modularity in Action – Sander Mak, Paul Bakker
  • Managing Docker containers in a cluster – introducing Kubernetes – Marc Sluiter

Managing Docker containers in a cluster – introducing Kubernetes


Containerising your applications with Docker gets more and more attraction. While managing your Docker containers on your developer machine or on a single server is not a big hassle, it can get uncomfortable very quickly when you want to deploy your containers in a cluster, no matter if in the cloud or on premises. How do you provide high availability, scaling and monitoring? Fortunately there is a rapidly growing ecosystem around docker, and there are tools available which support you with this.
In this session I want to introduce you to Kubernetes, the Docker orchestration tool started and open sourced by Google. Based on the experience with their data centers, Google uses some interesting declarative concepts like pods, replication controllers and services in Kubernetes, which I will explain to you. While Kubernetes still is a quite young project, it reached its first stable version already in summer 2015.

Jfokus 2016


  • Microservices for Mortals by Bert Ertman
    Microservices is the new popular kid on the block. Crowd pleaser at many conferences. With popular poster children such as Netflix and Amazon it seems to be the killer approach to 21st century architectures, right? But is this stuff only for Hollywood Coders pioneering on the bleeding edge of our profession? Or is this stuff ready to be used for your projects and your customers? This presentation is a warning. Microservices don’t fix broken organizations and distributed computing is still hard. I will go over the benefits, but more so the pitfalls, of using a Microservices based architecture. What impact does it have on your applications, on dealing with scale and failures, and how do you prevent your systems landscape from becoming an unmaintainable nightmare.

Managing Docker containers in a cluster – introducing Kubernetes


Containerising your applications with Docker gets more and more attraction. While managing your Docker containers on your developer machine or on a single server is not a big hassle, it can get uncomfortable very quickly when you want to deploy your containers in a cluster, no matter if in the cloud or on premises. How do you provide high availability, scaling and monitoring? Fortunately there is a rapidly growing ecosystem around docker, and there are tools available which support you with this.

In this Quickie I want to introduce you to Kubernetes, the Docker orchestration tool started and open sourced by Google. Based on the experience with their data centers, Google uses some interesting declarative concepts like pods, replication controllers and services in Kubernetes, which I will explain to you. While Kubernetes still is a quite young project, it reached its first stable version this summer, thanks to many contributions by Red Hat, Microsoft, IBM and many more.

JavaOne 2015


Another JavaOne with plenty of Luminis Technologies talks.

 

Microservices for the IoT by Marcel Offermans
Provisioning the IoT by Sander Mak and Paul Bakker
TypeScript for Java Developers by Sander Mak
Zero-Downtime Java Deployments with Docker and Kubernetes by Paul Bakker and Arjan Schaaf

Docker network performance in the public cloud


After we setup our initial Kubernetes+CoreOS based cluster on Azure using Weave, we asked ourselves the question: but what about performance? It turned out that different public clouds such as Azure and AWS but also the network implementation you choose for your Docker cluster has a significant impact on the networking performance of your cluster. In this talk I’ll address how ran our performance tests on the different setups and the new libnetwork stack in the Docker experimental channel will be discussed as it offers new possibilities to easily swap the included network “batteries” by another implementation.

10 reasons to use OSGi for your next cloud app


10 reasons to use OSGi for your next cloud app
What’s up with modularity (tutorial)

To Docker and Beyond – Production Grade Docker Deployment On Azure


Bringing large scale, cloud hosted applications to production with zero-dowmtime deployments is a challenge.

In this talk we will discuss and demonstrate what we have learned migrating our Amazon EC2 cloud hosted applications to a Dockerized infrastructure on Azure.

There are many tools available that partly solve these challenges: CoreOS, Docker, systemd, fleet, etcd, Consul, Kubernetes and many more.

In this talk we will present an “down to earth” approach using these tools on Azure.

Luminis DevCon 2015


On April 23th, 2015, Luminis has organized its first IT conference: Luminis DevCon. More than 370 visitors joined this conference at the CineMec Venue in Ede. Luminis showed their expertise and software engineering skills. More than 20 professionals shared their IT knowledge and experience during various parallel sessions.

Provisioning the IoT


How do we get our software out on the Internet of Things? Many assumptions in current deployment practices don’t hold up. Devices can be occasionally connected, through low-bandwidth networks and are generally outside of direct control. Manually shuffling around binaries is not an option.
Apache ACE is an open-source Java provisioning tool tackling such challenges.You can manage Java apps and configs in a modular fashion. The foundations of ACE are OSGi, semantic versioning and reliable communication. Pushing out incremental updates and managing numerous devices becomes possible.
We’ll show an example where a fictional car-entertainment system is updated and extended using ACE. Although the talk focusses on IoT, the mechanisms demonstrated applies to environments like the cloud too.

JDK.IO


  • Building Modular Java Applications in the Cloud Age by Bert Ertman

Modularity is an architectural theme that you’ll hear about more and more. Being able to deal with change in a codebase is not something trivial and requires some serious thought. In this talk I will show you that it is actually pretty easy to achieve a modular architecture using OSGi, and the right set of open source tools. Of course everything will be demonstrated using live coding!

In this presentation you will learn how to create modular, robust, and durable enterprise Java applications fit for the Cloud Age. Using a modular development approach with Java, OSGi, and a wealth of open source components, you will be shown how to combine these into coherent applications without locking into one of the existing PaaS providers. Finally, we will focus on deployment, introducing Apache ACE, that allows to centrally manage and distribute software components to target systems in the cloud or on premise. The presenter of this talk authored the O’Reilly book ‘Building Modular Cloud Apps with OSGi’ and is using these techniques in high profile production applications on a daily basis.

OSGi in One Day – JUG Bucharest


On November 21st, 2014, the Bucharest JUG, together with Luminis Technologies and Thales Romania teamed up to organize an ‘OSGi in One Day’ event in Bucharest, Romania. The event takes place at Thales, Sema Parc, River View House, Splaiul Independenței 319, Bucharest.

The main goal is to introduce more people to the OSGi technology and some of the tooling in its ecosystem, but there is also a wish to assess the current interest and expertise to start building an OSGi community in Romania.

As we expect a large range of OSGi expertise in the audience (from beginners to dedicated Eclipse RCP developers, to core framework developers), the program was designed to be useful either as a detailed introduction to OSGi or a more in-depth hands-on experience. For this purpose, it is structured in 3 main parts: general introduction to OSGi, demo on building and deploying a cloud-aware web application with OSGi, and hands-on workshop where everyone can get to know the tools and solve any problems first-hand.

Marcel Offermans and Paul Bakker will be presenting and guiding everyone throughout the event.

OSGi Remote Services in a Microservices World


In a Microservices architecture applications get decomposed into functionally cohesive services that are implemented as separate processes that interact through the network using simple protocols. This allows applications to scale during deployment by distributing and replicating the services across compute resources as required.

However popular, common criticism includes the use of implicit and poorly defined interfaces, the fact that every component must implement remoting concerns and the fact that it introduces significant processing overhead as every service invocation traverses the network, even if the services are on the same box!

In this presentation we discuss how OSGi Remote Services can address these concerns in an OSGi context by providing the developer strongly typed services that may or may not actually be transparently remoted across a scaled-out deployment.

Felix HTTP – Paving the Road to the Future


Developing modular web-based applications is easy using the HTTP-service implementation of Apache Felix. It hides the complexity and boilerplate code needed to get your servlets and filters up and running in no-time. With the recent effort in aligning the HTTP-service with the latest servlet specifications, new functionality like asynchronous servlets and filters will be supported out-of-the-box.

In this presentation we will not only talk about the new features provided by the Felix HTTP-service implementation, but also demonstrate how to use them in your project. In addition, we talk about upcoming improvements to the Felix HTTP-service, like native support for SPDY and WebSockets.

Continuous Automated Deployment with Apache ACE


Nowadays, it is quite common to have build infrastructure that, on every change in a repository, builds your software and runs all your tests. However this is where most development teams stop. This talk demonstrates how you can consistently deploy systems from development to testing, staging and production.

With Bndtools we semantically version bundles in the Eclipse IDE. The continuous build is setup to automatically deploy to a bundle repository and create snapshots of changed bundles compared to a baselined version that is available in a release repository. By hooking up these repositories to Apache ACE, such updates can instantly be deployed to systems in different configurations, allowing you to deploy new features to QA systems, beta users and finally roll them out to all other customers.
We’ll also go into real life scenarios and pitfalls we have encountered setting this up.

J-Fall 2014


Different JVM languages lead to different architectural styles. We all know the typical three-tiered architecture and its limitations. Akka and Scala offer event-sourcing. Event-sourced apps model all state changes explicitly and store them immutably. The actor model makes this horizontally scalable. Even better are the functional benefits: a provably correct auditlog and creating new views on past data. This session introduces the event-sourcing concepts. You’ll see how well they map onto actors. To prove this, we show an event-sourced application using Akka. The new Akka Persistence module provides excellent building blocks. Want to learn about the next generation of scalable architectures on the JVM? Check out event-sourcing with Akka!

Jfokus 2014


Paul Bakker and Bert Ertman will give a four hour university about modularity, OSGi and Amdatu.

GeeCon 2014


Sander Mak and Paul Bakker will be speaking at GeeCon in Krakow, Poland. They will be talking about modularity in JavaScript, and how to practically apply this using module systems such as RequireJS.

DevNation


Paul Bakker will be speaking at DevNation is San Fransisco. DevNation is a brand new conference with an awesome speaker line up and a variety of topics.
Paul will give a practical introduction to OSGi and Amdatu. Expect a lot of live coding!

ApacheCon North America


Marcel Offermans and Jan Willem Janssen will have several talk at ApacheCon. Marcel and Jan Willem will talk about Continuous Automated Deployment with Apache ACE.
Jan Willem will have two more talks; Felix HTTP – Paving the road to the future, and a talk about two years as an Apache committer.

JavaLand 2014


Sander Mak and Paul Bakker spoke at JavaLand in Germany about modularity with JavaScript. Once again this JavaScript talk focussed about code quality proved to be popular on a Java conference;
a full room during the sessions and great feedback afterwards.

JavaLand is a new conference with about 800 attendees. Besides that the conference was very well organized and had a lot of great content to offer (even when not speaking German), the location of the conference was also really special. The conference
was hosted in a theme park. That means great theatre like rooms for the sessions, and roller coasters in the evening….

During the conference the official Java 8 launch party web cast was also hosted by Oracle. At the conference we watched the web cast on a big screen over dinner, and Stephen Chin
set up a panel session as part of his night hacking tour. Paul was asked to join the panel, and had a change to talk about Java 8, and the future of Java. [Skip to 1.27] for a little rant about Jigsaw…

Modularity with OSGi LTS webcast


Paul Bakker presented at a Luxoft Technology Series web cast about modularity with OSGi. The web cast was very well attended and many questions where asked.
The session was recorded and supported with a blog post by Paul.

JFall


Paul Bakker and Sander Mak will be speaking at Jfall. This is the yearly conference by the Dutch Java User Group (NLJUG).

Modularity with OSGi by example by Paul Bakker
Modular JavaScript by Sander Mak and Paul Bakker
Data Science with R for Java Developers by Sander Mak

EclipseCon Europe


Jago de Vreede, Bram de Kruijff and Marcel Offermans will be speaking at the OSGi DevCon which is co-hosted with EclipseCon Europe. We will be joined by our colleague from Luminis Arnhem, Alexander Broekhuis.

Talks:

OSGi Remote Services by Bram de Kruijff and Alexander Broekhuis
Dynamic Hybrid Cloud Applications by Bram de Kruijff and Alexander Broekhuis
Continuous Automated Deployment with Apache ACE by Jago de Vreede and Marcel Offermans

JDD Krakow


Paul Bakker will be speaking at JDD Krakow about OSGi and modularity.

Building Modular Cloud Applications in Java: Lessons Learned
Tutorial: Building Modular Enterprise Applications in the Cloud Age

The day after the conference he will also teach a full day OSGi course, open to everyone. [Course overview](http://13.jdd.org.pl/program/workshops/osgi)

JavaOne San Francisco


Another JavaOne with plenty of Luminis Technologies talks.

Building Modular Cloud Applications in Java: Lessons Learned by Paul Bakker and Bert Ertman
Tutorial: Building Modular Enterprise Applications in the Cloud Age by Marcel Offermans and Paul Bakker
Modularity in the Cloud: A Case Study by Paul Bakker and Bert Ertman
Modular JavaScript by Sander Mak and Paul Bakker
Data Science with R for Java Developers by Sander Mak

GeeCon


Paul Bakker and Bert Ertman will speak at Geecon in Krakow. They will give a hands-on lab on Saturday and a talk on Friday about modularity, the cloud and Amdatu.

JavaOne Russia


Paul Bakker and Bert Ertman will speak at JavaOne Russia for the second time. This year they will give a hands-on lab and a talk about modularity and Amdatu.

OSGi Devcon


Paul Bakker and Marcel Offermans will give a talk about PulseOn as a case study for using OSGi in the cloud. Paul will also have another talk about the new OSGi-CDI specification.

Beyond OSGi Software Architecture


OSGi has become part of the Enterprise Java domain. The lightweight framework is well known for its modularity and service-based architecture, allowing you to build your applications based on interfaces and POJO’s that are nicely decoupled.

Some strengths of this architecture are: strong isolation throug serives, declarative service and dependency management (IoC), aspect orientation based on services and a security model.

Lean software is a new way of building enterprise applications based on OSGi, that aligns nicely with Agile methodologies. Non-functional requirements can be easily implemented. In that context we look at deployment, management, extensibility and how to sell an extensible product and provide an SDK to third-parties.

De leukste Bug


The Bug is a device with which you can build your own mobile system by combining certain modules. Each module delivers a specific piece of functionality, such as camera, video output, GPS location, etc.

The fun part of this device is that both the hardware and the software are completely modular and dynamic. That means that you can easily, with Eclipse and an SDK, write your own software for it.

This session will introduce the Bug and the OSGi based software stack and will build and deploy a whole application.

OSGi on Google Android using Apache Felix


When Google released the first SDK for Android, which was way before the first mobile phones running it were released, Karl and Marcel decided to try and see what it would take to get Apache Felix running OSGi on Android.

This presentation introduces the Android platform, OSGi, and demonstrates how to run Apache Felix on Android. It builds on an earlier blog article that was published on this subject, an article that inspired many other OSGi implementations to try the same.

Building Secure OSGi Applications


Modern applications and software solutions increasingly center around loosely coupled and extensible architectures. Component or Service orientation is applied in almost all areas of application development including distributed systems, ubiquitous computing, embedded systems, and client-side applications.

The Java based OSGi framework specification lends itself well as a platform for loosely coupled and extensible applications and is rapidly gaining ground as the de-facto plugin solution for Java based applications. It allows for lightweight implementations that limit themselves to the CDC profile and are ideally suited as embedded plugin frameworks.

One of the main drawbacks of dynamically extensible applications, however, are the potential security issues that arise due to executing untrusted code without appropriated safety-measures in place. Secure sandboxes and their restrictions are difficult to get right and often hard to deal with in the development of applications. The OSGi specifications have an extensive and very powerful security model that eases this difficult task.

This presentation focuses on embedding various OSGi framework implementations namely, Eclipse Equinox and Apache Felix, into applications as a means of plugin mechanism while taking advantage of the often overlooked benefits of this solution: security.

Component-based development with OSGi from embedded to enterprise


After a short introduction about the origins of OSGi and the principles behind it, this presentation will focus on the current developments around component-based development. Although OSGi was created as a service-based platform for home gateways, it has grown into a universally applicable framework.

The talk will review JSR-277 and JSR-291, both of which are very close to OSGi and are targetted to standardize certain aspects of this technology as part of the JVM. Furthermore, several applications will be reviewed to illustrate that this architecture can be used in a broad range of environments, from mobile phones to enterprise applications.

Examples include: Eclipse, based on OSGi since 3.0, Apache Felix, an open source implementation that is the basis for several other projects such as the Apache Directory Server.