Red Hat Mobile Application Platform + OpenShift Online

A walk-through of the features of the Red Hat Mobile Application Platform (RHMAP) and how to use the OpenShift Online PaaS as a Mobile Backend as a Service (MBaaS) for RHMAP. During the walkthrough, we will look at creating mobile applications, deploying Node.js microservices as well as local development, testing and deployment.

The majority of the session will be a live demo of the platform & will include live coding.

Watch Past Sessions

WildFly Swarm makes it possible to wade into the great ocean of microservices without abandoning your JavaEE knowledge and experience. In this talk, we’ll introduce you to what makes WildFly Swarm similar to and distinct from proper WildFly. We will explore how WildFly Swarm can enable a microservices architecture. We’ll also demonstrate how to weave together multiple services to have a non-trivial application composed of multiple, independently-deployable services.

For this session we have Bob McWhirter talking about WildFly Swarm, which is a project he founded to bring microservices to the Java EE world.

The current hype around the Internet of Things (IoT) has led to a substantial amount of innovation thanks to open source software, open hardware, open standards, and community inspiration.

In this session, we will explore how you can use open source software to incorporate the physical world (the “Things”) into your traditional enterprise IT infrastructure. We will walk the path from a typical enterprise developer’s current focus on web desktop applications to mobile and devices, specifically developer prototyping platforms like Raspberry Pi, Intel Edison, Arduino, Particle.io, and several others.

Learn how to connect the physical world to your enterprise middleware backbone via sensors and actuators.

Burr Sutter: Technologist, innovator, creator, catalyst, an evangelist, product manager, teacher, and 'internal start-up' leader with the vision to see tomorrow's technology and the ability to focus and energize the engineers who build it and the communities who use it.

Scale changes everything. What once was quite adequate for enterprise messaging can't scale to support "Internet of Things". We need new protocols, patterns and architectures to support this new world. This session will start with basic introduction to the concept of Internet of Things. Next it will discuss general technical challenges involved with the concept and explain why it is becoming mainstream now. Now we’re ready to start talking about solutions. We will introduce some messaging patterns (like telemetry and command/control) and protocols (such as MQTT and AMQP) used in these scenarios. Finally we will see how Apache ActiveMQ is gearing up for this race. We will show tips for horizontal and vertical scaling of the broker, related projects that can help with deployments and what the future development road map looks like.

Martyn Taylor is a senior software engineer at Red Hat, with over 7 years’ experience working on cloud, middleware and messaging software. Martyn currently works on the Apache ActiveMQ suite of projects.

Today, when microservices are widely used we often need a tool for sending messages throughout the cluster. During the presentation we will learn how to send information between nodes, invoke RPCs or even coordinate distributed task execution. Clustering might be fun!

Microservice architectures have become popular, but we have to balance hype with reality. Microservices make it harder to manage deployments and create complex inter-service communications patterns. Learn how Open Source software built by open communities like Apache Camel, Docker, Kubernetes, OpenShift and Fabric8 can help achieve organizational goals to integrate services and establish effective continuous integration and continuous delivery pipelines.

Apache Lucene is the de-facto standard open source library for Java developers to implement full-text-search capabilities.

While it’s thriving in its field, it is rarely mentioned in the scope of Java EE development. In this talk we will see for which features many developers love Lucene, make some concrete examples of common problems it elegantly solves, and see some best practices about using it in a Java EE stack.

This session covers new improvements that will be introduced in WildFly 9:

Wildfly-core will be extracted from the codebase and the ability to assemble a server on top of it will be introduced. WildFly 9 will be provided in two versions: Wildfly Web and Wildfly Full but users will be able to create their custom packaging of WildFly.

Users will be able to shutdown the application server in a graceful manner - after the shutdown command is executed server will reject new requests and allow existing requests to finish before it shuts down.

Support for HTTP/2, a new version of HTTP protocol based on SPDY, will be introduced.

Users will be able to use WildFly as a load balancer. Consequently, it will be possible to manage the balancer with the same tools that are used to manage the rest of the domain. What is more, users will be able to use more efficient protocols, such as HTTP/2, for communication between the balancer and backend servers.

