How do you scale your application to meet user demand? Whether your usage levels spike unpredictably or steadily grow, your applications must be able to scale up and out to meet user expectations. Leveraging an In-Memory Data Grid (IMDG) in your application can be the perfect solution. Not only do they provide a large layer of RAM based storage for your applications, most also handle the complexities of distributed computing for you, allowing you to concentrate on building your application.
Hazelcast is an easy to use IMDG implementation that provides dynamic scaling, data sharing, and more. The entire Hazelcast application is baked into a single JAR file you can include in your application and start using with only a few lines of code. In this talk we'll introduce Hazelcast with an overview of how it operates, then dive into the code to quickly build a fully functioning distributed system.
You'll see how Hazelcast implements distributed storage and provides out of the box data objects, enables using RAM storage outside of Java heap memory, and explore some of its distributed computation capabilities.
Gokhan has 12+ years of experience, mostly in finance-technology, from server/database management to designing & developing regulatory compliant payment solutions, fraud detection systems and managing data-integration & migration projects. He holds a BS degree in Computer Engineering.
Microservices are all the rage and being deployed by many Java Hipsters. If you're working on a large team that needs different release cycles for product components, microservices can be a blessing. If you're working at your VW Restoration Shop and running its online store with your own software, having five services to manage and deploy can be a real pain. Share your knowledge and experience about microservices in this informative and code-heavy talk.
You'll learn how to use JHipster (a Yeoman generator) to create Angular + Spring Boot apps on separate instances with a unified front-end. I'll also show you options for securing your API gateway and individual applications using JWT. Heroku, Kubernetes, Docker, ELK, Spring Cloud, Okta; there will be plenty of interesting demos to see!
Speaker: Matt Raible
Matt Raible is a well-known figure in the Java community and has been building web applications for most of his adult life. For over 20 years, he has helped developers learn and adopt open source frameworks and use them effectively. He?s a web developer, Java Champion, and Developer Advocate at Okta. Matt has been a speaker at many conferences worldwide, including Devoxx Belgium, Devoxx France, Jfokus, and JavaOne. He is the author of The JHipster Mini-Book, Spring Live, and contributed to Pro JSP. He is a member of the JHipster development team and prefers to code in TypeScript. You can find him online at raibledesigns.com and @mraible on Twitter.
Talk #1: Optimized Disk Imaging and Forensics in Java
Tupelo is an open-source Java codebase for systematic whole disk acquisition, storage and search. The system is designed to handle many disks being imaged many times, perhaps once a week or even daily. The acquisition and storage phases use some clever tricks to optimize both time and space requirements. Using trusted boot media, disk contents can be imaged without reliance on potentially infected system software. Use of FUSE enables fully searchable stored disks, allowing traversals by e.g. Sleuthkit for accurate volume system and file system layout.
Tupelo builds upon various useful Java libraries: virtual machine disk access from the host, split Java/C artifact construction for JNI projects, a Windows Registry reader, a STIX engine based on JAXB, and a Java wrapper to the open-source Sleuthkit disk forensics toolset.
Speaker: Stuart Maclean
Stuart Maclean is an engineer at the University of Washington. He has built cybersecurity tools to answer one simple question: What does this program do? One obvious thing it might do is store data on your disk, perhaps in a filesystem, perhaps not. A method for whole disk capture and later search is therefore needed, and the toolset described in this talk goes some way to answering such questions.
Talk #2: Using Deep Learning in Java
Slides Source Code
Being tired of having to manually label all the photos he takes on weekend outdoor trips, Eric decided to try to get Deeplearning4j [deeplearning4j.org/] to do the job for him...
Speaker: Eric Jain
Eric Jain [linkedin.com/in/ejain/] runs Zenobase [zenobase.com/], a service that helps people answer questions using data from their fitness-tracking devices (and other sources).
Talk #1: Prototyping with the Internaional Image Interoperability Framework (IIIF)
The International Image Interoperability Framework (IIIF) is a collection of standards and API's for sharing and presenting image content. The standard is being adopted by many academic and cultural institutions to present digital images. When images are served from a IIIF-compliant image server, the images can be accessed by wide variety of iiif-compliant viewer applications.
The Georgetown University Library is early in our exploration of these standards. Throughout the presentation, we will discuss the challenges that a library or cultural heritage organization faces in sharing digitized content and the opportunities that are enabled by the IIIF standards. The availability of online, open-source, interoperable applications makes this a particularly fun technology to explore.
This presentation will include a live demonstration of the configuration of a IIIF-compliant image server. Cantalope is a java-based open-source IIIF image server. The presentation will demonstrate the installation and configuration the Cantaloupe with a collection of images. The presentation will demonstrate how the URL scheme of the IIIF Image API can be used to transform the am image and display the image in a collection of IIIF-compliant viewers.
Using an online "manifest" editor, we will use the IIIF presentation api to assemble a collection of images into a navigable image collection and demonstrate how this manifest can be rendered in a number of viewer applications.
Speaker: Terry Brady
Terry Brady is a software developer in Seattle working for the Georgetown University Library. Terry is the lead developer for DigitalGeorgetown. Terry is a committer for the DSpace repository platform. Terry has built applications for higher education, government, non-profit, and corporate institutions including LexisNexis and the National Archives and Records Administration.
There are many different JVM languages ranging from the very script-like Groovy to the highly structured such as Scala and Closure. Kotlin by Jetbrains is one of the newest additions to the family of languages on the JVM. In this talk we will cover the basic features of the Kotlin language, how does it compare to vanilla Java, and what are some reasonable use cases for the language.
Speaker: Gabe Hicks, CTO
Gabe Hicks has been with Dev9 since it's founding in 2010. With over 20 years of experience, he has held roles ranging from software architect to CTO. Gabe has experience in many industries and organization types ranging from start-ups to multinational enterprises. Gabe drives Dev9's delivery of software services on Cloud partner platforms with Google Cloud Platform, AWS and Microsoft Azure. Gabe has led teams in planning and design of solutions for companies in fields such as healthcare, retail, communications and entertainment. Since joining Dev9, he has built core applications for numerous, large-scale consumer facing systems.
This talk will demonstrate use of the Kubernetes platform for deploying Java based micro services and supporting infrastructure. We will cover:
Overview of Kubernetes - why, what are building blocks of K8S architecture
kubernetes provisioning with GCloud and AWS(kops)
Resource management with Terraform
Deploying solutions with Helm package manager for Kubernetes
Creating custom Helm chart for a spring boot application
Adding log management and monitoring solutions
Speaker: Konstantin Ignatyev, Senior Technical Architect at Inspur
Konstantin is currently helping Inspur to create its own Software Defined Data Center and set of optimized practices to deliver Big Data solutions for customers in China where major 'cloud' providers have limited presence or are banned. He has more that 20 years of experience working with technologies focusing on delivering solutions with Unix and JVM based technologies.