(The Parleys.com RSS presentation feed for channel 'Devoxx'08') |
|---|
|
Modularity in Java using OSGi
The key reason is that today software is more and more build of components that come from many different sources. The success of open source has caused a tremendous change in how we develop software today. However, it turns out in practice that our current software infrastructure has a hard time handling the complexity caused by building systems out of many large components that were not always intended to work together, have their own evolution trajectory, and have often overlapping functionality. Though Java has done a tremendous job of providing a solid platform, it sorely lacks modularity. The only way to manage the complexity of today's system is to ensure that all parts are encapsulated, properly versioned, and share a common collaboration mechanism. This is exactly the area that OSGi has been focusing on for the past decade. Originally starting as a standard for home gateways it has grown in a small, concise layer on top of Java providing strong modularity to Java components. |
|
Lap Around Silverlight 2 and its Dynamic Language Runtime
The technology supports multiple browsers on different platforms. After getting an overview of the technology, you'll learn more about using Silverlight 2's Dynamic Language Runtime (DLR) with IronRuby. The DLR enables dynamic languages to interoperate with .NET's rich libraries and with each other. To end, a partner will share their experiences of rebuilding a full working application in Silverlight 2. |
|
Comet: Never More! UNI 08 Part I
Part 1 The Web Undone: Creating a full-duplex Web application Be Prepared! The first part of this university session will provide an in-depth look into the use of HTML 5's WebSocket and Server-Sent Events (SSE), and the techniques and technologies required to build Comet-style applications supporting WebSockets. Attendees will also learn how WebSocket can be used to deliver information from a set of TCP-based backend services, such as Apache ActiveMQ and Jabber to a variety of clients (e.g. Java, Silverlight, and Flash) other than JavaScript. The speakers will also discuss how to develop a client-side JavaScript implementation of a server-side protocol. A protocol that then will be used to build a simple WebSocket application that showcases various uses of bi-directional communications. In addition to teaching the underpinnings of WebSockets, speakers will also discuss trade-offs between developing Web applications with HTML 5 WebSockets & SSE standards and current Comet techniques |
|
PHP on Java: An introduction and update to Caucho's Quercus
In this talk, we will present the compelling reasons to use PHP on Java including availability of applications, ease of view development, and performance improvements of up to 89% over PHP with APC. We will show specific use cases of Quercus such as using popular PHP applications like MediaWiki, WordPress, and Drupal directly, bridging existing Java and PHP applications, and using PHP as a view technology for Java. We will also show the unique capabilities of the Quercus implementation such as transparent clustered sessions, the use of Java objects natively from PHP, and even interactive game development in PHP. Finally, we will look at case studies of real Quercus deployments such as LiveProcess, the leader in emergency preparedness' planning for the healthcare industry, and others to see how these applications take advantage of PHP on Java. |
|
Portal Technology Update 101 - Portlet Standards 2.0
Java Portlet Specification 2.0 (JSR 286) and WSRP 2.0 - have recently been finalized and bring new features like portlet coordination, in context resource serving, support for Ajax use cases and many more. This session will focus on the new features and capabilities both standards provide. This session provides an overview of design points and use cases that guided the work in the technology teams defining the new revisions of these standards and the resulting concepts. Theoretical discussions in this session are complemented with live demonstrations of features provided by these new standards in Webphere Portal 6.1. The Java Portlet specification describes a standardized interface to allow easy integration of application components into portals. The OASIS standard Web Services for Remote Portlets (WSRP) enables composing user interfaces using not only locally deployed portlets, but also ones running on remote servers, including other non-J2EE platforms. |
|
Scrum in Practice - UNI Part I
The outer loop is the release loop, which interacts with the outer world, and which will let a predefined amount of requirements come in and working quality software pop out of the team regularly. The middle loop is the team loop, which handles day to day team activities. The inner loop is the coding loop, where two programmers, sitting side by side, produce a unit of tested code. Extreme Programming is a methodology that is very simply to explain. Through the focus on the details, a bigger picture will emerge, where you will be able to see the principles and the values. Each of the practices of Extreme Programming will be discussed briefly. Long enough to give you a good global overview, but only just long enough to leave you with a lot of questions. |
|
JavaFX: Building & Deploying JavaFX Applications
A key part of JavaFX is the ability to deploy applications in the browser, out of the browser, and on mobile devices. Built upon the innovations in the recently released Java 6 Update 10, JavaFX provides innovative features and a robust in-browser experience. Attend this session to get a practical ground view look of how to develop and deploy JavaFX applications for the desktop, web, and mobile environments. |
|
Project Fuji - taking OpenESB to the next level
It will also illustrate that whilst many developers may not think of what they're doing as integration - for example leveraging and mashing up RSS feeds, web services, data bases, sending instant messages - the capabilities of light weight, pragmatic SOA and integration platform can simplify these tasks. The pluggable and loosely coupled approach also enables inherent scalability without explicit coding. By eliminating unnecessary bolier plate code and giving the developer the choice of what languages and technologies to use they can focus on being productive in solving their business problems rather than fighting artificial restrictions of the framework. Another key goal is that of small footprint and modularity, to size to fit the runtime. This means the runtime environment should only include the capabilities needed by the application. To achieve this Fuji uses OSGi, a module framework for Java. The framework and every component, interceptor and application is an OSGi bundle to |
|
Kitesurfing: improving the experience using open source geospatial software
During this talk you will be guided through the world of open source geospatial software, covering techniques such as * how to deal with map projections and OGC standards * how to collect and combine free data to create an information-rich application * how to benefit from popular open source geospatial software projects This will give you a head start in developing your own geospatial web application, as demonstrated by the following case: Improving the kitesurfing experience and safety. |
|
How Do We Test This Stuff?
Frank Cohen, the leading authority on testing Ajax and SOA applications, will show you how to apply his PushToTest methodology to find and solve scalability, performance, and reliability issues in Java applications. Frank will show how to apply the methodology using TestGen4Web, Selenium, TestMaker, Glassbox, soapUI, and many other open-source test automation projects to develop better applications. |
|
Connectivity with OpenMQ: Messaging Patterns and technology
OpenMQ and other Open Source Java Message Service (JMS) providers supply products that allow developers to access this technology to solve their real world integration problems. While the concepts of MOM and JMS are simple, understanding how to architect a robust scalable solution that meets the need on an enterprise is far more complex. In this talk, I'll describe the high level concepts of messaging and interfaces available for applications using OpenMQ. Next, I'll outline some common design patterns that can be used to connect applications. Finally, I'll provide high-level guidance on how to design the product to meet availability and scaling requirements based on the patterns used. |
|
Integrating BIRT Reporting into Applications
This session will discuss the reporting requirements you may encounter as you build your reporting solution and how to satisfy them. We will discuss and show several deployment options that range from API integration to integrating BIRT Viewers into web applications. We will discuss data integration, security integration, branding, and integrating with report server products that provide scheduling, AJAX-based BIRT viewers, and a web-based BIRT designer for end users. |
|
Flex Today and Tomorrow - UNI 08 Part II
We'll start with an overview of Flex and the frameworks that make enterprise development with Flex even easier. Next we'll take a detailed look at the Flex component model, an important foundation for building your own UI components. Finally we'll discuss features and changes expected in the next version of Flex (code name Gumbo) and explain how these changes relate to the foundation laid earlier. |
|
Java Performance - UNI talk Part I
In this session we will performance tune an application while providing deeper understanding of the Java technology, a selection of performance tools, and an overview of performance tuning methodology. The session will demonstrate both IBM and Sun tooling technologies. We will demonstrate how to identify problems using thread profiling, heap profiling, GC analysis, and execution profiling. |
|
Seam in Action - UNI 08 Part II
Features of Seam covered include its rapid prototyping abilities, hot redeployment of Java classes, reduction of XML, a unified mechanism for creating, storing, and accessing components (think beans), bidirectional inversion of control (bijection), conversational state management and pageflows, the proper use of Java persistence and the persistence context, a sincere and consistent integration of both Java EE standards and third-party libraries, simplified security as well as advanced authorization based on rules, effortless Ajax provided by RichFaces, ICEfaces and Seam remoting, full-text search, and support for REST-style requests. You learn how Seam makes a wide range of technologies accessible like never before. |
|
Seam in Action Part I - by Dan Allen
Features of Seam covered include its rapid prototyping abilities, hot redeployment of Java classes, reduction of XML, a unified mechanism for creating, storing, and accessing components (think beans), bidirectional inversion of control (bijection), conversational state management and pageflows, the proper use of Java persistence and the persistence context, a sincere and consistent integration of both Java EE standards and third-party libraries, simplified security as well as advanced authorization based on rules, effortless Ajax provided by RichFaces, ICEfaces and Seam remoting, full-text search, and support for REST-style requests. You learn how Seam makes a wide range of technologies accessible like never before. |
|
Java and RFID by IBM
Java and RFID by IBM |
|
Introduction to the SpringSource dm Server
We will begin by demonstrating how to install the dm Server and will then take attendees on a guided tour covering starting the server, deploying applications, diagnostics, the bundle repository, and more. This tour will provide attendees with an insight into the SpringSource dm Server and what it has to offer. They will leave knowing why the dm Server should be of interest to them, and will be armed with the know-how required to start using the SpringSource dm Server quickly and effectively. |
|
High Performance Java
This has led to Java permeating areas normally exclusive to languages like C and C++. This has led to the identification of Java language and runtime architecture features that are challenges for such demanding environments that require low latency or real-time software solutions. In this session we will discuss these challenges as well as demonstrate sample solutions. Key aspects the solutions will focus on will be lightweight software stack, simplicity, and pluggability to enable single server or distributed solutions. We'll pose the question as to whether a high performance persistence API for Java is needed to supplement or even compliment JPA? |
|
Hippo CMS 7 sneak preview
This talk will give you a quick overview of our brand new user interface, along with a handson tour on how to build a major website with Hippo. Here's a sneak preview: * Apache Wicket driven plugin framework * Faceted organization, tagging, flexible content organization, dealing with large amounts of content * JCR support with Apache Jackrabbit (and more!) * Rapid web site development * Knowledge driven workflow * The Hippo Forge community * And an overview of the 2009 roadmap (document management, portlet 2.0 support, enterprise search and much more) |
|
Jazz in Action - Part II
The session will show how jazz technology can support Agile development in every step of your project: Ranging from managing requirements over collaborative development to continuous integrated testing. |
|
XML Persistence
It's fare to say that XML was in it's very earliest stages at the turn of the millennium, it existed but we were still struggling with DTDs. Today it's difficult to imaging an enterprise without some form of XML, most of today's systems, both internal and external send and receive hierarchical messages, usually in XML. Even niche standards like SWIFT are hierarchical in structure. The problem with all this is the impedance mismatch between hierarchical messaging and relational persistence. Object-Relational Matching (ORM) provides a good solution at the simplistic level and solves many problems but is incredibly time consuming and leaves a static binding between the ever-changing message and static relational database as things get more complex. Squeezing hierarchical messages into relational databases with ORM is costly and not maintainable in the long term. This talk explores several ideas for persisting hierarchical data. |
|
Jython in Action - Part II
* Developing web applications in Jython using a Python web framework such as Django, and deploying it in a range of Java application servers. * Available development environments for Jython (and Python in general), what features they provide, and how to use them. * Integration with Java. How to utilize Java libraries from Jython and how to integrate with Jython from Java. * Concurrency in Jython. One of the points where Jython has a major advantage over the standard C implementation of Python. Also one of the most recent focuses of the Jython team, since we have decided to make an effort to make it easier to write concurrent programs in Jython than Java. * Performance figures of Jython, in comparison with the standard C implementation of Python as well as Java. Hopefully including a sneak peek of some performance tuning options available in future versions of Jython with accompanying figures. |
|
Jython in Action - Part I
* Developing web applications in Jython using a Python web framework such as Django, and deploying it in a range of Java application servers. * Available development environments for Jython (and Python in general), what features they provide, and how to use them. * Integration with Java. How to utilize Java libraries from Jython and how to integrate with Jython from Java. * Concurrency in Jython. One of the points where Jython has a major advantage over the standard C implementation of Python. Also one of the most recent focuses of the Jython team, since we have decided to make an effort to make it easier to write concurrent programs in Jython than Java. * Performance figures of Jython, in comparison with the standard C implementation of Python as well as Java. Hopefully including a sneak peek of some performance tuning options available in future versions of Jython with accompanying figures. All of these topics will be covered by a richness in demonstrations and |
|
Jazz in Action - Part I
The session will show how jazz technology can support Agile development in every step of your project: Ranging from managing requirements over collaborative development to continuous integrated testing. |
|
Java Power Tools - PART I
In this session, we will go through the key steps involved in automating a typical Java build process using Maven, Hudson and a large cast of supporting tools such as Checkstyle, FindBugs, and Cobertura. We will use Maven to create a simple web application, comprising of several application layers, and see how Maven helps to manage things such as transitive dependencies, and simplify your life as a developer. Then we will see how to set up Continuous Integration with Hudson, and how to get the best out of the various build metrics and automated code quality and coverage tools. We will also see how Hudson and Maven can work together to make dependencies between modules a non-event. We will also look at how this ties into Subversion, and see how to automate the release process. |
|
Comet: Never More! - Part II
The second half of this university session will cover the server and network architecture that powers a real-time Web application. Specifically, attendees will be introduced to the technologies and requirements required to deliver a performant and scalable bi-directional Web application, but more importantly the pitfalls they may face in the process. The speakers will discuss such considerations as connection limitations, network flooding, client and server-side throttling, security, proxies, firewalls, and horizontal versus vertical scalability. |
|
Servlet 3.0 & JSF 2.0 - Part I
the annotations-support and the support for asynchronous requests) and I will give you an introduction into the new features of JSF 2.0. With added and improved support for AJAX, Templating, Page Declaration Language Components, Resource Handling, Exception Handling, RESTful web-applications, Annotation support and a lot more, this version rocks - I am sure you will like it. |
|
Servlet 3.0 & JSF 2.0 - Part II
In this presentation, I will be showing you the latest developments in the Java web standards space: we will discuss the new features of Servlets 3.0 (the most important ones for you will certainly be the modularization support for web-applications, the annotations-support and the support for asynchronous requests) and I will give you an introduction into the new features of JSF 2.0. With added and improved support for AJAX, Templating, Page Declaration Language Components, Resource Handling, Exception Handling, RESTful web-applications, Annotation support and a lot more, this version rocks - I am sure you will like it. |
|
The Modular Java Platform
The Java programming language provides numerous features to support the construction of large programs, but could do more to reduce JAR hell and simplify application packaging. The majority of this Devoxx keynote will describe how modular programs can address these issues, and how Java language and VM features can be designed to make programs more modular while retaining compatibility with legacy code. In the seond part Mark will also look at possible features for Java SE 7. |
|
The JavaFX SDK
Users are increasingly expecting their content and applications to be available across all the screens of their life. Built upon the Java Platform, JavaFX 1.0 provides the tools, APIs, and features necessary to create dynamic applications for the next generation of internet application innovation. This session starts with an overview of the language, particularly from a Java developers perspective. The session will then dive into the JavaFX scene graph, animation, and media APIs. It ends with a brief roadmap for the future of the JavaFX platform. After attending this session, attendees will be able to walk away with a good understanding of how to use JavaFX technology for designing compelling rich internet applications. |
|
The Threat is Out There! XML Threats and DataPower
Remember when we thought HTML was harmless text? And then scripting got added, and the surprises that came with that as hackers thought up ingenious ways to hack and compromise Web sites? Well, now systems built using newer technologies such as SOA, Web Services, SOAP, and XML are the new frontier for hackers and there are whole new classes of threats built around these harmless and firewall-friendly technologies. Newer technologies such as SOA, ESB, and even Web Services often present fertile ground for hackers, as hardening techniques and staff expertise have not yet been established and new products/technologies will have bugs that can be exploited. This session will show several classes and many types of XML attacks, how they can be used to affect service availability in software-based web services hosts, and how DataPower can be used to prevent such attacks. A real-life scenario is described and there may be a short demonstration. |
|
What's new in Spring Framework 3.0?
With the Spring Framework 3.0 release, we are introducing further annotation-based configuration options, unified expression language support and comprehensive REST support. This talk discusses Spring as a modern Java 5 oriented application framework: covering the core component model, annotation-driven web MVC as well as platform integration. |
|
Paul Sandoz Interview
Ted Neward interviews Paul Sandoz, the co-spec lead for JSR 311: JAX-RS the Java API for RESTful Web Services. During this Devoxx interview Paul compares REST with SOAP Web Services, discusses if we'll ever see reliable and transactional REST calls. Should we extend the existing HTTP methods and are we not over using HTTP are just a few of the questions discussed during this 45 min. interview. |
|
JBoss Seam and Beyond
JBoss Seam is a powerful open source development platform for building rich internet applications in Java. JBoss Seam integrates technologies such as Asynchronous JavaScript and XML (AJAX), JavaServer Faces (JSF), Java Persistence (JPA), Enterprise Java Beans (EJB 3.0) and Business Process Management (BPM) into a unified full-stack solution.The talk will explain the basic concepts of JBoss Seam covering how to create components, injection, outjection, scope levels, security ... In addition, it will give an overview of the pros and cons of the technology illustrated by a practical example.Special attention will be paid to how to test a JBoss Seam application. Basic Seam unit testing as well as advanced integration testing using the embedded JBoss application server will be demonstrated. Also stress testing will be explained, in combination with advice concerning performance tuning.The presentation will be concluded with a real-world reference application that RealDolmen is current |
|
Security Patterns revealed
Security Patterns are a great reference for building secure software, but they are mostly very abstract and ignore technologies like AOP, frameworks and libraries. Also, there are many patterns out there and it's hard to find the right ones. In this session you will see the common patterns adopted with current technologies and and select through practical experiences. |
|
Effective Java Reloaded
It has been five years since Effective Java was released. The Java platform has evolved, and we've learned more about how to use it to best effect. This Devoxx keynote covers new material from the Effective Java Reloaded book. This presentation should be very useful to every Java developer. |
|
Towards a Universal VM
This talk will look at the improvements to the JVM as part of JSR-292, including invokedynamic, interface injection, tail calls, and other features that are on every language designer's wish list. |
|
Cross-Language Development Experience on the JVM
During this talk we'll describe our experience extending a large Java application with those languages, the problems we've faced and the benefits we've achieved. We'll also demonstrate the cross-language development features of IntelliJ IDEA, including cross-language navigation, refactoring and cross-compilation. We hope that our experience will let you decide whether to start using one of these JVM-based languages in your own project. |
|
Mike Keith Devoxx'08 Interview
This JavaPosse interview taken at Devoxx takes a closer look at the Java Persistence API (JPA) with co-lead of JSR-220 Mike Keith. After the introduction more in depth questions are tackled for example how OSGi can be used with JPA and how what to do with legacy systems. |
|
What's New and Exciting in JPA 2.0
The Java Persistence API (JPA) has taken the Java development world by storm and is now recognized as the enterprise standard for object-relational persistence. The masses have settled into using JPA as a means to persist Java objects to relational databases, but sometimes they require features that are either missing or not fully specified in the 1.0 release. JPA 2.0 is filling in the feature gap and introducing many of the additional features that developers have asked for. We will examine where the current standard stops and where the new 2.0 release continues on. We will discuss some of the tricks to using some of the new features and when it may be appropriate to use them. This session will be suitable for anyone either using JPA or planning to use it at some point in the future. People that are just curious about what JPA offers and what it will offer in the future may also find this session interesting. |
|
RESTful Design, Patterns and Anti-Patterns
Many people claim their Web APIs and enterprise applications offer a RESTful interface. But merely getting by without a SOAP envelope, or tunneling all kinds of information through URIs, doesn't magically sprinkle REST pixie dust on bad designs. This session will start with an extra-fast intro to REST before listing the most common patterns and anti-patterns of applying REST design principles, covering issues such as the (un)importance of URI design, resources vs. representations, and the role of hypermedia. |
|
Building better RIAs faster with JSF
JavaServer Faces (JSF) and Ajax are two main stream technologies that together promise faster and better Rich Internet Application (RIA) development. While JSF 2.0 is expected to include new functionality tailored for Ajax and RIA, we'll show you how to start developing now. In this session you'll learn how-to build RIA UI's fast and easy, develop reusable JSF flows, integrate method calls and router decisions in JSF flows, build advanced JSF templates, work with additional memory scopes and declarativly build and reuse your own JSF components. We'll demo the above using Oracle ADF Faces Rich Client components, a set of over 150 standard JSF components with built-in Ajax support, as well as the ADF TaskFlow - an extension to the JSF controller. |
|
Jython
In this presentation we will show you what you can do with Jython. In particular we will show what the soon-to-be-released version 2.5 enables. This includes web frameworks such as Django, scientific applications such as SymPy and everything down to installation and dependency management systems for Python packages. We will show demonstrations of Django running in Jython, WAR-file deployment of Django applications, applications integrating Python libraries and Java libraries as well as the power of exploring a Java package from the interactive object shell of Jython. |
|
Filthy Rich Android Clients
Android is a new, modern development platform for mobile devices. Its powerful UI toolkit can be used to create animated, cool-looking mobile applications. This talk will present the features and APIs to create filthy rich clients on this platform. You will learn how to use advanced 2D rendering, animations, layout animations, themes, 3D, etc. |
|
Joshua Bloch Devoxx Interview
Ted Neward interviews Johshua Bloch during the Devoxx'08 conference. Hear what the differences are between Effective Java edition 1 & 2 or what Josh thinks about Java backwards compatibility and not having closures in JavaSE7 and much more. |
|
John Ferguson Smart Devoxx Interview
John Ferguson Smart is a freelance consultant and author of Java Power Tools. During the JavaPosse.com interview John, Dick and Carl talk about Continuous Integration tools, parameterized unit tests and what other test approaches the near future will probably bring. |
|
Behavior driven development in Java with easyb
Easyb is a new and very hip behavior driven development framework for Java. This talk will go through the basic principles of Behavior Driven Development, and look at how it builds on and differs from traditional Test-Driven Development. It then moves on to look at easyb, a very cool DSL-based behavior driven development framework for Java that uses Groovy to let you pretty much write tests that document themselves.The talk will be very practical. We will look at how to write basic easyb test stories, how to use fixtures in easyb and of course how to integrate easyb tests into your build process. There will also be some live demos just to prove that it really is as easy as it looks! No knowledge of TDD, BDD or Groovy is required! |
|
Chet Haase and James Ward Devoxx Interview
JavaPosse.com interview with Chet Haase and James Ward from Adobe taken at Devoxx'08. This informal interview talks about the new features of Gumbo, what Adobe announced at the Devoxx conference and what similarities Flex and Java have from a development point of view. |
|
How to hack and secure your Java web application
Although Java offers some great security 'features', this talk will handle the lack of 'build in' security when you develop your web applications. Security is not an on/off button or parameter you activate for your deployment! Some real world hacks will be demonstrated to show how easy it is to break the confidentiality or integrity of your data and how easy it is to break you web application! To finish off in a positive note: it IS possible to do it the right way. Open Web Application Security Project (OWASP) is a worldwide free and open community focused on improving the security of application software. Our mission is to make application security visible,\" so that people and organizations can make informed decisions about application security risks. OWASP tools and methodologies such as OWASP Java security, source code security review and the enterprise security provide developers with a massive advantage over organizations that are trying to deal with security using existing ad ho |
|
Introduction to Web Beans
While many of the features provided by Web Beans (dependency injection, contextual lifecycle, configuration, interception, event notification) are familiar, the innovative use of meta-annotations is uniquely expressive and typesafe. In this session, Pete will introduce the Web Beans programming model step by step and describe how Web Beans integrates with existing Java EE technologies, such as EJB 3.0, JSF, and Servlets, and how it dramatically simplifies the EE programming model. |
|
Roberto Chinnici Devoxx Interview
During this Devoxx'08 interview with co-spec. lead of Java EE 6 Roberto Chinnici, you'll hear about the new features of the upcoming Java EE 6 release, the main components and general improvements that you can expect as an enterprise developer. Roberto also covers the new servlet 3.0 spec. and how it will deal with asynchronous behavior. |
|
Complex Event Processing
Event Driven Architecture is a highly scalable approach to distributed computing and integration. Once you put in place an Event Driven Architecture, you can start to process events in interesting ways. Firstly, you can simply use filtering on individual events to find interesting events. Then, you can extend this to look for patterns across events. Finally, you can build complex logic that works across multiple event streams. This is Complex Event Processing (CEP). The uses of CEP include algorithmic trading, fraud detection and trend detection, but there are uses in every domain. In this talk we will look at how to implement Event Architectures and CEP, especially looking at the Apache Synapse ESB and the Esper CEP toolkit, both Open Source solutions. The talk will include examples, code samples and hands-on approaches to adding CEP to your systems. |
|
JEE6 Overview
First we'll focus on the high-level ideas that drove this release of the platform. Then we'll move into the detailed contents, highlighting the most innovative concepts, starting with profiles and moving down into the many exciting new features of the component JSRs.In the past 8 years, the Java EE platform has grown and matured, and is now able to cover a wide range of enterprise and web application development needs. It has fostered a vibrant community and marketplace for additional technologies, frameworks, and applications that work with the platform.The major goals for Java EE 6 are to offer more flexibility at development and deployment time, and to make it simpler to build on the many third-party libraries created by the community. This version carries on the push for ease of development started in Java EE 5, by extending it to include the web tier, for example by including the ne |
|
HTML 5 WebSockets - The Last Mile
The speakers will provide an in-depth look into the use of HTML 5 WebSocket and the techniques and technologies required to build Web applications with WebSockets. Furthermore, the session will introduce the Kaazing Gateway, an opens source WebSocket server, and discuss the network architecture necessary to power Web applications using WebSockets. |
|
Multi-threaded Java Application Development
To take full advantage of the latest multi-core hardware, developers must utilize multiple threads in their applications. Mutli-threaded applications introduce an entirely new class of hard-to-find software failures, commonly known as concurrency defects. To date, testing for Concurrency defects such as Race Conditions, Thread Blocks, Atomicity and Deadlocks have been extremely difficult due to the complexity inherent in multi-threaded run-time environments. In this session, Ben Chelf, CTO of Coverity will explain how developers can find and eliminate concurrency defects early in the development cycle to avoid lengthy QA cycles or costly field bugs. In addition to an overview of the challenges between single-threaded and multi-threaded development styles, Chelf will also provide specific examples of how the use of combined static and dynamic code analysis can pinpoint the most dangerous Concurrency defects. |
|
Performance Considerations in Concurrent GC Systems
The presentation discusses and explains relevant GC terminology and phrases common in concurrent and mostly concurrent GC, focusing on their effects and relationship to metrics such as heap size, real and effective live set size, and object allocation rates. These include concurrent and mostly concurrent marking, live set and card marking, generational operation, and compaction. |
|
Modularity in Java
The Java programming language provides numerous features to support the construction of large programs, but could do more to reduce JAR hell and simplify application packaging. This talk will describe how modular programs can address these issues, and how Java language and VM features can be designed to make programs more modular while retaining compatibility with legacy code. |
|
Granite Data Services
After a short presentation of the history and the features of Granite Data Services compared with other server side solutions (BlazeDS, LCDS), this presentation will go through the creation of a sample Flex remote application connected to a GraniteDS server (using JBoss, Seam, Hibernate and MySQL technologies). This sample application will show several key features of GDS: Seam support, EJB3/Hibernate support (with lazy initialization), code generation tools (Eclipse plugins), data push (Gravity module) and Flex side data management (Tide module) |
|
Common Performance Antipatterns
Application development has become much easier because of the availability of frameworks and application platforms. Developing scalable and highly performing applications is a major challenge in modern application development. Especially highly distributed SOA architectures and always larger systems make this task more and more challenging. The saying Make it work first and make it fast later is no longer valild. More and more scalability and performance problem cause software projects to fail or deliver behind schedules. This talk addresses the major principles of building highly performing and scalable applications. Common pitfalls found in many real world situations will serve as practical examples. Guidance on how to detect and resolve them will help you to overcome those issues and build better scalable and faster applications. |
|
Using content repositories - Nuxeo Core, JCR 2, CMIS
The talk will start with a presentation of the standards in the area, JCR and its successor JCR 2 (JSR-170 & JSR-283), as well as the emerging CMIS (Content Management Interoperability Services). These document-specific APIs will be contrasted with simpler storage solutions based on JDBC or JPA. |
|
Amazon Web Services
Since early 2006, Amazon Web Services (AWS) has provided companies of all sizes with an infrastructure web services platform in the cloud. With AWS you can requisition compute power, storage, and other services-gaining access to a suite of elastic IT infrastructure services as your business demands them. With AWS you have the flexibility to choose whichever development platform or programming model makes the most sense for the problems you're trying to solve. |
|
The JBoss SOA Platform
The JBoss SOA Platform was released in February 2008 and has quickly become a significant open source SOA infrastructure. In this presentation we shall look at the architecture of the SOA Platform, what principles it is based upon, where is it going and how it can help deliver on the SOA vision. |
|
Flex Today and Tomorrow - Part I
We'll start with an overview of Flex and the frameworks that make enterprise development with Flex even easier. Next we'll take a detailed look at the Flex component model, an important foundation for building your own UI components. Finally we'll discuss features and changes expected in the next version of Flex (code name Gumbo) and explain how these changes relate to the foundation laid earlier. |
|
The Process Virtual Machine, a revolutionary technology for BPM
This talk will show how both business analysts and developers can benefit from workflow, Business Process Management (BPM), and orchestration. We'll explain the core essence of workflow engines in simple terms, and how this can be leveraged in a Java environment. We will also introduce a revolutionary open source technology called The Process Virtual Machine and the first BPM solution build on top: The Bonita Open Source project. |
|
Java Performance
In this session we will performance tune an application while providing deeper understanding of the Java technology, a selection of performance tools, and an overview of performance tuning methodology. The session will demonstrate both IBM and Sun tooling technologies. We will demonstrate how to identify problems using thread profiling, heap profiling, GC analysis, and execution profiling. |
|
Flex Effects
Flex Effects by Chet Haase |
|
Introduction to Android
Introduction to Android |
|
Declarative programming with Rules, Workflow and Event Processing
Each one provides a declarative environment to model business problems, but is limited in the scope and range of problems it can define. Typically an enterprise will source each product from a different vendor and at some level tries to integrate the three. This integration is often very limited and superficial, such as processes only using rules for stateless decision services. This session presents the Business Logic integration Platform (BLiP) concept which offers an integrated and unified approach. |
|
JRuby
We'll walk through the basics of Ruby, jumping into more advanced and cool features that set Ruby apart. We'll show how to get a simple Rails app running and deployed to a Java server. We'll demonstrate a simple GUI framework, MonkeyBars, that lets you build your GUI in NetBeans Matisse and your application logic in Ruby. And we'll have a few eye-candy demonstrations showing JRuby calling graphics libraries like JMonkeyEngine. |
|
JavaFX in Practice
* An introduction to the JavaFX Script language * A tour of the core APIs including graphics, animations, and media * Designer/Developer workflows using popular designer tools * Developing and deploying to different target profiles (desktop, web, mobile) * Futures and roadmap for JavaFX |
|
Preventing bugs with pluggable type-checking for Java
Java types are incapable of expressing important information, such as whether a variable may be null, whether a value is intended to be side-effected, or whether a String is interned. As a result, a Java program can suffer from null pointer exceptions, incorrect mutations, errors in equality testing, and many other types of problems.I will present practical tools that you can use at compile time to detect such errors, prevent them, or verify their absence. A programmer can write type qualifiers in a Java program (e.g., List<@NonNull Object>) and use a compiler plugin to check the program for errors or verify their absence. The tools are in wide use, and programmers find them easy to use and useful in finding and preventing bugs. Furthermore, our Checker Framework makes it easy for programmers to write their own custom pluggable type-checkers to detect other errors.The tools make optional use of an extension to the Java annotation system (named JSR 308) that is planned for inclusion |
|
Introduction to Asynchronous I/O (NIO.2) using the Grizzly Framework
Before the advent of the Java New I/O API (NIO), thread management issues made it impossible for a server to scale to thousands of users. The Grizzly framework has been designed to help developers to take advantage of the Java NIO API and the upcoming JDK 7 NIO.2 (Asynchronous I/O). This session will introduce NIO.2 API and Concepts using the Grizzly Framework and will compare the performance of NIO.1 with NIO.2 using an asynchronous http server implementation. |
|
Terracotta - Real Apps, Real Frameworks, Real Use Cases
You may already know about Terracotta, but this is not just another Terracotta / vendor presentation. We worked with customer use cases and built a real app using real frameworks. It is a fully functioning web application; it's not just a demo but the app has security, MySQL and ORM, and even more! The source code is totally free and open source and is meant to teach Terracotta tire-kickers what it is like to live with our products as much as it is designed to give the community a springboard for creating apps that are simple to build and implement.Come to this talk if you want to learn all the neat and cool ways we learned to offload the database. Come to this talk if you want to learn how to plug Spring Security, Webflow, MVC, and more into a Terracotta-based backbone. We will spend our entire time together on source code, the internals of Spring and how / what Terracotta is sharing underneath our app. Also, come to this talk if you want to learn what it takes to make Terracotta rea |
|
Java Enterprise Edition 6 Overview
First we'll focus on the high-level ideas that drove this release of the platform. Then we'll move into the detailed contents, highlighting the most innovative concepts, starting with profiles and moving down into the many exciting new features of the component JSRs.In the past 8 years, the Java EE platform has grown and matured, and is now able to cover a wide range of enterprise and web application development needs. It has fostered a vibrant community and marketplace for additional technologies, frameworks, and applications that work with the platform.The major goals for Java EE 6 are to offer more flexibility at development and deployment time, and to make it simpler to build on the many third-party libraries created by the community. This version carries on the push for ease of development started in Java EE 5, by extending it to include the web tier, for example by including the ne |
|
The JBoss SOA Platform: An Overview and Methodology
The JBoss SOA Platform was released in February 2008 and has quickly become a significant open source SOA infrastructure. In this presentation we shall look at the architecture of the SOA Platform, what principles it is based upon, where is it going and how it can help deliver on the SOA vision. |
|
Patterns in Mule
This session will walk through some of the available patterns and use real-life case studies to show how larger patterns can be built using Mule. |
|
BPM 2.0 - A REST based architecture for next generation workflow management
One reason for doing this is to make it simpler for customers to get into BPM without a huge investment. Key enabling technologies that made this possible is RESTful SOA and Cloud computing.In this talk, we will show you how to author collaborative business processes using a Web-based BPMN editor. New business processes can be composed from existing assets such as feeds, emails, chats, repository, forms, back-end services, business rules, databases, and can be up and running in minutes. Behind the scenes is a light weight workflow engine that can be used to mash together both web and people centric interactions.To build a true BPM as a Service ecosystem that leverages the web and provides value to business and IT, many services must be made available through REST. Catalogs become critical in registering and discovering these assets. We will show you an example on how BPM Zero discovers new REST services via the IBM Mashup Center. |
|
Introduction to Web Beans
While many of the features provided by Web Beans (dependency injection, contextual lifecycle, configuration, interception, event notification) are familiar, the innovative use of meta-annotations is uniquely expressive and typesafe. In this session, Pete will introduce the Web Beans programming model step by step and describe how Web Beans integrates with existing Java EE technologies, such as EJB 3.0, JSF, and Servlets, and how it dramatically simplifies the EE programming model. |
|
JAX-RS: The Java API for RESTful Web Services
This presentation will give a detailed overview of JAX-RS, which is now an approved final JSR. The presentation is designed to appeal to novices and experts of Java who want to understand more about this API, the REST architectural style, and how to build RESTful applications. At the end of the presentation developers will have a better understanding of how to build their own RESTful Web services using JAX-RS.The following areas will be presented in detail, and where appropriate live coding demonstrations will be given: * Mapping of URLs to Java classes and methods (see @Path); * Handling HTTP requests for common HTTP methods (see @GET and @POST); * Obtaining parameters from the HTTP request (see @PathParam, @QueryParam and @FormParam); * Use of MIME media types and mapping representations to MIME media types and Java types (see @Produces and @Consumes); * Returning representations and HTTP meta-data (see Response and Response.ResponseBuilder); and * Injectio |
|
From Concurrent to Parallel
This Devoxx talk covers the next steps in evolution of concurrency APIs, looks at how the libraries will evolve to support many-core parallelism using the Java language. |
|
Interview with the JavaFX team
Dick Wall and Carl Quinn (from the JavaPosse.com) interviewed the available JavaFX engineers at Devoxx (Joshua Marinacci, Jasper Potts, Richard Bair and Martin Brehovsky) and asked them how they experienced the JavaFX release, what JavaFX tools they use and suggest, how to communicate with JavaFX clients and lots more. We apologize for the background noise in the beginning of the interview. Enjoy! |
|
JavaFX Devoxx 2008 keynote
Devoxx 2008 keynote by the Sun Microsystems JavaFX team. |
|
Mark Reinhold and Alex Buckly Devoxx'08 Interview
Ted Neward interviews both Mark Reinhold and Alex Buckley at Devoxx 2008. During this interview they discuss the future Java SE 7, the newly announced Jigsaw modularity project and how this might look like for the Java developers. Ted also tried to get more info about a possible schedule for Java SE 7! |
|
Creating amazing user interfaces with Dojo and DWR
Ajax has the power to make your applications satisfying and beautiful or painful and frustrating. This talk shows how Dojo can help you create amazingly beautiful user experiences and how DWR brings the beauty to Java by making Java and JavaScript work well together. Both Dojo and DWR have changed a lot in the last 2 years. Dojo now has a theming system, many new widgets, and great documentation. DWR can now synchronize data between the server and multiple clients, you can implement Java interfaces with JavaScript, and call both ways between Java and JavaScript. |
|
The Future Of Rich Internet Applications
See Adobe's vision of the future of RIAs. We'll discuss the importance of high-quality design and the tight communication required between designers and developers to build truly compelling applications, including how to make the tools that each prefer interoperate. Finally we'll discuss features and changes expected in Adobe's product line up, like the next version of Flex (code name Gumbo).. |
|
Intro to software estimation
The process of estimating size, time, effort, etc., is fundamental for the success of every software project. Unfortunately, it is often the case that the stakeholders (including project managers, developers, and users) don't know how to do it properly, and everybody ends up working against the clock to meet impossible targets, getting poor software late as a result. After a short introduction in which I'll present what can and should be estimated (e.g., time, size, effort, cost, etc.), I'll focus on what is necessary to get started with some simple, but very effective techniques. |
|
Effective Pairing: The Good, the Bad and the Ugly
Pairing can be a highly effective practice that adds significant value to a project, or it can be a disaster whose cost far exceeds managers' fears that they are just paying two people to do the work of one. In the worst case, you won't get the work of one out of the two. They might even do damage that others have to clean up later. The challenge lies in the fact that working as a pair demands a level of attentiveness, collaboration, and continuous focus that working solo just doesn't require. We want to demonstrate some of the behaviors that can undermine the value of pairing, solicit audience feedback about their own experiences and observations, and explain how and why pairing works or doesn't work. This session was first presented at Agile 2008, where a group of four people rehearsed and acted out bad pairing scenarios. In this case, the scenarios have not been rehearsed. Participants in the session will be asked to come forward to act out scenarios with the facilitator. Particip |
|
The Feel of Scala
Scala is a new language for the Java Platform that blends object-oriented and functional programming concepts. This talk will focus on the design choices of Scala, and what they mean for developer productivity. The talk will highlight what it means to program in a functional style, and show you how Scala facilitates programming in a hybrid of both functional and imperative styles. The talk will also explore how Scala compares to dynamic languages such as Ruby and Python. And you'll see examples of real, production Scala code that will illustrate what it feels like to program in Scala. |
|
The Evolution of Java software on GNU/Linux
The inclusion of OpenJDK 6 into the core of Fedora, Debian, OpenSuse and Ubuntu has enabled millions of GNU/Linux users to easily obtain the latest version of the Java SE platform. This has changed the packaging landscape for Java software, since ISVs and distro builders can now rely on the Java platform being available out of the box. Planned enhancements to the Java programming language aim to further simplify packaging by making Java software more modular and more explicit about its dependencies. In this talk we'll describe the mechanisms that make GNU/Linux package management scale to thousands of packages and millions of users; show how to create good packages for inclusion in mainstream distributions (regardless of programming language); and share lessons learned from packaging Sun's major Open Source Java projects like OpenJDK, NetBeans and Glassfish. |