Java

These are the sessions tagged with Java at Øredev 2012:

Tuesday

8.30-16.30

A practical introduction to Java EE 6

During this workshop you will get a complete overview of Java EE 6. You will learn to develop web applications and RESTful web services using CDI, JSF, EJB, JAX-RS and JPA. We will add integration tests to the code using Arquillian. We will also discuss some architectural patterns and setup a project that can be build on a CI server. During the workshop we will mix theory and hands-on, you will write a complete application yourself.

Tags: Back end Hands on Java

A practical introduction to Java EE 6Paul Bakker

Paul Bakker is an architect for Luminis Technologies. Paul is contributor on several open source projects; for the past year most notably JBoss Forge. He also works on Amdatu, Apache ACE and has contributed to BndTools and several other JBoss projects. He has a background as trainer where he was teaching Java related courses and is still a regular conference speaker on conferences such as Devoxx, JavaOne, JFokus, JBoss World, JUDCon and JFall.

8.30-16.30

Mastering Continuous Integration with Jenkins

Students will come away from this workshop with a solid understanding of how to implement a Continuous Integration environment in their organization. They will be able to set up a working instance of Jenkins server, complete with automated builds, tests, code quality audits and reports, and automatic deployment to an integration server. They will also be able to integrate Jenkins with other tools in the development environment, such as issue tracking systems and source code browsers.

Tags: Hands on Hard Core Java Team Tools .NET

Mastering Continuous Integration with JenkinsKohsuke Kawaguchi

I’m Kohsuke Kawaguchi. I’m a software engineer who enjoys writing code and solving problems. I have been working on a large number of open-source projects. I am probably best known as the creator of Jenkins, a continuous integration server. My projects span many different areas of the technology, but my main interest is around developer tools, XML, and web services in Java.

13.30-16.30

Rediscovering Modularity with Restructure101

The principles of modularity are applied routinely in the development of classes, but not to the organization of the classes themselves. This is unscalable; inevitably it will extract a big tax on development dollars as the team starts to drown in an ever-expanding sea of classes. This tutorial gives concrete strategies for constructing a hierarchical, levelized, modular structure for an existing code-base, with minimal impact on working code. Many pattern-action-result examples are given.

Tags: Architecture Java Tools .NET

Rediscovering Modularity with Restructure101Chris Chedgey

He has an MSc. in Computer Science from Trinity College Dublin. He has 28 years of experience in commercial software development, notably on large military and aerospace projects in Canada, including 5 years on the International Space Station project. Co-founder of Headway Software and designer of the JOLT winners Structure101 and Restructure101, he has 2 lovely daughters in college and lives on the south-east coast of Ireland.

Wednesday

10.00-10.50

To Java SE 8 and Beyond

This session will briefly look at how Java changed in Java SE 7 and then look at the features that are scheduled for inclusion in Java SE 8, notably Lambda expressions and application/platform modularity. We'll also look at some of the ideas being considered for future release of Java SE, with planning already going out as far as Java SE 12.

Tags: Java

To Java SE 8 and BeyondDalibor Topic

Dalibor Topic lives in Hamburg, Germany, and works as Principal Product Manager for Oracle. He joined the OpenJDK project in order to help make it a successful open source project, and stayed for anchoring Java in Linux distributions, and as an all around Java F/OSS community guy. He joined the Java strategy team at Oracle to help provide community feedback into the long-term strategy planning.

11.10-12.00

Up up and Out: Scaling software with Akka 2

Akka is a unified runtime and programming model for scaling both UP (utilizing multi-core processors) and OUT (utilizing the grid/cloud). With Akka 2 this will be taken to a whole new level with its “Distributed by Design”. Akka 2 provides location transparency by abstracting away both these tangents of scalability by turning them into an operations and configuration task. In this talk you will learn what Akka is and how it can be used to solve hard scalability problems. http://akka.io

Tags: Back end Emerging languages Java

Up up and Out: Scaling software with Akka 2Henrik Engström

Henrik has worked as a professional software developer since 1998. During these years his main focus has been on highly transactional systems within the finance, retail and e-gambling industries. He is currently based in Sweden and works in the Akka team at Typesafe.

13.00-13.50

Java Web Security By Example

Learn how to exploit common security vulnerabilities. Issues like XSS, CSRF and SQL Injection, will be mentioned, and live demos will show how hackers exploit these defects using freely available tools. You'll see hack of a real world open source application and explore bugs in commonly used open source frameworks. We also look at the source code and see how to fix these issues using secure coding principles. We will also discuss best practices that can be used to build security into your SDLC.

Tags: Hands on Java Mastery

Java Web Security By ExampleFrank Kim

