JAX London is a three-day conference for cutting-edge software engineers and enterprise-level professionals. JAX brings together the world’s leading innovators in the fields of JAVA, microservices, continuous delivery and DevOps. In the spirit of agile methodology and lean business, JAX London is the place to define the next level of efficient and super-adaptive technology for your organisation.
Download der Präsentationen
Busy Developer's Guide to Gamification
Is it the business of business to play games? Innovative startups like FourSquare, GoWalla, Yelp, and more certainly think so, and based on their growth curves, lots of other people do too. In this talk, we'll discuss 'gamification', adding game elements to otherwise non-game software and systems: why you might do it, what it is, how to do it, and what sort of ideas different businesses or systems might take to 'gamify' themselves. By the time we're done, you'll never look at a business app quite the same way again.
Making sense of events: Strategies for Complex Event Stream Processing with Spring Integration and Pals
Event driven architectures have been with us for some time and are seeing a huge renaissance, with very good reason. Many systems, including the majority of Object Oriented and Functional systems, can benefit from the loose coupling and scalability advantages of relying on events and message-based integration, however the fluidity of such a system can make understanding its runtime characteristics a challenge. This is where Complex Event Stream Processing comes to the fore. In this talk, Russ Miles and Jonas Partner will explain the huge advantages and disadvantages of event driven architectures and how you can apply different Complex Event Stream Processing design and implementation strategies to be able to elicit information from your real-time flow of events.
Intelligent Application Mobility with Monterey Spring Edition
Discover how simple cloud programming can be when you understand application mobility. Application mobility is a design principle that emphasizes being able to carve an application into discrete, interconnected segments; distribute these across different systems; and move any part of the application at any time, to anywhere in the world. By following this principle, you get scalability and portability for free; the intelligence comes in when you as a DevOp focus on what mobility can do beyond this. Whether driven by cost or by latency, whether constrained by compliance or trapped by terabytes, with application mobility in your arsenal you're on top of cloud. This tutorial will cover all aspects of the build-run-manage lifecycle for systems which can benefit from intelligent application mobility. You'll learn how Cloudsoft's Monterey Studio leverages familiar Java, OSGi, Eclipse, and Spring patterns to make it easy to develop and deploy globally distributed applications, and you'll see first-hand the benefits of being able to optimize for location. You'll also receive a voucher for Amazon Web Services or GoGrid to test this out for yourself.
Modularity meets Cloud - The unstoppable force meets the unmoveable object
Despite the element of novelty and fashion, there is little doubt that Cloud Computing will fundamentally transform the way organisations view technology. That said, current virtual machine based Cloud Compute offerings have nothing to say about the dominant contributor to an organisation's IT OPEX. Application maintainability accounts for approximately 70% of an application's TCO. To increase application maintainability, one must modularise. Hence it is likely that OSGi, the industry standard for Java modularity, will have equivalent or greater impact than Cloud Computing. This presentation will look at the intersection of Cloud Computing and OSGi based Composite Applications. The presentation will review the work being pursued by the OSGi Alliance and its relevance to Cloud Computing. The presentation will conclude by demonstrating a distributed Cloud / OSGi runtime that demonstrates the concepts discussed.
Building mobile applications with Flex and JAVA services
During this technical session, Michael Chaize will develop from scratch a mobile application using the Flex framework. Thanks to the last release of the open-source Flex framework, Java developers can develop Enterprise mobile applications very rapidly. These applications can be deployed on android devices, on the BlackBerry PlayBook tablet and even on iOS devices. Michael will detail the new mobile architecture and unveil the last generations of Java libraries provided by Adobe LiveCycle to build real-time mobile applications.
How Betfair Scaled its Java Apps in Record Time
Betfair is one of the world's largest international online sports betting providers, with its pioneering Betting Exchange processing more transactions per day than all of the European stock exchanges combined. But it didn't start out that way; prior to 2007, Betfair had a relatively small environment that the in-house Dev and Ops team could control and manage. Through expansion, and addition of new product offerings, the number of applications increased significantly and it became difficult for a traditional monitoring system to understand the dependencies between applications. As a result, the response to application performance problems was more reactive than proactive. Betfair has surmounted these challenges by adopting a business transaction approach to monitoring. This approach is proactive, not reactive; and it enables the team to monitor and manage applications even over multiple tiers and hops. As a result, the organisation has gained significantly better control over its distributed Java/SOA apps. Learning outcomes from this presentation: Understand how to shift worldview from application server-centric to business transaction-centric. Understand how to determine and define business transactions in a distributed environment. Understand how to create a performance baseline based on business transaction performance. Learn best practices for triage and troubleshooting performance problems through the lens of business transactions.
Back to the future with Java 7
Java 7 is finally on its way! In this talk, Martijn covers the most exciting features of Java 7 including: * Project Coin - a set of small yet very useful changes to the language) * NIO.2 - Java I/O for modern times * The new Fork and Join framework - and what that means for concurrency * invokedynamic - The new bytecode instruction that helps dynamic languages on the JVM The talk also covers the future of the Java ecosystem and what that means to you as a Java developer in the next 2-3 years.
GlassFish 3.1 -Simplifying your Java EE 6 development & deployment
GlassFish 3.1 allows Java EE 6 applications to be deployed in a multi-instance cluster with session failover capabilities. It provides several other features like application-scoped resources, ssh-based remote management and provisioning, extensive support for embedded API, and several other features. This session will highlight how GlassFish 3.1 simplifies develop/deploy-ment of Java EE 6 apps.
OSGi-enabled Java EE Applications in GlassFish
This session will provide an introduction to OSGi and explain how it is used in GlassFish to provide a modular App server. Attendees will learn how to manage the OSGi runtime in GlassFish and change the default runtime of Felix to Equinox and Knopflerfish. The talk will show how to create a simple OSGi and OSGi + Java EE hybrid application using CLI and IDEs and deploy them in GlassFish.
The Future of Messaging: RabbitMQ and AMQP
The JMS standard is 9 years old - but outside the Java community innovation is happening. The AMQP standard with implementations like RabbitMQ is gaining more and more traction. This session explains the standard and its advantages. It will also show how an AMQP application can be implemented using Java.
Effective Development with Eclipse, Git, Mylyn and Hudson
Git is gaining more and more adopters within the open source community from Eclipse to Linux Kernel. Using Git for version control makes Gerrit the natural choice for code reviews. Besides source code, requirements and build play an important role in the development. For many projects Hudson and Bugzilla are the first choice to manage these. Learn how to integrate these technologies into Eclipse.
Accelerate with BIRT
While open source BIRT has been a huge success with developers and users alike, many users are clamoring for more: faster deployments, richer visualisations and flexibility to answer ad-hoc questions. Actuate has addressed these demands by extending BIRT with a range of capabilities including dynamic visualisations, interactive content delivery, data analytics and dash-boarding. In this live, demo-oriented session, we dive into the technology and look at how BIRT can be used to meet user demands in your organisation.
Presentation Model Patterns
The Presentation Model pattern has long been advocated to structure Swing applications. If you're looking to build nontrivial desktop applications with Swing, this session will show you how to: - Structure your application with presentation models. - Have a solid architecture and a clear separation of concerns. - Avoid mutual view dependencies and the "bindstorm." Through demos, examples, and live coding, you'll experience the difference the Presentation Model pattern can make for your master/detail views, redo/undo, dirty checks, validation, and more.
Getting started with Clojure
A practical session on the essential things you need to get going with Clojure; why use Clojure; the essential Language concepts; calling Java from Clojure; Clojure frameworks; IDE support (Emacs, Eclipse, Netbeans), Build tools (Leningen, Maven). Including lessons learnt from learning Clojure at a coding dojo.
Java Persistence API 2.0 with EclipseLink
JPA 2.0 defines the Java EE standard for relational persistence with open source EclipseLink providing the reference implementation along with a number of advanced features including clustered caching, dynamic persistence, and JAXB integration. This session will look at the JPA 2.0 specification and beyond to the advanced features EclipseLink provides to support building Java EE 6 applications.
Mastering the flow of change in Eclipse
In this talk you will discover why to use branches, how change flows between these branches and how this can be visualized in Eclipse using Perforce and the MergeQuest feature of P4Eclipse. This turns Eclipse into a time-saving tool not only for coding but also for configuration and codeline management.
Live coding Grails: a chat for your webapp
Many users of web applications need to know which other users are currently using the system and need to exchange information. To this end we implement a chat app from scratch that you can include in your Grails web application. We use the Canoo RIA Suite (commercial) and the free open-source ULC plugin (github/canoo/grails-ulc) and ULC Builder (github/canoo/ulcbuilder).
Apache TomEE: Tomcat with a Kick
The desire to beef up Tomcat installations has persisted despite the existence of full-blown app servers, many of which include Tomcat in some truncated and stripped-down form. With today's embedded APIs, lighter-weight components and the Java EE 6 Web Profile, that can now be fully realized. This session explores Apache TomEE, pronounced "Tommy", a stack aimed at Web Profile certification where Tomcat is top dog. Pioneered from the Apache OpenEJB project and including Apache OpenWebBeans, Apache MyFaces, Apache ActiveMQ, Apache OpenJPA and Apache CXF. Finally you can get a little more out of your lightweight Tomcat apps without having to give up anything in the process.
OSGi à la carte
A web search on OSGi will yield a bewildering number of open source projects. Beyond the familiar Equinox and Felix, as OSGi moves into the Enterprise Java space the number of OSGi related projects is increasing. If you are interested in OSGi many of these projects will be useful to you but it may not be immediately obvious how. In this talk we'll take a tour of OSGi projects and show demos.
Infinispan, Data Grids and Cloud Data Storage
In this talk, Infinispan developer Pete Muir introduces the role of data grids in today's cloud-computing environment. The extreme scalability offered by data grids are powering the greatest and most high-profile of today's applications, and data grids take on a far more prominent role in cloud deployments as traditional databases hit scalability and resilience issues. In this talk Pete introduces Infinispan, the new open source data grid platform, and its motivations and evolution as a project. Distributed data structures and the use of data grids as a viable, cloud-ready data storage mechanism will be discussed in depth.
Accelerating Large-Scale Integration Programmes through Metadata Analysis
System integration projects frequently need to discover and analyse existing and future metadata. Metadata is data about data and includes database schemas, messaging schemas, data extraction and transformation, data processing, interface and report definitions and many more. Although metadata management projects have historically promised to deliver significant productivity gains, making those projects successful has been notoriously difficult to achieve. However, the tide is starting to turn and a number of major organisations with large and complex technology estates are starting to see returns running into tens of millions of dollars on major system integration programmes. This session explores the classes and characteristics of integration projects that have successfully adopted metadata management and explains some of the key technology enablers that make it all possible.
What's New in Spring 3.1?
The next major release of the Spring Framework version 3.1 introduces a number of often-requested core container features including environment-specific configuration and declarative caching support as well as a broad range of Spring MVC features including conversation management, evolved MVC namespace support, various programming model refinements, and lots more. This session is a preview of important new features that you should know about.
RESTful Services with Java EE
REST is a technique for providing light weight Web Services. In Java EE the Java API for RESTful (JAX-RS) services provides the service framework, Java Persistence API (JPA) provides the data access, and Java Architecture for XML Binding (JAXB) produces the messages. This talk will cover the integration points between these standard technologies, where the pain points are, and how to avoid them.
Eclipse Virgo New Directions
This session will introduce and demonstrate features of the next release including Jetty support, Tomcat 7 and servlet 3.0 support, p2 exploitation, integration with Gemini, and new console and serviceability features. We'll discuss how Virgo is exploiting and informing new OSGi standards. Finally, we'll look to the future of Virgo and see the sort of requirements that will shape that future.
Spring Integration and Spring Batch in the Cloud
Writing an application for cloud deployment can be a different proposition than writing it for local, physical use. In this presentation we explore the practical consequences of designing and implementing applications with Spring Integration and Spring Batch targeted at a cloud platform or software services. A cloud platform could mean a commercial public offering like EC2 or vCloud, or it could be a home-grown private in-house service, or something in between. There are also increasingly many software services that have an integration aspect - messaging or other low-level services can be combined with higher-level business services to create a system that is more than the sum of its parts. Whether they are public or private, cloud platforms impose constraints on guest applications as part of their design, and for sound economic reasons. We draw from several examples of public and private cloud services, and show how the target system influences application design. We also show some tips and tricks on using and enabling features of Spring in the cloud. Application architects and developers using Java or JVM languages, especially if they already use Spring, will benefit from attending.
Globals - The free database from InterSystems
What makes a successful commercial database software company give away its core database technology for free? Better yet, why would this company pay you to build applications on this free to deploy product and contribute to its open source API? Simply put, InterSystems believe it is the best technology around, especially for NoSQL applications. Come and see the code, get the free product that powers thousands of applications today, and get the details on the new monthly development competition. Help us build a thriving developer community around this exciting new technology - Globals.
JavaEE and Google AppEngine
What started off as a simple CDI+GAE testing sandbox project, grew into semi serious pet project. The presentation will sum up tips and tricks on how to use top JavaEE specs - CDI, JPA, JSF2 and BeanValidation - inside restrictive GAE env, while still having highly scalable application. Testing wise, we'll show ShrinkWrap and Arquillian, the future of JavaEE testing and how they work with GAE.
IBM's two best kept secrets, Agile and Rational Team Concert; and how to use them together
Running an Agile project within a large company like IBM can be a huge challenge. It is not that large companies are unable to benefit or learn from Agile, but that the inertia involved in adapting new processes can be difficult to overcome. Come along to this session to learn how the OSGi Applications capability in WebSphere Application Server was developed and delivered using Agile techniques and how it benefited from making use of a single integrated tool for source control, build, planning and issue tracking: Rational Team Concert.
Patterns of Effective Delivery
Some teams are orders of magnitude more effective than others. Kent Beck famously described himself as "not a great programmer, but a good programmer with great habits." Over the last year or so I've been working with, and observing, some very good teams with quite exceptional - and rather surprising - habits. Are katas the best way to learn a new language? Is manual testing a waste of time? Is copy-and-paste always evil? Is the customer always right? In this talk Dan introduces the idea of delivery patterns - patterns of effective behaviour in delivery teams - and describes some of the more unusual but effective patterns he's been collecting. These are not patterns for beginners, but then again, Dan argues that patterns aren't for beginners anyway.
Agile Architecture - How Much is Enough?
Software architects and agile teams sometimes find it difficult to work together. This session presents a set of specific practices, based on the tenets of the Agile Manifesto that have proven useful in helping architects to work effectively with agile teams, particularly where the need for inter-project coordination must be balanced against the need for agility.
Complexity Kills Cloud ? Managing IT Organizations in the era of Ultra Large Systems
This session is an entry level course in Complexity and Change Management in accordance with ISO standards for cloud environments. Clouds will lead into an exponential explosion in complexity of software application landscape. And like you cannot run a big city like New York in the same way as a small hamlet, other strategies are required to moderate clouds. Agile project management was an early attempt to introduce self-control and self-responsibility into projects; for the cloud we need to learn again the art of managing ultra-large systems. If we fail to do so, it will happen that Complexity Kills Cloud. IT managers with a classical education, who were used to controlling every activity within the reach of their physical network stand there in fear and panic, as they have never learned how to moderate large numbers of concurrent services from multiple owners on a globally distributed infrastructure with decentralized change management. By applying the same well established management patterns that make humans control the life in a city there is a way to make ultra-large elastic public clouds behave in the way that we want it.