Presentations for DevNexus 2009
- Automatic generation of Flex/Java CRUD applications
- Content Repository - Databases for Content
- Develop Rich Internet Applications (RIA) using JavaFX
- Dynamic JVM Languages in the Enterprise
- Enterprise JPA & Spring 2.5 - Tips and Tricks for JEE5 Persistence
- Java EE 6 Overview
- JavaFX: The Platform for Rich Internet Applications
- On the Lam from the Furniture Police
- Picking the right technology for the Rich Internet Applications
- Software Teams Tuneup: Using Agile to Optimize
- Test-Driven Design
Automatic generation of Flex/Java CRUD applications
During this presentation, we’ll walk through the highly automated process of creation of RIA using Eclipse plugins. The first plugin will generate a CRUD application having Adobe Flex talking to POJO on the server, which in turn communicates with a DBMS. Then, another plugin will generate an ANT build script for this application. The third plugin will add logging capabilities for Flex/Java rich Internet applications.
Content Repository - Databases for Content
Along with databases for structured content, content repositories emerged to tailor to content management needs. The content repository has rich metaphors for modeling content metadata, relationships between data, and behaviors that contents needs have. It also adds higher level concepts like workflow, security mechanisms, ability to automatically transform between formats, and many other features. In this talk we will examine the advantages of using a content management repository for storing content and how it enables rapid development of certain types of applications. This core technology can be exposed through SOAP or RESTful Services to play a role in your SOA strategy. With several open standards emerging in this area (newest one, CMIS has the promise of becoming the SQL for Content Repositories), the content repository paradigm has emerged as a standard part of any SOA strategy. Alfresco, an open source enterprise content repository framework, will be used as an example of this paradigm. What you will learn:
* Take a look at Content Repository Abstraction * Define Content-As-A-Service (CaaS) architecture * Understand the reusable services that content repositories provide * Look at emerging interoperability standards in this area
Develop Rich Internet Applications (RIA) using JavaFX
JavaFX Script is a compiled, declarative scripting language that runs on the desktop, in the web browser and on mobile devices. JavaFX includes a scene graph library and a unique scripting language that provides a declarative syntax for constructing sophisticated graphical user interfaces. Its graphics capabilities include support for animation, visual effects, gradients, and translucency. This jam-packed talk will detail JavaFX from cover to cover. This session will cover:
* An introduction to the JavaFX Script language * A tour of the core APIs including graphics, animations, and media * How to access RESTFUL Web Services * Developing and deploying to different target profiles (desktop, web, mobile) * Java Runtime Environment 6 Update 10+:this new version of the Java Runtime Environment (JRE) provides a redesigned Java browser plug-in that allows drag and drop of JavaFX applications from the browser to the desktop. * Futures and roadmap for JavaFX
Come expecting to see lots of code After attending this session, attendees will walk away with a good understanding of JavaFX language and how to develop special effects in GUI and 2D Graphics and add special features as audio, video and animation into their applications.
Dynamic JVM Languages in the Enterprise
Dynamic languages running on the Java Virtual Machine are starting to gain traction for software development, specifically for large enterprise projects. This session explores obstacles to introducing dynamic languages into the enterprise, example applications that can ease the way, and issues surrounding integrating a dynamic language to Java projects. Using several code examples that demonstrate the power of using a dynamic language like Jruby or Groovy, attendees will gain insight into how dynamic languages are making in-roads to the enterprise. This session focuses on non-GUI related usages – whereas most people think of dynamic languages for Web development. The target audience for this session is enterprise developers and enterprise architects.
* How to incrementally introduce dynamic languages into an existing project * Real world examples of using dynamic languages for better testing and writing utilities * Understanding how to integrate a dynamic language into a Java-based project
Enterprise JPA & Spring 2.5 - Tips and Tricks for JEE5 Persistence
As with many technologies, the basics are easy. The hard part comes when the developer needs to do sophisticated integration, development, and testing as part of an enterprise application. A large enterprise application requires the developer to think of issues that affect the development, scalability and robustness of the application. This presentation will cover the advanced topics described below.
A large enterprise application often will have several sub-projects that each contain their own JPA persistence unit. This opens up a number of questions around how to organize the persistence units and how the code between sub-projects should interoperate. Developers will gain insight into these issues and will see a couple of solutions using live code examples.
Java EE 6 Overview
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. Java EE 6 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 new API for RESTful web services, JAX-RS. The major themes 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. To that end we propose several goals for this release - extensibility, pruning, profiles and ease of development.
In this talk we’ll provide an introduction to the Java Platform Enterprise Edition (Java EE) 6. 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.
JavaFX: The Platform for Rich Internet Applications
The demand continues to grow for rich interactive content, applications, and services that run on a variety of screens such as mobile, desktop, browser, and television. With the release of JavaFX SDK 1.1 it is possible to incorporate innovative elements of rich client applications into existing Java software with minimum effort enabling consistent user experiences across multiple screens such as desktop, browser and mobile devices. Sun is bringing its JavaFX development framework to mobile devices. JavaFX includes a scene graph library and a unique scripting language that provides a declarative syntax for constructing sophisticated graphical user interfaces. Its graphics capabilities include support for animation, visual effects, gradients, and translucency. The latest release of the JavaFX SDK, version 1.1, offers full support for mobile JavaFX development and includes an emulator for testing mobile device compatibility.
This keynote provides a glimpse into cross-screen applications development using JavaFX libraries such as animation and media applications with cross-platform audio and video. Additionally, this session will illuminate the JavaFX SDK 1.1 that provides a suite of tools for web scripters, designers and application developers.
On the Lam from the Furniture Police
When you were hired by your current employer, you may think it’s because of your winning personality, your dazzling smile, or your encyclopedic knowledge of [insert technology here]. But it’s not. You were hired for your ability to sit and concentrate for long periods of time to solve problems, then placed in an environment where it’s utterly impossible to do that! Who decides that, despite overwhelming evidence that it’s bad for productivity and people hate it, that you must sit in a cubicle? The furniture police! This keynote describes the frustrations of modern knowledge workers in their quest to actually get some work done, and solutions for how to gird yourself against all those distractions. I talk about environments, coding, acceleration, automation, and avoiding repetition as ways to defeat the mid-guided attempts to sap your ability to produce good work. And I give you ways to go on the lam from the furniture police and ammunition to fight back!
Picking the right technology for the Rich Internet Applications
We are entering an era of Rich Internet Applications (RIA) and enhancing the user experience of consumers of the services becomes an important part in designing and implementing distributed applications. But if you decide to develop rich clients, you’ll be facing the dilemma of which way to go: remain with tried and true Java on the client or experiment with such newcomers as AJAX, Flex, Silverlight, or recently released JavaFX? While the Internet brings a lot of noise where “it’s cool” is the most popular definition, this presentation is an overview of what’s out there on the enterprise RIA market. We’ll talk about the pros and cons of using various techniques and technologies for the development of the front end for complex distributed systems.
Software Teams Tuneup: Using Agile to Optimize
We’re always under pressure to do more with less. More features with less developers. More product in less time. More work in fewer hours. There are several Agile techniques you can use to ensure you and your team and making the most of your days. We’ll review several team optimization techniques and discuss their practical applications.
Most developers thing that Test-driven development (TDD) is about testing, but testing is only a small benefit from using TDD techniques. This session demonstrates how stringent TDD improves the structure of your code. I discuss TDD as a technique for vetting consumer calls, using mock objects to understand complex interactions between collaborators, and some discussions of improved code metrics yielded by TDD. This session shows that TDD is much more than testing: it fundamentally makes your code better at multiple levels.