Categories
Web & Mobile

Apache Sling as a microservices gateway

robert-munteanu

Working as a Senior Computer Scientist at Adobe, Robert Munteanu is a software developer with a passion for Open Source. He is a frequent contributor to Open Source projects, such as Apache Sling, MantisBT and the Eclipse Plugin for ReviewBoard.

Microservices are definitely the hot topic du jour . Everyone ( and their dog ) is using microservices or migrating towards them. However, there is a gap between the enthusiam for microservices and the tooling to make them a productive part of the large-scale deployment. Apache Sling is an innovative web framework built on top of the Java Content Repository (JCR), that uses OSGi for its component model and fosters RESTful application design. And, as we will see, it is also perfect match for a microservices gateway. In this talk we will review an ill-fated monotlithic application and extract it into several microservices, maintaining a coherent view of the resulting application through Apache Sling. We will touch upon authentication, authorization, API standardisation and logging, while also gaining a basic understanding of Apache Sling.

Categories
Cloud & Big Data

The Art of Clean Code

Victor Rentea is a  Senior Software Engineer, Tech Team Lead, Independent Consultant and Passionate Trainer on Java Enterprise technology and design.

How can you write beautiful, elegant clean code? What guidelines should you follow? How should a professional engineer behave in code? This classic training session, held over 10 times until now, will cover the major topics of what Clean Code means. No matter your favourite programming language or your experience level, this intense hour will leave you with a lot of ideas on how to improve your coding style.

Categories
Java

Ionuț Baloșin Interview

Q. You’re speaking at Voxxed Days Bucharest in March. Tell us a bit about your session.

During this session I will present the process of bytecode interpretation and compilation inside HotSpot JVM. I will try to make an interactive and practical session (with a demo at the end) for the attendees.

Q. Why is the subject matter important?

This subject is useful for developers who would like to understand what happens during runtime execution with the bytecode and how this is optimized to get better performance. They will know better how to write performance tests in their applications and what really matters to speed up the execution.

Q. Who should attend your session?

Software developers with some Java experience, Architects and all other engineers passionate about understanding the things “under the hood”.

Q. What are the key things attendees will take away from your session?

How and when the Java code is optimized, when the HotSpot JVM produces best code in terms of efficiency and how to write performant code.

Q. Aside from speaking at Voxxed Days Bucharest, what else are you excited about for 2016?

To attend other Java/Architecture conferences – why not as a speaker – and to become a certified Architect.

Categories
Cloud & Big Data

Adrien Blind Interview

Q. You’re speaking at Voxxed Days Bucharest in March. Tell us a bit about your session

I think Docker is a best fit to achieve Continuous Delivery: far beyond being an app isolation technology, it also represents a new universal type of app artifact; it also have organizational impacts. It suits perfectly the “You build it, you run it” statement from Werner Voegls. My session attempts to exposes this holistic view of Docker, based on my experimentation at Societe Generale.

Q. Why is the subject matter important?

Continuous delivery is not only something cool, satisfying tech people: it really helps the IT department delivering more rapidly and secuerly value to its customers, bringing them a competitive advantage to run their business. Moreover, all the subsequent automation it implies contributes to lowering deployment and run costs of applications.

Q. Who should attend your session?

Everybody! This presentation is built to propose different layers of outcomes, helping beginners to get the global picture, while providing more advanced tricks for veterans.

Q. What are the key things attendees will take away from your session?

With this session, you’ll understand continuous delivery pipeline principles, and be able to start building your own delivering Docker artifacts (here illustrated with the Jenkins ecosystem).

Q. Aside from speaking at Voxxed Days Bucharest, what else are you excited about for 2016?

Regarding the technical landscape, I’m quite excited by the announcements regarding Unikernels, growing interest of people for ARM micro platforms, or even the DWave’s quantum computer: does this slowly prefigures future the end of traditional systems? I’m also quite interested by VIV technology, which may revolutionize some human-internet interactions in the upcoming years.

Categories
Cloud & Big Data

Continuous Delivery at Docker age

Continuous Delivery at Docker age

