As Information Technology evolves and improves, the demands of industry and the internet continue to challenge its capabilities. Today's 'Internet of Things', with millions of devices reporting their status on the network every second, produces massive streams of events. Getting the information in these events consumed and correlated so that it can be used to make routing and processing decisions on related events is particularly challenging. As the data demands of these processes increases, traditional client-server architectures begin to fail. Combining event processing with patterns and knowledge gleamed from Big Data models enables whole new kinds of real-time applications. Spring Integration and other Spring projects play a big role in this new paradigm, adding developer productivity and ease of integration into the mix. Lyndon will discuss and demonstrate the architectural decisions and use cases that occur when Fast Data meets Big Data.
This is a higher level presentation on how to build browser-based, WebSocket-style applications. If you prefer a proper introduction to WebSocket including RFC specs, browser support, JSR 356, Spring support, and more, attend the previous presentation Intro To WebSocket Applications with Spring Framework 4.0 or attend both sessions. They are meant to be complementary.
So, you've written a "Hello world!" WebSocket application or perhaps even a chat sample. You're able to exchange messages even in pre-Servlet 3.1 containers and pre-IE 10 browsers (that don't yet support WebSocket) thanks to the SockJS protocol and Spring's support for it. However a message is a blank page that can have any content. Whatever message format you choose, proprietary or standard, both client and server need to understand it as well as distinguish different kinds of messages. You need support for the publish-subscribe pattern, central to messaging applications so you can broadcast messages to a single subscriber, to a subset, or to all subscribers. You need to incorporate security, validation, and so on. In short you need to build a real-world application.
If you're used to web applications (and Spring MVC annotated controllers) you are familiar with the foundation that HTTP provides including URLs (nouns), HTTP methods (verbs), headers, parameters, and others. Imagine building an application without HTTP, just a socket. WebSocket gives you this brand new, exciting capability -- full duplex, two-way communication -- yet you no longer have an application-level protocol. Can an entire application be built around a single Endpoint class processing all messages, assuming a single WebSocket connection between browser and server?
Thankfully the WebSocket protocol has a built-in sub-protocol (i.e. higher level protocol) mechanism. In this presentation we'll introduce STOMP, an HTTP inspired simple messaging protocol, and Spring's support for building WebSocket-style messaging applications with it. We'll discuss the new spring-messaging module. We'll show how to map controller methods to client messages through annotations. We'll show how to back your application with a simple in-memory STOMP broker, or a full-scale one (Rabbit, ActiveMQ, etc). How to broadcast to connected clients including broadcasts from stateless HTTP requests. We'll show how to build client-side code using existing libraries such as stomp.js and also cujoJS msgs.js.
As clients have become more capable, developers are revisiting the server-centric page rendering approach and moving the MVC layer, in part or sometimes in whole, onto the client. When building a rich front-end there are an increasing number of choices available. This talk will dive into two emerging choices that are taking the web by storm: AngularJS and Backbone.js. Leaders from both communities will provide an introduction to each technology followed by a round table discussing front-end technology, answering questions from the audience. Special guests from Sencha and cujoJS will join the panel for Q&A.
ETRADE has revamped their SOA platform with RabbitMQ as a core messaging system and Spring Integration as a light weight ESB layer with services written in Java, C and Python based languages. This new container show cases how legacy system can be migrated at the same time introducing more modern frameworks and languages without comprising on performance and scalability factor of new platform.
Hadoop gives us dramatic volume scalability at a cheap price. But core Hadoop is designed for sequential access - write once and read many times; making it impossible to use hadoop from a real-time/online application. Add a distributed in-memory tier in front and you could get the best of two worlds - very high speed, concurrency and the ability to scale to very large volume. We present the seamless integration of in-memory data grids with hadoop to achieve interesting new design patterns - ingesting raw or processed data into hadoop, random read-writes on operational data in memory or massive historical data in Hadoop with O(1) lookup times, zero ETL Map-reduce processing, enabling deep-scale SQL processing on data in Hadoop or the ability to easily output analytic models from hadoop into memory. We introduce and present the ideas and code samples through Pivotal in-memory real-time and the Hadoop platform.
Opening keynote
Join Chris Beams as he dives into http://spring.io - the new spring website. It's chock full of amazing new resources that you can share with your co-workers who might be new to Spring, or simply helping to introduce Spring to those who might not be familiar with it - people coding in other languages, frameworks, or platforms. You've asked us to help make it easier to win the comparisons, and we've listened. Attend this session to get the ammo you need to win that internal bake off.
Spring Data has stared as an umbrella project consisting of many individual modules - per supported data store. While some of these data store modules - like the JPA and MongoDB ones - are maintained by Pivotal engineers a lot of community implementations have popped up lately. They build on the foundations of the Spring Data Core module and expose the Spring Data programming model for others stores.
The session will feature maintainers and contributors of the community modules for Solr (Christoph Strobl), Elasticsearch (Costin Leau), Couchbase (Michael Nitschinger) and MongoDB (Peter Bell), who will talk about the latest and greatest features of the upcoming releases and give an impression of how they used the APIs of Spring Data Core to build the module.
The session will cover various GC tuning techniques, in particular focus on tuning large scale JVM deployments. Come to this session to learn about GC tuning recipe that can give you the best configuration for latency sensitive applications. While predominantly most enterprise class Java workloads can fit into a scaled-out set of JVM instances of less than 4GB JVM heap, there are workloads in the in memory database space that require fairly large JVMs.
As clients have become more capable, developers are revisiting the server-centric page rendering approach and moving the MVC layer, in part or sometimes in whole, onto the client. When building a rich front-end there are an increasing number of choices available. This talk will dive into two emerging choices that are taking the web by storm: AngularJS and Backbone.js. Leaders from both communities will provide an introduction to each technology followed by a round table discussing front-end technology, answering questions from the audience. Special guests from Sencha and cujoJS will join the panel for Q&A.
Reactor was recently made public after a two-year incubation, evolving slowly alongside frameworks like Storm, Akka, Play, GPars or Vert.x. Integrated with Grails starting with version 2.3, Reactor takes the best ideas from several asynchronous toolsets and synthesizes them into a coherent framework that supports a variety of runtime topologies and makes it easy for developers to efficiently leverage their cloud or traditional hardware assets. Reactor is equally at home inside or outside a Spring ApplicationContext and also provides first-class Groovy support in the form of DSLs and language extensions. Special attention has been given to make Reactor easy enough to use to create single-file node.js-like applications, while maintaining a solid asynchronous toolset that works with Big and Fast Data tools like Gemfire, Spring Integration, and Spring Batch. This talk will give Reactor a proper introduction and show sample code that demonstrates the event-driven and composition-based nature of Reactor applications.
Loose coupling. Your web front-end has that, right? Your JavaScript is using pubsub, event emitters, and message buses! Guess again, you can do better.
Aspect Oriented Programming (AOP) is a technique for augmenting the behavior of objects, methods, and functions non-invasively. AOP adds new behaviors and modifies existing behaviors "from the outside". Using AOP, it's possible to create connections between components without either having any knowledge of the other and without any extra library dependencies in your code.
While you may be familiar with AOP in Spring, you may not yet have applied it in JavaScript. In this talk, we'll do just that. We'll introduce simple techniques for applying AOP in pure JavaScript using no additional libraries, and then look at meld.js (https://github.com/cujojs/meld), the AOP library that powers Cujo.js (http://cujojs.com). We'll work from simple examples of making connections between components to more sophisticated examples that integrate pubsub, message buses, etc. in a truly loosely coupled way.
No application is an island and this is more obvious today than ever as applications extend their reach into people's pockets, desktops, tablets, TVs, Blu-ray players and cars. What's a modern developer to do to support these many platforms? In this talk, join Josh Long to learn how Spring can extend your reach through (sometimes Spring Security OAuth-secured) RESTful services exposed through Spring MVC, HTML5 and client-specific rendering thanks to Spring Mobile, and powerful, native support for Android with Spring Android.
The Spring Tool Suite (STS) is constantly evolving to keep pace with developments in Spring as well as the larger world of enterprise application development. This talk focuses on Eclipse-based tooling for the latest features throughout the Spring ecosystem. With plenty of live demos, we'll show you how to get productive quickly with Spring and STS. We''ll start with reviewing areas including XML-free Spring development and then look at early support for specific Spring's next generation features. We'll also demo the Eclipse support for Java 8 (also AspectJ support for Java 8) and spend some time looking at how this enhances your Spring development experience.
In addition to the pure Java-based Spring programming, we will also cover the integration of the Groovy language tooling and show you how to program Spring apps in Groovy using the Spring Tool Suite.
We will then dive into the details of the tooling to demonstrate a number of hidden gems that help you improve your productivity every day, like the built-in validations and best practices, quick-fixes, auto-completions, and automated refactorings.
Last, but not least, we will review some of the performance improvements made recently in Spring Tool Suite.
The proliferation of mobile devices poses challenges for corporate IT departments. End users want to choose their own device, but also want to access corporate web applications, but the need for security often means that they have to surrender management of their device to their IT department. With this in mind, we've created Sencha Space -- a secure and managed environment for deploying HTML5 business applications that run on multiple devices. During this session, Sencha's Sr. Developer Evangelist, Greg Rewis, will discuss the Sencha Space SDK’s device-level options for secure data storage, as well as show you how to implement the Invoke API to connect web applications with one another. You’ll also experience how easily applications can be centrally managed without the need to access the device.
Much like Spring burst onto the scene and became a defacto standard for Java, Sencha is vying for a similar role in the world of HTML5. From Ext JS for desktop development, Sencha Touch for mobile, and Sencha Architect as a design tool, it has become a pervasive technology in the new paradigm of multi-client development.
In this session we will use our own SpringTrader reference application to illustrate integration techniques of Spring with Sencha. We will go beyond the basic wiring of a REST call with binding results to UI components, and look at mapping the Spring MVC and Sencha MVC architectures, along with other tips and tricks to streamline your mobile application development efforts.
How much visibility do you really have into your Spring applications? How effectively are you capturing,harnessing and correlating the logs, metrics, & messages from your Spring applications that can be used to deliver this visibility ? What tools and techniques are you providing your Spring developers with to better create and utilize this mass of machine data ? In this session I'll answer these questions and show how Splunk can be used to not only provide historical and realtime visibility into your Spring applications , but also as a platform that developers can use to become more "devops effective" & easily create custom big data integrations and standalone solutions.I'll discuss and demonstrate many of Splunk's Java apps,frameworks and SDK and also cover the Spring Integration Adaptors for Splunk.
The repository abstraction layer is one of the core pieces of the Spring Data projects. It provides a consistent, interface-based programming model to allow implementing data access layers easily for relational and NoSQL databases. We will have a look at the lessons learned from the application of it in various customer projects and summarize best practices for you to apply in your projects. The session will also discuss advanced features like the Querydsl integration, the integration of custom implementation code as well as hooks into Spring MVC and Spring HATEOAS.
We've had powerful Rules Engines and Complex Event Processing for a good decade now and there are several powerful ones on the market, some even open source. Many of these engines though have been build around single albeit efficient applications running on a single machine. As we take Big Data head on we start to see the need to rules that we can distribute and complex events processing across our distributed system. Combining Pivotal's GemFire and C24's Integration Objects, naturally glued together with a little Spring, we can process millions of complex events in seconds. John will walk through some of the design and use-cases of these powerful system.
As you find it in the open-source codebase, Cloud Foundry includes a set of prepackaged services (Postgres, MySQL, Redis, MongoDB and RabbitMQ) and a number of application runtimes (Java, Ruby and Node.js). In addition, CloudFoundry.com integrates with a number of external service providers through a services gateway. When you are deploying your own Cloud Foundry you can extend the existing open-source features by adding additional services and runtime support. In fact, you can bring your own runtime to any Cloud Foundry (including CloudFoundry.com) via buildpacks. In this session we will show you how to build and deploy, or broker custom services. We will also introduce you to buildpacks, show you how to create your own, and how to get your apps to use them.
This talk is a live version of my blog posts on performance-tuning the Spring Petclinic application: http://blog.ippon.fr/tag/spring-petclinic/
We will talk about JVM locks, Web application performance best practices, JDBC vs JPA, and caching We will see how to use effectively tools such as JMeter, Yourkit and Intellij IDEA to quickly solve performance issues We will also explain the methodology used, so you can follow the same steps on your own applications
Much like Spring burst onto the scene and became a defacto standard for Java, Sencha is vying for a similar role in the world of HTML5. From Ext JS for desktop development, Sencha Touch for mobile, and Sencha Architect as a design tool, it has become a pervasive technology in the new paradigm of multi-client development.
In this session we will use our own SpringTrader reference application to illustrate integration techniques of Spring with Sencha. We will go beyond the basic wiring of a REST call with binding results to UI components, and look at mapping the Spring MVC and Sencha MVC architectures, along with other tips and tricks to streamline your mobile application development efforts.
keynote
Big Data is all the rage, but building real-world big data solutions can fill developers with rage. While Hadoop provides the de-facto foundation for storing and processing data, real-world scenarios require much more. Capabilities like data ingestion and export, real-time analytics, workflow management, and connectivity with existing enterprise systems are essential. Today, solutions for these capabilities are often limited, inconsistent, and hard to use. In this session we introduce Spring XD, a unified and extensible system that drastically reduces the complexity of building big data solutions.
The repository abstraction layer is one of the core pieces of the Spring Data projects. It provides a consistent, interface-based programming model to allow implementing data access layers easily for relational and NoSQL databases. We will have a look at the lessons learned from the application of it in various customer projects and summarize best practices for you to apply in your projects. The session will also discuss advanced features like the Querydsl integration, the integration of custom implementation code as well as hooks into Spring MVC and Spring HATEOAS.
Spring MVC forms a solid foundation to implement REST based web-services in Java. However, in real-world projects developers still face challenges when it comes to advanced questions of REST. How to really leverage hypermedia? How to model more complex business functionality with REST. The talk introduces the Spring RESTBucks sample implementation of a hypermedia-driven REST web service and explains how it is using hypermedia elements to implement business processes and how Spring technologies (Spring Data REST, Spring Data JPA and Spring HATEOAS) help developers building the system.
As the complexity of web and mobile apps increases, so does the importance of ensuring that your client-side resources load and execute in an optimal and efficient manner. Differences in resource loading techniques can have a dramatic impact on how fast an application feels to your users, and can be the catalyst for whether they have a joyful or frustrating experience. This talk will discuss performance techniques aimed at keeping your users on the joyful end of this user experience spectrum.
We'll take a look at:
Pragmatic tools for measuring client-side performance
Techniques for optimizing resources and their resulting impact
Approaches to maximizing dev-time happiness and production performance
Easy incorporation of these techniques into your everyday tool-chain
Cancer/life science drug research models are very rich in relationships, relationship heterogeneity and entity inter-dependencies. Most entity metadata is dynamic and unpredictable making it difficult to fit such models in traditional relational landscape. Redbasin Networks uses a hybrid Nosql strategy that supports composite and rich document metadata that is interconnected pervasively. Cancer and life science data is excessively nested. You will find this useful if you are building complex engineering and/or scientific applications, and need insights on how to merge data from many diverse data-sets and map it to an intuitive and effective graph database model.
We will show using code examples how complex metadata can be engineered using Spring, Neo4J and Mongo, to create useful drug insights for the drug researcher, and also provide a platform for technologists to build sophisticated life science applications.
As data-driven applications become more widespread, the services that provide the data are becoming more critical. Most commonly these data services are exposed via REST-ful APIs. This session describes what exactly makes a service REST-ful, how to implement a REST-ful API using Spring, and how to test that API.
As REST-ful data services become more widespread, it is becoming clear that they have to change to suit new consumer needs. This evolution is often disruptive to consumers, but it doesn't have to be. This session, a follow up to ‘REST-ful API Design’, discusses various strategies for evolving a REST-ful API and how the strategies can be implemented using Spring.
So you've been toying around with JavaScript. You have a basic feel for the language but don't quiet feel productive, yet. If so, this talk is for you. We'll peel away the abstractions, libraries, and frameworks to uncover the more interesting fundamentals of JavaScript. Specifically, we'll delve into the following:
thisRunning applications in the cloud presents a set of interesting new problems, constraints and opportunities. In this talk, attendees will learn how best to deploy, run and manage their Spring applications in the Amazon cloud.
Covering everything from basic applications in Amazon Beanstalk to large-scale applications that span multiple regions and interact closely with on-premise resources, this talk will equip attendees with the knowledge they need to be successful running Spring in the cloud.
Cloud Foundry makes managing and deploying applications incredibly simple. However, deploying Cloud Foundry itself can be a challenging task. We will be sharing what we learned deploying Cloud Foundry and what it took to win over our organization.
Learn from our experiences deploying Cloud Foundry with BOSH and integrating with our existing enterprise infrastructure. We will discuss:
Developing and customizing Cloud Foundry while staying in sync with the open source repositories Building custom Cloud Foundry services using Java and Spring Improved gathering application diagnostics by simplifying JMX and remote debugging support in Cloud Foundry Enhanced security and auditability with application level firewalls
Come learn from our successes as well as our mistakes.
This talk is for everyone who wants to efficiently use Spring Batch and Spring Integration together. Users of Spring Batch often have the requirements to interact with other systems, to schedule the periodic execution Batch jobs and to monitor the execution of Batch jobs. Conversely, Spring Integration users periodically have Big Data processing requirements, be it for example the handling of large traditional batch files or the execution of Apache Hadoop jobs. For these scenarios, Spring Batch is the ideal solution. This session will introduce Spring Batch Integration, a project that provides support to easily tie Spring Batch and Spring Integration together. We will cover the following scenarios:
Opening keynote
Spring has a track record of providing dedicated support for new Java generations in a timely fashion, and now it's right about time to go Java 8: With Spring Framework 4.0, we're providing in-depth support for all relevant OpenJDK 8 features, including lambda expressions, JSR-310 Date and Time, parameter name discovery, and java.util.concurrent enhancements. This talk will illustrate selected Java 8 features within Spring's programming model and explore the impact on application architectures.
In recent years, the Spring Framework focuses on flexible and powerful Java-based configuration. This talk presents Spring as an annotation-oriented application framework, illustrating the rich set of features that Spring has to offer for modern component design. General component model trends will be discussed along with selected Spring feature highlights, such as standardized annotations for dependency injection, stereotypes, and declarative services such as validation and scheduling.
Spring Data Neo4j in its 2.x version is a mature implementation of an object graph mapping framework, that both closely integrates with the Spring Framework and also offers unique modeling and querying opportunities by having chosen the property graph data model. This talk presents how several Neo Technology customers already put Spring Data Neo4j into production. They stem from a variety of domains – gaming, server center monitoring, education, appliance management, energy market simulation and more. Based on those use-cases we discuss how to implement real-world applications with Spring Data Neo4j and the Spring Framework. First we want to discuss the business problems they had to solve and why a graph database was a good fit for them. After a quick intro to Spring Data Neo4j and Neo4j, we will talk about modeling choices and the benefits and implications of choosing a rich data model. We'll follow the example domains into code, from annotated domain entities, to the usage of the powerful repository abstractions. Showing how to use Neo4jTemplate to implement some lower level functionality will round off the core library usage. Building on this, we look into the integration aspects, how Spring Data Neo4j can be combined with other Spring projects, like Spring Data MongoDB, Spring Data REST, and Spring Batch. A quick demonstration shows on how to access Spring Data Neo4j from the (Web)-UI layer. The talk will close of with a glimpse into the future: Neo4j added some very interesting features in its 2.0 release. From node labels, automatic indexes and constraints to a transactional http endpoint for Cypher. These changes make it possible to rethink some aspects of Spring Data Neo4j, like type representation and indexing. But also some bigger ideas for changes ahead like basing the object graph mapping completely on Neo4j's Cypher Graph Query Language will be touched.
Cancer/life science drug research models are very rich in relationships, relationship heterogeneity and entity inter-dependencies. Most entity metadata is dynamic and unpredictable making it difficult to fit such models in traditional relational landscape. Redbasin Networks uses a hybrid Nosql strategy that supports composite and rich document metadata that is interconnected pervasively. Cancer and life science data is excessively nested. You will find this useful if you are building complex engineering and/or scientific applications, and need insights on how to merge data from many diverse data-sets and map it to an intuitive and effective graph database model.
We will show using code examples how complex metadata can be engineered using Spring, Neo4J and Mongo, to create useful drug insights for the drug researcher, and also provide a platform for technologists to build sophisticated life science applications.
The Spring Framework is one of the most popular Java frameworks used today. While it is possible to use Spring in Scala, it does feel awkward in certain places, because of the "Javaism" peering through. For instance, using callback interfaces feels strange in Scala; functions would be a better match.
Spring Data has stared as an umbrella project consisting of many individual modules - per supported data store. While some of these data store modules - like the JPA and MongoDB ones - are maintained by Pivotal engineers a lot of community implementations have popped up lately. They build on the foundations of the Spring Data Core module and expose the Spring Data programming model for others stores.
The session will feature maintainers and contributors of the community modules for Solr (Christoph Strobl), Elasticsearch (Costin Leau), Couchbase (Michael Nitschinger) and MongoDB (Peter Bell), who will talk about the latest and greatest features of the upcoming releases and give an impression of how they used the APIs of Spring Data Core to build the module.
Finding relevant information fast has always been a challenge, even more so in today's growing "oceans" of data. This talk explores the area of real-time full text search, using Elasticsearch, an open-source, distributed search engine built on top of Apache Lucene. The session will showcase how to perform real-time searches on structured and non-structured data alike, how to cope with types and suggestions, do social graph filters and aggregations for efficient analytics. All from a Spring perspective Last but not least, the presentation focuses on the Hadoop platform and how Map/Reduce, Hive, Pig or Cascading jobs can leverage a search engine to significantly speed up execution and enhance their capabilities.
The presentation covers architectural topics such as index scalability, data locality and partitioning, using off and on-premise storages (HDFS, S3, local file-systems) and multi-tenancy.
Cloud Foundry makes it easy to push an app, bind services to it, and scale it. Cloud Foundry takes care of the all the infrastructure and network plumbing that you need to run your applications and can do this while patching and updating systems and services without any downtime. This session will provide a deep technical tour of the architecture behind the latest vesion of Cloud Foundry that makes all this possible and will provide insights for anyone interested in large scale distributed systems.
SAS® Institute has a large portfolio of Java EE applications. SAS had previously provided support to deploy and run all of these applications in WebLogic, WebSphere and JBoss. Beginning with SAS 9.4, which was released in July 2013, SAS updated its infrastructure and middle tier platform to deliver and run on Pivotal tc Server. In this talk, we will discuss the motivation, technology selection, architecture, system administration, automated installation and configuration, etc., that SAS used to improve value for its customers.
Want Spring seamlessly available inside a CMS? How about being able to integrate existing Spring apps into your CMS without rewriting a bunch of code? What about a robust CMS solution for Grails? Meet Magnolia, a mature open source CMS written in Java on the best of the Java stack (including Spring and Groovy.)
This session will introduce Magnolia's Spring integration and give you a tour of its architecture, key features and use. Along the way, you'll also get insights into the development of Magnolia's Spring integration, an overview of Magnolia's key features (like workflows, innovative multi-channel support and a damn fine user experience that includes touch devices), and brief tutorials on solving some key content management challenges faced by Spring developers. There will also be a quick detour into Magnolia's Groovy shell and MagLev, a Grails plugin for Magnolia.
The Spring Tool Suite (STS) is constantly evolving to keep pace with developments in Spring as well as the larger world of enterprise application development. This talk focuses on Eclipse-based tooling for the latest features throughout the Spring ecosystem. With plenty of live demos, we'll show you how to get productive quickly with Spring and STS. We''ll start with reviewing areas including XML-free Spring development and then look at early support for specific Spring's next generation features. We'll also demo the Eclipse support for Java 8 (also AspectJ support for Java 8) and spend some time looking at how this enhances your Spring development experience.
In addition to the pure Java-based Spring programming, we will also cover the integration of the Groovy language tooling and show you how to program Spring apps in Groovy using the Spring Tool Suite.
We will then dive into the details of the tooling to demonstrate a number of hidden gems that help you improve your productivity every day, like the built-in validations and best practices, quick-fixes, auto-completions, and automated refactorings.
Last, but not least, we will review some of the performance improvements made recently in Spring Tool Suite.
No application is an island and this is more obvious today than ever as applications extend their reach into people's pockets, desktops, tablets, TVs, Blu-ray players and cars. What's a modern developer to do to support these many platforms? In this talk, join Josh Long to learn how Spring can extend your reach through (sometimes Spring Security OAuth-secured) RESTful services exposed through Spring MVC, HTML5 and client-specific rendering thanks to Spring Mobile, and powerful, native support for Android with Spring Android.
Let's face it, the cloud is here to stay. The cloud's potential can seem sometimes overwhelming, but it doesn't have to if you use Spring. Spring - and the various Spring projects - already embrace the architecture characteristics that make for great, cloud-centric applications in any environment. While Spring works well on any cloud platform, it enjoys a special place in the sun on Cloud Foundry, the open source PaaS from Pivotal.
It’d be nice to assume everything remains the same from one environment to another, but the realities of today’s deployment targets (clouds, app servers, etc.) make this difficult. An application may target one in-memory database in development and target a traditional database in production. A/B testing is a common practice that lets you incrementally expose potentially high risk features. Feature switches can be invaluable; should something go wrong, you can revert to a known state. All of these use cases, and more, can be handled using the Spring framework.
Using a module that provides a Spring XML namespace and integration API is muscle memory for most people: add the .xsd to the imported XML schemas for the configuration file, maybe enable a annotation-driven variant if it's available, autocomplete some XML stanzas, and then you're set! But what about Java configuration? Java configuration has been around in some form since at least 2005. It was merged into the core framework in 2009 and since then we've seen a slew of new Java configuration-powered DSLs pop up. 2013, in particular, has seen alpha-or-better cuts of Java configuration support for Spring MVC, Spring Security (and Spring Security OAuth), Spring Batch, Spring Social, Spring Data (including all the modules under it: REST, MongoDB, JPA, Neo4j, Redis, etc), Spring HATEOAS, and more all provide milestone-or-better cuts of a Java configuration integration. Tomcat 7 (and all Servlet 3-compatible containers) offer a programmatic alternative to web.xml. This provides another great integration hook for modules that wish to integrate with the web container, removing the configuration burden from the user. There's a lot of power here and it's easy to get started if you know what to look for. In this talk, join Spring Developer Advocate Josh Long and Spring-core commmitter, all-around nice guy, and Spring Boot ninja Phil Webb as they introduce the Java configuration support in the various Spring projects, show how to approach them when integrating them into your code, and - if the situation demands - how to write your own Java configuration DSL.
Jan will show how to use RabbitMQ to connect components on different platforms. After a few introductory slides explaining the main concepts, the rest of the talk will be live code. The coding will begin by showing Spring Integration code to connect to RabbitMQ to send and receive messages--think byte[] values back and forth to start with. Jan will then show the real power of RabbitMQ by replacing the RPC server component by native code in C++: we will write image processing component. To make matters even better--faster--we will then use CUDA to perform the image processing. Come to Jan's talk and demo if you want to find out how to use RabbitMQ in the core of your application, especially if your application needs to tie together code on completely different platforms and if it performs heavy number crunching or image processing. You do not need to have deep knowledge of Spring Integration, AMQP or OpenCV, …; all that you will need is your inner geek.
Reactor was recently made public after a two-year incubation, evolving slowly alongside frameworks like Storm, Akka, Play, GPars or Vert.x. Integrated with Grails starting with version 2.3, Reactor takes the best ideas from several asynchronous toolsets and synthesizes them into a coherent framework that supports a variety of runtime topologies and makes it easy for developers to efficiently leverage their cloud or traditional hardware assets. Reactor is equally at home inside or outside a Spring ApplicationContext and also provides first-class Groovy support in the form of DSLs and language extensions. Special attention has been given to make Reactor easy enough to use to create single-file node.js-like applications, while maintaining a solid asynchronous toolset that works with Big and Fast Data tools like Gemfire, Spring Integration, and Spring Batch. This talk will give Reactor a proper introduction and show sample code that demonstrates the event-driven and composition-based nature of Reactor applications.
Want Spring seamlessly available inside a CMS? How about being able to integrate existing Spring apps into your CMS without rewriting a bunch of code? What about a robust CMS solution for Grails? Meet Magnolia, a mature open source CMS written in Java on the best of the Java stack (including Spring and Groovy.)
This session will introduce Magnolia's Spring integration and give you a tour of its architecture, key features and use. Along the way, you'll also get insights into the development of Magnolia's Spring integration, an overview of Magnolia's key features (like workflows, innovative multi-channel support and a damn fine user experience that includes touch devices), and brief tutorials on solving some key content management challenges faced by Spring developers. There will also be a quick detour into Magnolia's Groovy shell and MagLev, a Grails plugin for Magnolia.
Apache Tomcat 8 will implement new versions of the Servlet, JSP and EL specifications as well as adding support for the new WebSocket specification. Work is also planned for internal refactoring in a number of areas that will impact a number of Tomcat specific features. This presentation will provide an overview of the changes and new features introduced by both the updated specifications and the Tomcat specific changes. With the first stable Tomcat 8 release expected towards the middle of 2013 (once the Java EE 7 specifications are finalised) this session will enable attendees to identify the Tomcat 8 features of greatest interest to them and provide them with the information required to start planning their migration to Tomcat 8.
This talk is for everyone who wants to efficiently use Spring Batch and Spring Integration together. Users of Spring Batch often have the requirements to interact with other systems, to schedule the periodic execution Batch jobs and to monitor the execution of Batch jobs. Conversely, Spring Integration users periodically have Big Data processing requirements, be it for example the handling of large traditional batch files or the execution of Apache Hadoop jobs. For these scenarios, Spring Batch is the ideal solution. This session will introduce Spring Batch Integration, a project that provides support to easily tie Spring Batch and Spring Integration together. We will cover the following scenarios:
JSR-352 is billed as bringing a standardized batch programming model to Java. What does the spec provide, what does it not, and what does it mean for Spring Batch applications? We will address all of these questions as well as provide insight into how Spring Batch will work with the JSR in a real world example.
Cloud Foundry makes it easy to push an app, bind services to it, and scale it. Cloud Foundry takes care of the all the infrastructure and network plumbing that you need to run your applications and can do this while patching and updating systems and services without any downtime. This session will provide a deep technical tour of the architecture behind the latest vesion of Cloud Foundry that makes all this possible and will provide insights for anyone interested in large scale distributed systems.
Cloud Foundry makes managing and deploying applications incredibly simple. However, deploying Cloud Foundry itself can be a challenging task. We will be sharing what we learned deploying Cloud Foundry and what it took to win over our organization.
Learn from our experiences deploying Cloud Foundry with BOSH and integrating with our existing enterprise infrastructure. We will discuss:
Developing and customizing Cloud Foundry while staying in sync with the open source repositories Building custom Cloud Foundry services using Java and Spring Improved gathering application diagnostics by simplifying JMX and remote debugging support in Cloud Foundry Enhanced security and auditability with application level firewalls
Come learn from our successes as well as our mistakes.
As clients have become more capable, developers are revisiting the server-centric page rendering approach and moving the MVC layer, in part or sometimes in whole, onto the client. When building a rich front-end there are an increasing number of choices available. This talk will dive into two emerging choices that are taking the web by storm: AngularJS and Backbone.js. Leaders from both communities will provide an introduction to each technology followed by a round table discussing front-end technology, answering questions from the audience. Special guests from Sencha and cujoJS will join the panel for Q&A.
It’d be nice to assume everything remains the same from one environment to another, but the realities of today’s deployment targets (clouds, app servers, etc.) make this difficult. An application may target one in-memory database in development and target a traditional database in production. A/B testing is a common practice that lets you incrementally expose potentially high risk features. Feature switches can be invaluable; should something go wrong, you can revert to a known state. All of these use cases, and more, can be handled using the Spring framework.
Spring Data has stared as an umbrella project consisting of many individual modules - per supported data store. While some of these data store modules - like the JPA and MongoDB ones - are maintained by Pivotal engineers a lot of community implementations have popped up lately. They build on the foundations of the Spring Data Core module and expose the Spring Data programming model for others stores.
The session will feature maintainers and contributors of the community modules for Solr (Christoph Strobl), Elasticsearch (Costin Leau), Couchbase (Michael Nitschinger) and MongoDB (Peter Bell), who will talk about the latest and greatest features of the upcoming releases and give an impression of how they used the APIs of Spring Data Core to build the module.
Let's face it, the cloud is here to stay. The cloud's potential can seem sometimes overwhelming, but it doesn't have to if you use Spring. Spring - and the various Spring projects - already embrace the architecture characteristics that make for great, cloud-centric applications in any environment. While Spring works well on any cloud platform, it enjoys a special place in the sun on Cloud Foundry, the open source PaaS from Pivotal.
keynote
Big Data is all the rage, but building real-world big data solutions can fill developers with rage. While Hadoop provides the de-facto foundation for storing and processing data, real-world scenarios require much more. Capabilities like data ingestion and export, real-time analytics, workflow management, and connectivity with existing enterprise systems are essential. Today, solutions for these capabilities are often limited, inconsistent, and hard to use. In this session we introduce Spring XD, a unified and extensible system that drastically reduces the complexity of building big data solutions.
The Spring Framework is one of the most popular Java frameworks used today. While it is possible to use Spring in Scala, it does feel awkward in certain places, because of the "Javaism" peering through. For instance, using callback interfaces feels strange in Scala; functions would be a better match.
Operations teams tend to get nervous when debugging tools are installed on production systems. This is understandable as most people have had at least one debugging tool crash a system. However, are there tools that can be run in a production environment?
This talk will cover methods and tools that can be used to uncover and resolve performance problems arising in Java web applications that use the Spring Framework. This talk will touch on a few common problems such as slow SQL, slow web page load times, blocked threads, and exceptions in the code. It will use a variety of diagnostic tools to examine these problems including log files, jmap, jvisualvm, and New Relic. Finally, the talk will evaluate the use of these tools in a production environment, separating them into what can and cannot be realistically used in live production web applications
With the disconnect between the languages of the web (HTML, CSS, Javascript) and the languages of the server (Java, Groovy, Scala, etc), many libraries and frameworks have been invented over the years to fill this void, often resulting in views filled with back-end code, views filled with specialized syntaxes, or even the invention of completely new view languages abstractions; all for the purpose of transforming our server-side ideas into HTML, and few of which actually look like the HTML that it ends up as.
Enter Thymeleaf - a templating framework that uses HTML to create good old HTML.
In this presentation, you'll be introduced to Thymeleaf, some of its features, how you can use it in your Spring web projects, the growing ecosystem being developed around it, and how it uses natural templates to keep the web designer on your team, and inside each and every one of us, happy.
Hadoop gives us dramatic volume scalability at a cheap price. But core Hadoop is designed for sequential access - write once and read many times; making it impossible to use hadoop from a real-time/online application. Add a distributed in-memory tier in front and you could get the best of two worlds - very high speed, concurrency and the ability to scale to very large volume. We present the seamless integration of in-memory data grids with hadoop to achieve interesting new design patterns - ingesting raw or processed data into hadoop, random read-writes on operational data in memory or massive historical data in Hadoop with O(1) lookup times, zero ETL Map-reduce processing, enabling deep-scale SQL processing on data in Hadoop or the ability to easily output analytic models from hadoop into memory. We introduce and present the ideas and code samples through Pivotal in-memory real-time and the Hadoop platform.
By now you should have heard about coupling and cohesiveness. These concepts, and their third cousin, polymorphism, is what we as developers chase day-in and day-out. They tease us with reusability and the promise of comprehensiveness of our code. They entice us with promises of code quality and testability. They came in the form of "Object Oriented' design, followed by GoF and SOLID Design Patterns, DDD, BDD.. but none of them delivered what they promised. Now, the new kids on the block are Functional Programming and Modularity Patterns.
What happens when you choose to go through large refactoring exercise on the back of Modularity Patterns, in a large, complex enterprise project? The journey was long, arduous and gruesome. On the way, I made many enemies and found some new friends. This talk will highlight the issues, both technical and otherwise, and how it was overcome; where did Spring help and where did it hurt. In the end, was it worth it? Come to this session and you will find out.
A modular, polyglot architecture has many advantages but it also adds complexity since each incoming request typically fans out to multiple distributed services. For example, in an online store application the information on a product details page - description, price, recommendations, etc - comes from numerous services. To minimize response time and improve scalability, these services must be invoked concurrently. However, traditional concurrency mechanisms are low-level, painful to use and error-prone.
In this talk you will learn about some powerful yet easy to use abstractions for consuming web services asynchronously. We will compare the various implementations of futures that are available in Java, Scala and JavaScript. You will learn how to use reactive observables, which are asynchronous data streams, to access web services from both Java and JavaScript. We will describe how these mechanisms let you write asynchronous code in a very straightforward, declarative fashion.
Big data and Hadoop is widely considered to be the next generation data platform. Hadoop is notoriously difficult to work with and just diving in and starting coding can easily lead to frustration. A better way is to leverage your existing Java and Spring skills to take advantage of these new technologies. In this presentation we will introduce Spring Data for Apache Hadoop and see how it can make working with Hadoop easier. We will also cover several ways to install a small Hadoop cluster that can be used to test your new Hadoop applications.
A comprehensive review of message routing within a flow - including
exactly how and when replyChannel and errorChannel headers are used
how and when these headers apply in an error flow
differences between synchronous and asynchronous processing (with task executors and pollers)
Use of SpEL (for messagemethod mapping as well as certain "dynamic" config attributes)
Type conversion (via SpEL, datatype channels, etc)
Implicitly created channels
How chains work
How messages are mapped to methods when a message arrives at a component
How gateway methods are mapped to messages (and a first look at some enhancements we are considering)
Options for synchronous and asynchronous flows
How to debug Spring Integration applications
Advanced configuration techniques
and more...
Is it possible to decrease the turn-around time of your test suite? How can you make sure that your tests execute independently? Is it possible to automatically verify that the database schema is kept in sync with the source code? What are the trade-offs? In this presentation, you will learn how to apply features such as the Spring MVC Test Framework, Spring profiles, and embedded databases, to automate and improve your test suite, thus improving the overall quality of your project. A simplistic Spring web app will be used to show some practical code examples.
This session assumes absolutely no knowledge of Apache Hadoop and will provide a complete introduction to all the major aspects of the Hadoop ecosystem of projects and tools. If you are looking to get up to speed on Hadoop, trying to work out what all the Big Data fuss is about, or just interested in brushing up your understanding of MapReduce, then this is the session for you. We will cover all the basics with detailed discussion about HDFS, MapReduce, YARN (MRv2), and a broad overview of the Hadoop ecosystem including Hive, Pig, HBase, ZooKeeper and more.
Developing freemium which involves OSS is not a trivial task. From one side, you need to prevent premium code from working in your free modules, and do it gracefully - without errors and performance degradation. From other side, your OSS core must be easily accessible to the premium modules.
Partial public availability of the code and unified continuous delivery process for two different versions of the product is also challenging.
In this talk we’ll showcase Artifactory, which successfully combines OSS and Pro versions by heavily relying on flexible dependency injection mechanics, available in Spring. We will talk about developing, building, testing and releasing hybrid freemium application and will review the existing approaches, discussing pros and cons of each of them.
Relying on network reliability and topology are just a few mistakes most engineers make. Common fallacies of distributed computing are one of the most important factors that engineers need to keep in mind when building enterprise software. We will cover each fallacy while showing mistakes most engineers make.
We will then cover what coupling truly means and how to tell whether your current project is heading the wrong way.
Finally, we will apply aspects of object orientation that held up to this day and learn how to apply them to the new age architectures.
Readers of Josh Bloch's "Effective Java" are sometimes perplexed when they reach Item #15: "Minimize Mutability." If we are to minimize mutability, then obviously we must maximize immutability. While all Java programmers utilize immutable objects every day (e.g. java.lang.String), when asked to create our own immutable classes, we often hesitate. However, if we push through this hesitation, we'll reap the benefits of simpler reasoning about program correctness, free thread safety, and other benefits.
One of the primary issues faced by enterprise Java programmers seeking to utilize immutable classes are framework issues. Enterprise frameworks from Spring to Hibernate have varying levels of support for immutability, ranging from decent to nonexistent. However, there several practical solutions available to the Spring developer, and this session will illuminate what's available.
This session will focus on how you can build your very own Cloud Foundry private PaaS running in your own data center or on AWS or even on OpenStack on your own Mac mini. You will learn how the Cloud Foundry BOSH tool constructs a full Cloud Foundry instance from a bare bones virtual machine and continues to coordinate and manage the entire PaaS cloud once it is operational. If you want the convenience of developing against your own private custom PaaS within your company, then this session will give you all the steps you need to get started.
Last year's Intro to WebSocket presentation was as much about introducing WebSocket -- including specs, browser availability, server support -- as it was about summarizing short and long term challenges surrounding its use and leaving many open questions. What a world of difference a year can make!
This update to last year's presentation, covers the new standard Java WebSocket API (JSR-356) including a discussion of positives and limitations, an update on the current status of WebSocket support across Servlet containers, and of course the Spring Framework 4.0 WebSocket support -- how to configure and use it and what additional benefits it provides. A central part of this is Spring's support for SockJS, the protocol for transparent WebSocket fallback options for use in applications that for example need to run in IE < 10.
This presentation is for you if you want a comprehensive introduction to WebSocket including standard Java EE 7 and Spring Framework 4.0 support. For a more practical take on how to actually build WebSocket-style applications that skips the introduction, please attend the next presentation Building WebSocket Browser Applications with Spring by Rossen Stoyanchev and Scott Andrews, or attend both presentations. They are intended to be complementary.
This is a higher level presentation on how to build browser-based, WebSocket-style applications. If you prefer a proper introduction to WebSocket including RFC specs, browser support, JSR 356, Spring support, and more, attend the previous presentation Intro To WebSocket Applications with Spring Framework 4.0 or attend both sessions. They are meant to be complementary.
So, you've written a "Hello world!" WebSocket application or perhaps even a chat sample. You're able to exchange messages even in pre-Servlet 3.1 containers and pre-IE 10 browsers (that don't yet support WebSocket) thanks to the SockJS protocol and Spring's support for it. However a message is a blank page that can have any content. Whatever message format you choose, proprietary or standard, both client and server need to understand it as well as distinguish different kinds of messages. You need support for the publish-subscribe pattern, central to messaging applications so you can broadcast messages to a single subscriber, to a subset, or to all subscribers. You need to incorporate security, validation, and so on. In short you need to build a real-world application.
If you're used to web applications (and Spring MVC annotated controllers) you are familiar with the foundation that HTTP provides including URLs (nouns), HTTP methods (verbs), headers, parameters, and others. Imagine building an application without HTTP, just a socket. WebSocket gives you this brand new, exciting capability -- full duplex, two-way communication -- yet you no longer have an application-level protocol. Can an entire application be built around a single Endpoint class processing all messages, assuming a single WebSocket connection between browser and server?
Thankfully the WebSocket protocol has a built-in sub-protocol (i.e. higher level protocol) mechanism. In this presentation we'll introduce STOMP, an HTTP inspired simple messaging protocol, and Spring's support for building WebSocket-style messaging applications with it. We'll discuss the new spring-messaging module. We'll show how to map controller methods to client messages through annotations. We'll show how to back your application with a simple in-memory STOMP broker, or a full-scale one (Rabbit, ActiveMQ, etc). How to broadcast to connected clients including broadcasts from stateless HTTP requests. We'll show how to build client-side code using existing libraries such as stomp.js and also cujoJS msgs.js.
Spring Data has stared as an umbrella project consisting of many individual modules - per supported data store. While some of these data store modules - like the JPA and MongoDB ones - are maintained by Pivotal engineers a lot of community implementations have popped up lately. They build on the foundations of the Spring Data Core module and expose the Spring Data programming model for others stores.
The session will feature maintainers and contributors of the community modules for Solr (Christoph Strobl), Elasticsearch (Costin Leau), Couchbase (Michael Nitschinger) and MongoDB (Peter Bell), who will talk about the latest and greatest features of the upcoming releases and give an impression of how they used the APIs of Spring Data Core to build the module.
Opening keynote
Are you an impatient programmer who wishes the keyboard could keep up with you? If you've ever wished Java and Spring could do more to keep up, then this is the place to be. We present Spring Boot, a toolkit and runtime platform that will get you up and running with Spring-powered, production-grade applications and services faster than you believed possible. The goals are:
The OAuth2 specification (wisely) leaves a lot of areas open to interpretation and implementation details, so there are a lot of opportunities to impose interpretations on the flows and the underlying data. This presentation starts with a basic guide to the main features of OAuth2 and then goes on to show, with examples, how they can be exploited to support business and application use cases. For instance, should you encode access decision data directly in the access token, or make the token completely opaque? Should you be signing requests? What naming convention should you use for OAuth2 scopes? How do you go about registering users and clients? There are some obvious patterns in existing OAuth2 implementations, and Spring Security OAuth provides plenty of hooks and extension points should you wish to copy one of those, or make your own rules.
Cloud Foundry makes it easy to push an app, bind services to it, and scale it. Cloud Foundry takes care of the all the infrastructure and network plumbing that you need to run your applications and can do this while patching and updating systems and services without any downtime. This session will provide a deep technical tour of the architecture behind the latest vesion of Cloud Foundry that makes all this possible and will provide insights for anyone interested in large scale distributed systems.
The session will cover various GC tuning techniques, in particular focus on tuning large scale JVM deployments. Come to this session to learn about GC tuning recipe that can give you the best configuration for latency sensitive applications. While predominantly most enterprise class Java workloads can fit into a scaled-out set of JVM instances of less than 4GB JVM heap, there are workloads in the in memory database space that require fairly large JVMs.
Today's solutions must provide the ability to interpret related events and understand trends that are happening right now. This session will cover some of the out of the box capabilities of Spring XD to tap into big data streams and generate metrics such as simple counters, aggregate counters, moving averages, rates of change, and histograms. Hands-on demos will show you how Spring XD uses Redis and GemFire's Continuous Query and Function Execution to incorporate real-time analytics into event-driven applications.
Time is Money. Understanding application responsiveness and latency is critical not only for delivering good application behavior. It is critical for maintaining profitability and containing risk. But good characterization of bad data is useless. When measurements of response time present false or misleading latency information, even the best analysis can lead to wrong operational decisions and poor application experience. In this presentation, Gil Tene (CTO, Azul Systems) discusses some common pitfalls encountered in measuring and characterizing latency. Gil demonstrates and discusses some false assumptions and measurement techniques that lead to dramatically incorrect reporting results, and covers simple ways to sanity check and correct these situations. He discusses the fallacy of using standard deviation measurements, the strongly multi-modal nature of latency, common discontinuities found in most computing platforms, and how back pressure and coordinated data omission issues can literally skew measurement results by orders of magnitude. Gil introduces and demonstrates how simple and recently open sourced tools can be used to improve and gain higher confidence in both latency measurement and reporting.
Today's solutions must provide the ability to interpret related events and understand trends that are happening right now. This session will cover some of the out of the box capabilities of Spring XD to tap into big data streams and generate metrics such as simple counters, aggregate counters, moving averages, rates of change, and histograms. Hands-on demos will show you how Spring XD uses Redis and GemFire's Continuous Query and Function Execution to incorporate real-time analytics into event-driven applications.
Big data and Hadoop is widely considered to be the next generation data platform. Hadoop is notoriously difficult to work with and just diving in and starting coding can easily lead to frustration. A better way is to leverage your existing Java and Spring skills to take advantage of these new technologies. In this presentation we will introduce Spring Data for Apache Hadoop and see how it can make working with Hadoop easier. We will also cover several ways to install a small Hadoop cluster that can be used to test your new Hadoop applications.
Jan will show how to use RabbitMQ to connect components on different platforms. After a few introductory slides explaining the main concepts, the rest of the talk will be live code. The coding will begin by showing Spring Integration code to connect to RabbitMQ to send and receive messages--think byte[] values back and forth to start with. Jan will then show the real power of RabbitMQ by replacing the RPC server component by native code in C++: we will write image processing component. To make matters even better--faster--we will then use CUDA to perform the image processing. Come to Jan's talk and demo if you want to find out how to use RabbitMQ in the core of your application, especially if your application needs to tie together code on completely different platforms and if it performs heavy number crunching or image processing. You do not need to have deep knowledge of Spring Integration, AMQP or OpenCV, …; all that you will need is your inner geek.
The modern web is rich with APIs that can be consumed by other applications, enabling an integrated experience for the users who hold accounts on the websites that front those APIs. Many of these APIs are secured with OAuth, an authorization specification for securing REST APIs. Spring Social is an extension to the Spring Framework that enables Spring applications to establish connections with those APIs on behalf of their users with little or no need to muck about in the intricacies of OAuth.
Non-blocking, asynchronous, and reactive are all the rage today. This session will explore why the patterns are important in modern apps and how to apply them to event-driven web, mobile, and RESTful apps. To illustrate the concepts, Java, Scala, Akka, and Play Framework will be used as examples.
Are you an impatient programmer who wishes the keyboard could keep up with you? If you've ever wished Java and Spring could do more to keep up, then this is the place to be. We present Spring Boot, a toolkit and runtime platform that will get you up and running with Spring-powered, production-grade applications and services faster than you believed possible. The goals are:
Using a module that provides a Spring XML namespace and integration API is muscle memory for most people: add the .xsd to the imported XML schemas for the configuration file, maybe enable a annotation-driven variant if it's available, autocomplete some XML stanzas, and then you're set! But what about Java configuration? Java configuration has been around in some form since at least 2005. It was merged into the core framework in 2009 and since then we've seen a slew of new Java configuration-powered DSLs pop up. 2013, in particular, has seen alpha-or-better cuts of Java configuration support for Spring MVC, Spring Security (and Spring Security OAuth), Spring Batch, Spring Social, Spring Data (including all the modules under it: REST, MongoDB, JPA, Neo4j, Redis, etc), Spring HATEOAS, and more all provide milestone-or-better cuts of a Java configuration integration. Tomcat 7 (and all Servlet 3-compatible containers) offer a programmatic alternative to web.xml. This provides another great integration hook for modules that wish to integrate with the web container, removing the configuration burden from the user. There's a lot of power here and it's easy to get started if you know what to look for. In this talk, join Spring Developer Advocate Josh Long and Spring-core commmitter, all-around nice guy, and Spring Boot ninja Phil Webb as they introduce the Java configuration support in the various Spring projects, show how to approach them when integrating them into your code, and - if the situation demands - how to write your own Java configuration DSL.
Creating a secure application involves more then just applying Spring Security to it. This is of course not a new topic, but with the increased popularity of much more dynamic configurations for Servlet Containers and various Spring Projects, like Spring MVC and Spring Integration, it becomes more important to know about the Security tradeoffs we might get with that, and how to tackle them.
Apache Tomcat 8 will implement new versions of the Servlet, JSP and EL specifications as well as adding support for the new WebSocket specification. Work is also planned for internal refactoring in a number of areas that will impact a number of Tomcat specific features. This presentation will provide an overview of the changes and new features introduced by both the updated specifications and the Tomcat specific changes. With the first stable Tomcat 8 release expected towards the middle of 2013 (once the Java EE 7 specifications are finalised) this session will enable attendees to identify the Tomcat 8 features of greatest interest to them and provide them with the information required to start planning their migration to Tomcat 8.
Spring Security is a framework that focuses on providing both authentication and authorization to Java applications. Like all Spring projects, the real power of Spring Security is found in how easily it can be extended to meet custom requirements. In this presentation Rob will incrementally apply the new features found in Spring Security 3.2 to an existing application to demonstrate how it can meet your authentication and authorization needs.
Cloud Foundry makes managing and deploying applications incredibly simple. However, deploying Cloud Foundry itself can be a challenging task. We will be sharing what we learned deploying Cloud Foundry and what it took to win over our organization.
Learn from our experiences deploying Cloud Foundry with BOSH and integrating with our existing enterprise infrastructure. We will discuss:
Developing and customizing Cloud Foundry while staying in sync with the open source repositories Building custom Cloud Foundry services using Java and Spring Improved gathering application diagnostics by simplifying JMX and remote debugging support in Cloud Foundry Enhanced security and auditability with application level firewalls
Come learn from our successes as well as our mistakes.
Senior Architect in Pivotal R&D solutions group
Lyndon Adams is a Senior Architect with in the Pivotal Real Time Intelligence group. He specializes in fast data and big data systems. Lyndon has over 15+ years of IT experience, mostly from the investment banking world. During his period in Investment banking he was involved in margin, risk, trading, tick and reporting systems.
Software Engineer
Scott leads Spring’s JavaScript efforts and is the creator of rest.js and msgs.js within the cujoJS family. First joining SpringSource in 2008, Scott was instrumental in the launch of the tc and dm Server products, and created the Spring Insight dashboard. After a hiatus on the Cloud Foundry team Scott is back within the Spring team. As a front-end developer, Scott lives at the intersection of client-side and server-side code.
Enterprise Java Technology Leader
Durai is a Director of Platform Architecture at ETRADE Financial. He has created an award winning web technology platforms with best of the open source components such as Spring, RabbitMQ, jQuery and Java that power etrade.com, a leading online trading website. He holds Bachelor of Engg in Computer Science degree.
Over the years, Durai has helped ETRADE to upgrade multiple technologies to provide the best leading edge technology platforms to it's customers. He was instrumental to the success of many innovative mission critical architecture.
Principal Software Engineer, GemFire
Anthony Baker is a member of the GemFire engineering team, specializing in data storage and distribution. He has over 20 years of experience in fields ranging from high performance computing to interactive television and massively parallel embedded processor arrays. Anthony loves algorithms and API design and can often be found chasing down obscure bugs.
Spring Framework Committer
Chris Beams is a Spring Framework committer at Pivotal. His work in enterprise application development began in the late 90's and has since covered a wide range of technologies, languages and frameworks. Prior to becoming a full-time Spring committer, Chris trained hundreds of students on the topics of enterprise architecture and how best to use the Spring family of projects. He is a regular speaker at conferences around the world and is @cbeams at Twitter and GitHub.
Evangelist/hacker for hackNY
Peter is an evangelist and hacker for hackNY - a not-for-profit that aims to federate the next generation of hackers for the New York innovation community.
Peter is a regular presenter at national and international conferences on ruby, nodejs, NoSQL (especially MongoDB and neo4j), cloud computing, software craftsmanship, java, groovy, javascript, and requirements and estimating. He is on the program committee for Code Generation in Cambridge, England and the Domain Specific Modeling workshop at SPLASH (was ooPSLA) and reviews and shepherds proposals for the BCS SPA conference.
He has presented at a range of conferences including DLD conference, ooPSLA, RubyNation, SpringOne2GX, Code Generation, Practical Product Lines, the British Computer Society Software Practices Advancement conference, DevNexus, cf.Objective(), CF United, Scotch on the Rocks, WebDU, WebManiacs, UberConf, the Rich Web Experience and the No Fluff Just Stuff Enterprise Java tour.
He has been published in IEEE Software, Dr. Dobbs, IBM developerWorks, Information Week, Methods & Tools, Mashed Code, NFJS the Magazine and GroovyMag. He's currently writing a book on managing software development for Pearson.
He is an organizer of the CTO School http://www.ctoschool.org - an organization in NYC devoted to creating the next generation of technical leaders. He also organizes the node.js meetup in New York and co-organizes the Domain Driven Design and Grails meetups.
He is a regular instructor at General Assembly in New York. His presentations cover managing software development, NoSQL, mobile development, Javascript development, Twitter Bootstrap and Javascript frameworks.
He tweets regularly as @peterbell.
Staff Solutions Architect, VMware
Emad Benjamin has been in the IT industry for the past twenty years. He graduated with a Bachelor of Electrical Engineering from the University of Wollongong. Earlier in his career, he was a C++ software engineer, then in 1997, he switched to programming with Java, and has been focusing on Java ever since. For the past eight years, his focus has been Java on VMware vSphere, vFabric GemFire and SQLFire. Emad often helps VMware customers virtualize and tune large scale Java platforms, some of which are the largest trading platforms in the world, handling 1000s of transactions per second. Emad is also the author of 2 books in this space, the first is the Enterprise Java Applications Architecture on VMware, and the second titled Virtualizing and Tuning Large Scale Java Platforms. Emad has previously presented at VMworld, SpringOne, UberConf and Open World on the subject of Java virtualization.
Senior Software Consultant, Swiftmind
Sam Brannen is a Senior Software Consultant with over 14 years' experience and co-founder of Swiftmind, a software consulting agency in Zürich, Switzerland. At Swiftmind Sam helps international clients achieve best practices in agile software development, architecture, design, implementation, and testing of enterprise Java applications using the Spring Framework and a plethora of open source technologies. In his consulting role, Sam most enjoys leading work shops, code reviews, coaching, and training clients.
Sam is a popular speaker at conferences on Java, Spring, and OSGi. He is also an active core committer for the Spring Framework, lead author of "Spring in a Nutshell" from O'Reilly, author of the Spring TestContext Framework, and was previously a core developer of SpringSource dm Server (a.k.a., Eclipse Virgo).
Over the years, Sam has helped clients build applications in various business sectors ranging from e-commerce to banking, retail, automotive, and social communities. When not in front of his computer, Sam enjoys traveling and spending time with family and friends.
Reactor Project Lead
Jon is Project Lead for Reactor but came on board with Spring in the initial days of the Spring Data project. He has been a contributor to Spring and Spring Data for three years and has trained hundreds of developers in the use of Spring Data and Cloud technologies. He speaks regularly at conferences in the U.S. and in Europe and is co-author of the O'Reilly publication "Spring Data: Modern Data Access for Enterprise Java".
Prior to Pivotal, Jon developed private cloud architectures at the world's largest Pizza Hut franchisee, developed Lotus Domino, J2EE, PHP and even Perl CGI applications in BBEdit on an aged Mac, and got his start in web-based development 20 years ago, as an intelligence analyst for the US Air Force, when NCSA Mosaic 1.0 was cool.
Front-End Engineer and Open Source Fanatic
Brian is a server-side Java guy turned front-end engineer, and open source fanatic. From collaborative aircraft maintenance systems for the US Navy, to Computer Assisted Surgery systems for Orthopedic surgery, to a global-scale content curation and personalization system, he loves building things that users love to use. He works at SpringSource on making the web more awesome, and is co-lead of the cujo.js architecture unframework (cujojs.com), a lover of Siberian huskies, family, and things with two wheels.
More about Brian: https://github.com/briancavalier http://blog.briancavalier.com/ http://www.slideshare.net/briancavalier http://lanyrd.com/profile/briancavalier/
Software Engineer at Pivotal
Roy Clarkson is an engineer with Spring at Pivotal, where he is the lead on the Spring Mobile and Spring for Android projects. He studied computer science at Georgia Tech before beginning his career as a software engineer, where he has worked as a professional software developer for many years, with a variety of languages and technologies. He has spent the last few years focusing on mobile application development, including iPhone, Android, and mobile web. Prior to that, he focused most of his time on web based application development.
Software Engineer at Pivotal
Andy Clement leads the Eclipse tools team at Pivotal from his office in Vancouver. The team is responsible for delivering all our eclipse based technology including the Spring Tool Suite and Groovy Grails Tool Suite distributions as well as our eclipse plugins for Cloud Foundry and Gradle. Andy has a background in languages and compilers and is the current project lead for the AspectJ project. In addition to AspectJ releases, across the Pivotal product suite he developed the Spring Expression Language for Spring Framework, the bytecode reloading engine for Grails and is currently actively involved in developing the Java 8 support in the Eclipse compiler and designing the DSL being used by Spring XD for stream definitions.
CTO of Spring
Adrian Colyer is Chief Technology Officer (CTO) for the Application Fabric at Pivotal, and was formerly CTO for the vFabric Application Platform and SpringSource at VMware.
Pivotal develops the Spring Framework and associated open source projects such as Spring Integration and Spring Batch, Grails, Groovy, and Eclipse AspectJ. Cloud Foundry is Pivotal's open platform-as-a-service with full support for Spring, Grails, and a wide range of other application frameworks.
As CTO of SpringSource Adrian led the AspectJ project at Eclipse.org and oversaw the integration of aspect-oriented concepts into the Spring Framework. He helped to grow the SpringSource portfolio from these two projects into the rich set of projects and products that it is today. In 2004 Adrian was recognised by MIT Technology Review as one of the top 100 young innovators in the world. He may not be getting any younger, but he is still innovating...
Sales Engineer at Sencha
Lou Crocker is a veteran Web Application developer with a focus on Business Process Modeling, Geospatial Business Intelligence, and Accounting. He has developed and deployed applications with Apple, Adobe, ESRI, Google, Microsoft, and Sencha tools among others. He is well versed in Javascript, HTML 5, Objective-C, and several server side development technologies including ASP.NET, ColdFusion, and JAVA. His applications include Digital Mappinig, Public Sector Utilities and Services, Inventory and Invoicing, and Real Time Business Systems among others. He has been involved with the full SDLC including requirements gathering, database design and coding, Middle Tier Development, and UX Design. He has a passion for software development, with an emphasis on how good software benefits business processes, and is used as a tool to increase profitability and effectiveness.
Developer Evangelist, Splunk
Damien is a Developer Evangelist at Splunk and spends a good deal of his time building apps, tools and frameworks for the Splunk platform, with a specific emphasis on the Java ecosystem and then engaging with the developer community to educate about the many different ways that Splunk can be developed upon and integrated with.A fervent JVM fan, he has a particular interest in the new breed of alternate JVM languages and actually thinks that logging is cool. Prior to joining Splunk, Damien paid his mortgage wearing many different technical hats coding,hacking,engineering and architecting software and solutions around the globe in a variety of industries, primarily in the Enterprise Java space. He also recently worked with the SpringSource team on creating new Spring Integration adaptors for Splunk.
Engineer in the Spring Data Team
Thomas Darimont is an engineer in the Spring Data Team at Pivotal and is currently working on various Spring Data modules.
He has 10 years experience in the development of Java and .Net based enterprise applications and open source projects.
His working focus is centered around software architecture, performance tuning, Spring and persistence related technologies
CTO and Co-Founder of Incept5
John Davies is co-founder and CTO of Incept5. Incept5 have been intimately involved in implementing Visa's new capabilities and initiatives around the payments world. John's past includes global chief architect at JP Morgan and BNP Paribas, co-founder and CTO of C24 later sold to Iona and then Progress Software where he was technical director. John specialises in high performance, low latency enterprise architectures, Incept5 have products ranging form top selling iPhone/iPad apps to a high performance matching and reconciliation engine and consult to a number of large clients on IT strategy. John has co-authored several enterprise Java and architecture books and is a frequent speaker at banking and technology conferences.
Lead Technologist, Community Engineering, Cloud Foundry, Pivotal
A self-proclaimed propeller head, Cornelia started her professional career at Hughes Aircraft more than 25 years ago writing image processing algorithms in Ada. In the last decade she has worked on many aspects of service oriented architectures, particularly those based on REST, with an emphasis on Atom, XML and mashups, bringing these technologies to many product groups throughout EMC. Having recently joined Pivotal in the Cloud Foundry Community Engineering group, she is focused on making customers and partners successful with Cloud Foundry. She considers herself the foremost leading expert on the Cloud Foundry Echo Service ;-).
Java expert & author, director of consulting at Ippon Technologies
- Co-author of "Spring par la pratique", #1 book on the Spring Framework in France.
- Former SpringSource France regional director.
- Director of consulting at Ippon Technologies, a 120-person Java-focused consulting firm, located in Paris, France. More info at http://www.ippon.fr
- Leads the Tatami project, an Open Source Enterprise Social Network. See https://github.com/ippontech/tatami for more information.
Field Engineer at Pivotal
John Ferguson is a Senior Field Engineer with Pivotal helping customers leverage the power of data and applications in the cloud. John has worked with a number of clients to modernize their back ends with technologies like Spring and take advantage of the evolving landscape of client side tech. He is currently based out of Boston where he works with customers across the northeast region.
Spring Integration Founder
Mark Fisher is an engineer at Pivotal and has been a member of the Spring team for over 7 years. Currently he co-leads Spring XD and also manages the group responsible for Spring Integration, Spring Batch, and Spring AMQP. Mark has provided consulting services for dozens of clients and has trained hundreds of developers how to use the Spring Framework and related projects effectively. He speaks regularly at conferences and user groups in America and Europe and is one of the authors of Spring Integration in Action, published by Manning in 2012.
Engineer at SpringSource
Oliver Gierke is engineer at SpringSource, a division of VMware, project lead of the Spring Data JPA, MongoDB and core module and member of the JPA 2.1 expert group. He has been into developing enterprise applications and open source projects for over 6 years now. His working focus is centered around software architecture, Spring and persistence technologies. He is regularly speaking at German and international conferences as well as author of technology articles and the first book on Spring Data.
Senior Software Engineer, SpringSource
Jeremy Grelle is an open source software engineer with SpringSource, a division of VMware, who specializes in bringing the cutting-edge techniques of web application development to the Java and Spring ecosystems. He is the creator of the Spring JavaScript, Spring Faces, and Spring BlazeDS Integration projects, and he represented SpringSource on the JSR-314 Expert Group for JSF 2.0. He is a software artisan with extensive experience in combining server-side Java with the latest web browser technologies to deliver a rich and usable experience for the end user on the web.
Jeremy is a frequent speaker at industry conferences such as JavaOne, The Spring Experience, SpringOne, JSFOne, TheServerSide Java Symposium, and Java and Flex user group events, and always enjoys getting out and showing his fellow developers how to bend web browsers to their will and the possibilities of what can be created with Spring and its wealth of complimentary web technologies.
CEO @Redbasin Networks
Smitha Kulkarni Gudur, CEO, Redbasin Networks has over 18 years of Management and Engineering experience working in both large and small companies in the Silicon Valley in the field of Networking, Network Management, Wireless, Web/Cloud. She is an IETF (Internet Engineering Task Force) publisher in Network Management. Smitha earned an M.S. in Information Systems from Akron, OH and an MBA from India. Her previous entrepreneurial success included building a Software-as-a-Service portal for businesses which received rave reviews from CMP Business Media and Forbes, and had 75K users.
Cloud Foundry Java Experience Engineer
Ben Hale leads Pivotal's efforts to constantly improve the Java experience on Cloud Foundry. Recently he has been working on the Cloud Foundry Java Buildpack with an eye to making it the best place to run Java applications, in the Cloud or otherwise.
Prior to working on Cloud Foundry, Ben worked on large-scale middleware management tools, tc Server, dm Server (OSGi), and Spring. If you go back far enough, he even worked on a network management and monitoring application, but will deny it when asked.
Software Engineer, SpringSource
John built his first suite of rich web apps in 1996, long before most people had a clue that the web would become a powerful application platform. John continues to obsess on the front end and loves discovering new architectural patterns or applying time-honored ones to JavaScript and CSS. Now, when he's not writing open source code as a Principal Engineer at Pivotal or as Co-founder at cujoJS, he is sure to be working on some wicked cool science project or construction project with his kids.
CTO of Skills Matter and co-founder of SpringSource.
As CTO of Skills Matter, Rob helps to provide a community of over 35,000 software professionals with access to high-quality events and training.
Prior to Skills Matter, Rob served as CTO of UK-based consumer lender First Banco. At First Banco, Rob led the development of all internal and external software projects. Rob remains on the board at First Banco.
Co-founder of SpringSource, the software company behind the wildly-successful Spring Framework.
Specialist in high-volume, high-scale enterprise systems.
Author and co-author of five books, including the highly-popular Spring Framework reference "Pro Spring".
Principal Engineer
Mike Heath is a principal software engineer for the LDS Church working in the core technology group. He has contributed to multiple open source projects including Apache MINA, Apache JAMES, and JBoss Netty. He has a B.S. in computer science from Utah Valley University and a M.S. in computer science from Brigham Young University.
Member of the Spring Integration and Spring XD Team, President Atlanta JUG
As a Pivotal engineer, Gunnar Hillert is a core committer for the Spring Integration and Spring XD projects. He has been a member of the Spring team for over 2 years. Gunnar is the president of the Atlanta Java Users Group since 2010 and is co-organizer for the DevNexus developer conference that attracted 900 developers in 2013.
A native of Berlin, Germany, Gunnar has been calling Atlanta home for the past 12 years. He is an avid gardener specializing in anything sub-tropical such as bananas, palm trees and bamboo. As time permits, Gunnar works on his Spanish language skills and he and his wife Alysa are raising their two children tri-lingually (English, German, Spanish). Gunnar blogs at: http://blog.hillert.com/ and you can follow him on Twitter: https://twitter.com/ghillert
Spring Framework co-founder and project lead
Juergen Hoeller is co-founder of the Spring Framework open source project and has been serving as the project lead and release manager for the core framework since 2003. Juergen is an experienced software architect and consultant with outstanding expertise in code organization, transaction management and enterprise messaging.
Michael is passionate about software development and its people
Michael Hunger has been passionate about software development for a long time. He is particularly interested in the people who develop software, software craftsmanship, programming languages, and improving code.
For the last few years he has been working with Neo Technology on the Neo4j graph database. As the project lead of Spring Data Neo4j he helped developing the idea to become a convenient and complete solution for object graph mapping. He is also taking care of Neo4j cloud hosting efforts. Michael now takes care of the Neo4j community in all regards and is involved with activities in all parts of the company.
Good relationships are everywhere in Michael's life. His life concerns his family and children, running his coffee shop and co-working-space, having fun in the depths of a text-based multi-user dungeon, tinkering with and without Lego and much more.
As a developer he loves to work with many aspects of programming languages, learning new things every day, participating in exciting and ambitious open source projects and contributing and writing software related books and articles. Michael is also an active speaker at conferences and events and a longtime editor at InfoQ.
Entrepreneur, Co-founder, Redbasin Networks, where business meets life
Manoj Joshi, CTO, Redbasin Networks has over 19 years of Management and Engineering experience working in Data Analytics, Life Science and Media. As CTO, Manoj is currently building a cloud based platform for cancer drug researchers in Pharma and Bio-tech. Previously Manoj worked in CBS/CNET as Director of Engineering, and architected/designed key web properties which are #1 worldwide in new Business Tech Media Space: BNET.com, SmartPlanet.com, MoneyWatch.com. He also played an instrumental role implementing Spring and open source technologies at CNET.com, News.Com, ZDNet.com and TechRepublic.com. Manoj previously worked at Agilent/HP in the Scientific Instruments Division and built life science software that was sold to 250 Pharma and Biotech customers over a period of 10 years.
Author of AspectJ in Action
Ramnivas Laddad is a well-known expert in enterprise Java, especially in the area of AOP and Spring. He is a Spring Framework and Cloud Foundry committer. Ramnivas is also the author of AspectJ in Action, the best-selling book on AOP and AspectJ that has been lauded by industry experts for its presentation of practical and innovative AOP applications to solve real-world problems. He has spoken at many leading industry events including JavaOne, JavaPolis, No Fluff Just Stuff, SpringOne, and O'Reilly OSCON. In recent years, Ramnivas has become a Scala fan. Ramnivas lives in the Silicon Valley.
Engineer at Elasticsearch
Costin Leau is an engineer at Elasticsearch, currently working with NoSQL and Big Data technologies. An open-source veteran, Costin led various Spring projects (Spring OSGi, GemFire, Redis, Hadoop) and authored an OSGi spec.
Speaker at various editions of EclipseCon/OSGi DevCon, JavaOne, Devoxx/Javapolis, JavaZone, SpringOne, TSSJS on Java/Hadoop/Spring related topics.
Senior Software Architect at AppDirect
Christophe Levesque is a Principal Software Engineer at AppDirect, the leading provider of cloud service marketplace and management solutions.
He has over 10 years of experience working on all aspects of building large scale distributed web applications. His experience prior to AppDirect includes various technical positions at Hewlett Packard, Mercury Interactive and Oracle.
Christophe received his Master of Science in Electrical Engineering from Stanford in 2003 and his "Diplome d'Ingenieur" from the French Ecole Polytechnique in 2001.
Chair of the Java Technology Board at SAS institute
Zhiyong Li is a senior manager of SAS Platform Division. He manages Platform Java Development Technologies group which addresses Java and Application Server strategies, usages, security, performance, etc. for SAS platform and all Solutions.
Zhiyong started coding in Java in 1995 as the Sun’s development staff, where he focused on Java performance and benchmark standards. Later, he worked at IBM, iBiomatics (a start-up) and SAS as the lead architect and developer for several enterprises Java applications including IBM Payment Server and SAS Operational Risk Management. Zhiyong holds a Ph.D from Computer Science Department of Duke University. He has published many papers in AI, parallel computation and program languages. He also holds several patents.
Senior Developer at Magnolia International
Trained as a physicist and with a professional background in Smalltalk, Daniel has been developing with Java since 1997. At Magnolia, he focuses on development, quality assurance, software architecture and Blossom, Magnolia CMS's Spring integration. Outside of work, he enjoys spending time with his family, playing the trumpet and training for his next marathon.
He blogs at dlipp.blogspot.de.
Principal Software Engineer, Spring Tool Suite Lead
Martin leads the Spring Tool Suite and the Spring IDE projects at Pivotal and works together with the tools team on providing the best developer tools out there for Spring and Cloud Foundry. In addition to that he works on next generation developer tooling and innovative new architectures for cloud-based developer tooling. Before joining the Spring family at Pivotal, Martin co-founded it-agile, a leading consulting and development company focused on agile software development. He is author of papers, articles, and books on various topics including agile software development, Eclipse technology and refactoring techniques.
Developer Advocate
Josh Long is the Spring developer advocate. Josh is the lead author on Apress’ Spring Recipes, 2nd Edition, and a SpringSource committer and contributor. When he's not hacking on code, he can be found at the local Java User Group or at the local coffee shop. Josh likes solutions that push the boundaries of the technologies that enable them. His interests include scalability, BPM, grid processing, mobile computing and so-called "smart" systems. He blogs at blog.springsource.org or joshlong.com.
Co-author of "Pro Spring"
Jan is an enthusiastic Java and Scala programmer with a long history of large and successful systems.
Jan has used the Spring Framework from its earliest versions and then shared his experience with the framework itself and with writing elegant Spring code in Pro Spring and Pro Spring 2.5; he is an expert in most projects in the Spring Portfolio.
Alongside the Spring Framework and Java, Jan has extensive experience in functional and strongly typed programming in Scala. He is the author of Specs2 Spring and Akka Patterns projects which aim to give boost to Java programmers who want to try out Scala.
Jan also shares his expertise and passion for software as the chief editor of the Open Source Journal
SpringSource Sr. Consultant, Reactor and Grails contributor
A software architect and consultant at SpringSource with extensive experience aligning Spring technologies. He is passionate about cloud computing, messaging and works on several projects implementing Spring Integration, RabbitMQ, Gemfire, or related technologies.
Using Groovy and Grails since early 2008, he has developed large-scale Grails applications for the French Government and international IT. he has also co-founded the iceScrum agile tool tracker, an open source Grails application for agile teams. He still invests his spare time in the Grails community through the development of several Grails plugins, and in his contributions to the French Groovy/Grails User Group.
Currently working on a lightweight and scalable, asynchronous framework for the JVM supporting Spring and Grails Applications.
tbd
I currently operate in Pivotal's Field Engineering Team specializing in next generation platform architecture. It is my job to work with our customers to understand the changing landscape of application development from tools and frameworks to runtimes and data fabrics, allowing them to build a new class of applications leveraging big & fast data. All of this in a cloud independent way on the path to a truly consumer-grade enterprise experience.
Lead developer of the Spring Integration at Magnolia CMS
Tobias has worked with both Magnolia and Spring for about as long as they've each been around. In 2009, he wanted an easier way to use them together and thus Blossom, the Spring integration for Magnolia, was born. He lives in Gothenburg, a beautiful Swedish city renowned for its botanical gardens, music scene and picturesque islands. He blogs at http://tobias-mattsson-magnolia.blogspot.com.
Senior Technical Support Engineer at Pivotal
Daniel Mikusa is a Senior Technical Support Engineer at Pivotal. Daniel has been a user of Apache Tomcat for the past six years and is currently focused on providing enterprise-class support for Pivotal's Tomcat and tc Server customers. In addition, Daniel is a seasoned Java and Spring application developer, holding certifications for Spring Core, Spring Web and Enterprise Integration with Spring.
Project Lead of Spring Batch and author of Pro Spring Batch
Michael Minella is a software engineer, teacher and author with over a decade of enterprise development experience. Michael was a member of the expert group for JSR-352 (java batch processing). He currently works for Pivotal as the project lead for the Spring Batch project as well as an instructor at DePaul University. Michael is the author of Pro Spring Batch from Apress and the popular Refcard JUnit and EasyMock.
Outside of the daily grind, Michael enjoys spending time with his family and enjoys woodworking, photography and InfoSec hobbies.
Developer Evangelist @SendGrid
Scott Motte thrives on the freedom of the web, its wild west ways, and its great optimism. Ruby, Javascript, the web, and aviation excite him. He's also starting to learn Java.
Scott works at SendGrid as a developer evangelist. He travels to many events and hackathons hanging out with other developers and hacking up cool things. In his spare time, he is building a document signing API called Signature.io.
Platform as a Service Solution Architect for LDS Church
Shawn Nielsen is a principal engineer for the LDS Church. He currently is the Solution Architect for the Platform as a Service Team. He has primarily focused on streamlining the deployment and operational process of custom developed applications at the church.
Matias is a core developer in the AngularJS team
Matias Niemelä is a core developer on the AngularJS team primarily working on animations, tutorials and documentation. While not working on AngularJS, Matias blogs and innovates his blog, www.yearofmoo.com, as well as works on other various web projects and mobile video games. He lives in Toronto, Ontario, Canada and has over 10 years of solid web development experience.
VP of Engineering @ just.me
Kevin is a three time JavaOne Rock Star, Java Champion and VP of Engineering at just.me. just.me is a startup in the mobile and social space that is part of Google’s Startup Labs. Kevin has spoken at conferences such as JavaOne, Devoxx, JAX, Silicon Valley Code Camp, and AjaxWorld. Kevin is the co-author of Web 2.0 Fundamentals. In the past Kevin was an adjunct professor at the College of San Mateo. Kevin holds a MS and BS in Computer Science from Southern Illinois University. Kevin is the leader of the Silicon Valley Java User Group, Silicon Valley Google Developer Group and Silicon Valley JavaScript Meetup.
Developer Advocate, Couchbase Inc.
Michael is a Vienna-based Developer Advocate for Couchbase, Inc. He is the lead developer of the Couchbase Java SDK, a current maintainer of the popular spymemcached library and responsible for enterprise framework integration (especially Spring-Data-Couchbase).
He is very active in the community, contributes to open source and speaks regularly at conferences and meetups. Prior to working at Couchbase, Michael worked in the enterprise consulting business, focussing on network performance and monitoring integration solutions.
social bridgebuilder and Cloud Foundry Developer Advocate
Andy Piper is part of the Pivotal Developer Relations and Community Engineering team, and works as Developer Advocate for Cloud Foundry, the Open Source Platform-as-a-Service. He is probably best known online as a “social bridgebuilder” spanning a number of areas of technology and interest. Andy has a passionate interest in small and mobile devices, cloud, the Internet of Things, and Arduino and related technologies. He was previously with IBM Software Group for more than 10 years, as a consultant, strategist, and WebSphere Messaging Community Lead.
Spring Data Lead, Spring XD Co-lead
Dr. Mark Pollack has been a core Spring (Java) developer since 2003 and founded its Microsoft counterpart, Spring.NET, in 2004. Mark now leads the Spring Data project and co-leads the Spring XD that aims to simplify application development with new data technologies around big data and NoSQL databases. Prior to working on Spring project, Mark worked in offline computing in high-energy nuclear physics at Brookhaven National Laboratory and then moved to the financial services industry as a technical lead for front-office trading systems.
Founder & Project Lead for Spring Web Services
Arjen Poutsma is a Staff Engineer at SpringSource (a division of VMware) with more than fifteen years' experience in commercial software environments. During this time he has worked with both Java EE and Microsoft .NET.
In 2004, Arjen started to specialise in Web Services and Service Oriented Architectures. During this period he has conducted trainings and has researched SOAs in large organisations.
Arjen is the founder and the project lead for the Spring Web Services. This Spring project aims at facilitating development of document-driven web services. Recently, Arjen worked on the REST support in Spring 3.0 and 3.1.
Front-end web developer at Xero
As a mobile/web developer and user experience designer, Emanuel has spent much of his life caring about the way users interact with the applications and systems that we develop. He first got involved with the Thymeleaf project as someone just looking to revamp his personal website. Since then he has released the Layout dialect (a Thymeleaf extension), has become an active member of its forums, and is now part of the Thymeleaf team (looking after the core codebase, developing the Eclipse plugin, and having a hand in the creation of its HTML documentation).
The rest of the time he spends across a variety of personal endeavours, including blogging, playing musical instruments, and baking cakes and other sugary treats (much to the delight of his friends and co-workers).
Chief Architect, GemFire Data Grid products
As the Chief Architect for GemFire product line at VMWare/Pivotal, Jags is responsible for the technology direction for its high performance distributed data Grid and virtualization platform. Jags has represented GemStone Systems in the EJB expert group and the J2EE platform specification. In the past, Jags represented BEA in the W3C SOAP protocol specification, JAXM and other standards. Jags has presented in several conferences in the past on Data management, clustering and grid computing. He has over 20 years of experience, a bachelors degree in computer science and a masters degree in management of science and technology.
Experience Architect
Param Rengaiah's is an Experience Architect. He has spent innumerable hours and wore multiple hats worrying about how to create business applications that connects with its users, perform the functions that they were suppose to, but also have empathy for the users. He has strong belief that for an enterprise application to remain useful, design has continually evolve and adapt - not just software design but experience design as well.
He is passionate about creating modular and scalable architectures, refactoring large applications to be modular and applying UX principles to enterprise application design. He writes about them at https://medium.com/@its_param
If he is not in front of his laptop hacking some code or reading in his iPad, you will find him either sleeping, watching old movies on Netflix or playing with his two boys. He lives in suburb of Chicago and is currently employed by Aspire Systems (http://www.aspiresys.com).
Greg Rewis is the Sr. Developer Evangelist at Sencha. In this role, Greg is responsible for evangelizing Sencha’s HTML5 frameworks and tools. Greg has been passionate about the web since putting his first “home page” online in 1994. His career has taken him around the world, from the early days of desktop publishing, to a start-up in Hamburg, Germany where he helped build one of the first HTML authoring tools, the glory days of the web at Macromedia and finally his role as Principal Evangelist at Adobe. When not beating web technologies into submission, Greg spends his time hanging out with his co-author and wife Stephanie (Sullivan) Rewis dreaming of their next sailing trip.
Author of POJOs in Action
Chris Richardson is a developer and architect with over 20 years of experience. He is a Java Champion and the author of POJOs in Action, which describes how to build enterprise Java applications with POJOs and frameworks such as Spring and Hibernate. Chris is the founder of CloudFoundry.com and works on cloud technology. He has a computer science degree from the University of Cambridge in England and lives in Oakland, CA with his wife and three children.
co-author of "Spring Data, Modern Data Access for Enterprise Java"
Thomas Risberg works as a software engineer on the Spring Data and Spring XD teams at Pivotal. His current focus is on the Spring for Apache Hadoop and JDBC Extensions projects. Thomas started his career developing custom mainframe banking software and later worked with client server based direct marketing and market research database systems. In 2003 he joined the Spring Framework project, primarily contributing enhancements to the JDBC framework portion.
Principal Software Engineer, Pivotal; Spring Integration Team
Gary has been in software engineering, concentrating on Enterprise Integration, for over 30 years on various platforms, and in the Java space since the late '90s.
He has been developing with the Spring Framework since 2004 and joined SpringSource in 2009 in a consulting role. From 2009 until the end of 2011 he taught Core Spring and Enterprise Integration with Spring to several hundred developers, as well as providing Enterprise Integration consulting services with Spring Integration, Spring Batch and Core Spring.
He became a committer on the Spring Integration project in early 2010, and became a full time member of the engineering team in January 2012.
He now leads the Spring Integration and Spring AMQP (Java) projects.
Developer Advocate w/JFrog
Baruch Sadogursky (a.k.a JBaruch) is the Developer Advocate of JFrog, the creators of Artifactory Binary Repository, the home of Bintray, and JavaOne 2011 Duke Choice Awards winner.
For a living he hangs out with the JFrog tech leaders, writes some code around Artifactory and Bintray, and then speaks and blogs about all that. He does it repeatedly for the last 10 years and enjoys every moment of it.
Baruch is @jbaruch on twitter and mostly blogs on http://blog.bintray.com and http://blogs.jfrog.org. His speaker history on Lanyrd: http://lanyrd.com/profile/jbaruch/sessions/
Senior Java Consultant, Jayway
With a background in the hardware, embedded and mobile areas, Mattias has shifted his focus to Java and the enterprise domain. He is a clean code proponent who appreciates Test Driven Development and Agile methodologies. Mattias has experience from many different environments, including everything between big server solutions for multinational companies down to flashing LEDs by using small micro controllers. He is curious, open-minded and believes in continuous improvement on all levels.
Mattias is employed by Jayway, a consultant company based in Sweden. He often finds himself working with different Java-based backend solutions, in which test automation plays an important part.
Technical Architect at Pivotal
Adam Shook is a Technical Architect at Pivotal, working to help customers across many industries solve their big data problems using a number of Pivotal and Hadoop-related technologies. In the past, Shook has engineered several mission-critical Hadoop applications in the U.S. Intelligence Community. He has developed and taught training courses for students new to Hadoop and Pig. Shook is also an author of O'Reilly Media's "MapReduce Design Patterns", a book to help beginners and experts alike solve complex problems using MapReduce. He graduated from the University of Maryland Baltimore County in 2009 with a B.S. in Computer Science, and once again in 2013 with a Master's degree in CS focusing on in-memory distributed systems.
Chief Architect of jFrog
Frederic Simon is best known as the Co-founder and Chief Architect of JFrog - the Artifactory Binary Repository and Bintray creators, and JavaOne 2011 Duke Choice Awards winner.
Before founding JFrog in 2008, Fred founded AlphaCSP, the Java consulting firm in 1998 where he was the company’s global CTO, leading 5 branches worldwide and served as the visionary voice of the company.
Fred’s development experience goes back to 1992 and covers Java technologies evolution from day one as a programmer, Architect and Consultant.
As one of JFrog leaders, Fred encourages strong collaboration with leading open-source projects such as SpringSource, Grails and Gradle by providing them with the Artifactory Cloud platform, and fuels the Continuous-Integration ecosystem with open-source plugins for leading tools such as Jenkins, TeamCity & Bamboo.
When not on those, Fred hacks around new features for the core Java language, Java port of the popular sky rendering Stellarium project and other neat stuff.
Fred blogs at http://blogs.jfrog.org & http://freddy33.blogspot.com and tweets as @freddy33.
His speaking history: http://lanyrd.com/profile/freddy33/sessions/
Community Engineer @CloudFoundry
Matt Stine is a Community Engineer with Cloud Foundry (http://cloudfoundry.com) by Pivotal (http://goPivotal.com). He is a twelve year veteran of the enterprise software and web development industries, with experience spanning the healthcare, biomedical research, e-commerce, retail store and insurance domains.
Matt is obsessed with the idea that enterprise IT “doesn’t have to suck,” and spends much of his time thinking about lean/agile software development methodologies, DevOps, architectural principles/patterns/practices, and programming paradigms in an attempt to find the perfect storm of techniques that will allow corporate IT departments to not only function like startup companies, but also create software that delights users while maintaining a high degree of conceptual integrity.
Matt has spoken at conferences ranging from JavaOne to CodeMash and serves as Technical Editor of NFJS the Magazine (https://www.nofluffjuststuff.com/home/magazine_subscribe). Matt is also the founder of the Memphis/Mid-South Java User Group.
Senior Staff Engineer, Pivotal
Rossen is a senior staff engineer at Pivotal focusing on web development. He is a committer on the core Spring Framework team responsible for the development of Spring MVC. Prior to that Rossen spent several years teaching and consulting clients building enterprise Java applications in a broad range of areas. His background also includes work on trading and risk management software, an investment accounting system, e-commerce applications, directory services among others.
Lead, Spring Data Solr
Christoph Strobl is Software Engineer living in Austria mainly working on CRM Enterprise Solutions for a telecommunication company.
In 2012 he became project lead of the Spring Data Solr community module. He’s passionate about architecture, design, implementation and testing, having special interest in topics related to spring, web and search.
Spring engineering team member since 2006
Dr David Syer is a founder and contributor to Spring Batch, lead of Spring Security OAuth, and an active contributor to Spring Integration, Spring Framework, Spring AMQP, Spring Security. He is an experienced, delivery-focused architect and development manager. He has designed and built successful enterprise software solutions using Spring, and implemented them in major institutions worldwide. David is known for his clear and informative presentation style and has deep knowledge and experience with all aspects of real-life usage of the Spring framework. Recent publications have appeared in Java World, and the CloudFoundry and SpringSource blog sites.
Proud member of the Cloud Foundry Founding Team
Dekel Tankel is Director of Customer Engagements at Pivotal Cloud Foundry product group. Dekel leads customer adoption and product marketing for Cloud Foundry's private, public and ecosystem offerings. Dekel has led the product marketing launch of Cloud Foundry - the world's first open Platform as a Service (PaaS). Dekel has more than a decade of experience in the Cloud Computing, PaaS, SaaS, Application Server and middleware markets. Previously Dekel led products for Cloud and Hadoop platforms at Yahoo! and served in leading technical roles at several Cloud Computing and middleware companies. Dekel holds an MBA degree in Business Management and a BA degree in Computer Science
Regional Sr. Field Engineer, Pivotal Inc.
Guillermo is an award-winning Enterprise Architecture practitioner with 18+ years of progressive experience in different industries. At Pivotal, Guillermo works with customers to understand their business needs and challenges and helps them seize new opportunities by leveraging Pivotal solutions to modernize their IT architecture. Guillermo is passionate about his family, business, technology and soccer.
Software Engineer at Pivotal
Luke has been a Spring committer since 2003 but was most heavily involved in Spring Security, eventually taking over as project lead in 2008. After several years he moved on to work on the Cloudfoundry Identity project for an spell and is now working on the Spring XD team.
CTO & Co-founder, Azul Systems
Gil Tene is CTO and co-founder of Azul Systems. He has been involved with virtual machine technologies for the past 20 years and has been building Java technology-based products since 1995. Gil pioneered Azul's Continuously Concurrent Compacting Collector (C4), Java Virtualization, Elastic Memory, and various managed runtime and systems stack technologies that combine to deliver the industry's most scalable and robust Java platforms. In 2006 he was named one of the Top 50 Agenda Setters in the technology industry by Silicon.com. Prior to co-founding Azul, Gil held key technology positions at Nortel Networks, Shasta Networks and at Check Point Software Technologies, where he delivered several industry-leading traffic management solutions including the industry's first Firewall-1 based security appliance. He architected operating systems for Stratus Computer, clustering solutions at Qualix/Legato, and served as an officer in the Israeli Navy Computer R and D unit. Gil holds a BSEE from The Technion Israel Institute of Technology, and has been awarded 28 patents in computer-related technologies.
Committer, Spring XD, Spring Integration, Spring Data
David Turanski is a Principal Software Engineer with Pivotal. David is a member of the Spring XD team and former lead of the Spring Data GemFire project. He is also a committer on the Spring Integration project. David has extensive experience as a developer, architect and consultant serving a variety of industries. In addition he has trained hundreds of developers how to use the Spring Framework effectively.
Co-Author of RabbitMQ in Action
Alvaro Videla works as Developer Advocate for Pivotal. Before moving to Europe he used to work in Shanghai where he helped building one of Germany biggest dating websites. He co-authored the book "RabbitMQ in Action" for Manning Publishing. Some of his open source projects can be found here: http://github.com/videlalvaro. Apart from code related stuff he likes traveling with his wife, listening/playing music and reading books.
You can find him on Twitter as @old_sound.
Author of Spring in Action
Craig Walls is a senior engineer with Pivotal as the Spring Social project lead and is the author of Spring in Action. He's a zealous promoter of the Spring Framework, speaking frequently at local user groups and conferences and writing about Spring. When he's not slinging code, Craig spends as much time as he can with his wife, two daughters, 2 birds and 3 dogs.
Developer Advocate, Typesafe
James Ward (www.jamesward.com) works for Typesafe where he teaches developers the Typesafe Stack (Play Framework, Scala, and Akka) . James frequently presents at conferences around the world such as JavaOne, Devoxx, and many other Java get-togethers. Along with Bruce Eckel, James co-authored First Steps in Flex. He has also published numerous screencasts, blogs, and technical articles. Starting with Pascal and Assembly in the 80′s, James found his passion for writing code. Beginning in the 90′s he began doing web development with HTML, Perl/CGI, then Java. After building a Flex and Java based customer service portal in 2004 for Pillar Data Systems he became a Technical Evangelist for Flex at Adobe. In 2011 James became a Principal Developer Evangelist at Salesforce.com where he taught developers how to deploy apps on the cloud with Heroku. James Tweets as @_JamesWard and posts code at github.com/jamesward.
Principal Technical Instructor, Pivotal
Mike is a Principal Technical Instructor with Pivotal and has 10+ years experience in Java enterprise development and consulting. He started using Spring and Spring Security shortly after the first release and has deep knowledge about making simple, transparent and powerful security solutions but still retaining maintainable code. He contributes to the Spring Security Framework and is the creator of the Spring Security Kerberos Extension. He regularly speaks at various conferences and publishes work around Application Security and Spring.
Stuart Williams is a Consulting Architect at Pivotal
With over 15 years of application development experience, is currently a member of the Spring consulting team and as a committer on open source projects at Apache, Eclipse and elsewhere, Stuart has practical, frontline knowledge about building enterprise class applications and distributed systems.
Spring Security Lead
Rob Winch is a Senior Software Engineer at Pivotal and is the project lead of the Spring Security framework. He is also a committer on the core Spring Framework and co-author of the Spring Security 3.1 book. In the past he has worked in the health care industry, bioinformatics research, high performance computing, and as a web consultant. When he is not sitting in front of a computer he enjoys playing the guitar.
Staff Engineer, VMware
David Winterfeldt works at VMware on the VMware vFabric Application Director project. It enables developers and organizations to deploy applications to the cloud by having a logical abstraction for software services and application topologies. This allows an application to be easily deployed multiple times to different environments.
David has been doing software development for over 20 years. He's been using Java since 1998 and involved in using Open Source almost as long. David has focused on Web and Enterprise development for most of his career, and started working with the Spring Framework in 2006.
David runs the website Spring by Example, which is a site for sharing Spring examples. The site is a general resource for Spring and should ultimately save developers time. He's is also an Apache committer on Struts and Commons Validator, as well as the creator of Commons Validator (although currently no longer active on either).
Principal Engineer
Mike Youngstrom is principal engineer for the LDS Church. Mike is a member of the DevOps team doing development of an in house CloudFoundry based PaaS. Prior to that Mike was the “Java Stack” architect for 6 years. Leading custom application development architecture and standards for custom application development at the LDS Church on a predominantly Spring based platform.