An OpenShift cartdridge, which will enable users to use WildFly 9 in cloud environment, will be provided. WildFly 9 will use OpenJDK ORB library instead of JacORB.

Join us for this interactive event and get your hands dirty with some WildFly 9 hacking!

Our host Kabir Khan will explain how you can contribute to the WildFly project at many different levels, from properly reporting bugs in the forums and issue tracker, to actually being able to submit a pull request.

During this interactive event you will have a chance to play with WildFly 9 and try some of the following:

Find a JIRA you want to work on.

See how to check-out the code and setup your IDE.

Build WildFly

Code walkthrough - code organisation, jboss-modules etc.

Debug something from a stack trace in a JIRA issue to nail down the problem.

Mobile devices are increasingly important as a platform. The number of different devices on the market increases every day. This posses a challenge, how do we support all of them. Every new device comes with it's own paradigms and programming language. Wouldn't it be great if we could create one application that could support all platforms. With Cordova and AeroGear you can.

Cordova is a platform that allows you to access native device functions from JavaScript enabling you to create mobile applications with just CSS, HTML and JavaScript, for all platforms. You can use your existing skill sets to create native applications.

In this talk we'll show how you can create an application with Cordova and even how to create your own plugins. What features the AeroGear Plugins have and how you can use these to build mobile applications rapidly. How to create test and run these on simulators and integrate them into your own build environment.

Google App Engine (GAE) is a popular PaaS offering. Where its scalable and reliable environment is hidden behind a custom API. This makes GAE apps hard to port over to other non-GAE environments.

But what if one could implement such similar environment? And you could simply move your GAE application’s .war file to this new environment and it would just work?

After all, at the end it’s all about the API, plus scalable and reliable services.

JBoss CapeDwarf project aims at making this a reality. This presentation will provide a glimpse into what it takes to implement something as GAE, ranging from runtime integration with JBoss Application Server, actual services implementation to last but not least, automated heavy testing.

Looking to design business processes but not sure how to get started? If this is the first you’ve heard of Red Hat JBoss BPM Suite, or you’re anxious to get started with your freshly downloaded JBoss BPM Suite, this webinar’s for you.

Have no fear, the JBoss BPM Suite starter kit will:

Provide you with the details, help, and path to rules, events, and process freedom.

Show you a quick and easy entry into the world of process design.

Walk you through the contents, and what you can achieve, with the JBoss BPM Suite.

Start you off with an easy installation.

Use a pre-installed project and workshop to take you step-by-step through constructing the project from scratch.

Join us for a grand tour of the JBoss BPM Suite starter kit, and learn how you can hit the ground running as the BPM expert you always wanted to be.

Ceylon is a new modern, elegant programming language for the JVM and JavaScript VM, designed for team work. But it's more than that, it is a full platform with modularity, an SDK, tools and IDEs.

We will present Ceylon the language, the platform, and its ecosystem. You will see everything from starting a new project in the IDE to publishing it on Herd, our module repository, including using the SDK. We will also discuss the ongoing Ceylon projects such as the build system, Vert.x integration or Cayla, the new web framework.

CDI portable extensions are one of greatest features of Java EE allowing the platform to be extended in a clean and portable way. But allowing extension is just part of the story. CDI opens the door to a whole new eco-system for Java EE, but it’s not the role of the specification to create these extensions.

Apache DeltaSpike is the project that leads this brand new eco-system by providing useful extension modules for CDI applications as well as tools to ease the creation of new ones.

In this session, we’ll start by presenting the DeltaSpike toolbox and show how it helps you to develop for CDI. Then we’ll describe the major extensions included in Deltaspike, including 'configuration', 'scheduling' and 'data'.

Antoine Sabot-Durand is the CDI co-spec lead. He is also the tech lead of the Agorava project.

This presentation introduces the advanced features of CDI (Contexts and Dependency Injection). It was presented by Antoine Sabot-Durand, the co-spec lead for CDI.

In less than five years of existence, Contexts and Dependency Injection (CDI) has become one of the major specifications in Java EE. However, its advanced features are still not well known among the majority of the developers, who see it as a simple Dependency Injection solution. In this session, we’ll deep dive into advanced features like the CDI SPI and portable extensions. Then we'll view some examples of how CDI can be used to extend, in a portable way, the Java EE stack.

