The Spring framework is the most ubiquitous Java framework today and the easiest way to solve many problems. At some point, however, developers start to feel Java applications just can't be any simpler because Java itself is not very simple. It is at this juncture that most people look for alternatives. For those, there is Spring Roo, the highly productive development framework for Spring users.
If you use ActiveMQ, chances are you have run into some problems for which there don't seem to be easy answers. This session examines some common questions from developers using ActiveMQ and provides explanations and solutions.
Designing interfaces so that other code can interact with ours (whether our code is a library, framework, application, website...) is a very common and clearly crucial activity, but fraught with dangers — stuff we all keep doing wrong time after time. This talks shows some common cases of API design errors encountered in the wild, with tips on how to avoid them when you design your next API.
Many Java frameworks and servers depend on a maze of twisty XML files wherein many get lost. In a system where the source code is unavailable, such an approach allows for customization. But when you can modify the source, the configuration files are unnecessary. After all, you can make the code do what you want. And it is less verbose and more understandable.
Java 7 is out in 2 days and now is the time to do some old school hacking with it! We've picked some existing open source projects that could benefit from some Java 7 spring cleaning and you're going to help us wield the feather duster.
This session has limited space for 15 attendees on a "first come, first served" basis.
Twitter is the largest Ruby on Rails installation on the
web right now -- however, we have been moving from solely hosting
Rails applications to a mixed Rails and JVM deployment. This
migration has been ongoing for a few years at Twitter and we now run
several back-end, high-throughput, and critical components on the JVM.
Learning the syntax of a new language is easy, but learning to think under a different paradigm is hard. This session helps you transition from a Java writing imperative programmer to a functional programmer, using Java, Clojure and Scala for examples.
GlassFish 3.1 adds support for clustering, high availability, and centralized administration. It provides a RESTful interface to administration, allows SSH-based provisioning, application-scoped resources. This talk will guide through the features introduced in GlassFish 3.1 that allows you to easily deploy and manage your Java EE 6 applications in a multi-instance cluster.
Review worst practices for releasing software: how to destroy scope in a single meeting; "death sprints" (more agile than death marches); how to avoid testing; how to make your software impossible to configure; and finally, when pushing out a webapp release, how to make your ops team hate you. This tongue in cheek session will review things learned painfully and late at night.
The Eclipse Rich Client Platform (RCP) is a run-time platform with first-class development support for delivering Java technology-based applications. Far more than just a widget toolkit, RCP is rich client middleware that provides a comprehensive framework for building, deploying, and running applications that are modular, extensible, and updatable.
In my technical presentation, I'll be discussing all of the changes to the Java programming language since its inception. In this this keynote, I'll focus my attention on the starting point: I'll present my candidates for the best and worst features in the platform as it was originally released (JDK 1.0), and explain the reasoning behind my choices.
Doing more with less? How about learning one language and doing everything with it: client-side browser scripting, server-side programming with node.js, shell scripting, cross-OS desktop applications, browser extensions, photoshop scripting and even native phone apps. Come learn how to leverage "the world's most misunderstood language".
JRuby is just a Ruby implementation for the JVM, right? Wrong! JRuby has gone well beyond other language implementations by supporting arbitrarily-encoded strings, native library calls, reloadable applications, and much more. This talk will explore how JRuby is pushing the JVM and Java platform in new directions, and how you can take advantage of this new power.
You've written applications for the JVM, using various frameworks and
maybe even various languages. You understand how to rig up the
CLASSPATH, get .class files to load, compile source, and set up an
IDE. But you've always wanted a better understanding of the plumbing
underneath. How does JVM bytecode work? What happens to bytecode after
you hand it off to the JVM?
Java EE 6 is an extreme makeover from previous versions and allows to author web applications using light-weight and easy-to-use APIs and tools. This demo-intensive workshop will introduce attendees to Java EE 6 technologies and how it can help them build a web application very easily using IDEs.
Moose continues to emerge as the new standard for writing OO libraries in Perl. It provides a powerful, consistent API for building classes with a minimum of code. It can be customized with reusable components, making it easier to refactor your code as you go. This tutorial will explain what Moose is, how its parts work together, and how to start using Moose today to get more done with less.
Learn how to build a simple JVM compiler with Scala's parser combinators and Apache's BCEL.
Securing your applications can be a painful and confusing process, but it doesn't have to be. Apache Shiro simplifies all aspects of application security without sacrificing power or flexibility. Les Hazlewood, Apache Shiro PMC Chair, will explain all of Shiro's core features and demonstrate how to easily secure your own application- from small mobile to large enterprise applications.
Come learn about the Perl community's plans for our 2012 release: Perl 5.16. We'll look at how we're refactoring the core language, the Perl distribution and the Perl development community.
Techniques and tools to used to profile software applications. Examples and usage of OProfile, Google Profiler, Valgrind's Callgrind, and strace, geared towards profiling C/C++ applications. People should come away with the knowledge of what tools are available and how to diagnose performance issues in software.
For automated builds, first there was ANT. Then maven provided standardized life-cycles and dependency management. Come see why organizations and our major open source projects like Tapestry, Hibernate, and Spring Integration framework have all moved to Gradle.
This session will show how to speed up your CI environment by switching to Gradle an open source build automation framework.
In the bewildering array of Java and JVM frameworks, Grails is emerging as a standard choice in environments ranging from startups to the enterprise. It's a full-stack solution build on rock-solid components, fully relying on convention over configuration, and using the best application language the JVM has yet seen: Groovy. This is the place to be for web apps on the JVM.
The Java programming language has evolved significantly since its introduction in 1995. In this talk, I'll discuss language changes from the addition of assertions in JDK 1.4 through Project Coin in Java 8, discussing what worked, what didn't, and why. Finally, I'll discuss ongoing efforts (Project Lambda for Java 8) and future plans, in light of the lessons learned from previous changes.
New languages, work environments, technologies, and devices. Clouds roll
in bringing new rules. Is open really the source of the future? If the
future is now, what comes later? Java developers thread on a fine line
between working standards and bleeding edge science-fiction experiments.
What are the possibilities for the future?
Think Zork is dead? Wrong! Come see what 30 years of evolution has done to the fascinating intersection of creative writing and programming. Witness the amazing open source tools that have made it possible: virtual machines, domain-specific programming languages, and IDEs. Learn about the intense indie community that develops these works, and how you can get involved as either a player or writer.
This supplies the theory behind caching and introduces CAP theorem, N * Problem, SOR Coherency Problem, and the tradeoffs made by cache designers, and much more.
The power of enterprise Java is now available through the expressiveness of Ruby. More and more projects are suited to new technologies and frameworks such as Ruby on Rails. Using TorqueBox, a team's members can leverage their knowledge, investments, skills, and trust in Java while exploring the cutting edge of new development models.
Keynote by Raffi Krikorian, developer, Twitter.
In this keynote Patrick will discuss the history of standards, the role that they play in the modern world, and the way in which Java standards are developed through the JCP. He will explain how Java developers can get involved in the standards-developing process, and the benefits of doing so.
Today's world of parallel and distributed computing poses
hard new challenges for software development. A rapidly increasing number of developers now have to deal with races, deadlocks, non-determinism, and we are ill-equipped to do so. How can we keep things simple, in spite of the complexity of the underlying runtimes?