• 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.


  • Functional Thinking

    Wednesday August, 10, 2011 11:00 PM

    Learning the syntax of a new language is easy, but learning to think under a different paradigm is hard.

    This session helps you transition from a Java writing imperative programmer to a functional programmer, using Java, Clojure and Scala for examples. This session takes common topics from imperative languages and looks at alternative ways of solving those problems in functional languages. As a Java developer, you know how to achieve code-reuse via mechanisms like inheritance and polymorphism. Code reuse is possible in functional langauges as well, using high-order functions, composition, and multi-methods. I take a variety of common practices in OOP languages and show the corresponding mechanisms in functional languages. Expect your mind to be bent, but you'll leave with a much better understanding of both the syntax and semantics of functional languages.

  • Multi-Topic Night - NEJUG Members presenting areas of their expertise

    Wednesday June, 08, 2011 11:00 PM

    This is the promised members presentation night we have been waiting for over the last year.In this meeting you will be able to cover 5 different topics from actual day to day practioners of their topics. We have seen time after time that some of the best presentations over the past 10 years have come from our very own members who use these technologies every day.

    Topics which will be covered include:

    • Hazelcast
    • Schema Crawler
    • The Strangler Pattern for incremental application migrations
    • Understanding Open Standards: Open Standards : OpenSocial, OpenID, OAuth, Oh my
    • BDD (Behavior Driven Development)

  • What Functional Purists don't want you to know about Scala

    Wednesday May, 11, 2011 11:00 PM

    Scala is a JVM programming language that blends object-oriented and functional concepts. We are all well familiar with the object-oriented aspect but lot of us seem to struggle when it comes to functional programming. Unfortunately, a large number of Scala talks and articles present functional programming in a way it just makes your brain hurt. You start believing only math-minded can truly comprehend it. Furthermore, you get an impression Scala is only a good fit for problems which need to be solved in a pure functional style. All of which is, fortunately, far from being true.

  • Android Mobile Application Development

    Wednesday April, 13, 2011 11:00 PM

    Android is a software stack for mobile devices that includes an operating system, middleware and key applications.

    Android is a mobile operating system running on the Linux kernel. It was initially developed by Android Inc., a firm later purchased by Google, and lately by the Open Handset Alliance. It allows developers to write managed code in the Java language, controlling the device via Google-developed Java libraries.

    The Android SDK provides the tools and APIs necessary to begin developing applications that run on Android-powered devices. Cool apps that surprise and delight mobile users built by developers like you are a huge part of the Android vision. Google has also participated in the Android Market by offering several applications for its services. These applications include Google Voice for the Google Voice service, Scoreboard for following sports, Sky Map for watching stars, Finance for their finance service, Maps Editor for their MyMaps service, Places Directory for their Local Search, Google Goggles that searches by image, and My Tracks, a jogging application. Android phones that include the 'Google Experience' also have Google Search, Google Calendar, Google Maps, Google Navigation and Gmail integrated. In this presentation we will explore many examples of android.

  • The Cloudy Future of Integration

    Wednesday March, 09, 2011 11:00 PM

    Applications are increasingly facing demands for horizontal scalability and cross-platform interoperability. NoSQL data stores are gaining momentum as a way to address the scalability challenges. Messaging systems, on the other hand, are by their very nature able to handle widely distributed deployment models, but for Java developers, the cross-platform challenge suggests we should look beyond JMS. Open protocols such as HTTP, SMTP, and AMQP are attractive language-neutral alternatives.

    In this session, you will learn how the Spring application platform is evolving to accommodate these trends. We'll explore the Spring Data APIs for working with a variety of NoSQL data stores, and we'll compare and contrast several open protocol options for both synchronous and asynchronous messaging via Spring Integration Gateways and Channel Adapters.


  • NoSQL Smackdown

    Wednesday February, 09, 2011 11:00 PM

    You've read that the relational model is old and busted, and there are newer, faster, web-scale ways to store your application's data. You've heard that NoSQL databases are the future! Well, what is all this NoSQL stuff about? Is it time to ditch Oracle, MySQL, and SQL Server in favor of the new guard? To be able to make that call, there's a lot you'll have to learn.

    In this session, we'll take a whirlwind tour of five representative non-relational data stores: Cassandra, MongoDB, Voldemort, Redis, and Neo4J. We'll learn the very different ways they represent data, and we'll see their unique strengths and weaknesses in various kinds of applications. Along the way, we'll learn why new technologies must be introduced to address today's scaling challenges, and what compromises we'll have to make if we want to abandon the databases of our youth. We'll review what ACID means, role-play a two-phase commit, and even talk a little bit about file system semantics. It's an exciting time to be storing and retrieving data, and the opportunity is now before us to learn things we could ignore just a few years ago. Come to this session for a solid introduction to a growing field.


  • Improving Code Quality

    Wednesday January, 12, 2011 11:00 PM

    Every time a new software project is launched everybody aims for a high-level of technical quality. But more often than not we see the code quality deteriorating over time and it becomes harder and harder to understand and maintain the code. On the other hand a reasonable level of technical quality can be easily achieved in any software project, if it is kept in mind as a goal from the beginning. Of course it is necessary to measure it on a regular base, ideally at least in the nightly build.


  • JVM Internals: Garbage Collection and VM Optimizations

    Wednesday November, 10, 2010 11:00 PM

    Doug's presentation will delve into three internal parts of Java

    - Class File Format and Byte Code

    - Garbage Collection

    - JIT Optimizations

    In the Class File Format and Byte Code section, the basic structure of the class file format will be explained with examples of Java files compiled to class files.

    Additionally, attendees will be introduced to tools for viewing and writing byte code.