This session pulls a variety of examples in testable development from O’Reilly's Continuous Enterprise Development in Java, including a review of the sections on:

RESTful services

UI verification

Transactions

Security

...and covers other areas of the Java EE platform that have historically been branded as “difficult to test.” The session spends a lot of time in the IDE, with examples that are freely available to fork and run.

Open-source engineer; Developer Advocate and Program Manager at JBoss by Red Hat, author of the upcoming 'Continuous Enterprise Development in Java' from O'Reilly Media. Founder of the ShrinkWrap project and recovering member of the JBoss Core Development Team.

Arquillian is an innovative and highly extensible testing platform for the JVM that enables developers to easily create automated integration, functional and acceptance tests for Java middleware, from Java EE and beyond.

For years we've been exploring how to layer and separate our code to test in isolation on the unit level. We've kept integration and functional testing as a big ball of mud; jumping straight from unit to full system testing. But can we apply some of the same lessons learned from unit to integration testing?

Arquillian project lead, Aslak Knutsen, is a Senior Software Engineer at Red Hat where he is working on projects such as Arquillian and ShrinkWrap, one of the founders of the JBoss Testing initiative and a speaker at major industry conferences including JavaOne, Devoxx, Jazoon, JFokus, Geecon, JUDCon and JBoss World.

In this mini-session we will present Ceylon's fast growing ecosystem. Ceylon is a new modern JVM and JSVM language with a nice blend of functional and object, modularity and great tooling, designed first and foremost for team work.

You have a great idea for quick and interesting mapping application with pins on a map with some basic search. Then you lose interest because of all the pieces to install. NOT ANYMORE! In this workshop we are going to use 1 command to spin up all our infrastructure (EAP and MongoDB). Then write some quick and easy Java EE code to build a REST service on MongoDB. To wrap it up we will use a simple Leaflet application to display the results. You will witness the transformation from idea to cool pinny map in this quick session.

CDI has proven itself to be a great asset for Java. The many features it provides (dependency injection, contextual lifecycle, configuration, interception, event notification, and more) and the innovative way it provides them (through the use of meta-annotations) explain its rapid adoption. This session reviews the features introduced in CDI 1.1 and 1.2 and discusses improvements planned for CDI 2.0.

In this mini-session, Steve Pousty will showcase how to automatically scale Java EE applications on a PaaS environment using JBoss EAP and OpenShift. This will be a live demo where he will deploy an application to the cloud and then turn up the heat by running a load test with thousands of users.

Java is an object-oriented kingdom where ORMs have flourished. This episode explores key myths and preconceptions about ORMs in a NoSQL and polyglot era. Join this journey to challenge these myths and find out if they are busted, plausible, or confirmed.

Are you a Java developer and want to develop a mobile app that connects to a secured Java EE back end, but you don’t know where to start? This session is tailored for you. This live coding session, driven by Java and using a familiar development environment, goes step by step through building a complete mobile, hybrid, multiplatform application ready to be distributed on different vendors’ stores, such as the Apple store or Google Play. Starting from scratch, the tutorial takes you through building a simple Java EE application and, from there, scaffolding a mobile web client and turning it into a native app, including Android and iOS. This is an in-depth session in which the attendees will learn concretely, and without using hipster tools, how to enter the mobile world.

In this mini-session, Grant Shipley would showcase how easily you can develop Java EE 7 applications with OpenShift. This would be a live coding session in which he would build a Java EE 7 from scratch using the WildFly application server and MongoDB database.

Part II of the Boston Java Meetup on 12 August 2014, in which Andrew Lee Rubinger introduces the GeekSeek example application from the http://continuousdev.org book, and further inspects it with XRebel at runtime.

For this meetup we have two short talks, both with a 'Transactions in the Cloud' theme. The talks cover some novel research undertaken by this summer's intern students.

Transactions and NoSQL Review

It is a common to forgo the use of transactions in an application due to untested performance or scalability concerns. While it is true that transactions do come at a cost, they also bring a lot of strong guarantees essential to a correctly running application. There are many differing transaction options available, each with varying costs and guarantees. Rather than dismiss transactions altogether, it would be more prudent to consider how your application would perform under a number of different transaction models and select the option that hits the right balance of performance and guarantees.

