DZone.com Feed

DZone.com Feed


Building a Mission-Critical Open Source Java Platform - Installing WildFly

Posted: 07 Jul 2020 04:40 AM PDT

In the previous article in this series introduced our thoughts on setting up a mission-critical open source Java platform using high availability in our Web layer. In this article we'll continue by installing WildFly and configure our platforms topology.


Note: the terminology in this article, where possible, has been adjusted from the traditional master / slave descriptions to master / subordinate. Some of the images displayed have not yet been updated and show the older terminology. 

Advanced Process Integration Tips - Mastering the Kie Smart Router

Posted: 07 Jul 2020 02:41 AM PDT

Using advanced process integration techniques becomes essential as you evolve your developer skills while integrating more and more of your business workflows. To get you started with becoming a master at complexer deployment environments, let's explore the Kie Smart Router and what it can mean for your process integration architectures.

WHAT IS A SMART ROUTER?

Comparing Grakn to Semantic Web Technologies — Part 3/3

Posted: 06 Jul 2020 03:27 PM PDT

This is Part 3 of Comparing Semantic Web Technologies to Grakn. In the first two parts, we looked at how RDF, RDFS, and SPARQL compare to Grakn. In this part, we look specifically at OWL and SHACL. You can find Part 1  here  and Part 2  here .

OWL and Grakn

OWL is a family of Descriptive Logic (DL) based ontology language which adds ontological constructs on top of RDFS to express conditions and derive new facts. To make meaningful use of these, OWL provides different flavours: OWL QL, OWL RL, OWL DL, with the user needing to decide which fits their use case best.

Grakn, on the other hand, comes with its own built-in native inference capabilities. This is an important distinction, because OWL assumes a good understanding of the field of logic by the user, while using Grakn doesn't require the user to have studied this field extensively.

MongoDB Index Builds – Preventing Users From Triggering New Builds

Posted: 06 Jul 2020 02:02 PM PDT

Index builds on MongoDB production clusters need to be handled with the utmost care. We have documented the issues in detail in one of our previous blog posts - The Perils of Building Indexes on MongoDB.

Depending on the size of your data, both foreground and background builds can bring your cluster down. So, how do you prevent your users from accidentally triggering index builds from the MongoDB CLI? The short answer is that you cannot. However, what you can do is remove the "CreateIndex" privilege from most of your users so that they cannot accidentally trigger an index build from the CLI. There should be very few users in your system who have access to write data to the database. Among these users, even fewer should have permission to build indexes. For a primer on how to use MongoDB roles, please refer to the documentation - Manage Users and Roles.

Angular Tree Table

Posted: 06 Jul 2020 02:01 PM PDT

An angular plugin that will help you to display the hierarchical table data in a expand/ collapsible manner with a lot of other options

Prerequisites

npm i jquery - Dependency for Bootstrap

Business Intelligence and AI: Do They Stack Together?

Posted: 06 Jul 2020 01:54 PM PDT

We live in a world where tools and technologies evolve at a rapid pace. For businesses, it means to continually evolve with the change and adapt themselves to the new technologies. 

One such technology that is changing the business landscape is artificial intelligence(AI). It is the branch of computer science that mimics human intelligence when it comes to judgment, learning, and problem-solving.

Cross Account Amazon CloudWatch Metric Sharing

Posted: 06 Jul 2020 01:51 PM PDT

There are scenarios where we would like to share Amazon CloudWatch metrics with another AWS account and then retrieve the data programmatically. This article shows how it can be done. 

We will use Boto3, which is an Amazon SDK for python, to retrieve the metrics data. 

How to Create and Manage a Complete and Effective Product Backlog

Posted: 06 Jul 2020 01:44 PM PDT

In the Product Backlog, the only source of truth to build the product, many items must be included, such as non-functional requirements, risk mitigation actions, change requests, bugs, study of solutions, etc. But, first of all, it contains the user stories that describe the product features, which, in the case of a software application, are the actions that users will do on the data.

In this article, I would like to show an approach for creating the initial version of the Product Backlog for a software application, as to the user functionalities to be implemented, and its following enhancements, starting from the data and their life cycle.

