Categories
Workshops

Everybody likes Redis

Everybody likes Redis

liviu Everybody likes Redis

Liviu is currently leading the developing efforts of a company called Biz Pro Technologies. They are enthusiasts about combining SQL and NoSQL solutions and he had the privillege to introduce Redis to their stack which has been live for more than 1 year and a half now with no major incidents.

We are going to discover how Redis can help your current stack, from being a simple cache server and up to a real database. We are going to explore its more advanced features and see real examples of how to use them. It is not a silver bullet, but use it right and it can really speed things up.

Categories
Workshops

Full Stack Application development using JavaScript

Full Stack Application development using JavaScript

tamas Full Stack Application development using JavaScript

Tamas is a full stack web developer turned senior technical trainer. Tamas has a decade of experience working with large, prestigious multinational IT / telecommunications and media organisations such as Verizon, Panasonic, BBC and Accenture. Throughout his career Tamas has delivered training classes all over the world to both technical and non-technical audiences.

The workshop will allow attendees to have hands on experience with developing and architecting a Single Page Application using JavaScript only. The application will have a fronted component written in AngularJS, a middleware using Node.js and Express and finally a backend using MarkLogic, a NoSQL database. With built-in support for JSON, geospatial data, relevancy ranked search and ACID compliancy (forget eventual consistency!) it is truly a great addition to a stack where JavaScript is used throughout the frontend and the backend.

Categories
Web & Mobile

React to ScalaJS

React to ScalaJS

maciek React to ScalaJS

Maciek Próchniak is an algebraic topologist, having developed for over 9 years on JVM professionally and for pleasure. This includes various subjects varying from architecture to operations, and from integration to web development. Recently trying hard to code more functionally, preferably in Scala. Likes to speak at conferences from Bergen to Cairo on wide range of topics – from the Scala type system to NoSQL databases. For 6 years happy @ TouK, and even more happy husband and father.

The presentation will be introduction to Scala-JS. We’ll see (through live coding demo) how (and if) it can be used to create modern web applications. Interactions with web frameworks will be shown using the React framework – we’ll also see if it’s possible to develop Relay-style applications. The focus of the talk is to give flavor of developing with Scala for frontend and to try to answer questions – is it production ready, is it worth a try?

Categories
Web & Mobile

Secure Authentication and Session Management in Java EE

Secure Authentication and Session Management in Java EE

patricya Secure Authentication and Session Management in Java EE

Patrycja Wegrzynowicz is a software visionary and expert specialized in automated software engineering and Java technologies. She is the founder and CTO of Yonita, Inc., a California-based start-up focused on automated detection and refactoring of software defects, including security vulnerabilities, performance and concurrency anti-patterns, and database issues. Patrycja is a regular speaker at major academic as well as industrial conferences, including JavaOne, Devoxx, JavaZone, OOPSLA, ASE, and others. She is associated with University of Warsaw where she is finalizing PhD in Computer Science. Patrycja’s interests focus on patterns and anti-patterns in software along with automated software engineering, particularly static and dynamic analysis techniques to support program verification, comprehension, and optimization.

Broken authentication and session management is among the most prominent security vulnerabilities according to The Open Web Application Security Project Foundation (the OWASP Top 10). Many developers assume that it works out of the box in Java EE. Unfortunately that’s not the case. Even though Java EE provides support for secure authentication and session management, it’s still developers’ responsibility to use it correctly. In live demos, you’ll learn how to hijack a session by exploiting common security vulnerabilities on the client-side, on the server-side, and in transport. You’ll also find out about common mistakes and omissions related to authentication and session management along with the ways to protect your applications using Java EE mechanisms.

Categories
Cloud & Big Data

ToroDB: NoSQL & relational Java database with SQL analytics

ToroDB: NoSQL & relational Java database with SQL analytics

alvaro ToroDB: NoSQL & relational Java database with SQL analytics