Frank Kim is the founder and principal consultant with ThinkSec as well as the curriculum lead for application security at the SANS Institute. Frank focuses on security strategy and application security program development with a special interest in integrating security into the SDLC. Frank is the author of the SANS Institute's Secure Coding in Java course. He has spoken internationally at events like JavaOne, Devoxx, Jazoon, and UberConf and was recently named a JavaOne Rock Star.

13.00-13.50

Effective Scala

Everything you always wanted to know about Scala but were afraid to ask.
If you want to be able to optimize your use of the Scala programming language to solve real world problems without explosions, broken thumbs or bullet wounds then this is the session for you.
During the presentation there will be a lot of do's and don't's in order to guide you into how to become a better Scala developer. The target audience is intermediate to advanced Scala developers.

Tags: Emerging languages Java

Effective ScalaHenrik Engström

Henrik has worked as a professional software developer since 1998. During these years his main focus has been on highly transactional systems within the finance, retail and e-gambling industries. He is currently based in Sweden and works in the Akka team at Typesafe.

14.10-15.00

Kotlin: Making the Java Platform a Better Place

Kotlin is a modern statically typed general-purpose language designed to be safe, concise, expressive and 100% Java-compatible. It is compiled to Java byte code as well as JavaScript, so it can run on both client- and server-side.

This session gives an overview of the key features of Kotlin and demonstrates how the new language integrates into the existing infrastructure. On top of that we show how one can make Java APIs better using Kotlin, without having to alter them in any way.

Tags: Emerging languages Java

Kotlin: Making the Java Platform a Better PlaceHadi Hariri

Hadi Hariri is a developer, speaker and Technical Evangelist at JetBrains. His passions include software architecture and web development. Book author and frequent contributor to developer publications, Hadi has been speaking at industry events for over a decade. He is based in Spain where he lives with his wife and three sons. He is also an ASP.NET MVP and ASP.NET Insider.

14.10-15.00

Play Framework 2

This presentation introduces the key innovations that Play 2 brings to web application development in Java and Scala.

Tags: Emerging languages Java Web

Play Framework 2Peter Hilton

Peter Hilton is a senior solution architect and Operations Director at Lunatech Research. Peter works on web application architecture, design and construction, with technical project management. His interests include Java web application frameworks, agile software development process and practices, and web-based collaboration. Peter is a committer on the Play framework open-source project and co-author of ‘Play for Scala’.

14.10-15.00

The Art of Metaprogramming in Java

Metaprogramming is the dirty little secret behind the success of many Java frameworks such as Spring and Struts2, and forms the backbone of many of the most fundamental APIs across the JEE technology stack. This session aims to introduce the topic and highlight, with code examples, the different mechanisms and techniques to take advantage of this underused feature of the Java Programming Language. This session will adopt a learn-by-example approach that combines the theory with concrete code.

Tags: Fun Hands on Java

The Art of Metaprogramming in JavaAbdelmonaim Remani

A software developer and technology enthusiast at heart and by profession. Particularly interested in technology evangelism and enterprise software development and architecture. Experienced in Java Enterprise Applications and a wide range of related technologies. President and Founder of a number of organizations namely The NorCal Java User Group, The Silicon Valley Dart Meetup, and The Silicon Valley Spring User Group. Abdel is a frequent speaker at a number of developer conferences including JavaOne, JAX Conf, and OsCon, and many user groups and community events.

15.40-16.30

Advanced Continuous Integration Techniques with Jenkins

In this talk, we'll look at several continuous integration techniques you can use to get more value out of your Jenkins installation. The topic will cover the "validated merge" feature to make your builds unbreakable, the "fingerprinting" feature to build audit trail of your artifacts, and the "pipeline" feature to better visualize how your changes are verified by Jenkins, and so on.

Tags: Hard Core Java Rebel Team Tools

Advanced Continuous Integration Techniques with JenkinsKohsuke Kawaguchi

I’m Kohsuke Kawaguchi. I’m a software engineer who enjoys writing code and solving problems. I have been working on a large number of open-source projects. I am probably best known as the creator of Jenkins, a continuous integration server. My projects span many different areas of the technology, but my main interest is around developer tools, XML, and web services in Java.

16.45-17.35

Git on Android: Spreading Rebellion

A distributed version control system lets projects spread like fire in dry grass- and if the aim is to make the flame spread, it should be able to reach even the device resting in your pocket. Developing a Git client for Android threw up a bunch of interesting challenges; from low-level bug-hunting in the source of Android to unusual UI tricks. This talk describes those challenges, the curious bugs found, and the resulting Grand Tour of open-source projects; patching Android and even Git itself.

Tags: Java Mobile Tools UX

Git on Android: Spreading RebellionRoberto Tyley

Roberto Tyley is the author of Agit (the Git client for Android devices), a software developer at The Guardian, and contributor to various open-source projects. He's worked at GitHub, 'invented' animated diffs, and loves explaining things.

16.45-17.35

JDK 7 Updates: Director's Cut

