by Paul Bakker
Designing a system that can evolve without creating a maintenance nightmare is far from trivial and there are no silver bullets to do this correctly. A service oriented, modular architecture will help a lot to achieve this goal. Modularity forces separation of concerns which, when combined with a service oriented architecture, enables you to replace parts of a system without breaking others. The only mature modularity approach for Java is OSGi. OSGi is a framework that enables low-level modularity and services, but it is not an application framework like Java EE, i.e. you still need APIs to create web applications, use transactions, access data sources etc. Without these APIs you will have a hard time to actually build applications. Unfortunately OSGi and Java EE did not interoperate well in the past; it was very challenging to mix both. But what if we want modularity in our architecture, but also the ease-of-use of Java EE 6?
Luckily times are changing. All major application servers are getting support for deploying mixed Java EE and OSGi applications. This makes it possible to deploy OSGi bundles that contain Java EE 6 code such as EJBs, JPA and JAX-RS resources. CDI can be used to inject OSGi services and EJBs can easily be exported as OSGi services too.
The next question is how to deploy this into the cloud. Just uploading a large WAR file to a server in the cloud doesn't fit modularity very well. How can you update just parts of a running application without breaking the rest of it? We will introduce Apache ACE, an Open Source Provisioning Platform to deploy OSGi bundles (containing Java EE code) and other artifacts to the cloud.
Infinispan can be configured with cache stores allowing it to store data in a persistent location such as a file system, JDBC etc. There are two different methods of updating the cache store - write-through/synchronous and write-behind/asynchronous. GlusterFS is a distributed, scale-out file system that can scale to petabytes of storage. This talk will explore the idea of how GlusterFS can be used as persistent write-through cache store for Infinispan. The talk will also detail optimizations that can be leveraged from both Infinispan and GlusterFS for optimal persistent caching.
by Jesper Pederson
IronJacamar is the Java EE Connector Architecture (JCA) container inside JBoss Application Server 7.
In this session we will take a look at what a JCA container really is, and why it is so important for an application server. We will look at how to deploy and configure your data sources and resource adapters to really use the power of JCA. Lastly, we will take a brief overview of the roadmap of the IronJacamar 1.1 release which will provide you with even more power. So, join for a quick introduction to JCA and get a detailed overview of the configuration to learn what all the settings really means.
Jesper Pedersen works as a Core Developer at JBoss, by Red Hat. He is the lead for the IronJacamar project implementing the Java EE Connector Architecture 1.6 specification.
Big Data is a popular computing paradigm of recent times. Apache Hadoop is the open source answer for Big Data. In this session, we will look at the Hadoop ecosystem - Map Reduce, HDFS, HBase etc. The presentation will discuss experiments at using JBoss.org projects in Hadoop ecosystem (web applications on JBoss AS7, security using PicketBox/PicketLink, clustering/cache using Infinispan/JGroups etc).
It has been a marriage made in heaven. JBoss has brought the enterprise application platform and JEE to the OpenShift PaaS for all of your development tasks. It is much more than a simple application server though, JBoss provides a multitude of projects that cover everything from mobile, business process management, web development, support tooling to inter connectivity with other development languages like Ruby.
This session will take you through an overview of what OpenShift has to offer right now, how to get started, and then provide some highlights of the various projects that you can now access within the JBoss community. Bring you laptop and follow along as we help you get started in mobile development with Aerogears, Ruby Java connectivity with TorqueBox, process development with tooling from jBPM and much more. These will all be real world projects put on display for you with code you can access live during this session!
JRebel has been around for a while now and we have a long track of integrations with JBossAS, Seam, Weld, RESTEasy and others. We will follow JRebel integration story in regards to JBoss projects: what are the tricks that we can use while welding yet another framework integration for JRebel and what are the problems we encounter when doing runtime binary patching of different frameworks.
We'll also take a look on how you can make use of JRebel SDK for creating your own integration with your favourite framework to leverage JRebel functionality.
by Jesper Pederson
"A pile of JARs (eh, what ?) files, strange XML files, .WARs (must be a tribute to Edwin Starr), and a ton of other stuff thrown together inside a so-called EAR file. What does van Gogh have to do with pushing a button in a web ui ?
Oh, great - and it didn't even work, sigh, why is it only 9.05 am ?"
Sound familar ? Or are your co-workers unable to assemble an enterprise application in the right way or even understand the difference between API and implementation ?
Or is it that you - if you really admit it - want to become better at getting an overview of entire applications or even complex servers ?
Come and learn what Tattletale can do for you, how you quicker get your enterprise application up and running on JBoss Application Server 7, and an idea of the cool features to come.
Infinispan as a data grid has primarily been focused on strong consistency, giving up partition tolerance in exchange. However, moving forward, Infinispan plans to offer an eventually consistent model too, where users could configure Infinispan to weaken consistency in exchange for greater partition tolerance. This talk discusses some of the ideas around an eventually consistent mode for Infinispan.
by Greg Kable and Anthony Patricio
There are many ways to do persistence with Java enterprise applications. Some are good, some are okay and some are downright awful.
This talk looks at common development patterns for persistence, highlights several serious anti-patterns and then outlines the best practices for dealing with these anti-patterns. Attendees at this talk will learn how to be more effective at rapidly developing maintainable, high performance persistent applications.
by Paul Robinson
The TXFramework supports development of portable ACID and NoACID applications; such applications are agnostic of the transaction technology used. Code transparently flows between JTA, REST and Web service transactions domains.
The TXFramework allows the developer to focus on the business logic and specify transactional requirements through annotations. JEE already has this for JTA, but this is not the case for Web services and REST transactions. The TXFramework intelligently bridges between supported transaction technologies, with minimal developer effort.
Currently the business logic for WS and REST transactions is tied tightly to the transaction technology and transport. Switching transport requires a switch in transaction technology and subsequently a significant code re-write. The TXFramework allows the developer to specify what type of transaction they require (ACID or a particular NoACID model). The actual transaction technology is enabled at run-time based on the developer's annotations.
The TXFramework removes boilerplate transaction and bridging logic from the application, by pushing it into the middleware where it belongs. It allows a developer to create code that is more readable and maintainable. It also allows a business to be more responsive in altering its deployment options for applications deployed on site and in the cloud.
Dr Paul Robinson is a Senior Software Engineer at JBoss by Red Hat where he currently leads the Web Service Transactions project.
Paul has worked in the field of transactions and Java middleware for over 10 years. His experience began at Hewlett Packard where he was a member of the Transactions Team. Here he contributed to the first Web service transactions implementation. Previously, Paul headed up the consultancy arm of Arjuna Technologies, helping high-profile customers deploy JBoss Transactions, JBossWS and also Arjuna's Cloud Computing product.
Paul received a PhD in middleware and non-repudiation from the University of Newcastle upon Tyne, where he now holds the role of Visiting Research Fellow. In this role he teaches Transactions and JEE to Advanced-Masters students.
by Mark Addy
If your applications caching capability is preventing you from scaling up or handling bursts in traffic then you may have considered some of the data grid technologies available. This session walks you through two real world solutions designed and implemented using open source Infinispan for a global on-line travel agency. Both outcomes resulted in reduced latency, dynamic scaling and a massively increased caching capacity.
The first part will describe an existing replicated cache running at full capacity and how this was replaced with a distributed solution that allowed the application to scale dramatically with a performance improvement to boot. Secondly we will look at proof of concept for an application with a problematic design and how another distributed caching solution incorporating grid-execution saved the day providing massive scale out and low latencies.
This talk is aimed at developers, architects and middleware specialists interested in caching solutions.
Join us for a technical how-to session on how to develop iPhone and Android apps with MongoDB backends for the cloud. Let's skip having to learn three different languages and jumpstart the development process using what you already know. We'll utilize Titanium to create a native mobile application targeting multiple mobile platforms. Next, we'll deploy our backend app to the cloud using JBoss AS and hook it up to our mobile app via a REST API. Finally we'll pull out our smartphones and bask in the awesomeness of our apps! Nothing complicated, nothing convoluted. Just straight ahead mobile development goodness with JBoss and MongoDB.
In this live coding session Pete and Galder will show the audience how to build a transactional application that can massively scale out it's data tier. As they build the demo, Pete and Galder will introduce the audience to the core concepts of Infinispan, giving the audience the knowledge they need to start using Infinispan in their own projects.
Are you tired of having to wait for several days to have a ready-to-use development platform?
Would you like to easily and quickly deploy your JEE6 application on JBoss AS7?
Do you need to store your data in a MySQL or PostgreSQL database... unless you preferred using MongoDB?
Are you looking for continuous integration and automated deployment with Jenkins?
Come and discover how OpenShift Express, Red Hat's PaaS, is now integrated into JBoss Tools to let you develop and deploy your applications right from Eclipse!
by Paul Bakker
The Spring Framework has no doubt played a major role in evolving how we write enterprise applications on the Java platform today, but it is still a proprietary framework owned by a single company. The age of having to rely on such proprietary frameworks in order to develop decent enterprise applications is now over, and using Java EE 6 has become an even easier way to develop enterprise applications based on standards, which makes it the best choice for any enterprise application. In this session, you will experience how to migrate a typical full-stack Spring application to a standards-based, completely portable Java EE 6 application, including integration tests.
The authors of this presentation also wrote a series of articles on JBoss.org (currently being published) that also contains an example of a complete Spring application that is migrated to Java EE. After seeing this talk viewers can look at the articles and the code base to continue with the topic.
NoSQL promises high potential and innovative features in new generation applications but the barrier of entry is high.
Hibernate OGM proposes to simplify the programming model by embracing JPA/Hibernate APIs and semantics to store data in NoSQL stores like JBoss Enterprise Data Grid instead of the traditional RDBMS.
Come see what this is all about, the status of the project and which type of NoSQL engines are supported.
In this presentation, we will:
- see an overview of the (No)SQL landscape and how a JPA front end can fit some interesting use cases.
- explore how to store entities and associations into a key/value store and what compromise has to be made.
We will use a live demo to discover how to convert an existing JPA application to Hibernate OGM and a NoSQL store. We will dploy it to OpenShift, Red Hat PaaS offering.
Boss AS7 / EAP 6 is a new application server with a lot of changes and administrative capabilities, that brings some challenges during the engagement at customer.
In this section we will give the viewer a nice in-sight into our daily experiences with customers. How Customers implement different Use-Cases, how we adapted those to EAP 6, what problems we faced, what customers thought afterwards.
Common Pitfalls, things users thinking about migration should look out - for what are the key differences (module classloader, container provided vs. bundled frameworks, jndi naming concepts)
invokedynamic? bytecode? Why this matters to me? Discover how can we improve all generic code like the ones you find on frameworks by just hooking up some of the new JDK7 features. If JRuby could get performance improvements of 2x-5x, why can't our stuff benefit from it too?
EAP 6 comes with a Maven Repository - this means that you can now easily migrate from JBoss AS 7 to EAP 6 if your project follows good
best practices concerning use of Maven dependencies. But it is about much more than just easy migration.
The best practices we applied to the use of Enterprise Maven Repository is some that many jboss.org projects could and should consider using since it allows the projects to be easily available for productization and be easy to consume by users in tools like JBoss Tools, Forge and the many Quickstarts built around the Maven best practices.
In this talk I'll present how the Maven repository came to be, what concerns we wanted to address, how you as a user utilizes this maven repository best and how jboss.org projects can benefit from its best practices too.
How many times have you wanted to start a new project in Java EE, but struggled to put all the pieces together? Has the Maven archetype syntax left you scratching your head? Everyone else is talking about Rails, Grails, and Roo, and you're left thinking, "I wish it were that easy for me." Well, there's good news: You don't have to leave Java EE just to find a developer tool that makes getting started easy. JBoss Forge is heating up Java EE, and is ready to work it into a full-fledged project.
Using Forge helps streamline application development, ease the pain of setting up enterprise testing and integration, and utilizes the full power of JBoss AS7 for development, testing, and deployment. Combined with fully-fledged visual integration with Eclipse and JBoss Developer Studio, there's never been more power at your fingertips.
Come watch us build a real application, test it, and deploy it to the cloud on OpenShift in no time flat.
One of the goals of jBPM is to provide a BPM ecosystem consisting of tools and services that bridge the gap between business analysts and technical experts.
In this session we will take a deep dive into the jBPM5 Web-based tooling (jBPM Designer, Drools Guvnor, jBPM Console). We will go over a number of live demos which show how these tools can be utilized to increase the agility and dynamic nature of BPM efforts as well as provide subject-matter experts and technical experts a greater role in modelling, managing, and executing business processes.
The jBPM project offers support for modelling, executing and monitoring business processes. But how do you get started? And what do you do next?
In this session, Kris Verlaenen - the jBPM project lead - will show you the different tools that are available as part of the jBPM project, targeting both developers and business users (using a combination of Eclipse-based and web-based tools).
Using a combination of small examples and demos, we will show you how to model, test and debug your processes using BPMN 2.0, how to execute and monitor these processes, and how to create your own tasks, integrate with external services, etc.
Some more advanced examples will also show you that jBPM is more than just a lightweight process engine, with for example support for adaptive or flexible processes.
by William DeCoste
Red Hat's Platform as a Service (PaaS) project, OpenShift, has historically been a leader in deploying Java/JEE, Perl, PHP, Python, and Ruby applications quickly and effectively to public clouds. But why stop there? OpenShift Express and Flex also support the deployment of applications based on the JBoss portfolio including Enterprise Service Bus (ESB), Business Process Management (jBPM), Drools, and Infinispan.
by Mike Brock
JBoss is strongly focused on providing the best of breed enterprise middleware. With HTML5 and modern browser technology on desktops, smartphones and tablets, the very nature of web applications is changing. Particularly the relationship between those applications and the back-end.
Errai is a project which blends enterprise middleware with the powerful capabilities of browsers and HTML5.
You've heard about the JBoss Way, and you like what you see. The JBoss Developer Framework provides you with the toolkit to follow the JBoss Way and build your applications quickly, productively, and easily.
Based on the Apache Deltaspike project, the industry standard for portable Java EE 6 extensions, the JBoss Developer Framework provides an excellent platform for building modern, mobile ready, cloud friendly applications. You can use JBoss Forge to create projects in a matter of minutes, and JBoss Developer Studio to craft your changes.
Pete and Jason will show you how to get started with Java EE using the JBoss Developer Framework, and then provide a deep dive into selected components.
by Maciej Swiderski
Have you ever wondered how you could make jBPM and Drools even more enterprise ready? How to make upgrades easier, versioning of your processes and rules simple to introduce? If so, this session will provide an insight into how jBPM and Drools can be deployed in more enterprise manner compared to the default one. Leveraging lighting fast JBoss AS 7 with excellent JBoss Modules and Enterprise OSGi. With these cutting edge techniques, your BPM platform will become extremely flexible from business and IT perspectives. Equipped with so powerful platform, you are ready to make it highly available and scalable, second part of this session will guide you through how to get most of it with distributed cache (Inifitispan), load balancing and multi-tenancy
by Trevor Sweeney
Trevor Sweeney will be presenting a real-world migration case study of BlackBerry App World Webstore from JEE5 to JEE6 JBoss suite. This session will contain an in-depth look at how a large-scale enterprise application can successfully make the leap to the next generation JBoss frameworks. The main focus of the session will be on the shift from Seam 2 to Seam 3/CDI however it will also cover the surrounding frameworks used by the application (JSF/Richfaces/Hibernate/JBoss app server). Attendees of the session will be guided through the migration process and will learn the following:
• Application file structure
• Essential code changes every attendee should know
• Dealing with common errors
• Migration Dos and Don'ts
25th–26th June 2012