Álvaro Hernandez is a 36 year-old IT entrepreneur, based in Madrid, Spain. Founder and CTO at 8Kdata, a database R&D company, he spends most of his time working on the ToroDB project, the first NoSQL-on-SQL database, a MongoDB-compatible database that runs on top of PostgreSQL. He is a passionate software developer and open source advocate. Álvaro is a Java software developer, member of JavaSpecialists.eu, but also a DBA, trainer and frequent lecturer at international conferences. He also founded the PostgreSQL Spanish User Group, one of the largest PUGs in the world, with more than 500 members.

How do you cope with the rise of unstructured data? Do you have different systems for your NoSQL and your SQL databases? How do you perform analytics of NoSQL data? ToroDB is an open-source NoSQL & relational database written in Java. ToroDB transforms NoSQL documents to relational structures and stores them in relational databases like PostgreSQL. ToroDB speaks the MongoDB protocol, being compatible with MongoDB programs and tools. With ToroDB, you can use either SQL or the MongoDB API for queries. ToroDB automatically structures and partitions your NoSQL data. ToroDB also speaks the MongoDB protocol and can replicate live from it. And you can do analytics in pure SQL against Massively Parallel Databases like Greenplum or CitusDB. Join this talk to understand how ToroDB works, what advantages it may bring to your Big Data architecture, and how to hack ToroDB’s Java open source code.

 

Categories
Cloud & Big Data

Distributed Data Processing with Infinispan and Java Streams

Distributed Data Processing with Infinispan and Java Streams

zamareno Distributed Data Processing with Infinispan and Java Streams

Galder Zamarreño is a core R&D engineer at JBoss, a division of Red Hat. He is one of the founding engineers of Infinispan, Red Hat’s distributed, in-memory key-value store and he currently spends most of his time developing Infinispan’s Functional Map API as well as other data grid and caching functionality. He is very keen on functional programming and has been developing in Scala since 2009. Galder has previously worked with JBoss customers helping them build highly distributed and massively scalable Application Server clusters based on technologies such as JGroups and JBoss Cache. Prior to joining Red Hat, Galder worked in the Retail industry where he was a software developer involved in the development of an EFT software switch solution based on JBoss technologies. The love for distributed systems and open source software comes from his days at ESIDE faculty at University of Deusto (Bilbao, Spain) where he studied a master’s degree in Computer Science.

Infinispan is a distributed in-memory key/value data store capable accelerating data processing using Hadoop, Spark and home-grown Map/Reduce APIs. Starting with Infinispan 8, you can now also use the Java 8 Stream API to process, transform and analyse the data stored in the grid, without burdening the architecture with external platforms. Processing can be applied to keys and/or values and it uses Infinispan’s data partitioning logic to distribute operations to nodes where data lives so that they can be executed locally. In this talk you’ll learn about this new extension to Java 8’s Stream class to process data in Infinispan and how it compares with existing APIs.

Categories
Cloud & Big Data

Apache Zeppelin, the missing GUI for your Big Data back-end

Apache Zeppelin, the missing GUI for your Big Data back-end

Apache Zeppelin, the missing GUI for your Big Data back-end

DuyHai Doan is a Cassandra technical advocate. He spends his time between technical presentations/meetups on Cassandra, coding on open source projects to support the community and helping all companies using Cassandra to make their project successful. Previously he was working as a freelance Java/Cassandra consultant.

If you are interested in Big Data, you surely already know about Apache Spark or Apache Cassandra, but do you know about Apache Zeppelin? Do you know that it is possible to draw out beautiful graph using an user-friendly interface out of your Spark RDD and Cassandra queries? In this session, I will introduce Zeppelin by live coding example and highlight its modular architecture which allows you to plug-in any interpreter for the back-end of your choice (AsciiDoc, Cassandra, etc.).