adrien-blind

Adrien is a former consultant from Octo Technology, a french IT consulting firm. He joined Societe Generale as a DevOps coach and Infrastructure as Code product owner, driving the developers new needs toward infrastructure and helping them to leverage on those new principles and tools. Fond of Docker, he’s also co-organizer of the Paris Docker Meetup.

Reduced time-to-market, calmer deployments or possible source of savings … Promises of continued deployment are numerous.

To achieve this, the IT department can rely on a wide range of practices such as Agile, collaboration and automation preached by the DevOps culture, or modern architecture patterns such as micro-services. All of this is also backed by an entire ecosystem of appropriate tools, among which we find particularly Docker.

In this session, I propose to explore a fully automated continuous deployment process, leveraging on Docker containers. I’ll also present some recommendations for for the application architecture, and discuss roles and responsibilities shifts, which often accompanies such an approach.

Categories
Java

From Bytecode to Native Code in HotSpot JVM

From Bytecode to Native Code in HotSpot JVM

DSC_0018

Ionuț Baloșin is a Senior Software Engineer with 9+ years of experience in a wide variety of business applications.
Particularly interested in Software Architecture and Java Performance and Tuning.

During this session we will explore the process of bytecode interpretation and compilation inside HotSpot JVM. The attendees will understand how Java Virtual Machine internally works in regards to Interpreter and Just-In-Time compiler, as well as few optimizations achieved to gain better performance. Some of the shared topics are useful for programmers passionate about doing performance and understanding how to write micro-benchmark tests. The presentation contains a demonstration that figures out optimizations occurred during Just-In-Time compilation process. A tool for visualizing the generated assembly code will be used.

Categories
Uncategorized

Process your big data in a blink using Spark

dan-serban

Dan Serban is a data engineer who occasionally teaches advanced functional programming as well as data engineering (using Spark as the big data framework).

This 2-hour, intensely hands-on workshop introduces Apache Spark, the open-source cluster computing framework with in-memory processing that makes analytics applications up to 100 times faster compared to technologies in wide deployment today. Highly versatile in many environments, and with a strong foundation in functional programming, Spark is known for its ease of use in creating exploratory code that scales up to production-grade quality relatively quickly (REPL driven development).

The plan is to start with a few publicly available datasets and gradually work our way through them until we harness some useful insights, gaining a deep understanding of Spark’s rich collections API in the process.

Time permitting, we are going to look at a very simple Spark Streaming example (stream of integers / moving average).

