Language
The Language track uncovers emerging features of the Java language and provides in-depth expert recommendations on the use of Java and complementary languages in daily practice. We discuss new Java standards such as JavaFX and EJB 3.1, emerging technologies, and the use of languages such as Groovy, Scala and JRuby to expand your skill-set and think more broadly in addressing application development challenges of the future.
Language sessions confirmed:
- A Practical Guide to DSLs for the Java Developer
- A Quick Tour of Contexts and Dependency Injection for Java EE
- Java EE 6 Overview
- Testing Scripts and DSLs: A Practical Use of JSR-223
- The Busy Java Developer's Guide to Scala: Patterns
Others you might be interested in:
- Getting Started with Scala and GridGain
- Rich Enterprise Applications with JavaFX
- Running Java and Grails Applications on the Amazon Elastic Compute Cloud (EC2)
- Testing Scripts and DSLs: A Practical Use of JSR-223
A Practical Guide to DSLs for the Java Developer
Jesus Rodriguez, Chief Architect, Tellago, Inc.
In this session, Jesus Rodriguez leverages his years of architecture experience to provide a practical guide for Java developers who would like to implement Domain Specific Languages (DSLs) to solve domain-specific problems.
DSLs are an emerging technique in modern programming paradigms. Typically, DSLs are simple languages that abstract the constructs of a specific area of knowledge so that they can be used by domain experts. Given the popularity of Java as a programming language, some of the top DSL frameworks in the market are based on JVM-hosted languages which make them naturally accessible from Java applications.
This guide to DSLs covers:
- The various programming technologies available for the implementation of DSLs including JRuby, Groovy and other scripting frameworks;
- How to use DSLs to extend the capabilities of traditional Java applications;
- A series of demonstrations that explore some of the most popular techniques for the implementation and use of DSLs in JVM-based languages;
- And more.
A Quick Tour of Contexts and Dependency Injection for Java EE
Reza Rahman, Author, EJB 3 in Action; Member, Java EE 6 and EJB 3.1 expert groups
This session is a hands-on tour of Contexts and Dependency Injection for Java EE6 (JSR-299), arguably the most significant API in the Java EE 6 revision including standards-based, powerful, next generation generic dependency injection features for the platform.
Reza Rahman - a key member of the Java EE6 expert group - provides demonstrations of new language features such as injection, automatic context management, scoping, qualifiers, naming, producers, disposers, registry/lookup, stereotypes, interceptors, decorators and events. He discusses the relationship between this critical Java EE 6 API with the rest of the platform, covering generic dependency injection services and Dependency Injection for Java (JSR-330), managed beans, EJB 3.1, JSF 2 and JPA 2. The major features of the API are demonstrated in step-by-step running code using CanDI, Resin’s independent JSR-299 implementation.
This session gives a comprehensive review of:
- The major features in Contexts and Dependency Injection for Java EE, including injection, automatic context management, scoping, qualifiers, naming, producers, disposers, registry/lookup, stereotypes, interceptors, decorators and events;
- How Contexts and Dependency injection relate to the rest of the Java EE 6 platform;
- Demo code that can be used to bootstrap a Java EE 6 project;
- And much more.
Java EE 6 Overview
Reza Rahman, Author, EJB 3 in Action; Member, Java EE 6 and EJB 3.1 expert groups
Java EE 6 drops a handful of outdated APIs, breaks up the monolithic platform into profiles and adds generic dependency injection. In this session, Java EE 6 expert Reza Rahman explores all of these changes from a high level and then dives into each of the APIs with code examples. He discusses some of the most important APIs included Java EE 6, such as:
- Managed beans;
- Dependency Injection for Java (JSR 330);
- Contexts and Dependency Injection for Java EE (JSR 299);
- EJB 3.1;
- JSF 2.0;
- JPA 2.0;
- JAX-RS;
- Servlet 3.0;
- Bean Validation API (JSR 303).
Testing Scripts and DSLs: A Practical Use of JSR-223
William Martinez Pomares, R&D Manager and Architect, Avantica Technologies
Everybody talks about DSLs, scripting languages and how easy they are to use, in particular for unit testing. Managing testing scripts and DSLs is important, but making it work as a whole is even more important. Based on his years of experience, William Martinez Pomares shares solutions and complications when working with the JSR-223 spec to provide a multi-user, load testing solution that reuses loose scripts, and how you can use the JSR-223 spec to create a DSL for testing.
JSR-223 is the spec that brought scripting languages to the JVM. The ability to execute managed scripts in popular languages like Python or Ruby in the JVM, along with other Java modules, may not seem exciting for Python, Ruby or Java core developers. But now, architects and system designers that need to deal with several code snippets have a way to coordinate them all with JSR-223.
Gain essential advice focused on:
- How to use the JSR-223 implementation to reuse loose script snippets in a collaboration suite;
- How JSR-223 works to allow 2 or more languages to communicate in the JVM;
- What it takes to create a DSL with JSR-223;
- Cases when reuse is not possible;
- And more.
The Busy Developer's Guide to Scala: Patterns
Ted Neward, Author, Effective Enterprise Java and more
Language expert Ted Neward examines how Object Oriented community's favorite designs patterns -- from the Gang-of-Four book and others -- are applicable to Scala, including those patterns that work well there, those that don't, and a few new ones that wouldn't work well anywhere but in Scala.
Scala is a new programming language incorporating the most important concepts of object-oriented and functional languages and running on top of the Java Virtual Machine as standard "dot-class" files. Sporting the usual object-oriented concepts as classes and inheritance, Scala also offers a number of powerful functional features, such as algebraic data types, immutable objects by default, pattern matching, closures, anonymous functions and currying, and more. Combined with some deep support for XML generation and consumption, Scala offers Java programmers an opportunity to write powerful programs with concise syntax for a new decade of Java programming.
$100 off in Early-Bird Savings
Sign up by Friday, February 12 to save $100 off your registration for TheServerSide Java Symposium!
Teams of 5+ can save an additional $1500 in group rebates.
Book Your Hotel Stay
Attendees receive a discount on hotel rooms at Caesars Palace. Book your stay before February 15 to save! Visit the Hotel & Travel page for details.