CORE JAVA

Oracle, Open Source, JCP and Your Future: What’s going on with Java?

The corporate landscape has changed, and stakeholders worry about the future of the Java platform. In this track we put rumors and hearsay to rest as you directly benefit from “those in the know” as inside sources assess Java’s status in the industry today and discuss the stewardship of Oracle, the rapid changes in how Java is being used today, the growth of complementary technologies, the state of Java 7 and more. Along with the strong discussion about the future of the Java platform, this track also looks at how some of the most common Java APIs and Open Source projects are changing and evolving.

Java is in morph mode, so, we’ve brought in Core Java visionaries who’ll bring stop-action clarity to Java spin-offs, programming model platform revolutions, This track’s sessions offer previews of Java 8 and in-depth views of Java I/O, concurrency and language advances in Java 7 and advice on how to best use them. Here, you’ll find ways to handle memory volatility, slowness, GC and swapfile issues, as well as alternatives to Java Memory Model. Discover the rich ecosystem growing around Context and Dependency Injection for Java EE (CDI) API, a key part of Java EE 6. Ride the Camel with Apache. Glide through the cloud. Navigate Facebook apps. You’ll get the backstories, the crystal ball visions, code up the wazoo from Java All Stars, Rock Stars and working stiffs.

Ajax Applications with JSF 2 and RichFaces 4

RichFaces is a JSF framework with over 100 rich and Ajax components, skins, client-side validation, and a component development kit (CDK). Although JSF 2 now offers basic Ajax functionality, a broader rich framework is still required to build real-world JSF Ajax applications. This session will briefly cover JSF 2 Ajax features and then the extra value the new RichFaces 4 adds on top of JSF 2 through its advanced features, tags, customization, and flexibility. Examples will demonstrate Ajax tags, advanced rendering features, the Ajax queue, partial table updates, integration with jQuery, skins, the CDK and more.

Back to the Future with Java 7

Martijn Verburg,
Consultant & Community Leader for Java and Open Source software Ben Evans,
Technical Architect and Lead Application Developer

Java 7 is finally on its way. So, what are the key features you need to know about Java 7 and why?

You’ve probably heard about Project Coin, but there were close to a hundred different suggestions as to what types of changes should be incorporated into Project Coin. Why were there only five key features included in the final draft, and are these five features going to make a difference in the way you code?

Furthermore, why wasn’t the Join & Fork framework included in Java 5, and why has it become so important all of a sudden to include it in Java 7? Is this just a way of appeasing the JSR-166 people that didn’t get what they wanted three years ago, or does it represent a great leap forward with regards to how developer will be leveraging concurrent systems, dividing processing and conquering processor latency when it comes to parallelizing complex tasks.

And of course, Java exists in an integrated, hybrid world. Martijn and Ben explore how Java 7 recognizes this reality, making it easier for new languages to leverage the JDK and the virtualized Java runtime environment.

And of course, Oracle has promised two quick releases, with Java 8 to be released quickly after Java 7 goes GA. As a Java developer, Martijn and Ben let you know what parts of Java 7 you should be leveraging right away, and what features you should be preparing for when Oracle comes out with a subsequent release in the near future.

The Java landscape is changing as Oracle looks to release two new versions of their flagship programming platform. Make sure you’re on top of what’s new, what’s changing, and what you have to look forward to.

Do You Really Get Memory?

That's a stupid question, isn't it? Memory is just where you keep things. Nevertheless, the majority of performance problems are in the end connected to memory issues. In modern computers, memory is complex and multi-layered which is affected by the hardware, operating system and the JVM. And considering that it's shared among multiple CPUs, there are a lot of classical distributed problems without an actual network anywhere in sight.

You should attend this talk if any of the following questions give you pause:

How slow is memory?

What does volatile really do?

How do pagefaults happen and what do they mean?

Why don't swapfile and Java work together well?

For what do you need CompareAndSwap?

Why GC doesn't scale well (so far)?

What are good alternatives to Java Memory Model?

Jevgeni will build a simple CPU model in Java to illustrate some of the concepts and do live simulations for the rest and talk about some improvements in the modern hardware and what it could mean for the next generation JVM.

Core Java Keynote
Enterprise Java Platforms for the Next Decade

Discover how and why enterprise Java platforms must and will evolve to meet the needs of complex enterprises, systems and collaborations in this Core Java keynote by Jim Knutson, IBM WebSphere's Java EE Architect.

Knutson brings his technology and marketplace experience to describe the shape of Java platforms to come. He’ll explain the impact on developers and architects of applications’ growing size and complexity and requirements for collaboration among multiple parties. Knutson delves into the worldwide movement from specialized computing platforms, like the telecom industry’s, to common application platforms that reduce development costs and enable a broader mix of services and capabilities in their environments. As an IBM insider, he also has and will share his views on the current huge problems with hardware, such as single-request performance limitations, and hardware’s future.