Nebula Graph Uses Jepsen to Detect Data Consistency Issues in Raft Implementation

Posted: 06 Jul 2020 01:40 PM PDT

Data consistency is a global issue for all distributed systems. Nebula Graph is no exception as a distributed graph database.

Thanks to the separation between query and storage layers, Nebula Graph only exposes simple kv interfaces in the storage layer. Using RocksDB as a backend kv library, Nebula Graph ensures strong data consistency among multiple replicas via the Raft protocol.

Setting Apache Nifi on Docker Containers

Posted: 06 Jul 2020 01:32 PM PDT

The system I work on is about to undergo a significant tech-refresh. The goal is to improve the current hindrances that prevent ingesting more data. The remedy requires a product that receives inputs from external sources, processes them, and disseminates the outcomes to their destinations.

Apache Nifi implements the flow-based programming (FBP) paradigm; it composes of black-box processes that exchange data across predefined connections (an excerpt from Wikipedia).

SAP S4/HANA for Intelligent Enterprise and Digital Supply Chain

Posted: 06 Jul 2020 01:19 PM PDT

SAP S/4HANA is an enterprise resource planning (ERP) solution for substantial enterprises. It represents an innovative improvement over using the previous versions of SAP R/3 with SAP ERP because of the optimization of SAP S/4 for use with SAP HANA. SAP HANA is an in-memory database that improves the ability of large companies to process transactions and analyze informational databases in real-time. 

S/4HANA offers the following improvements:

How Storj Is Migrating From Postgres to CockroachDB: Bulk Loading Performance

Posted: 06 Jul 2020 01:17 PM PDT

I started using CockroachDB about four months and its been really great, I love the product. Here is a story about how I recently migrated a large database (~400GB) from PostgreSQL over to CockroachDB. This blog is a recap of my process and also of some of the tricky parts I encountered.

Setup Details

CockroachDB version: 19.2.6, Cockroach Cloud running in Google Cloud (GCP), 3 node cluster with 1.5TB capacity

Differences Between Functional Testing and Usability Testing

Posted: 06 Jul 2020 01:17 PM PDT

In Software testing, several testing practices help in validating how the developed software is functioning as per the customer requirements and user expectations. Two of such testing practices include functional testing and usability testing

These two have major importance and also, teams have to ensure that it is practiced well so that the developed software meets both the business requirements, and customer expectations, with user-friendly behavior. Hence, to make these testing practices effective, the teams need to understand well about each testing practice.

Microservices in Practice: Deployment Shouldn't Be an Afterthought

Posted: 06 Jul 2020 01:10 PM PDT

Microservice architecture is one of the most popular software architecture styles that enables the rapid, frequent, and reliable delivery of large, complex applications. There are numerous learning materials on the benefits of microservices, design, and implementations. However, there are very few resources that discuss how to write your code to cloud-native platforms like Kubernetes in a way that just works. In this article, I am going to use the same microservice E-Commerce sample used in the Rethinking Programming: Automated Observability article and discuss Ballerina's built-in Kubernetes support to extend it to run in Kubernetes platforms.

The sample code covers the implementation of an e-commerce backend that simulates the microservices required to implement searching for goods, adding them to a shopping cart, doing payments, and shipping. 

Get and Store Temperature From a Raspberry Pi With Go

Posted: 06 Jul 2020 01:08 PM PDT

In this tutorial, I'll show you how to grab temperature from a Raspberry Pi and build an endpoint to store the data, with Go. You will learn:

  • How to retrieve the temperature from a sensor
  • How to send that data in JSON
  • Build an API endpoint to receive it
  • Store the data in SQLite database

And we'll do it all with Go. I did a live stream of the entire process that you can watch here.

How to Check if A List Contains a Value in Clojure

Posted: 06 Jul 2020 12:58 PM PDT

Recently I started to learn Clojure, and usually, my first phase is to complete small programming exercises. To practice Clojure I decided to solve some CodingBat problems. A common task here is to check, if an array does contain some value. The expected result should be a boolean value. When I moved to practical implementations, I realized how tricky can be a simple thing in Clojure.