This presentation provides a useful reference for developers and architects who need the guarantees that transactions can bring, but don't know which model is right for them. In particular the presentation will:

Review each of the transaction options available in NoSQL today.

Compare ACID and Extended (relaxed ACID) transaction models and understand how these models relate to NoSQL and scalability.

Present performance results for a selection of transaction options under different classes of workload. Covering a single node, as well as cluster of sharded nodes.

Scaling a transaction manager in the Cloud

Transaction coordination systems such as Narayana rely upon storage facilities to recreate transaction state during recovery from a system crash. These logs are usually stored on RAID hard drives to maximize reliability. However, any disk I/O is relatively slow and writing the logs can become a bottleneck in high performance transaction systems. Using the fastest available disk subsystems is thus an expensive necessity for many enterprise applications.

The use of a cluster of inexpensive, unreliable hardware nodes in conjunction with data replication for redundancy is an increasingly popular and cost effective architecture for many highly scalable, high reliability applications. Data grids such as Infinispan provides distributed in-memory replication of Java objects, making programming for this kind of cluster relatively simple.

This presentation will cover a new transaction logging plugin for Narayana that uses a data grid to replicate the logs to main memory on other nodes in a cluster, in preference to writing them to disk. In addition, the presentation will also cover performance benchmarks and reliability trade-offs.

WildFly 8 (née JBoss Application Server) is Red Hat's open source Java EE 7 compliant application server. It contains robust implementations of WebSocket, Batch, JSON, Concurrency, JMS2, JAX-RS 2, CDI 1.1, and all Java EE 7 technologies. Undertow is the new cutting-edge web server in WildFly 8 and is designed for maximum throughput and scalability, including environments with over a million connections. The number of ports is reduced used by multiplexing protocols over HTTP using HTTP Upgrade.

Role Based Access Control support organizations with separated management responsibilities and restrictions. Roles represent different sets of permissions such as runtime operation execution, configuration areas that can read or written, and the ability to audit changes and manage users. In addition a new restricted audit log can be enabled including the ability to offload to a secure syslog server.

WildFly also provides a 'core' distribution that is ideal for framework authors that want to build their own application runtime using the powerful WildFly 8 architecture.

NetBeans, IntelliJ, and Eclipse allow WildFly to be used for development, deployment, and debugging.

This session will provide an overview of all these features using several live demos.

The event comprises of a morning of presentations followed by an afternoon of hacking. This time, we'll only be broadcasting the morning sessions. Maybe in future we'll think of a way to do the hackfest too!

Java EE 7 platform is the latest release of the Java EE platform. WebSocket attempts to solve the issues and limitations of HTTP for real-time communication. A new API is added to the platform build WebSocket driven applications. Processing JSON structures is inherent in any HTML5 applications and a new API to parse and generate JSON is being added to the platform. Longawaited Batch Processing API and Concurrency are now added to build applications using capabilities of the platform itself. In addition, JAX-RS 2 adds a new Client API to invoke the RESTful endpoints, allows asynchronous client/server, and server-sidecontent negotiation. JMS 2 is undergoing a complete overhaul to align with improvements in the Java language. This code-driven talk will provide an introduction to the Java EE 7 platform. Don't miss out on this session to learn all about how to leverage the new and exciting standards in building your next enterprise application.

We are lucky to have Arun Gupta presenting on the new features in Java EE 7. Arun is well known in the Java EE community and was heavily involved with the Java EE 7 specification when he worked at Oracle. Arun now works for Red Hat as Director of Developer Advocacy.

LiveOak is a new JBoss Middleware project built from the ground up to be mobile friendly and cater to the needs of mobile application developers. Being lightweight and entirely RESTful allows you to hit the ground running in developing your mobile applications with LiveOak.

We will provide an overview of LiveOaks' stack, what we provide OOTB to enable speedy mobile app dev, how the configuration can be modified, and our RESTful guiding principles. Then move onto an application showing how easily and quickly LiveOak can be integrated to provide the required back end. Lastly we touch on how the platform can be extended with your own services to provide additional RESTful resources.

