Java Application Deployment

Sponsored By

JavaCodeGeeks logo

ABSTRACT:  Java Application Deployment

This presentation will take developers through how do execute a parallel deployment for three common web application architectures. A basic single server environment, a multi-server environment with a reverse proxy load balancer and a scalable environment built on AWS using Autoscaling groups.

I’ll start by discussing common deployment expectations such as zero downtime and fully automated and how a parallel deployment approach helps address these needs. Then I’ll walk through the different environments and discuss how we go about achieving those goals in practice.

Thanks to Java Code Geeks for the sponsorship!

Thanks to Java Code Geeks for the sponsorship!

For the first environment, the single server, I’ll walk through the process of starting up a second container and re-routing traffic to that new container. For the multi-server environment, I’ll walk through how we can tear down and add in instances gracefully. Finally for the AWS environment, I’ll review and walk through the different parts of their architecture which can be leveraged to built a dynamically scaling, high availability environment that can receive application updates easily. For those unfamiliar with AWS this will be good primer to help them understand some of the capabilities of the AWS platform.

For each of the architectures I’ll call attention to some of the challenges and areas that developers need to specifically account for, such as session management or static asset delivery. While the range of possibilities for deployments are varying and growing, from tools like Docker to built-in parallel deployment support in containers (Tomcat 7+), to PAAS solutions like AWS Beanstalk and Heroku, this discussion will give developers a solid sense of what to consider when designing their own application delivery system.

SPEAKER BIO:  Frederic Jambukeswaran

Fred headshotFred is a developer and technology leader with over 15 years of experience building web applications, predominately in Java. He has previously worked as CTO at Pronto (IAC company) and VP, Technology at EXPO communications. He got his start building Java applications with EJBs, later becoming a big fan of Hibernate and Spring Framework. His experience in application deployments really grew over the last few years where he often took on build and release functions for his teams using tools such as Maven, Jenkins, Composer, Phing and Grunt.

MEETING SLIDES:  Java Application Delivery slides (PPT)

This slideshow requires JavaScript.

Storm: Distributed Real-Time Computation (better than Hadoop)

Sponsored By

HMS logo

 

ABSTRACT:  Storm: Distributed Real-Time Computation (better than Hadoop)

photo

Brian O’Neill dives deep.

Brian will introduce Storm, which is a distributed real-time computation system used by Twitter and others for large scale processing and analysis of events and data.  He will cover the primitives in Storm and demonstrate the applications of those primitives to real-world problems.

Additionally, Brian will cover the concepts of state management in a distributed system, and demonstrate different approaches for maintaining data integrity.

SPEAKER BIO:  Brian O’Neill

ONEILLBrian O’Neill (@boneill42) is a technology leader and recognized authority on big data. He leads and contributes to open-source projects involving distributed storage, real-time computation, and analytics. He won InfoWorld’s Technology Leadership award in 2013 and was selected as a Datastax Cassandra MVP in 2012 and 2013. He authored the Dzone reference card on Cassandra and recently published a book on distributed processing titled, Storm Blueprints: Patterns for Distributed Real-time Computation. He holds patents in artificial intelligence and data management. Brian is an alumnus of Brown University and holds a B.S. in C.S.

Presently, Brian is CTO for Health Market Science (HMS), where he heads the development of their big data platform focused on analytics and data management for the healthcare space. The platform is powered by Storm and Cassandra and delivers real-time data management and analytics as a service.

MEETING SLIDES:  On Slideshare here

OOMs and JVM Memory by Matt Schuetze

sponsored by 
Azul logo

ABSTRACT:  OOMs and JVM Memory

The March deep dive session exposed myths that Java is Slow! and Java Uses Too Much Memory! In this session we will take a deeper look at Java memory management. The dreaded Out of Memory (OOM) error is one problem. GC activity and spikes leading to long pauses is another. We will cover the foundations of garbage collection and why historically Java gets a bad rap, even though GC provides a marvelous memory management paradigm

 

SPEAKER BIO:  Matt Schuetze

SchuetzeMatt is the Director of Product Management at Azul Systems. He is responsible for managing requirements and charting product roadmaps for the Zing, Zing Platform Edition with WebSphere, and Zulu product families.

Matt worked through the ranks at software companies Compuware and Micro Focus, from staff developer, to team lead, to development manager, to product manager. Since joining Azul, he contributed heavily to the implementation of the Zulu Enterprise open source offering, including its global launch in January 2014.

MEETING SLIDES: Download Azul Slides (PDF)