In this post, I would like to share with you some thoughts on how to check, that a list contains an element in Clojure. As almost any beginner I have started with contains? method, however, it may not be your best option. I will explain to you several solutions, including ones, that come from Java.

Agile Laws and Distributed Teams: From Conway to Goodhart to Parkinson

Posted: 06 Jul 2020 12:54 PM PDT

TL; DR: Agile Laws and Remote Agile

On many occasions in the recent past, working with distributed Agile teams has amplified existing organizational, technical, and cultural challenges in many organizations. Starting changing, and I am not referring to the introduction of a new video conferencing tool, always requires the acceptance that there is a problem that needs attention. In that respect, the current issues that many distributed teams face may also act as accelerants to become more Agile. The following article addresses some of the most current impediments to achieving agility by revisiting several Agile laws that are particularly relevant to distributed Agile teams.

Agile Laws: Conway, Brooks, Hackman, Goodhart, Larman, and Parkinson

From the long list of observation, heuristics, and mental models in psychology, organizational design, or software engineering, I pick six "Agile laws" that seem to be particularly relevant in this area of distributed Agile teams:

First Class SQL for Full-Text Search

Posted: 06 Jul 2020 12:53 PM PDT

(With SQL) Your app is sitting on a Ferrari-style compute engine.  — Lukas Eder

Over time, the database industry has realized text search and SQL are two sides of the same coin. Text search needs further query processing, query processing needs text search to efficiently filter for text patterns. The SQL databases have added text search within them, albeit for a single node SMP systems.

Day 13 of 30 Ruby Coding Challenge - Fibonacci Sequence in Ruby

Posted: 06 Jul 2020 12:50 PM PDT

Hey friends!

This is the blog post version of the Youtube video from the 30 Ruby Coding Challenges in 30 Days series

Database Queries as Streams: Intro to Speedment Part 2

Posted: 06 Jul 2020 12:44 PM PDT

Since their introduction in Java 8, Streams have become a turning point for Java. Streams introduced a declarative approach to Collection processing which makes its API extremely easy to use, allowing developers to express their thoughts in seconds.

The Stream API is not exclusive to Java Collections. In reality, anyone can adapt the API for their specific purpose as long as they know how to implement it. This is the case with Speedment. Speedment is a Java ORM that uses the Stream API to query relational databases.

Cluster Diagnostics: Troubleshoot Cluster Issues Using Only SQL Queries

Posted: 06 Jul 2020 12:29 PM PDT

TiDB

TiDB is an open-source, distributed SQL database that supports Hybrid Transactional/Analytical Processing (HTAP) workloads. Ideally, a TiDB cluster should always be efficient and problem-free. It should be stable, load-balanced, and have a reliable rate of queries per second (QPS). There shouldn't be any jitters (either in the cluster or on disk), and no hotspots, slow queries, or network fluctuations.

However, reality is often unsatisfactory. For external reasons, application traffic may surge and increase the pressure on the cluster. Through a chain reaction of events, the CPU load maxes out, out of memory errors occur, network latency increases, and disk writes and reads slow down.

The Dimensions of PMCD Framework

Posted: 06 Jul 2020 12:09 PM PDT

PMCD framework or Project Management Competency Development framework was launched by PMI® in 2002 to provide individuals and organizations with guidelines to access, plan, and manage the development of project management competency. The third version (latest version launched in 2017) provides a comprehensive list of characteristics describing what a competent person in project, program & portfolio management should know, do, and be.

The PMCD framework is useful for a variety of stakeholders like:

Spring Boot – RESTful Web Service With POST Request in XML

Posted: 06 Jul 2020 12:08 PM PDT

In the video below, we take a closer look at RESTful Web Service with Spring Boot and how to handle XML in a POST request.

Old vs New: Approaches in Managing PostgreSQL Schemas

Posted: 06 Jul 2020 12:08 PM PDT

Getting to understand the basics of schema management is crucial for building and maintaining an effective PostgreSQL database. In this article, we are going to look at the traditional way of managing a Postgres schema and at a newer, more effective way to do it visually, without having to write any line of code. 