Speaker: Max Andersen "Max Rydahl Andersen was born and raised in Denmark, worked on health care software systems for some time. In that work I bumped into this small project called Hibernate and had to fix a couple of things in it to make it useful. Since then I've been working at Red Hat on Hibernate Core, Hibernate Tools, Seam and now lately JBoss Tools and Developer Studio."

Mar 11, 2014

OpenShift is Red Hat's polyglot Platform as a service which allow you to run a large range of services in the cloud. In this talk I will give an introduction to OpenShift, what it offers and how it works. The talk will be in two parts. The first is about OpenShift in general and how to use it from the command line and the web console. The Second part is about how JBoss Developer Studio works with OpenShift and how it both coexist and extend the experience you get with 'plain' OpenShift. This part will focus especially on how well the JavaEE and mobile parts of Developer Studio works with OpenShift. The talk is intended to be practical and guided by attendees question.

Keycloak is a new open source authentication server for cloud, mobile and html5. With loads of features, including single-sign on, social login, account management console, account workflows, fully featured admin console, OAuth2 and OpenShift cartridge to name a few. The first alpha has recently been released, with loads more features planned for the future. Keycloak also provides support for role based authorization and supports granting access to third party applications. This talk gives a comprehensive introduction to Keycloak and its features, as well as discuss how easily you can add authentication to your applications. There will also be an extensive live demo.

Stian Thorgersen is a Senior Software Engineer at Red Hat. He co-leads the Keycloak project together with Bill Burke, and is also the security lead on another new open source project. Stian also has many years of experience in cloud solutions.

Infinispan is a distributed in memory key/value store that aims to be highly available and scalable. Its ability to scale is tightly linked to the underlying order protocol, aka atomic broadcast, used for enforcing serializability. In this talk I will explore the scaling limits of Infinispan's existing protocol and then propose an alternative approach to designing broadcast systems, that decouples ordering and broadcast.

This talk contrasts our approach with Infinispan's, exploring the design features of our new approach and how they will improve Infinispan's scalability.

ThreadSafe is a static analysis product for finding concurrency bugs in multi-threaded Java programs. Such bugs can be difficult to find using conventional testing methods. They may occur randomly due to non-deterministic scheduling behaviour, and can be hard to replicate. ThreadSafe analyses can be from within the Eclipse IDE, and/or in conjunction with the Sonar quality dashboard.

ThreadSafe is developed by Contemplate, a spin-out company from the University of Edinburgh. Following its commercial release, it has been installed by an investment bank that participated in Contemplate's Early Adopter Program, and is under evaluation in others. The design intent is not only to identify the subtle issues which can arise in multi-threaded software development, but also to provide an easy to use user experience which allows the developer to quickly understand the analysis and to take remedial action, where required, with confidence and understanding.

Contemplate will talk about its focus on concurrency, and demonstrate ThreadSafe's analysis of some Open Source examples.

ACID Transactions are routinely used when applications require strong guarantees as to how atomic operations, involving multiple resources, will perform in the presence of failures, such as system crashes and network disruption. Transactional middleware such as JBoss, combined with application frameworks like Java EE provide the developer with a simple means to add transactional semantics to their applications. Problems can still arise, however, for example poor transactional throughput may manifest when a high volume of transactions rollback, which can have a myriad of non obvious causes.

This talk will explore the current methods of troubleshooting some common transactional issues using JBoss and introduce TxVis: a prototype transaction profiling and visualisation tool. We will discuss the challenges of its development and how it will aid the user in profiling the performance of transactions in their software and quickly isolate some commonly occurring problems.

Ranking queries are one of the central topics in the field of Information Retrieval with considerable applications in fields such as analytics. One of the challenges is to provide solutions which can be adapted to distributed data sources, specifically NoSQL distributed column-oriented databases, and comply to 'user' real-time constraints, especially when dealing with massive amounts of data. In this talk, we discuss the implementation and challenges for some of the most promising algorithms to address these challenges. We also analyse their scalability and substantial gains in terms of bandwidth and execution time, as indicated by the experimental results.

Red Hat Developer Program

We provide a complete experience to enable enterprise developers and software builders to envision, create and maintain high-value enterprise software.