- April Event: Keycloak , WireMock and Inheritance
Welcome to our April event. We are going to have three interesting talks. Starting with Yair who will explain how to use WireMock to speed up and stabilize your testing environment. Later Lior will explain Why inheritance is a bold violation of the OO principles. In the main talk Guy Marom will deep dive into OAuth 2.0 and Keycloak integration Agenda: 18:00 - 18:30 Rally-up - Light Food, beer and wine - courtesy of our host - Next Insurance 18:30 - 18:40 Real world mocks - Using WireMock to Stabilize and Speed up your tests / Yair Galler - Next Insurance 18:40 - 18:50 Why inheritance is a bold violation of the OO principles / Lior Bar-On - Next Insurance 18:50 - 19:00 A Short break 19:00 - 19:50 Secure your app with Keycloak / Guy Marom - SparkBeyond 20:00 - 20:30 An open Discussion 21:00 - ... Wrap up and drinks at the nearest bar * Secure your app with Keycloak - Guy Marom * OAuth 2.0 is an industry standard protocol for authorization, and OpenID Connect adds authentication on top of the protocol. If you have ever used a Login with Facebook/Google/Github button then you’ve used OAuth and OpenID Connect. In this talk we will learn to understand the protocol's uses and the different types of authentication flows. We will also take a look at Keycloak - an identity provider developed by RedHat that allows to easily integrate existing products with OAuth and OpenID. Guy Marom - Spark Beyond Guy has been writing software for the past 13 years, and for the last 9 years in the Java ecosystem. He is now working at SparkBeyond where they help companies solve their business problems using a proprietary AI platform. In his spare time Guy raises 3 kids, 2 cats and 13 hens. * Real world mocks - Using WireMock to Stabilize and Speed Up Your Tests * In a healthy codebase, you will normally find a test pyramid - lots of unit tests, fewer component tests and even less e2e tests. There’s a reason for this. The more complex the test, the more it is slower, fragile and a pain to maintain. Integration tests that talk to the real world are a particular weak point in your CI pipeline. They are slow and susceptible to downtimes that are not under your control. I will show how we used Wiremock to improve the dependability of our tests using real-world “live” mocks. Yair Galler - Next Insurance Yair Galler is an engineering team lead at Next Insurance’s backend group. He has over 15 years of full-stack software engineering experience tackling everything from devops and backend challenges to the latest frontend frameworks. * Why inheritance is a bold violation of the OO principles - Lior Bar-On * For some unknown reason, Inheritance is commonly recognised as the core idea behind Object-Oriented Programming. Actually, that is quite untrue. Inheritance is a bold violation of the most important ideas behind Object-Oriented programming, and better be avoided in many cases. Lior would try to highlight this on this short session Lior Bar-On / Next Insurance Lior Bar-On was serving as an Architect in a number of companies (Gett, Imperva, SAP, and NICE) and now the chief architect of Next-Insurance. He is the author of softwarearchiblog.com for the last 8 years (OMG!)
- [Special Guests] Reactive Spring/Josh Long & Winter Is Coming/Gil Tene
"Winds of Winter" and "A Dream of Spring" in Java.IL!! We have two special guests this month visiting Israel at the same time Josh Long , Spring Developer Advocate and Java Champion and Gil Tene the CTO of Azul and a Java Champion as well. Josh will explain how to build Reactive software with Spring. Gil will speak about the changes in the licensing of Java and the changes in the eco system resulting from that. Agenda: 18:00 - 18:20 Rally-up - Light Food, beer and wine - courtesy of our host - Taboola 18:20 - 19:55 Reactive Spring / Josh Long - Pivotal 19:55 - 20:05 A Short break 20:05 - 20:35 Java: Winter is Coming / Gil Tene - Azul 20:35 - 21:00 An open Discussion 21:00 - ... Wrap up and drinks at the nearest bar * Reactive Streams - Josh Long * Microservices and big-data increasingly confront us with the limitations of traditional input/output. In traditional IO, work that is IO-bound dominates threads. This wouldn’t be such a big deal if we could add more threads cheaply, but threads are expensive on the JVM, and most other platforms. Even if threads were cheap and infinitely scalable, we’d still be confronted with the faulty nature of networks. Things break, and they often do so in subtle, but non-exceptional ways. Traditional approaches to integration bury the faulty nature of networks behind overly simplifying abstractions. We need something better. Spring Framework 5 is here ! It introduces the Spring developer to a growing world of support for reactive programming across the Spring portfolio, starting with a new Netty-based web runtime, component model and module called Spring WebFlux, and then continuing to Spring Data Kay, Spring Security 5.0, Spring Boot 2.0 and Spring Cloud Finchley. Sure, it sounds like a lot, but don’t worry! Join me, your guide, Spring developer advocate Josh Long, and we’ll explore the wacky, wonderful world of Reactive Spring together. Josh Long / Spring Developer Advocate - Pivotal https://spring.io/team/jlong Josh (@starbuxman) is the Spring Developer Advocate at Pivotal and a Java Champion. He's host of "A Bootiful Podcast" (https://soundcloud.com/a-bootiful-podcast), host of the "Spring Tips Videos" (http://bit.ly/spring-tips-playlist), co-author of 6+ books (http://joshlong.com/books.html), and instructor on 8+ Livelessons Training Videos (http://joshlong.com/livelessons.html) * Java: Winter is Coming - Gil Tene * Winter is Coming. Starting on the 3rd week of April 2019. Fundamental changes from established norms will happen not only in the seven kingdoms, but also to the world of production Java deployments. In this talk, Gil Tene will discuss the immediately impending changes in the Java ecosystem, survey the options available for future production Java use, whether free and otherwise, and discuss the hard choices to be made in navigating the storm. Gil Tene / CTO - Azul Gil Tene is CTO and co-founder of Azul Systems. He has been involved with virtual machine and runtime technologies for the past 25 years. His pet focus areas include system responsiveness and latency behavior. Gil is a frequent speaker at technology conferences worldwide, and an official JavaOne Rock Star. He pioneered the Continuously Concurrent Compacting Collector (C4) that powers Azul's continuously reactive Java platforms. In past lives, he also designed and built operating systems, network switches, firewalls, and laser based mosquito interception systems.
- February Meetup: Magical Monolith, JVM Memory and Testing with Spring
2 Lightning talks and one main talk await you this meetup. The first lightning talk is on how to do microservices inside a monolith using Spring boot. The 2nd lightning will help you understand the JVM Memory structure - a must for every Java engineer. The main talk will help you understand how to test your Spring Microservices using its unique features. Agenda: 18:00 - 18:30 Rally-up - Light food, beer and wine - courtesy of our host - Logz.io 18:35 - 18:50 [Lightning] Microservices within a single JVM with Spring Boot - Victor Perepelitsky / Beewizer 18:50 - 19:05 [Lightning] Java Memory Structure - Haim Yadid / Next Insurance 19:05 - 19:15 A Short break 19:15 - 20:15 Spring’s Testing Features - Gil Zilberfeld 20:15 - 20:30 A Short break 20:30 - 21:00 An open Discussion 20:30 - ... Wrap up and drinks at the nearest bar * Microservices within a single JVM with Spring Boot - Victor Perepelitsky / Beewizer * Do you think to start using micro-services? Do you plan to move from monolith? Do you want to hear about practical aspects of micro-services? In this short talk you will discover the real problems micro-services used to solve, practical pain points of maintaining micro-services and the sweet alternative we all have. Victor Perepelitsky Victor Perepelitsky is the CTO of Beewizer. Victor is an expert in Java and has a vast experience in event processing, messaging, rules engines, aws, dockers and more. Using his unique experience with SAAS and micro-services at large scale Victor always tries to find the best solutions to fit the business needs as well as minimize the system cost while building new products or redesigning existing systems. * Java Memory Structure - Haim Yadid / Next Insurance* Understanding how memory is structured on the JVM ( Hotspot/OpenJDK) becomes important when you really want to troubleshoot your production environment. In this short talk I will delve into the basics of the topic and demystify some of the misconceptions. Haim Yadid A software engineer with over 25 years of experience in various technology fields: software development, team management, software architecture, HPC and algorithmic research. Currently leading a backend group in Next Insurance. Before that has been focusing for 8 years on Java platform performance optimization as an independent consultant. Even though in my current work we do not experience scale of performance problems (yet) I have still suffer from craving to these topics. * Spring’s Testing Features - Gil Zilberfeld * Spring has taken over as the leading platform to create web-based, APIs and micro-services in the Java world. As a modern framework, it comes with many features for testing. In this session, we're going to go over the main Spring testing capabilities and features. - Spring architecture support for testing (beans, configurations and profiles) - Spring's support for different types of tests (unit, integration, API) - Spring’s mocking capabilities and how to use them effectively - Spring's support for database-based tests, including in-memory databases - Test isolation and clean-up - Mocking dependent services and APIs Gil Zilberfeld Bio (https://www.dropbox.com/s/be3ykn1g8bp8128/Bio.docx?dl=0) PARKING We recommend parking in חניון גבעון (Waze) which is just across the building (it's paid parking) RECORDING The lectures will be recorded an uploaded to your YouTube Channel (https://www.youtube.com/c/JavaIL)
- January Event: GraphQL / AssertJ / Kafka Streams
We will have three talks: The main talk will detail GraphQL (as opposed to REST) and two lightning talks the first will be discussing AssertJ and the second will show how Kafka Streams can be useful when you try to develop real time fraud detection system. Agenda: 18:00 - 18:30 Rally-up - Light Food, beer and wine - courtesy of our host - Outbrain 18:30 - 18:40 AssertJ - fluent assertions in Java - Danny Bulshtien / Duda 18:40 - 18:55 Lightning: Real-time fraud detection with Kafka Streams - Ofir Sharony / MyHeritage 18:55 - 19:05 A Short break 19:05 - 19:50 GraphQL for API junkies - Yonatan Maman / Outbrain 19:50 - 20:00 A Short break 20:00 - 20:30 An open Discussion 20:30 - ... Wrap up and drinks at the nearest bar * GraphQL for API junkies - Yonatan Maman / Outbrain * Never heard of GraphQL? Already have REST APIs? About to build a public API? API junkie ? Come and hear about GraphQL, its advantages and its weak points, see a live demo of GraphQL on-top of existing REST API and examine the Kotlin code I used to do that. Yonatan Maman Yonatan is the VP Engineering of Outbrain, and doing software from the happy days of Atari XL. He loves to build new products, to kill tech debt and to educate his team about software craftsmanship. * AssertJ - fluent assertions in Java - Danny Bulshtien / Duda * AssertJ provides fluent assertions for Java. In this talk, you will see how using AssertJ can make tests easier to read and easier to write. You will see examples, tips and tricks of using AssertJ. Danny Bulshtien - Duda Danny is a software developer at Duda. Loves writing in Java and to write tests. * Real-time fraud detection with Kafka Streams - Ofir Sharoni / MyHeritage* In this talk, we'll build a gatekeeper to your website. Our fraud detection system will target various types of malicious activities, such as account takeover, parameter tampering, forbidden access and more. We'll try to identify potential attacks and react to them in near real-time. Addressing this problem in a classical batch fashion will result with a complex, non-scalable nor real-time solution. We'll adjust our clumsy implementation to a modern, stream processing windowed-aggregation, use Kafka Streams as our streaming framework, and end up with a beautiful, clean and maintainable code. Ofir Sharony Ofir is a BackEnd team lead at MyHeritage, with a passion for event-driven design and stream processing frameworks. Ofir has acquired most of his experience by planning scalable server-side solutions and developing data pipelines. Ofir has spoke of these ideas in local and global conferences, and wrote about them here: https://medium.com/@ofirsharony
- Jumping on the Graal Hype Train
GraalVM is one of the most exciting technologies Oracle released in the last years (open source). It enables true polyglot in an organization. Wix ventured into it and lives to tell the good and also the bad we don't read about (yet). Agenda: 18:00 - 18:30 Rally-up - Finger food, beer & wine courtesy of Wix 18:30 - 19:00 First date with GraalVM - Pijus Navickas / Wix 19:00 - 19:20 Breaking language barriers with GraalVMs polyglotism - Milda Glebauskaitė / Wix 19:20 - 19:30 Short break 19:30 - 20:10 Graal: Using JVM libraries in Node.js - Laurynas Lubys / Wix 20:20 - 21:00 Roundtable discussion on sessions topics *First date with GraalVM - Pijus Navickas / Wix* GraalVM - the newest JVM extension generated a lot of buzz in the industry, already earning the trust of such industry giants as Twitter. The promises GraalVM gives definitely sound good: a better performance, ability to run polyglot languages and more. In this talk we’ll learn what exactly is GraalVM, what hides behind the scene, how come GraalVM is technically able to fulfil the promises it gave, and should we jump on the GraalVM hype train too. *Pijus Navickas* Pijus is a software engineer at Wix. He is a polyglot developer with main background coming from JVM and C++ worlds. He is passionate about good engineering, developing elegant and efficient solutions. Picking the right tool for the right job has always been one of the key principles of his. *Breaking language barriers with GraalVMs polyglotism - Milda Glebauskaitė / Wix* It is exciting to imagine a programming world where boundaries between different programming languages would stop existing, and GraalVM polyglotism feature helps us to cross them. But does it come with a cost? Will we be actually able to create seamless applications, choosing the best programming language for each of our tasks, without the overhead? Together we’ll try to answer these questions and look at some cases. *Milda Glebauskaitė* Milda started her career with Python, working in couple Vilnius-based startups, but quickly moved to Scala and NodeJS. Currently working in Wix.com - company that creates a leading web development platform. She is interested in quality code, test-driven development, and coding as a form of self expression. At the end of the day, she loves to do kickboxing and is an owner of the cutest dog in Wix.com office. *Graal: Using JVM libraries in Node.js - Laurynas Lubys / Wix* GraalVM promises seamless interoperability between multiple languages, all running on the JVM. It makes it trivial to call code implemented in JVM languages from Node.js. However, given Node’s event loop model, blocking it is not a viable option. In this talk we’ll look into how we can use blocking JVM libraries in Node.js as well as call back from JVM libraries into Node.js *Laurynas Lubys* Laurynas Lubys is a curious software developer interested in how things work and how to make them work right. He cut his Node.js and Scala teeth working on Wix Code, now working on the system powering @Wix hiring process. PARKING Tel Aviv Harbor is plenty of parking spaced (paid). You can also park for free in the parking area at Reeding Parking Space.
- [GUEST] Reactive Programming with Core JDK Workshop / JCP Intro
We have two *special guests* joining us. The first is Heather Van Cura - the chair person of the Java community process who will speak about how the JCP works and what you can do to contribute. As the one running the show, she'll teach us how each and every one of us can make a change to Java through the JCP. Later on we will have a workshop with Sven Ruppert from Vaadin. He will demonstrate building a functional reactive code with Core JDK. For the workshop you will need your own laptop with preinstalled with the following: - (Recommended) JDK 11 (possible with JDK 8 as well but why not use the opportunity to test drive the new shiny version of Java ?) - Maven - Git - Your favourite IDE (IntelliJ / Ecllipse / Netbeans/ Vim ) - Make sure to pull to the latest version of the workshop from https://github.com/Java-Workshops/Functional-Reactive-with-Core-Java Agenda: 18:00 - 18:30 Rally-up - Pizzas, beer courtesy of Kenshoo. 18:30 - 18:35 Opening words 18:35 - 18:50 The Future of Java and You / Heather Van Cura - Oracle 18:50 - 19:20 Functional Reactive with Core Java - the frameworkless way / Sven Ruppert - Vaddin 19:20 - 19:30 Short break 19:30 - 22:00 Reactive with Core Java - Hands On Lab * The Future of Java and You * Learn how to take a part in Java technology evolution through the Java community process. This session outlines why and how to participate in the JCP Program. You will also learn about the global Adoption programs and how you can participate in the programs. Currently there are new JSRs being developed including one for Java SE 12. Find out how you have contribute to the future of Java technology. Heather VanCura (@heathervc (https://twitter.com/heathervc)) Heather Van Cura - Director and Chairperson of the JCP - Oracle Heather VanCura leads the Java Community standardization efforts at Oracle, and is a leader of the global community driven adoption user group programs. She is Chairperson of the Java Community Process (JCP) program. In this role she drives the efforts to transform the JCP program and broaden participation and diversity in the community. She is passionate about Java, women in technology and developer communities, serving as an international speaker and community organizer of developer hack days around the world. She resides in the San Francisco Bay Area, California USA and enjoys trying new sports and fitness activities in her free time. * Functional Reactive with Core Java - the frameworkless way * In this workshop we will walk through building a functional reactive application w/o the aid of external frameworks, relying only on the capabilities of the JDK. You will need to write code so bring own laptop with you. Sven Ruppert - Developer advocate - Vaadin Sven Ruppert has been coding Java since 1996. He is working as Developer Advocate for Vaadin and he is also an Oracle Developer Champion. He is regularly speaking at Conferences like Oracle Code/JavaOne/Jfokus/Devoxx/JavaZone/JavaLand and many more and contributes to IT periodicals, as well as tech portals. PARKING See mail sent titled "See you on Sunday [Action Required]" including instruction on getting parking approval
- Knowledge transfer by source code and more
After a summer vacation in August and September holidays we are back in full power, we will have a great lecture from Google and lightning talks. Agenda: 18:00 - 18:30 Rally-up - Light sandwiches and beer courtesy of our host - Taboola 18:30 - 18:40 Lightning: OWASP A4 XML External Entities - Michael Furman / Tufin 18:40 - 18:50 Lightning: Open Source: Sawmill - high performance JSON transformation library - Ori Reichman / Logz.io 18:50 - 19:05 Short break 19:05 - 19:50 Knowledge transfer by source code - how to write more code and fewer emails - Ofer Bartal & Avital Zipori / Google 19:50 - 20:00 Short break 20:00 - 20:30 An open Discussion 20:30 - ... Wrap up and drinks at the nearest bar * Knowledge transfer by source code - how to write more code and fewer emails Email is just one way to pass knowledge. This talk is about how we use source code, compilers, and tests, to pass knowledge across different teams. We know that compilers do static analysis of code and that tests check certain conditions are met at runtime. We show how these can be used to change communication patterns across teams, using examples from three cross-language and cross-platform technologies: Protocol Buffers, gRPC and Bazel. Ofer is a software engineer at Google, working on Google's Open Source ecosystem. He volunteers at The Public Knowledge Workshop, and you can find him there every Monday, hacking away at government data. Avital is a software engineer at Google on a data processing team. Co-founder of "Extend", an organization that aims to open up the tech industry to diverse engineers, and "באות", Israel’s largest community of senior female software engineers. * OWASP A4 XML External Entities The lecture will elaborate what is XML External Entities (XXE) attack. You will understand how to protect your Java code against the XXE attack. Michael Furman, Tufin Lead Security Architect I have over 10 years of experience with application security. I have been the Lead Security Architect at Tufin for over 4 years. I am responsible for the security of all Tufin software products, including Tufin Orchestration Suite as well as our new products that integrate security directly in the DevOps pipeline. Tufin software is used in over 2,000 enterprises, including 40 Fortune 100 companies. * Open Source: Sawmill - high performance JSON transformation library Logz.io experienced extreme difficulties with Logstash: low performance, no visibility, async nature, etc. The solution was to write a high performance reliable JSON transformation engine as a Java library - Sawmill. I will introduce you to this open source library, show use cases and if time permits a quick under the hood peek. Ori Riechman has been with Logz.io for 2.5 years at the core development team. He has vast experience with building data analysis platforms at large scale. When he is not coding he loves rock climbing and traveling.
- Developing Apollo - Open Source CD Tool ; Pants Build System; JMH
Open source tools you should know about: Apollo, Pants and JMH. Roi Ravhon from Logz.io will share the story of building Apollo, a self service deployment app on top of Kubernetes. Two lightning talks: Guy from SparkBeyond will tell us about Pants - a build tool made by Twitter and Idan Shinberg will share using JMH for micro-benchmarking. Agenda: 18:00 - 18:30 Rally-up - Light sandwiches, wine and beer courtesy of our host - Logz.io 18:30 - 18:35 Opening words 18:35 - 18:45 Lightning: Pants - A new generation build tool / Guy Marom -SparkBeyond 18:45 - 18:55 Lightning: How to NOT suck at writing benchmarks / Idan Shinberg - Freelancer 18:55 - 19:10 Short break 19:10 - 20:00 Developing Apollo - Logz.io Open Source CD App / Roi Ravhon - Logz.io 20:10 - 20:20 Short break 20:20 - 21:00 An open Discussion 21:00 - ... Wrap up and drinks at the nearest bar * Developing Apollo - Logz.io Open Source CD App / Roi Ravhon - Logz.io * Up until lately, Logz.io deployed new code into production once a week, followed usually with a number of hotfixes throughout the week. With an ever-growing amount of services and developers, however, the DevOps team found it increasingly tedious to keep up with deployments. In some cases, the deployment of new and ready features was even delayed because the team lacked the capacity to execute the deployment. We realised we needed to implement a Continuous Deployment (CD) process with a minimal impact on the DevOps team. In this talk, I will tell the story of this transition – why we chose Kubernetes over the other existing solutions, what technical preparations were needed in our code before started the move, and why we chose to write an in-house deployment solution over Kubernetes. We will go through the processes, and lessons learned while writing our Open source Java-based CD solution: libraries we used, minimum "magic", DI evolution, Testing decisions and more! Roi Ravhon Roi Ravhon is DevOps Team Leader at Logz.io. Before that, he was a DevOps engineer in the Israeli military intelligence. Roi writes, and talks, about DevOps, Docker, Kubernetes and the ELK Stack. Outside of work, he is a great enthusiast of beer and rock and metal music. * Pants - a new generation build tool / Guy Marom - SparkBeyond * There are a lot of build tools that have been around for a while and no one is completely satisfied with any of them. At a certain point Google decided to take matters into their own hands and decided to create Blaze which was later open-sources as Bazel. Buck and Pants were later written and took inspiration from Bazel. All three of these are meant to build large monorepos, with code written in multiple platforms. They all also try to build as many targets (modules) as possible in a parallel fashion. Come hear a short summary of Pants capabilities and on our decision to move from SBT to Pants. Guy Marom Guy Marom is a software engineer at SparkBeyond's Infra team. He writes mostly in languages compiled for the JVM and has a soft spot for build tools and CI in general. Add CommentCollapse * How to NOT suck at writing benchmarks / Idan Shinberg - Freelancer * When working on low-latency or high-throughput applications, your're often required to benchmark your solution. But who has the energy to write all of that boilerplate code just for the sake of a benchmark? And how do we ensure deterministic results? Enter JMH - a modern benchmarking harness that'll help you get good & clean performance measurements with minimal efforts in no time. Idan Sheinberg - Freelancer I'm a freelance software consultant & programmer with a touch of devops. Having developed a variety of applications in the fields of ad-tech, media-streaming and low-latency trading systems, I'm always up for learning new and exotic aspects of JVM languages and frameworks. And if I can expand my tool-belt with technologies that make a developer's life easier in the process, all the better.
- [Special Guest] The Future of Java (Gil Tene), JWT and CI in DB Migration
Our June meetup features a special guest: Gil Tene (CTO of Azul Systems and an active member of the JCP) will be speaking about the near future of Java and what to expect in 2019(Lightning), as well as vision of the Java platform in the coming years. Per the usual format, we will also have two lightning talks, this time covering JWT in Java, as well as handling database migrations as part of your delivery pipeline. Agenda: 18:00 - 18:30 Rally-up - Light sandwiches, wine and beer courtesy of our host - Gong.io 18:30 - 18:35 Opening words 18:35 - 18:45 Lightning: Quick Intro to JWT in Java / Jacob Eckel - Gong.io 18:45 - 18:55 Lightning: Migrating Relational Databases within Continuous Delivery / Zohar Shay - Gong.io 18:55 - 19:10 Lightning: Java: Get ready for an exciting but stormy 2019 / Gil Tene - Azul 19:10 - 19:20 Short break 19:20 - 20:10 Connected Runtimes / Gil Tene - Azul 20:10 - 20:20 Short break 20:20 - 21:00 An open Discussion 21:00 - ... Wrap up and drinks at the nearest bar * Connected Runtimes / Gil Tene - Azul Systems * In this talk, Gil Tene (CTO, Azul Systems) will describe a not-too-distant future where managed runtimes (and not just the applications they power) can benefit from, contribute to, and participate in a connected world. With benefits ranging from extreme performance and instant startup to bringing devops feedback cycles to the world of libraries and open source project development, connected runtimes are poised to change the way code is run, built, and managed in the decade to come. * Java: Get ready for an exciting but stormy 2019 / Gil Tene - Azul Systems * The Java world is in the midst of a tectonic shift. With dramatic changes to the pace of feature introduction, release lifecycles, compatibility policies, security update policies, and the required pace of adoption in production all happening at the same time, the world ahead will look nothing like what you may have gotten used to. In the short talk, Gil Tene (CTO, Azul Systems) will provide a quick overview of what developers and operational people need to know if Java is part of their world. Gil Tene is CTO and co-founder of Azul Systems. He has been involved with virtual machine and runtime technologies for the past 25 years. His pet focus areas include system responsiveness and latency behavior. Gil is a frequent speaker at technology conferences worldwide, and is an official JavaOne Rock Star. He pioneered the Continuously Concurrent Compacting Collector (C4) that powers Azul's continuously reactive Java platforms. In past lives, he also designed and built operating systems, network switches, firewalls, and laser based mosquito interception systems. * Quick Intro to JWT in Java / Jacob Eckel - Gong.io * JSON Web Token (JWT) is an open standard for securely transmitting information between systems (publicly or internally between microservices). We will review what JWTs are, why they're more useful than alternatives, and how to use them in Java applications. Jacob is a Director of Technology at Gong.io. Jacob was the VP R&D and CTO at Earnix, and led technology at other organizations. Jacob holds both M.Sc. in Computer Science and an MBA from the Technion. * Migrating Relational Databases within Continuous Delivery / Zohar Shay - Gong.io * A big challenge in today's continuous delivery environments is managing changes to relational databases across the lifecycle (development, testing and production). We will review a Java-based tool called Flyway, which helps manage the lifecycle of schema changes, and which integrates nicely into the Java ecosystem (Maven/Gradle, Jenkins/TeamCity, …). Zohar is a lead software architect at Gong.io. Before Gong, Zohar was a software architect at Webcollage and an engineer at Microsoft.
- JNA - Let's C what it's worth / FireBase / Spring Sessions
JNA - Java Native Access - is a library used to run native shared code from Java. It's primary reasons are: performance and a shared library not written in Java you simply *must* use. Idan Shinberg (HEED) had this use case three times in production and will share some battle scars and best practices around it. Our lightings will shed some light on Firebase, by Keren Pastov (Freelance) and Spring Session, by Elad Hirsch (Trainologic). Agenda: 18:00 - 18:30 Rally-up - Light sandwiches, wine and beer courtesy of our host - HEED 18:35 - 18:40 Opening words 18:40 - 18:55 Lightning: Developing Mobile apps with Firebase (Android and iOS), using Firebase Cloud Messaging and Firebase Realtime Database / Keren Pastov - Freelance 18:55 - 19:10 Lightning: Spring Session - Scaling and High Availability / Elad Hirsch - Trainologic 19:10 - 19:20 Short break 19:20 - 20:10 JNA - Let's C what it's worth / Idan Shinberg - HEED 20:10 - 20:20 Short break 20:20 - 21:00 An open Discussion 21:00 - ... Wrap up and drinks at the nearest bar * JNA - Let's C what it's worth / Idan Shinberg - HEED * While coding in Java is (pretty) straight forward, some tasks require going beyond the borders of standard Java programming in order to interface with low-level hardware & software programmatic APIs. In this talk, we will introduce the concept and basics of JNA, as well as discuss the probable caveats one might encounter when working with JNA, based on real production use-cases. Finally, we will try and understand - is JNA a good choice for interfacing with low-level binary code from Java ? Idan is a freelance software consultant at HEED Ltd. Proficient at cloud architecture, software engineering and DevOps. He has designed & built a unique video & audio streaming appliance from the ground up, utilizing hardware & software capabilities to help HEED achieve its unique real-time,high-quality media delivery capabilities *Lightning: Developing Mobile apps with Firebase (Android and iOS), using Firebase Cloud Messaging and Firebase Realtime Database / Keren Pastov - Freelance* Firebase Cloud Messaging (FCM) is a cross-platform messaging solution that lets you reliably deliver messages at no cost. Using FCM, you can notify a client app that new email or other data is available to sync. Distribute messages to your client app in any of 3 ways—to single devices, to groups of devices, or to devices subscribed to topics. I will also cover the Firebase Realtime Database feature. The Realtime Database Store and sync data with NoSQL cloud database. Data is synced across all clients in real-time, and remains available when your app goes offline. Keren is a Freelancer mobile developer, lecturer at John Bryce, and working on a super cool startup application with my friends. *Lightning: Lightning: Spring Session - Scaling and High Availability / Elad Hirsch - Trainologic* In this lighting talk, we will introduce the some of the challenges managing session based large scale application. We will explore : 1. Session replication (scaling to DB based solutions) 2. Support browser tab based session 3. Spring security integration. *Open Discussion* We invite you all to take part in this open discussion about the topics discussed. *Notes* TBD