WTF is [Ljava.lang.String; ? A Deep Dive Into The Shallow End of the JVM by Keith Gregory

sponsored by 
Chariot logo

ABSTRACT:  WTF is [Ljava.lang.String; ? A Deep Dive Into the Shallow End of the JVM

Most people treat the JVM as a black box. Perhaps as a result, there are many myths and misunderstandings about how it works. This presentation follows the path of a Java program from source code, to bytecode, to JIT-compiled machine code. Along the way, we bust (or confirm) a few myths.

SPEAKER BIO:  Keith Gregory
KDG

Keith is a longtime JUG member and frequent presenter, who finds enjoyment in exploring the darker corners of the Java ecosystem and reporting what he found there. He recently passed the thirty-year mark in a varied career and is a consultant at Chariot Solutions.

MEETING SLIDES: PDF Format

Go by Paddy Foran

Sponsored By

DramaFever logo

ABSTRACT:  Go for Java Developers

PaddyForan

The members were dazzled by the bright blank screen

I want to share something I love with you: the Go programming language. I don’t expect you to drop Java for Go, nor do I wish to convince you that Go is better than Java. I just want to expose you to some new ideas that made me a better programmer. My hope is that you can pick up some new ways of thinking about your code, just as I did.

Failing that, I hope I can at least share something I’m passionate about with you. In this talk, we’re not going to do a regular introduction to Go, where we step through each and every feature. Instead, I’m going to explain the things you may need to wrap your head around, coming from Java; the things you may really enjoy, coming from Java; and the things you may find to be problematic, coming from Java. I want to give you a personalized introduction that will explain why you’d want to use Go, what you’d use it for, and why it might be difficult to get started with, all tailored to the background of the standard Java developer.

SPEAKER BIO:  Paddy Foran @paddyforan

Paddy is a software engineer working to make software hurt less. He loves Go, distributed systems, and service oriented architectures. Paddy is also silly, afraid of growing up, and unclear as to why people take him seriously. By day, he works as a software engineer at DramaFever. By night, he’s Batman. Probably.

MEETING SLIDES:  Slides available to view on Paddy’s site here

photo 2

Functional Concepts in Java by Prem Chandrasekaran

Sponsored By

ThoughtWorks logo

ABSTRACT:  Functional Concepts in JavaFunctional pic

Functional programming has started (re)gaining prominence in recent years, and with good reason too. Functional programs lend an elegant solution to the concurrency problem, result in more modular systems, are more concise and are easier to test. While modern languages like Scala and Clojure have embraced the functional style whole-heartedly, Java has lagged a bit behind in its treatment of functions as first-class citizens. With the advent of Java 8 and its support for lambdas, however, Java programmers can finally start reaping the power of functional programs as well. Even without Java 8, it is possible to adopt a functional style with the aid of excellent libraries such as Guava.

This talk will explore how to apply functional concepts using the Java programming language and demonstrate how it can result in simpler, more elegant designs.

SPEAKER BIO:  Prem Chandrasekaran

Prem ChandrasekaranPremanand (Prem) Chandrasekaran serves the role of a Technical Principal at ThoughtWorks. Over the last decade and a half, Prem has worked on a variety of software projects, spanning varied functional and technical domains. He is passionate about the application of iterative methods to deliver software that enriches the lives of its end users and its maintainers alike.

His most recent assignment entailed architecting and leading the development of a large and complex mobile platform on Android.  He is passionate about technical architecture, refactoring and performance tuning among others.

When not fiddling with his trusty laptop, he spends time with his son ripping beyblades and playing video games. He is also obsessed with playing and analyzing the nuances of the game of cricket.

Jorge Lee (co-presented)

Jorge Lee is a software craftsman and serves as a Senior Consultant at ThoughtWorks. He started to code in high school and he has been following this passion professionally over the past decade, where he has been exposed to a variety of platforms and technologies. All those experiences made him a full stack developer who is always eager to learn and do the best with the tools available. He joined ThoughtWorks not so long ago to work with and learn from some of best developers in our industry.

MEETING SLIDES:  Functional Concepts in Java (PDF) or view on Slideshare here

photo 2

Hiring Roundtable – A panel discussion

Sponsored By

Job Tips For GEEKS: The Job Search

ABSTRACT:  Hiring Roundtable

This meeting was a first for Philly JUG. Instead of a single speaker presentation, we had a panel of local industry veterans and hiring managers speaking to our audience about resumes, interviews, keeping a marketable skill set, and effective job search techniques.

Topics discussed included:

  • Methods companies use to find talent
  • What makes a good resume
  • Interview formats (phone screens, whiteboards, pairing and coding exercises)
  • Types of questions asked in interviews
  • Value of degrees, certifications, online learning programs
  • Value of GitHub/coding samples and open source contributions

PANEL MEMBERS:

Jim Carroll (Nokia), Joe Campbell (Comcast, ING DIRECT), John Schaefer (ThingWorx), Keith Gregory (Chariot Solutions), Kyle Burton (Relay Network), Michael Geiser (eBay Enterprise), Tom Janofsky (Monetate)

Moderated by Dave Fecak

MEETING SLIDES:  None