Don’t miss this essential session from one of today’s foremost Java EE architects as he reveals:

The next decade's programming model platform evolution

Java platform spin-offs

Upcoming changes in hardware capabilities

Java application platforms’ new directions

Everything You Wanted to Know About Online Video

This session takes you through the nitty-gritty of online video and what it takes to build a high-traffic video portal. How do you get content, encode it properly and deliver it to a CMS and CDN? How do you program the backend infrastructure to handle load and high-availability? Matt Raible showcases his work on various clients (Flash, HTML5, iPhone, iPad, Android, Sony) and lessons learned implementing applications on them. Joining Matt Raible in delivering this session will be members of the Online Video Team at Time Warner Cable, the second largest cable provider in the US.

Evolving Enterprise Code with Scala & Wicket

If Java based Web frameworks were judged by the enthusiasm of the developers that are using them, Wicket would be the winner hands down. If you ever find yourself stuck on a plane sitting next to a Wicket enthusiast, you’re in for a long lecture on the benefits of POJO based development with a “refeshing lack of XML,” and the effective separation of business logic and markup design.

Of course, the same could be said about the Scala crowd when it comes to passion for their craft. Scala, a new programming language that is not even as old as this century, has become the defacto language of choice when it comes to creating domain specific language for a variety of industries, with cloud computing being at the forefront of its pervasiveness.

But what would happen if you merged the two together? What would happen if you married the functional language Scala, which compiles into bytecode and is completely compatible with any other code that might be running on the JVM, and the highly touted benefits of Wicket, arguable the easiest to use and most elegantly designed Java based Web development language on the market.

Everyone is excited about Scala’s ability to have merged object orientation with functional programming. Shouldn’t you be leveraging Scala in your environment too? And if you could take advantage of the benefits of Wicket at the same time, you’d be looking at a win-win situation.

From Scala to Ruby, Wicket to GWT, the Java the platform is on fire. Join Craig as he shows you how to leverage the Functional Programming style of Scala with the Component-Based features of the Apache Wicket Web framework, and you’ll be able to breathe a whole new life into your Enterprise systems; and we’ll teach you how slide it under the radar so it doesn’t ruffle your boss's feathers.

Extending VisualVM with JavaFX

VisualVM is an open source NetBean's platform application whose purpose is to support the monitoring, management and profiling of Java runtimes. JavaFX is a rich client platform for building cross-device applications and content.

In this talk, Java performance tuning expert Kirk Pepperdine and Agile methodologies Stephen Chin explore how to customize VisualVM to have it monitor and manage your application. With JavaFX, there is the promise of being able to more easily build richer user interfaces. In the second half of this talk, Kirk and Stephen demonstrate how JavaFX can be integrated into VisualVM creating a richer UI experience.

How Mega-Corp Open Sourced its Internal Software & Leveraged a Volunteer Community (And How Your Corporation Can Too!!!)

Martijn Verburg, Consultant & Community Leader for Java and Open Source software

Have you ever wanted to take your application development project, open source it, and leverage the talents and enthusiasm of an active, volunteer, open source community? The model of open source software development has now entered the mainstream and its business, technical, financial and social benefits have become increasingly appealing for traditionally more conservative organizations. In particular, many organizations are looking at open source from a cost saving perspective in today's difficult economic climate.

Attend and benefit from the first-hand insights of one of today’s top consultants and community leaders for Java and open source software, Martijn Verburg, tells you exactly how to run a long lasting and vibrant open source project. Project managers, application architects and developers alike discover how to:

Tap into the key benefits of open sourcing an internal project, application or framework

How to set up your technical infrastructure for open source collaboration

Java EE 6 Patterns and Best Practices: What I Learned in the Field

Would you believe it if someone told you that Java EE 6 was far and away the most lightweight, enterprise development framework available to the server-side developer today?

Java EE 6 has changed the game. Bottom-up approaches supersede the in J2EE so popular top-down style created patterns and best practices. The ubiquitous principle of “Convention over Configuration” and flexible Dependency Injection make the rethinking of already established best-practices necessary.

Throw away your DAOs, DTOs, ServiceLocators and Business Delegates, because those J2EE patterns are now redundant patterns. Toss away your XML, rip up your publish and subscribe JMS system, and don't even think about writing an object assembler.

But how do you fill the void left by the abolition of these J2EE stalwarts? Well, you start by attending Java Champion Adam Bien's TSSJS 2011 session on how to apply the most modern enterprise design patterns. Take advantage of Adam's real world experience and find out how fast and lightweight your enterprise applications really can be.

This session covers the approach for building lean, but still maintainable and scalable applications with nothing but plain Java EE 6 technologies. In this session, Adam Bien will:

Demonstrate how fast, simple, small and lean your Java EE 6 applications can be

