• High Performance Messaging

    Wednesday August, 08, 2012 11:00 PM

    If you need your messaging-based systems to be fast - really fast - then this is the session to attend. In this session I will introduce and demonstrate some relatively simple tips and tricks to get the best performance and throughput from your messaging system. Through live code demonstrations I will show the impact of both configuration and design changes using Spring, ActiveMQ, and RabbitMQ. So buckle up those seat belts - its going to be a fast ride.

     

    Agenda:

     

    • Spring-based Messaging Performance Techniques
    • JMS Models and Performance: P2P and Pub/Sub
    • Messaging Standards and Performance: JMS vs. AMQP
    • Using Multiple Queues with Competing Consumers
    • Using Multiple Queues with a Single Consumer
    • Guaranteed Delivery and Performance

  • Usable Security - Tipniques and Practfalls (Tips and Techniques, Pitfalls and Practices)

    Wednesday June, 13, 2012 11:00 PM

    For a long time, computer security was mainly concerned with the design of various technical mechanisms for defending against adversaries, as well as with the underlying mathematical foundations such as cryptography primitives. However, the usability of such technical mechanisms was largely ignored, producing technical solutions that were theoretically sound but practically insecure because of their poor usability. More and more people agree that we need usable security systems - unusable secure systems are not used properly or at all, and thus only usable systems can provide effective security. However, there is less agreement about how to design systems that are both usable and secure. This talk will give an overview of the field of usable security with the focus on issues to avoid, techniques to use, and useful case studies. It aims to enable participants to both evaluate and produce high-quality work in usable security. We will start with a definition of usable security, and examples of how security has failed due to usability. We will then outline common approaches to and relevant design principles for security usability. Methods for improving security usability and methods for empirically establishing such improvement will be discussedl. Usability techniques successfully applied to security will be discussed, including usable design (with an emphasis on error handling), lab user studies, field user studies, and techniques for evaluating organizational cultures. Finally, we'll conclude with case studies illustrating how security and usability can be simultaneously improved, and how the principles and methods introduced in the previous part were applied. Topics that have received much attention will be highlighted, including authentication, access control and authorization, phishing defenses, and the utility of education of the user.

  • Solving Development Infrastructure Problems

    Wednesday May, 09, 2012 11:00 PM

    Let's face it development is fun but configuring environments and infrastructure takes all the fun out of programming.  How often have you spent days trying to figure out which settings for your NoSQL database, new library, source control service only to realize that the solution involved only typing the 5-10 characters in the correct sequence.  You are not alone!

     

    This session will go through a couple of different approaches to addressing common development infrastructure headaches.  We will start out with common problems encountered setting up your workstation involving issues with the IDE, Source Control System, Bug Tracking systems, environmental variables, build tools such as Maven, as well as a couple of other common problem areas.  Then we will talk about how developing in a virtualized world attempts to address these problems with virtual machines and cloud platforms as well as the new problems they create.  Finally, we will wrap up with the steps necessary to setup a NoSQL database.

  • Building Mobile Apps with HTML, PhoneGap and Java

    Wednesday April, 11, 2012 11:00 PM

    HTML has emerged as a powerful alternative to “native” and enables cross-platform mobile application development. 

     

    In this session, you will learn modern strategies to build complex and native-like mobile applications using HTML and JavaScript, and powered by a Java back-end.

     

    You will also learn how to build a RESTful API using JAX-RS and Spring, how to efficiently consume REST services and structure large JavaScript projects using an MVC framework like Backbone.js, and how to use PhoneGap to leverage the capabilities of your device (camera, gps, accelerometer, etc.) in JavaScript, and package your HTML application as a native app for distribution through the different app stores.

     

    Tags: Mobile, HTML, JavaScript, Java, JAX-RS, Spring, REST, Backbone.js, Phonegap

     

  • Learning Scala by Example: walking through the rewrite of a small Open Source Project

    Wednesday March, 07, 2012 11:00 PM

    The best way to learn a new language is to use it, but there is an enormous gap between HelloWorld.scala and a "real" project. To help with my own learning of Scala I rewrote my Log4JFugue Open Source project which at about 2500 lines of code was big enough to be real yet small enough to be manageable. We will briefly describe the problem space addressed by Log4JFugue, then summarize the architecture of the Java version. The majority of the night will be a hands-on, code-on-the-fly recreation of the Scala version from scratch. You will see the differences between the languages and get a feel for coding in the functional paradigm. No background in Scala is required.

  • Getting started with MongoDB

    Wednesday February, 08, 2012 11:00 PM

    What is MongoDB, why would you use it, how do get started and what are the "gotcha's" to look out for? We'll start with a very brief survey of NoSQL data stores, then we'll dig into why you'd consider using Mongo and how to get started with it.

     

  • What's new with Grails 2.0

    Wednesday January, 11, 2012 11:00 PM

    This session will include an introduction to the Grails dynamic web application framework and the Groovy language, with highlights from the new features in Grails 2.0 (including agent-based reloading, unit testing mix-ins, and new enhancements to support Servlet 3.0) and Groovy 1.8. We'll also go beyond the basics and demonstrate real-world usage of Grails while live-coding a working Grails application from scratch using Spring, Hibernate, JMS, and other technologies to demonstrate how quickly you can develop Java EE applications in Grails.

     

  • Inside Android's Dalvik VM

    Wednesday November, 09, 2011 11:00 PM

    In this presentation, Doug Hawkins will discuss how the Dalvik VM is different from traditional Java VMs and the motivations behind those differences. Along the way, you'll learn about Android's service architecture, Dalvik's byte code format, and the surprising details of how Android installs, launches, and executes applications.

     

  • Testable Enterprise Development in Java

    Wednesday October, 12, 2011 11:00 PM

    In this session, we'll address the missing link in Enterprise Java development: simple, easy integration testing.

    Unit tests and mock objects will only take you so far; the only answer which truly ensures that all components are playing nicely is a comprehensive integration suite. Unfortunately, writing integration tests has historically involved manual setup of a heavy, cumbersome test harness. That's time lost, but it doesn't have to be anymore.

    Here we'll introduce Arquillian, a powerful container-oriented testing framework layered atop TestNG and JUnit. Arquillian manages your runtime, abstracting out deployment and allowing you to focus on real test logic. We'll cover:

    * Transparent container lifecycle management
    * Declarative deployments
    * Test Enrichment (Dependency injection into tests)
    * In-container test execution

    All examples will be powered by the new lean offering from the JBoss Community: Application Server 7. Attend this talk to learn how the simplified component model of Java EE can be applied to testable development.

  • 90 Minutes to a working Enterprise Application! or Development is more than just a fancy programming language!

    Wednesday September, 07, 2011 11:00 PM

    We have all heard use this language or that framework or this product and you can create the perfect enterprise application. After all these years do you still believe that? The truth is to produce a successful enterprise application we need to have a solid development language, frameworks, lightweight containers, monitoring through the application life cycle and infrastructure stack, plus plans to manage application performance. In short there is a lot we need to do after passing the first round of unit tests to create a sucessful enterprise application.

    This session will use a series of live demos to go through the entire Application Lifecycle to demonstrate often ignored steps to produce an enterprise application. The concepts covered in this presentation are applicable with most technologies; but for our purposes we will focus on Spring ROO & Grails, Hyperic for monitoring, Tomcat 7 for the container, Webtest for functional testing, Cobertura for code coverage, plus a few other technologies.