During the workshop, participants are encouraged to exchange with one another URLs and snippets of code via the issues section of this GitHub repository ( https://github.com/dserban/SparkVoxxed ).

Categories
Cloud & Big Data

Galder Zamarreño interview

Q. You’re speaking at Voxxed Days Bucharest in March. Tell us a bit about your session.

The session is about how to use Java 8 Stream API to process and analyse data stored in distributed Infinispan data grid instances. The talk will start with a short presentation about Infinispan and Java 8 Stream API and then it will follow with a demonstration on how to combine both to do distributed data processing.

Q. Why is the subject matter important?

The Java 8 Stream API is a very popular API to get started with processing data in a single node environment. Infinispan has extended the Java 8 Stream API so that lambda functions are shipped to where data is located, rather than bringing all data to a single node, and hence it can take full advantage of the parallel data processing capabilities of multiple nodes.

Q. Who should attend your session?

This is a beginner talk for Java developers and architects interested in data processing and distributed computing. Previous knowledge of Java 8 Streams and Map/Reduce is desirable but not mandatory.

Q. What are the key things attendees will take away from your session?

The key message is that the Java 8 Stream API can be extended to process large data sets in a distributed environment, taking advantage of the parallelism offered by multi-node environments. The attendees will also learn about the differences of Java 8 Stream API and other data processing APIs exposed by Infinispan.

Q. Aside from speaking at Voxxed Days Bucharest, what else are you excited about for 2016?

I’m very excited about enhancements we’ll be doing to a new Functional Map API we designed for Infinispan 8 which takes advantage of lambdas functions to define how data is modified and manipulated. Being able to distributed the functions that lead to a particular state as opposed to distributed latest values is a very powerful concept, enabling strong eventual consistent data structures such as conflict-free replicated data type (CRDT).

I’m also very excited with the work we’ve been doing at Infinispan to integrate with other data processing projects at Apache, such as Hadoop, Spark, etc., so you can use Infinispan as an alternative backend for the data. These integrations expose Infinispan’s in-memory data grid capabilities to a new audience expanding our user base.

Categories
Java

Vlad Mihalcea interview

Q. You’re speaking at Voxxed Days Bucharest in March. Tell us a bit about your session.

My session aims to familiarize the audience with the some key database and JDBC concepts that are of paramount importance in high-performance data access platforms. First, I’m going to explain the relation between throughout and response time. Then I’m going to decompose the transaction response time equation into specific segments like: request time, execution time, response time. Each of these segments can be optimized using a JDBC specific feature: batching, fetching, result set trimming. This way, it’s easy to understand what happens under the hood when a database transaction is executed.

Q. Why is the subject matter important?

Systems are getting bigger and bigger these days, making it difficult to maintain decent response times while accommodating more users. By lowering response time, we increase responsiveness (so our customers will be have a better user experience) and allow more transactions to be executed in a given unit of time. This talk is relevant to any system that wants to take advantage of what JDBC and relational database systems have to offer.

Q. Who should attend your session?

Developers, quality assurance engineers, architects and system administrators are good candidates for these topics, because the session blends theoretical and practical advises too.

Q. What are the key things attendees will take away from your session?

My session delivers practical examples, so if you are using Oracle, MySQL, SQL Server or PostgreSQL, you can surely learn something new from this session.

Q. Aside from speaking at Voxxed Days Bucharest, what else are you excited about for 2016?

I’ve been informed that I’d be speaking at jPrime Sofia too, but there might be other conferences where I might participate.

Categories
Web & Mobile

Trayan Iliev interview

Q. You’re speaking at Voxxed Days Bucharest in March. Tell us a bit about your session.

This session introduces Java Functional Reactive Programming (FRP) as a novel way for building high-performance reactive streams processing for connected/embedded/robotics devices using Spring Reactor and RxJava libraries.
It includes a demo of running reactive hot event streams processing on a custom developed Java robot called IPTPI (using Raspberry Pi 2, quad-core at 900MHtt, 1 GB RAM): motor encoders, gyroscope, accelerometer, compass and distance sensor events. More information about robots developed at IPT and RoboLearn hackathons is available at: http://robolearn.org/

Q. Why is the subject matter important?

Internet of Things (IoT) and service robotics are emerging game changers for many industries including home automation and smart cities, smart vehicles, agriculture, retail, education and sport. The essential requirements for the emerging device/process/service ecosystems is effective, efficient, secure, scalable and reliable distributed event processing. Functional Reactive Programming (FRP) becomes a popular paradigm for building distributed event processing systems, by providing easy to use and composable higher-level abstraction for high performance computing, and hiding complexities of non-blocking concurrency implementations. Reactor and RxJava are complementary reactive event processing frameworks providing feature rich and efficient implementation of reactive programming paradigm in Java.

Q. Who should attend your session?

Software developers or just robotics/IoT hobbyists interested in reactive programming and its practical implementation for high-performance (hot) event streams processing in Java.

Q. What are the key things attendees will take away from your session?

Better understanding of functional reactive programming in general, and state-of-the-art reactive Java frameworks in particular – with emphasis on Reactor and RxJava. Practical “real robotic world” examples for functional hot event stream processing and (hopefully) amusement with IPTPI robot 🙂
Some background info and a lot of resources on Java robotics and IoT.

Q. Aside from speaking at Voxxed Days Bucharest, what else are you excited about for 2016?

Practical IT education by building and programming Things, and sharing knowledge about it. High-performance FRP and its applications for distributed (big data) computing for IoT. Building own CNC router/3D printer/laser cutter for robot parts and IoT cases for all the friends around.