In this talk you'll learn how the JDK 7 Updates Project in OpenJDK works, and how to work within it, how to track changes, get your fixes in, and follow along as new features like the Mac OS X Port get integrated into JDK 7 update releases.

Tags: Java

JDK 7 Updates: Director's CutDalibor Topic

Dalibor Topic lives in Hamburg, Germany, and works as Principal Product Manager for Oracle. He joined the OpenJDK project in order to help make it a successful open source project, and stayed for anchoring Java in Linux distributions, and as an all around Java F/OSS community guy. He joined the Java strategy team at Oracle to help provide community feedback into the long-term strategy planning.

Thursday

10.00-10.50

Modern enterprise application configuration with Spring

The Spring family projects have long been important tools in the enterprise Java developer's toolkit. Often though, Spring is characterized as being too dependent on XML. This session will take a deep look at how Java applications can be configured entirely in code, eliminating Spring-, JPA- and even Servlet-related XML. We'll also look beyond the core Spring Framework and explore how higher-level Spring projects like Spring Data and Spring Integration take advantage of code based configuration.

Tags: Back end Java

Modern enterprise application configuration with SpringChris Beams

Chris Beams is a senior technical staff member at VMware and a core Spring Framework committer. His work in enterprise application development began in 1998 and has covered a wide range of technologies, languages and frameworks. Prior to becoming a full-time Spring committer, Chris trained hundreds of students on the topics of enterprise architecture and how best to use the Spring family of projects. He is a frequent speaker at conferences around the world and is @cbeams at Twitter and GitHub.

13.00-13.50

Maven vs Gradle, On your marks, get set, go!

Ant, Maven, Gradle, Buildr - the choice of built systems for Java based systems is manifold and only discussions about coding styles are getting more heated than discussion on which built system is superior. In this talk we are looking at two built system - the well established veteran Maven against the Groovy based newcomer Gradle. Where are the similarities between these two built systems and what differentiates them? Why and when would you chose one over the other?

Tags: Architecture Hands on Hard Core Java Team

Maven vs Gradle, On your marks, get set, go!Hardy Ferentschik

Hardy Ferentschik is Senior Developer at JBoss and member of the Hibernate development team. He is the project lead of Hibernate Validator and core developer for Hibernate ORM and Search. He also is part of the JSR 303 (Bean Validation) expert group. Hardy is a frequent speaker at JUGs and leading software development conferences like JAOO or JFokus.

15.40-16.30

Polyglot Programming in the JVM

The JVM boasts one of the biggest software ecosystems: you will find libraries, components and servers of all sizes, types, colors and flavors; which have made it the choice language for many. However the JVM is open enough to let other languages live in it, these languages provide new features and concepts that the Java language does not have. On this session we'll discover the benefits of adding a bit of spice to your Java development skills by exploring Groovy, Scala and Clojure.

Tags: Emerging languages Hands on Java

Polyglot Programming in the JVMAndres Almiray

Andres is a Java/Groovy developer and Java Champion, with more than 12 years of experience in software design and development. He has been involved in web and desktop application developments since the early days of Java. He is a true believer of open source and has participated in popular projects like Groovy, Griffon, JMatter and DbUnit, as well as starting his own projects (Json-lib, EZMorph, GraphicsBuilder, JideBuilder). Founding member and current project lead of the Griffon framework.

16.45-17.35

Eclipse 4 Internals

Eclipse 4 has reinvented itself by redefining its internal API and its capabilities. Join this session to learn about the new API of Eclipse 4.

This talk will provide the audience a close look at the internals of the Eclipse -Application-Framework including:
* The workbench model
* Declarative Styling through CSS
* Dependency injection
* The renderer framework

Developers can use the new Eclipse 4 API to create modern standalone Applications based on the Eclipse framework.

Tags: Hands on Java Tools

Eclipse 4 InternalsLars Vogel

Lars works as an independent Android and Eclipse trainer, consultant and book author. With more then one million visitors per month Lars website vogella.com is an important source for Android and Eclipse related programming topics. He is a regular speaker at international conferences, as for example Devoxx, EclipseCon, O'Reilly Android Open, MobilTechCon and Droidcon. Lars received 2010 the Eclipse Top Contributor Award and 2012 the Eclipse Top Newcomer Evangelist.

Friday

10.00-10.50

How RESTful Is Your REST?

The rise of Mobile and the diversity its technologies make exposing a RESTfull API the most crucial capability of any application and the key to its success. In the absence of widely adopted best practices and well-defined conventions, designing such an API is nothing but trivial. This presentation introduces the fundamentals of REST architecture, and discusses the principles of RESTfull design.

Tags: Architecture Back end Java

How RESTful Is Your REST?Abdelmonaim Remani

