Pratik Patel

Developer Advocate @ Azul Systems

Pratik Patel is a Java Champion and developer advocate at Azul Systems and has written 3 books on programming (Java, Cloud and OSS). An all around software and hardware nerd with experience in the healthcare, telecom, financial services, and startup sectors. He's also a co-organizer of the Atlanta Java User Group and North Atlanta JavaScript meetup, frequent speaker at tech events, and master builder of nachos.

Presentations

Functional Programming is available in many programming languages today. You probably know that FP is possible in JavaScript - but did you know that writing FP style JavaScript will lead to cleaner, more maintainable code? In this session, we'll explore writing FP style JavaScript and cover the basics, and intermediate techniques. We'll do a functional refactor and explain the reasoning along the way.

We'll use mostly basic JavaScript and the underscore library for code examples to demonstrate Functional Programming in a simple to understand, and more practical, way.

JavaScript is a single-threaded runtime, with an asynchronous programming model. For developers, this presents a unique set of challenges: handling nested async events, debugging, disconnected code. There are a number of ways we write JavaScript to handle asynchronicity: promises (in ES6) and async/await (in ES7), along with 3rd party libs are common tools that are used by developers.In this session, we’ll dive into Reactive Extensions for JavaScript (RxJS). While RxJS can be used to just write better async JavaScript code, RxJS can also be used to build a complete architecture that is event and stream based.

We will discuss and code Observables and look at how functional programming comes into the mix with RxJS, and learn about a programming model called Functional Reactive Programming (FRP). We’ll also take a look at a web framework built around FRP called Cycle.js.

High Performance JavaScript Web Apps Architecture - Video Preview

In this session, we'll dig deep into the performance aspects of JavaScript and the Web Browser. Single page web applications are becoming popular very quickly, and understanding the low-level and high-level aspects of the browser platform and JavaScript runtimes embedding in them are important.

We'll cover topics such as browser pipe-lining, memory management, testing and measuring performance.

Serverless doesn’t mean there are no servers. It’s a metaphor for a way of building applications.

In this presentation, we'll start with a short introduction to Serverless Cloud Functions and what it means to developers, and why it's important to understand this technology. We will discuss how serverless fits into the world of Microservices, and examine the pyramid of application development and deployment. We’ll put on our architect hat, and also look at Serverless options and how it impacts applications architecture.

There's tons of options for doing data processing in other languages like Java and Python. With actionhero.js, you can use Nodejs's event loop model to create a scalable and cohesive API for processing and serving large amount of data. From the actionhero.js documentation, here's a quick synopsis of this great framework:
“actionhero.js is a multi-transport API Server with integrated cluster capabilities and delayed tasks. The goal of actionhero is to create an easy-to-use toolkit for making reusable & scalable APIs.”

In this session, we'll use actionhero.js to build some examples, with lots of code, to demonstrate the capabilities of this framework. We'll consume some data, do some task processing, then access the data via an API. We'll use Websockets along with standard HTTP to build a real-time, web-enabled, application.

Books

  • Java Database Programming with JDBC by Pratik Patel and Karl Moss is an updated edition of the authors' guide to the Java Database Connectivity (JDBC) standard for database programming under Java. While the original edition was perhaps geared more to those developers who needed to write their own JDBC database drivers, a fairly arduous task, this new edition provides more background information on database connectivity issues in Java and so will be even more useful to the casual or intermediate programmer. After a general introduction to JDBC and Structured Query Language (SQL), useful even to beginning programmers, the authors start by building a simple database-aware applet. New chapters on "servlets," Java components that run on the server-side and manage database operations, as well as a general discussion of middleware technologies are particularly good. Database access for JavaBean components (from Sun Microsystems JDK 1.1) is also discussed, including working code for two database-aware beans. This book also includes a quick introduction to the Java language (which will only be helpful if you already know C/C++), a detailed reference for the JDBC API, and a working example of a text-based JDBC driver. Though this book is still oriented toward the JDBC driver developer, the authors now provide enough general discussion of JDBC architectural issues to make it worthwhile to any programmer who needs to ramp up on what JDBC is and what capabilities it offers.
  • Java Database Programming with JDBC by Pratik Patel and Karl Moss is an updated edition of the authors' guide to the Java Database Connectivity (JDBC) standard for database programming under Java. While the original edition was perhaps geared more to those developers who needed to write their own JDBC database drivers, a fairly arduous task, this new edition provides more background information on database connectivity issues in Java and so will be even more useful to the casual or intermediate programmer. After a general introduction to JDBC and Structured Query Language (SQL), useful even to beginning programmers, the authors start by building a simple database-aware applet. New chapters on "servlets," Java components that run on the server-side and manage database operations, as well as a general discussion of middleware technologies are particularly good. Database access for JavaBean components (from Sun Microsystems JDK 1.1) is also discussed, including working code for two database-aware beans. This book also includes a quick introduction to the Java language (which will only be helpful if you already know C/C++), a detailed reference for the JDBC API, and a working example of a text-based JDBC driver. Though this book is still oriented toward the JDBC driver developer, the authors now provide enough general discussion of JDBC architectural issues to make it worthwhile to any programmer who needs to ramp up on what JDBC is and what capabilities it offers.
  • Enables readers to master the Java programming language for internet applications while expanding the scope of online development, and the accompanying CD contains powerful sample applets and a copy of Netscape Navigator. Original. (Intermediate).