Zeppelin is a young but very promising Apache project. Its modular and interpreter-based architecture makes it suitable for any kind of back-end, not just Spark (like Spark Notebooks for example). The community is vivid and a dozen of pull requests have been created to integrate interpreters for different technologies (Apache HBase, Apache Lens, Apache Ignite, etc.). The community is in a building phase and my talk aims at presenting Zeppelin to the developers and to extend Zeppelin community. The talk itself will be done using Zeppelin. Yes, it is possible to execute Markdown, AngularJS or just plain HTML code using Zeppelin directly.

Categories
Java

DI Frameworks – some hidden pearls

Dependency Injection is now part of nearly every Java project.

sven Dependency Injection is now part of nearly every Java project.

Sven Ruppert has been coding Java since 1996. He is a Fellow for reply based in Munich. In his free time he is regularly speaking at Conferences like JavaOne, Jfokus, Devoxx, JavaZone, and many more, and contributes to IT periodicals as well as tech portals. He is blogging at www.rapidpm.org.

Dependency Injection is now part of nearly every Java project. But what is the difference between DI and CDI. How to decide what I could use better, what frameworks are available and what are the differences for me as a programmer? What could be an option for the IoT, Desktop or Web project? In this talk we will get an overview of different frameworks and how they are working. We are not checking the well known big one only, but we are looking at some small sometimes specialized hidden pearls.

Categories
Java

Using actors for The Internet of (Lego) Trains

Using actors for The Internet of (Lego) Trains

237f560 Using actors for The Internet of (Lego) Trains

Johan is working as a Java architect and competence center Java lead at Info Support. He has been working for various demanding companies where rapidly delivering quality software was very important. Currently he is working in a DevOps team in a big financial institution in The Netherlands as Java architect. He likes sharing his knowledge about Java, continuous delivery, DevOps, software quality and numerous other subjects. Johan regularly writes articles and gives presentations about those subject for instance at JavaOne, JavaLand, JBCNConf, JavaCro, ConFESS and J-Fall.

Using actors for The Internet of (Lego) Trains

Jim is working as a Java consultant at Info Support. He is currently working at the Dutch railway company where they are building the future of railway control. Jim likes learning new things as much as applying and sharing his current knowledge

Last year we started a new Internet of Things project: The Internet of (Lego) Trains. In our normal jobs we use languages like Java and Scala to build applications for large organizations. We wanted to find out if we could use the same languages and tools on IoT hardware. We also wanted to investigate whether or not (remote) actors could replace REST endpoints in our applications. Next to that it was also a good excuse to play with Lego. The Lego trains are equipped with a Raspberry Pi, camera, wireless dongle, infrared transmitter, speaker, RFID reader and battery pack. Next to that we have automated switch tracks and camera’s again with the help of Raspberry Pi’s. We also build some lightning effects with LEDs controlled by Particle Photon’s. On top of that we also automated a Lego ferris wheel. To control the trains and other parts we built an remote actor based application with Scala, Akka, Akka HTTP and AngularJS. In this session we will talk about our experiences and challenges and of course we will give a live demo!

Categories
Java

An Architecture with CQRS and Event Sourcing

An Architecture with CQRS and Event Sourcing

photo An Architecture with CQRS and Event Sourcing

Eugen Paraschiv is an engineer with a passion for Java, Spring, REST, TDD, and more recently producing great video. He spends most of his time teaching, writing, curating the weekly review and wearing many other hats on baeldung.com. He spoke at many JUG meetings, the Spring IO in Barcelona, as well as several live webinars (he holds one every two weeks). Right now he is working on a course (REST With Spring).

In this talk, I will share my experience building and deploying an event-sourced, CQRS Spring application. You will learn about the challenges of separating the update model from the query model in a complex domain, how commands naturally lead to events and to an event based system, and how these events get projected into useful, eventually consistent views. You will also learn about using the right type of persistence for each projection – Spring Data JPA for some, Spring Data Elasticsearch for others, etc. Finally – we’ll see how Projections can be separated from one another and run independently in separate Spring Contexts, separate processes and even separate hardware. The fact that Projections are just another name for Microservices is just gravy.