A software developer and technology enthusiast at heart and by profession. Particularly interested in technology evangelism and enterprise software development and architecture. Experienced in Java Enterprise Applications and a wide range of related technologies. President and Founder of a number of organizations namely The NorCal Java User Group, The Silicon Valley Dart Meetup, and The Silicon Valley Spring User Group. Abdel is a frequent speaker at a number of developer conferences including JavaOne, JAX Conf, and OsCon, and many user groups and community events.

11.10-12.00

Retrofitting a software architecture to an existing code-base

We can do without architecture early on, but at some point a clearly communicated architecture offers big productivity benefits to developers who otherwise drown in the expanding implementation-level detail. When you realize you are heading for a Big Ball of Mud, you have 3 choices – start over, suffer on, or knock your codebase into shape. This talk outlines principles, options and examples using Structure101 to get the best return for the cost and intellectual effort invested in a codebase.

Tags: Architecture Java Tools .NET

Retrofitting a software architecture to an existing code-baseChris Chedgey

He has an MSc. in Computer Science from Trinity College Dublin. He has 28 years of experience in commercial software development, notably on large military and aerospace projects in Canada, including 5 years on the International Space Station project. Co-founder of Headway Software and designer of the JOLT winners Structure101 and Restructure101, he has 2 lovely daughters in college and lives on the south-east coast of Ireland.

11.10-12.00

Lambdas in Java SE 8 or co-evolving libraries, the language and the VM

Lambdas is going to be the biggest new feature in Java SE 8. This presentation will show you the need for lambdas, the feature in itself, and also how adding lambdas to Java makes makes it necessary to solve the problem of library evolution. Also you get to see how lambda expressions, type inference, default methods and library improvements makes parallelism much easier to express.

Tags: Hard Core Java

Lambdas in Java SE 8 or co-evolving libraries, the language and the VMJoel Borggrén-Franck

Joel works in the Langtools team at Oracle Java Platform Group. He is currently working on the Java compiler in general and new annotation features in particular. Coming from the JRockit Sustaining Engineering organisation he sometimes misses debugging crashed VMs by looking at assembler in hex in GDB. During nighttime he hacks on toy virtual machines for dynamically typed languages.

13.00-13.50

A practical overview of Java EE 6

In this session you will see the programming model introduced with Java EE 6. We will give plenty of code examples; the talk is about giving the attendee an impression of the APIs in Java EE 6, and how those APIs are used together. We will show CDI (dependency injection), JPA, JAX-RS, EJB and JSF. Come to see this talk if you didn't work with Java EE 6 yet, and want to know what's new.

Tags: Back end Hands on Java

A practical overview of Java EE 6Paul Bakker

Paul Bakker is an architect for Luminis Technologies. Paul is contributor on several open source projects; for the past year most notably JBoss Forge. He also works on Amdatu, Apache ACE and has contributed to BndTools and several other JBoss projects. He has a background as trainer where he was teaching Java related courses and is still a regular conference speaker on conferences such as Devoxx, JavaOne, JFokus, JBoss World, JUDCon and JFall.

14.10-15.00

Nashorn: Optimizing JavaScript and dynamic language execution on the JVM

There are many implementations of JavaScript, meant to run either on the JVM or standalone as native code. Both approaches have their respective pros and cons. The soon-to-be open sourced Oracle Nashorn JavaScript project is based on the former approach. This presentation goes through the performance work that has gone on in Oracle’s Nashorn JavaScript project to date in order to make JavaScript-to-bytecode generation for execution on the JVM feasible.

Tags: Java Javascript

Nashorn: Optimizing JavaScript and dynamic language execution on the JVMMarcus Lagergren

Marcus Lagergren has an MSc in computer science from the Royal Institute of Technology in Stockholm, Sweden. Lagergren has a background in computer security but has worked with runtimes since 1999. He was one of the founding members of Appeal Virtual Machines, the company that developed the JRockit JVM, which was bought by BEA Systems in 2002. Lagergren has been team lead and architect for the JRockit code generators and has been involved in most other aspects of JVMs over the years.

14.10-15.00

REST assured - Hypermedia APIs with Spring MVC

Spring MVC forms a solid foundation to implement REST based web-services in Java. However, in real-world projects developers still face challenges when it comes to advanced questions of REST. How to really leverage hypermedia? How to model more complex business functionality with REST. The talk discusses approaches to these chellanges developed during customer engagemants and introduces the Spring HATEOAS library.

Tags: Back end Java Web

REST assured - Hypermedia APIs with Spring MVCOliver Gierke

Oliver Gierke is engineer at SpringSource, a division of VMware, project lead of the Spring Data JPA, MongoDB and core module and member of the JPA 2.1 expert group. He has been into developing enterprise applications and open source projects for over 6 years now. His working focus is centered around software architecture, Spring and persistence technologies. He is regularly speaking at German and international conferences as well as author of technology articles.