May 26 6:26pm InfoQ
Daniel Bryant presents challenges the OpenCredo team have seen when implementing microservices, suggesting tricks and techniques to manage 'micro' teams at the 'macro' level. By Daniel Bryant...
May 26 5:08pm DZone Java Zone
This post shows a fully working 'Hello World' application in Vaadin 8 with Scala 2.12 running on Jetty. Following my frustrated attempt to Dockerize an Ionic application as the Web UI of my petty Akka project, I started evaluating the latest version of Vaadin.
May 26 4:01pm DZone Java Zone
A few days back, I discovered a new Docker feature — multi-stage builds. The multi-stage build feature helps you create thin Docker images by making it possible to divide the image building process into multiple stages. Artifacts produced in one stage can be reused by another stage. This is very beneficial for languages like Java as multiple steps are required to build the Docker image. The main advantage of the multi-stage build feature is that it can help you create smaller size images. This feature is not yet available in stable versions of Docker. It will become available in Docker 17.05. To use this feature, you have to use the edge version of Docker CE. To build a Docker image for a Java application, you first need to build the Java project. Java build process needs a JDK and a build tool like Maven, Gradle, or Ant. Once a Java binary artifact is produced, you can package the binary in a Docker image. For running a Java binary, you only need JRE, so you don’t have to pay the cost of bundling the whole JDK.
May 26 12:01pm DZone Java Zone
As you already might have noticed we have published the new release of the CUBA platform and Studio. The new version mostly introduces enhancements of the existing functionality, however, there are a few useful features have been included in 6.5. This article covers the major enhancements of Platform and Studio. The full list of changes is available in the corresponding release notes:...
May 26 11:00am InfoQ
The IOTA team is advancing their cryptocurrency protocol to create an economy for IoT devices. The goal is for billions of internet driven devices to be able to exchange currency as well as data. By Ignacio Aguerrevere...
May 26 7:00am InfoQ
At the DevOps Enterprise Summit, John Davis, Lead Architect at EasyJet, will present “Calculating the Operations Cost of Software You Haven't Developed”. InfoQ sat down with Davis and discussed how traditional organisations can migrate to a more collaborative “DevOps”-enabled approach for implementing IT projects, how project management and costing will change. By Daniel Bryant...
May 26 6:10am InfoQ
In this article, Hugo, Arjan and Savita explain how their distributed agile framework can help distributed teams communicate better. Based on over a decade of experience, they share actionable practices that can help you improve the communication with team members across the world. Topics covered are virtues, trust, communication rhythm, retrospectives for distributed teams. By Hugo Messer...
May 26 6:01am DZone Java Zone
To gather insights on the state of the Java ecosystem today, we spoke to nine executives who are familiar with the ecosystem. We asked these experienced Java professionals, "What’s the future of Java from your perspective?" Here's what they told us:...
May 26 3:01am DZone Java Zone
Debugging performance issues in production can be a pain and in some cases impossible without the right tools. Java profilers have been around forever, but the profilers most developers think about are only one type. Let’s dive into the three different kinds of Java profilers:...
May 26 12:01am DZone Java Zone
Kotlin is the next big thing. With Google announcing official support for Kotlin on Android, we’ll see a lot more traction for this lovely language. We’ve already blogged about the Kotlin language recently: 10 Features I Wish Java Would Steal From the Kotlin Language.
May 25 4:01pm DZone Java Zone
Below, I have provided some of the most important core language enhancements for JDK 9.0. The examples provided below can be directly pasted into your IDE, and you may name the class as provided. SHORT TITLE OF THE FEATURE SUB-HEADING / AREA JEP 261: Module System Module System in JDK 9 JEP 200: The Modular JDK Module System in JDK 9 JEP 220: Modular Run-Time Images Module System in JDK 9 JEP 260: Encapsulate Most Internal APIs Module System in JDK 9 JEP 223: New Version-String Scheme Changes in JDK 9 Enable or Disable Web Deployment with Installer's UI JDK 9 Installer JEP 158: Unified JVM Logging Tools in JDK 9 JEP 214: Remove GC Combinations Deprecated in JDK 8 Tools in JDK 9 JEP 222: jshell: The Java Shell (Read-Eval-Print Loop) Tools in JDK 9 JEP 224: HTML5 Javadoc Tools in JDK 9 JEP 228: Add More Diagnostic Commands Tools in JDK 9 JEP 231: Remove Launch-Time JRE Version Selection Tools in JDK 9 JEP 240: Remove the JVM TI hprof Agent Tools in JDK 9 JEP 241: Remove the jhat Tool Tools in JDK 9 JEP 245: Validate JVM Command-Line Flag Arguments Tools in JDK 9 JEP 247: Compile for Older Platform Versions Tools in JDK 9 JEP 282: jlink: The Java Linker Tools in JDK 9 JEP 219: Datagram Transport Layer Security (DTLS) Security in JDK 9 JEP 244: TLS Application-Layer Protocol Negotiation Extension Security in JDK 9 JEP 249: OCSP Stapling for TLS Security in JDK 9 JEP 246: Leverage CPU Instructions for GHASH and RSA Security in JDK 9 JEP 273: DRBG-Based SecureRandom Implementations Security in JDK 9 JEP 229: Create PKCS12 Keystores by Default Security in JDK 9 JEP 287: SHA-3 Hash Algorithms Security in JDK 9 Deprecate the Java Plug-in Deployment in JDK 9 Enhanced Java Control Panel Deployment in JDK 9 JEP 275: Modular Java Application Packaging Deployment in JDK 9 JEP 289: Deprecate the Applet API Deployment in JDK 9 JEP 213: Milling Project Coin Java Language in JDK 9 JEP 221: Simplified Doclet API Javadoc in JDK 9 JEP 224: HTML5 Javadoc Javadoc in JDK 9 JEP 225: Javadoc Search...
May 25 1:59pm Java News
ScaleFT, the Zero Trust security software company, today announced the appointment of Ben Sabrin to a new leadership role at the company as vice president of Revenue and Strategy. Ben is a proven serial early-stage company sales leader who has successfully led organizations through massive growth, said Jason Luce, co-founder and CEO at ScaleFT.
May 25 12:01pm DZone Java Zone
Our company mission – to unleash the potential in every team – shapes the products we create today. A big part of this is delivering new features and improvements through continual updates and releases. For many years, Atlassian Clover has provided Java and Groovy developers a reliable source for code coverage analysis. This dependability has allowed us to focus our development efforts on delivering new features and improvements to our core offerings, including JIRA Software, Bitbucket, and others.
May 25 11:10am InfoQ
Luke Marsden assembles a CI/CD pipeline from scratch to Kubernetes using GitLab CE as an example. He looks at open source tools which can facilitate coordinating simultaneously updating configuration and performing releases to Kubernetes, as well as rolling back and pinning releases, and also having different release policies to different environments. The talk is mostly demos. By Luke Marsden...
May 25 9:08am Java News
In order to use PySparkling, it requires the following runtime python dependencies to be available on the system: requests , tabulate , six and future modules, all of which are available on PyPI: In order to use PySparkling in Databricks cloud, PySparkling module has to be added as a library to current cluster. PySparkling can be added as library in two ways.
May 25 9:08am InfoQ
Philipp Garbe discusses ECS and all other services needed to run containers in production, automatically deploying and scaling an ECS cluster and containerized applications. He also shares his experiences and what features are still missing. By Philipp Garbe...
May 25 7:30am InfoQ
Microsoft has completed the move of their Windows codebase from Source Depot to Git using GVFS. By Abel Avram...
May 25 6:45am InfoQ
This article describes Socks Shop,a fully containerized, microservice architecture, cloud native reference application developed by Weave Works. By Ian Crosby...
May 25 6:21am InfoQ
Aging platforms that are managed with manual, time consuming processes can be costly. Teams can make a business case to management based on hours lost by repetitive work or re-work caused by human error for introducing modern techniques like automation tools and containers. The result is a predictable and repeatable process with minimal human interaction to deploy more often, more confidently. By Ben Linders...
May 25 6:01am DZone Java Zone
Java Enterprise Edition has many features that really stand out. One of the best is the event mechanism, which is part of the Contexts & Dependency Injection for Java specification. Events have been present in Java EE for a long time. The design of the events mechanism is extremely clean, and learning how to use events is therefore very simple. This overview is aimed at developers who are not familiar with the event mechanism and want to get to know the basics. Advanced features of CDI 2.0, like Asynchronous events, are not covered. You will learn to: Fire specific events. Use event qualifier. Observe events fired during transactions. Configure even observer bean instantiation. At the end of this article, you will find instructions for a quick-to-run sample application available on GitHub, demonstrating capabilities of CDI events.
May 25 6:01am DZone Java Zone
Welcome to another installment of This Week in Spring! This week I’m in Amsterdam, NL and Essen, DE, talking to customers about cloud-native transformation. We’ve got a lot to cover so let’s get to it. Spring Tool Suite lead Martin Lippert just announced a preview of Concourse Pipeline and Cloud Foundry manifest editing support releases as a language server. These language servers can be used by any IDE or text editor that supports them, including in this case Microsoft’s Visual Studio Code and later STS itself. Spring Cloud Stream ninja Soby Chako just announced Spring Cloud Stream.SR2 Simon Baslé just announced the Reactor Bismuth release train M1 Stéphane Nicoll just announced Spring Boot 2.0M1! It’s finally here! Get the bits of the first major release towards a reactive Spring Boot 2.0. There’s so much good stuff, including an updated Gradle plugin, relaxed binding improvements, major dependency upgrades and so much more! I think this article by Paweł Chudzik on poor man’s batch solutions — iterating over large datasets — was very interesting. The conclusion is obvious: if you want to scroll through a large number of records then use a java.util.Stream<T> finder query in your Spring Data repository. That’s one obvious conclusion. May I also humbly recommend that you look at Spring Batch and have a rich man’s batch at poor man’s prices? Want easier handling form encoded JSON in Spring MVC? Vote for this issue! I liked this walkthrough on how to implement a forgotten password flow with Spring Boot on the Code by Amir blog by Amir Boroumand. Amir Boroumand also has a nice walkthrough on creating a REST API with Spring Boot Our friends at JDriven are doing what appears to be an awesome (though I think Dutch-language) on MQTT and Spring Cloud Stream and Spring Cloud Data Flow. I liked this fairly approachable look at how to deploy Hashicorp Vault to Cloud Foundry by our very own Toshiaki Maki. Want a bit of insight into what the future of Serverless looks for Spring? Check out the slides to the good Dr. Dave Syer’s presentation on Spring Cloud Function at Spring IO. WeaveWorks’ Scope is now available and supports Cloud Foundry. I liked this rant from Steve Yegge on why Kotlin is a nice language. Interesting reading!...
May 25 3:15am
Create non-linear data structures, called trees, to organize your data objects.
May 25 3:01am DZone Java Zone
Clojure is a great programming language, but a recurring complaint I keep hearing from developers hacking on Clojure code is that debugging can be unpleasant. First of all, I agree! Debugging Clojure code can be more daunting on average than, say, debugging Python code. This is mainly due to two reasons: Clojure's Java legacy. Clojure is compiled to Java bytecode, which has some terminology and idiosyncracies Clojure programmers aren't always familiar with. These terms tend to pop up in stack traces and cause confusion (e.g. IFN). Clojure — being a Lisp — has a certain code structure which is different from, say, a more common imperative coding style. Rather than being a sequence of statements, Clojure programs tend to involve long call chains of nested expressions. Where only part of an expression fails, it's often non-trivial to figure out why. In this post, I want to share some notes from my own experience debugging Clojure programs.
May 25 12:44am ConcretePage.com
This page will walk through Angular 2 Http get() parameters + Headers + URLSearchParams + RequestOptions example. Angular Headers class is used to create headers. Angular URLSearchParams class is used to create URL parameters. Angular RequestOptions instantiates itself using instances of Headers, URLSearchParams and other request options such as url, method, search, body, withCredentials, responseType.
May 25 12:01am DZone Java Zone
This short post hopefully contains no new knowledge for you. Its mere intention is to make you contemplate an interesting relationship between coupling and duplication for a while. Duplication Is Bad! As professional programmers, true software craftsmen, the clean coders, [insert your title here], we’re often taught that duplication is bad and should be avoided at all cost. We even have (at least) two widely known principles related to this problem, namely, "Don’t Repeat Yourself" and "Once And Only Once."...
May 24 10:03pm Java News
Abilian SBE is a platform for developing social business applications, and more specifically collaborative / enterprise 2.0 business applications, such as enterprise social networks . Abilian SBE adds the concept of communities , which are collaborative spaces with services such as lightweight document management, discussions, wikis, user timelines.
May 24 9:08pm InfoQ
Venkateswaran NS shares approaches and ways to accelerate business agility, examining pitfalls that large organizations face: not seeing the need for Agile, implementing Agile without context, etc By Venkateswaran NS...
May 24 7:15pm InfoQ
David Grabel shows how the advertise division of a company embraced Agile processes to be in sync with the development team which used a 3-weeks development cycle. By David Grabel...
May 24 4:01pm DZone Java Zone
In any business application, auditing simply means tracking and logging every change we do in our persisted records, which simply means tracking every insert, update, and delete operation and storing it. Auditing helps us in maintaining history records, which can later help us in tracking user activities. If implemented properly, auditing can also provide us similar functionality to version control systems.
May 24 12:46pm Java News
May 24 10:06am InfoQ
No matter how often you conduct performance reviews, there is no doubt unit testing should be one of the metrics measured. Eli Lopian explains what makes a good unit test and how to measure them to ensure your development team is truly agile. By Eli Lopian...
May 24 9:54am InfoQ
The upcoming version of Chrome DevTools has a number of new features that can help developers build faster web pages and have an easier time debugging complex asynchronous code. At Google I/O 2017, Paul Irish presented a State of the Union showcasing a number of these new features. By David Iffland...
May 24 6:00am News & Views
The Cloud Native Computing Foundation (CNCF), which seeks to drive large-scale cloud computing with an emphasis on containers and microservices, has just added the Container Network Interface (CNI) project to its fold.The project joins others hosted by the nonprofit foundation, including the Kuberrnetes container orchestration platform and CoreDNS DNS server. CNI had been a GitHub open source project. It features a specification and libraries to write plugins for configuring networking interfaces in Linux containers.The foundation’s adoption of CNI is meant to increase its focus on network connectivity of containers and the removal of allocated sources when the container is deleted. “The idea [is] that CNI is a standard way of being able to use different networking technologies,” said Dan Kohn, the foundation’s executive director.To read this article in full or to leave a comment, please click here...
May 24 5:50am InfoQ
Facebook’s Artificial Intelligence Research team published research results using a new approach for neural machine translation (NMT). Their algorithm scores higher than any other system on three established machine translation tasks. By Roland Meertens...
May 24 5:36am HowToDoInJava
You may need custom serialization in java in may cases. For example, you have legacy java classes which you are not willing to modify for any reason. There can be some design constraints as well. Or even simply, the class is expected to be changed in future releases which could break the deserialization of previously […] The post Java Custom Serialization using ReadObject and WriteObject appeared first on HowToDoInJava.
May 24 3:01am DZone Java Zone
Code coverage is a metric that can help you understand how much of your source is tested. It's a very useful metric that can help you assess the quality of your test suite, and we will see here how you can get started with your projects. How Is Code Coverage Calculated? Code coverage tools will use one or more criteria to determine how your code was exercised or not during the execution of your test suite. The common metrics that you might see mentioned in your coverage reports include:...
May 24 12:01am DZone Java Zone
In the previous post, we took a quick look into generating documentation with Structurizr. I really enjoyed playing with the tool, but I wasn’t aesthetically pleased with the code necessary to create a simple diagram. Well, seems like a perfect chance to introduce you to creating Groovy DSLs and produce something useful at the same time. What Are We Going to Do? We’re going to start from the very end so that you know what we’re aiming for and better understand the things that I’m going to explain. One of the code samples in the previous post looked like this:...
May 23 10:42pm Java News
WWDC 2001, SAN JOSE, California-May 21, 2001-AppleA today announced the availability of WebObjectsA 5, Apple's powerful pure Java application server for web publishing and enterprise application development. WebObjects includes innovative tools to develop sophisticated and scalable web applications that can be deployed on virtually any Java-compatible server.
May 23 10:42pm Java News
CUPERTINO, California-October 8, 2003-AppleA today announced that Mac OSA X Server version 10.3 Panther, the most advanced release of Apple's award-winning UNIX-based server operating system ever with over 150 new features, will ship at the same time as Panther on October 24. Panther Server integrates leading open source and open standards software with easy-to-use management tools that make it easy to deploy popular open source solutions for MacA , Windows and Linux clients.
May 23 10:42pm Java News
WWDC, SAN JOSE, California-May 15, 2000-AppleA today unveiled aggressive new pricing for its industry-leading WebObjectsA web application server software, and also revealed that the next version of WebObjects will be written entirely in Java. Starting today, customers can purchase a complete solution for developing and deploying WebObjects applications for $699.
May 23 1:00pm InfoQ
Risman Adnan is the director of the Samsung R&D Institute Indonesia. He talks about how to enable innovation, agility and create a great engineering culture inside a large organisation. He will present a keynote talk at the upcoming Agile Indonesia conference. By Shane Hastie...
May 23 12:01pm DZone Java Zone
For those of you who missed out, Part 1 of our Guice Stories series focused on Bootique and Guice's importance to it, especially for dependency injection. Let's continue on the journey with more Google Guice stories. Story 3: Filling Maps and Collections Previously, we saw the examples of adding objects to MapBinder. Let's dwell on this for a moment. Here, I will use Multibinder for a change (remember, it produces an injectable Set<SomeType>), but the discussion applies to MapBinder just as well. What can we put in these DI-managed collections? If the objects in the Set are trivial to create and do not rely on any dependencies, we can add them as instances:...
May 23 10:17am Java News
We live in a society obsessed with youth. Tech is no different from the wider culture.
May 23 6:18am Plumbr – User Experience Monitoring for Java Applications
Statistics about the most commonly used Java application servers from 2013 to 2017. See how Tomcat, JBoss/WildFly, Weblogic, Jetty and Glassfish have gained or lost market share over time.
May 23 5:52am Vlad Mihalcea's Blog
Introduction Mapping entities to database tables is usually a very straightforward process. However, if your mappings are rather unusual, you might bump into some rare issues like this one I found on the Hibernate forum. In this article, I’m going to explain the mapping between Java objects to JDBC and database column types, and how … Continue reading How to fix “wrong column type encountered” schema-validation errors with JPA and Hibernate →...
May 22 6:00am News & Views
In 2005 when Google was a $6.1 billion business, the database that underpinned the company’s primary cash cow – it’s AdWords online advertising platform that accounted for more than 95\% of its revenue – was not keeping up with the growth of the company.Typically when a traditional database needs to scale, a process called sharding is used. It breaks data into multiple smaller databases to distribute load. More than a decade ago, the database powering AdWords was getting so large that one reshard took multiple years. A new database was needed. So Google built one.This week Google has made the database it built to handle AdWords available to the general public as a product named Spanner. It comes during the nascent stages of a wave of new databases hitting the market that are similar to traditional, relational SQL databases, but they’re much better at scaling to massive sizes. This new class has been appropriately dubbed NewSQL. And experts who track the database market believe they could one day give the giants of the database world, from Oralce, IBM and Microsoft, a run for their money.To read this article in full or to leave a comment, please click here...
May 22 5:39am HowToDoInJava
RxJava 2.0 is open source extension to java for asynchronous programming by NetFlix. It is much closer to functional programming as seen in java 8 lambda expressions. The basic building blocks of reactive code are Observables and Subscribers. An Observable emits items; a Subscriber consumes those items. The post RxJava 2.0 Tutorial appeared first on HowToDoInJava.
May 22 12:06am Thoughts on Java
PostgreSQL is one of the most popular relational databases, and Hibernate is probably the most popular JPA implementation. So, it’s no surprise that they’re often used together and that you don’t have to expect any major issues doing that. But as so often, there is a difference between “it works” and “it works great”. Out […] The post Hibernate with PostgreSQL – 6 things you need to know appeared first on Thoughts on Java.
May 22 12:01am DZone Java Zone
Oleg Selajev asked on Twitter Jigsaw questions for 1000. I, as an X, want JPMS modules. What is X if it’s not a platform developer?...
May 21 11:14pm InfoQ
Nigel Cushion discusses the relationship between leadership and technology, how technology is making “management” obsolete but leaders are still needed as they always have been. By Nigel Cushion...
May 21 10:15pm InfoQ
In this article, authors explore how we can build a machine learning model to do predictive maintenance of systems. They discuss a sample application using NASA engine failure dataset to predict the Remaining Useful Time (RUL) with regression models. By Srinath Perera...
May 21 12:01am DZone Java Zone
First, let's determine the meaning of roach motel reordering. The roach motel is an approach that lets the compiler move lines of code into synchronized blocks while moving out is disabled. Also, with statements inside a synchronized block, as long as the modification is sequentially consistent, it means that the specific statement is not visible from another place in the code that shares the happens-before relationship with the block. The roach motel in the Java Memory Model is very similar to a trap for roaches — blocks of code can be moved into synchronized blocks, but they can't be moved out.
May 20 5:36am InfoQ
Announced during BUILD 2017, Microsoft has made public the first draft of the XAML Standard, a markup dialect meant to unify how user interface elements are defined. By Abel Avram...
May 20 5:01am DZone Java Zone
In my previous article, I mentioned using Apache Flume and Apache Solr together. While working with Solr Cloud, I felt the need to test the Solr indexing with distributed nodes. So, I created 4 Solr nodes, with 4 shards and 2 replicas each. My aim was very simple: run a Solr index on 100k XML files every 15 minutes. So, to test this, I needed 100,000 XML files every 15 minutes to run my indexing.
May 19 11:11pm InfoQ
Peter Milne talks about the technologies used and how they are implemented to deal with the high load demanded by digital marketing. He tells some of the war stories and how problems were solved. By Peter Milne...
May 19 9:10pm InfoQ
Lisa Guo overviews Instagram's infrastructure, its history, multi-data center support, tuning uwsgi parameters for scaling, performance monitoring and diagnosis, and Django/Python upgrade. By Lisa Guo...
May 19 7:00pm InfoQ
Wesley Reisz talks to Martijn Verburg, co-founder of the London Java Community and CEO of jClarity, about the JCP EC “no” vote on the Java Platform Module System (JPMS), which is due to be shipped as part of Java 9. The talk about what JPMS offers, how it works, what the no vote means and what happens next. By Martijn Verburg...
May 19 12:01pm DZone Java Zone
Companies love delivering their applications using Docker. According to Forrester, 30\% of enterprise developers are actively exploring containers, and Docker is the dominant DevOps tool, with 35\% of organizations adopting it, according to a recent RightScale survey. Docker provides a painless method of building and deploying applications as a set of independent microservices, which are scalable and resilient. We developed Pipelines to allow all teams to test and deploy their software faster, using Docker containers to manage their build environment. Teams save countless hours and headaches by avoiding manual build server configuration, choosing instead from the enormous range of publicly available containers on Docker Hub, or bringing your own Docker image for a custom build environment.
May 19 11:35am Java Deep
Oleg Selajev asked on twitter Jigsaw questions for 1000. I as an X want JPMS modules. What is X if it’s not a platform developer? My answer is that X is a human being (minus platform developers, because that was a condition). We all need module system to have safer code resulting in more reliable […]...
May 19 11:00am InfoQ
IBM has announced a new feat in its race towards building ever more powerful quantum processors. Indeed, its new 16 and 17 qubit processors are its most powerful yet, IBM researchers claim. By Sergio De Simone...