Show you how to overcome the limitations of the CDI specification

Create effective boundary classes with EJB 3.1 aspects

Replace DAOs with CDI managed control beans

Use rich domain objects to represent your entity objects

Warning: most of the J2EE Patterns and some GoF patterns are eliminated during the session. Java EE 6 has never been so lightweight and effective.

Java Performance Tuning: Embrace the Whole Platform

In a regrettable way, the JVM does to many performance-minded developers what the LWP does to many sys admins. It divides the total system landscape into two zones, a sunny land in which the developer can find performance wins in peace and safety, and a dark, alien terrain only sullen operators dare to roam.

Java's platform portability is one of its essential strengths. To achieve significant performance gains, however, understanding the platform's supports is critical. Drawing from experience on both sides of the JVM divide, Michael Ernest will demonstrate a full-stack approach to monitoring a Java application, isolating performance bottlenecks, and mitigating or removing them. This talk refers to several tools, including some in the JDK, the Solaris operating system (a Unix variant), and utilities like BTrace and DTrace that bridge the gap in their own way.

Ernest will discuss some recent consulting engagements, helping clients achieve modest (10%) and absurd (3600%) performance wins using both modest and absurd approaches. He will also explain how to estimate performance gains with a minimal investment of time and money.

Lightweight Application Development with Java EE 6

Java Champion Adam Bien, the author of Real World Java EE Patterns, will be throwing away the slide-deck as he demonstrates, from the ground up, just how easy it is to create a simple, light-weight and easy to develop Java EE 6 application from scratch.

You don't believe the hype about Java EE 6 being lightweight and easy to use? You still haven't forgiven enterprise Java for the mistakes of J2EE? If you've left the enterprise Java standard for another framework, take just forty-five minutes out of your day to attend this interactive demonstration, and undoubtedly, Java EE 6 will win you back.

Watch and participate as Adam develops a Java EE 6 application with a JSF 2.0 UI running over EJB 3.1, using REST, asynchronous processing, CDI and JPA 2; and all of this with unit tests included, all within an hour. And it's all done from scratch, without wizards, templates or code generation. This is rarely possible with any other platform, but it's “business as usual” in Java EE 6.

This session shows new Java EE 6 features in a continuous demo style. Attendees questions will be answered with working code.

Performance Tuning with Cheap Drink and Poor Tools (Part Deux)

After a brief introduction to a methodology to performance tune Java applications, the audience will guide Kirk through the steps needed to tune an application. The application models a number of performance problems that are common in real world applications. During the session, Kirk introduces a number of tools designed to expose causal code paths to each specific problem.

Without a doubt, the path to obtaining the Certified Architect designation from Sun Microsystems was the most rigorous and challenging certification
they offered. Things will change under Oracle's watch, for both technical and administrative reasons. In this session, Michael Ernest will offer some insights into those changes. As a contributor to Oracle's soon-to-be-released course update on the Architect exam, Ernest will review what's required of a candidate, how to assess one's readiness and what to expect of the process.

Ernest has taught more train-the-trainer sessions than he cares to remember. He draws from broad industry experience, including banking, manufacturing, managed and professional services, and IT management; and technology experience, including programming, systems administration, enterprise integration design, and implementation architecture.

Here's what you'll get in this fast-paced hour:

Deciphering the testing process for architect certification

Preparing for part one, the knowledge exam

Applying proper technique to the UML and modeling exam

How to defend the architecture you propose in the essay portion

A Quick Tour of the CDI Landscape

The Context and Dependency Injection for Java EE (CDI) API is a key part of Java EE 6. Sure, it's new, but a lively ecosystem of implementations and plug-ins has already begun to develop around it. And what better way to understand it all than to have one of today’s top independent consultants specializing in Java EE – with a focus on the Resin EJB 3.1 Lite/Java EE 6 Web Profile implementation – explain it for you. That’s why we tapped Reza Rahman, author of EJB 3 in Action and member of the Java EE 6 and EJB 3.1 expert groups, to give you an enlightening tour of the most important and exciting parts of the CDI landscape.

What’s New on the Persistence Side: Getting to Know JPA 2.0

JPA 1.0 left many voids that needed to be filled. Thus the popularity ORM models like Hibernate and TopLink. However, JPA 2.0 is much more mature and no one knows how to guide you through exactly how JPA 2.0 makes object-relational mapping much easier and effective than Cameron McKenzie, The ServerSide.com’s very own editor and author of five best selling Java books including What is WebSphere?, the SCJA Certification Guide, JSR168 Portlet Programming, and the ever popular Hibernate Made Easy. The Java Persistence API (JPA) 2.0 is here, and it is taking data persistence to a new level.

This comprehensive session reveals how to:

Leverage the Hibernate criteria API and remove needless SQL/HQL from their applications