What is a PostgreSQL Schema?

First, to lay the groundwork for the article, let's clear off some terminology. In Postgres, the schema is also referred to as a namespace. The namespace can be associated with a family name. It is used to identify and differentiate certain objects in the database (tables, views, columns, etc.). It's not allowed to create two tables with the same name in one schema, but you can do it in two different schemas. For example, we can have two tables both named table1 present in public and in postgres schemas. 

Understanding Java Agents

Posted: 06 Jul 2020 12:06 PM PDT

Let's say that you have an application running in production. Every once in a while, it gets into a broken state, the error is hard to reproduce, and you need some more information out of the application.

So are you wondering about the solution?

What you could do is dynamically attach some set of code to your application and carefully rewrite it so that the code dumps additional information you can log, or else you can dump the application stage into a text file. Java gives us a facility to do this using Java Agent

Deploying MuleSoft Application On One Worker and Multiple Workers

Posted: 06 Jul 2020 12:03 PM PDT

What is Mule Worker?

Worker is a dedicated Mule instance that runs the integration applications deployed to CloudHub. Workers has some characteristics

  • Each worker has the size and specific amount of capacity to process the data.
  • Each worker runs in a specific cloud region like US, EU, etc.
  • Each worker deployed in an isolated container than other applications.
  • Each worker is monitored independently.
Worker Heap Size Memory
0.1 vCores 500 MB 8 GB
0.2 vCores 1 GB 8 GB
1 vCores 1.5 GB 12 GB
2 vCores 3.5 GB 40 GB
4 vCores 7.5 GB 88 GB
8 vCores 15 GB 168 GB
16 vCores 32 GB 328 GB

The maximum metaspace size for application deployed to CloudHub is 256 MB regardless of worker size. The initial metaspace size is 128 MB.

Apache Kafka for Telco-OTT Applications (Telecom Sector)

Posted: 06 Jul 2020 11:57 AM PDT

Current IT architectures in the telecom sector are not able to satisfy business needs because of their high complexity, lack of flexibility, and low level of automation. The biggest hurdle to overcome with digital transformation is to understand that it isn't just a simple technology challenge – it covers every part of the telco business! This blog post explores next-generation architectures for the telecom sector with the Apache Kafka ecosystem to build Telco-OTT (Over the Top) services.

Apache Kafka in the Telecom Sector (OSS, BSS, Middleware, OTT)

A previous blog post covered the use cases of Event Streaming and Apache Kafka in the telecom industry: "Event Streaming and Apache Kafka in Telco Industry". Follow that post or the related "whiteboard on Youtube about Apache Kafka and the telecom sector" to learn about various use cases like the following:

Low Code Serverless Integration With Kumologica

Posted: 06 Jul 2020 11:47 AM PDT

By now, you may have noticed the trend in IT to reduce the size of existing things (projects, teams, releases, hardware, services). It seems like yesterday when we were talking about the need to break the monolith into microservices and we are already talking about encapsulating your logic into functions.

Given the simplicity and economic appeal of FaaS (Function as a Service) offerings, it seems like a natural move to see the world of integration begin to shift toward a new serverless model and start to enjoy its benefits like autoscaling, no infrastructure management, and pay-per-use billing.

Wrapping Mule4 — Secure Properties with TornadoFx

Posted: 06 Jul 2020 11:36 AM PDT

In an earlier article, we discussed how to go about Securing your Mule 4 properties and your feedback was awesome. Everyone was comfortable using the command line, but many of you preferred a more modern point-and-click GUI approach where you didn't have to remember or reference magic incantations.

To that end, I created a GUI wrapper using TornadoFx, giving me the opportunity to learn and build a small but useful application. You'll still need to download the Mule 4 secure-properties-tool.jar dependency (linked in my previous article above). If you would like to download the GUI, you can get the Uber Jar (not the car-hailing company), or the code from my GitHub project page. The Uber Jar will need to be run from the same folder where you downloaded the mule jar as is shown in the code snippet below.

Comments

Popular posts from this blog

Digg

DZone.com Feed

Gizmodo