Red Hat CodeReady Workspaces (CRW) provides a default browser-based IDE to be used with developer workspaces. However, the architecture is flexible for using other IDEs such as Jupyter Notebooks and Eclipse Dirigible. In this article, you will learn how to create a custom workspace using the community edition of IntelliJ IDEA.
Note: You can also apply the instructions in this article to create a free, self-service Eclipse Che workspace hosted at che.openshift.io.
Creating a custom workspace in CodeReady Workspaces
We will start with the procedure for creating a custom workspace in a connected CodeReady Workspaces environment. See the next section for instructions to set up a custom workspace in an air-gapped environment.
Continue reading “Using IntelliJ Community Edition in Red Hat CodeReady Workspaces 2.5”
DevNation Tech Talks are hosted by the Red Hat technologists who create our products. These sessions include real solutions plus code and sample projects to help you get started. In this talk, you’ll learn about cloud-native modernization from Daniel Oh and Burr Sutter.
Are you familiar with the tight coupling of applications with their underlying platform that makes change hard? Or, coupling that creates a lack of scalability, performance, and flexibility for existing applications built with legacy technology? How about the fact that re-architecting applications cannot be done overnight?
Continue reading “Cloud-native modernization or death? A false dichotomy”
In this article, we will define and run a workflow that demonstrates how Apache Camel K interacts with spatial data in the standardized GeoJSON format. While the example is simplified, you can use the same workflow to handle big data and more complex data transformations.
Continue reading Using GeoJSON with Apache Camel K for spatial data transformation
One of the most common questions I get as a consultant is, “What is the difference between a liveness and a readiness probe?” The next most frequent question is, “Which one does my application need?”
Continue reading You (probably) need liveness and readiness probes
In this article, we introduce a new utility for developers who want to ensure that their code transitions cleanly from upstream Kubernetes to Red Hat OpenShift. OpenShiftKubeAudit (KubeAudit) is a static analyzer that semantically checks a user’s code for known incompatibilities so you can fix them before bringing the code into OpenShift. KubeAudit is also simple to use and easy to extend.
Running an audit
This being the first release, KubeAudit currently offers only a handful of audits, but they’re easy to write. We’re looking for feedback and additional use cases from the community to help make the tool more comprehensive.
Continue reading “Static analysis with KubeAudit for Red Hat OpenShift”
Red Hat Runtimes now supports the new Open Liberty 220.127.116.11 Java runtime. Open Liberty 18.104.22.168 features support for the Automatic Certificate Management Environment (ACME) protocol, which automates the process of obtaining a certificate signed by a certificate authority (CA). The Open Liberty 22.214.171.124 release also includes many bug fixes.
Continue reading Install a signed certificate with Open Liberty 126.96.36.199’s Automatic Certificate Management Environment Support 2.0
Open Liberty 188.8.131.52 lets developers experiment with the type-safe SmallRye GraphQL Client API, and write and run GraphQL queries and mutations more easily with a built-in GraphiQL user interface (UI). This article introduces the new features and updates in Open Liberty 184.108.40.206:
Continue reading Quicker, easier GraphQL queries with Open Liberty 220.127.116.11
DevNation Tech Talks are hosted by the Red Hat technologists who create our products. These sessions include real solutions plus code and sample projects to help you get started. In this talk, you’ll learn about Kubernetes and distributed systems from Bilgin Ibryam and Burr Sutter.
Cloud-native applications of the future will consist of hybrid workloads: stateful applications, batch jobs, stateless microservices, and functions (plus maybe something else) wrapped as Linux containers and deployed via Kubernetes on any cloud. Functions and the so-called serverless computing model are the latest evolution of what started as service-oriented architecture years ago. But is this the last step of the application architecture evolution and is it here to stay?
Continue reading “Kubernetes: The evolution of distributed systems”
I’ve been around Red Hat JBoss BPM Suite (jBPM) and Red Hat Process Automation Manager (RHPAM) for many years. Over that time, I’ve learned a lot about the lesser-known aspects of this business process management engine.
If you are like most people, you might believe that user tasks are trivial, and learning about their details is unnecessary. Then, one day, you will find yourself troubleshooting an error like this one:
User '[User:'admin']' was unable to execution operation 'Start' on task id 287271 due to a no 'current status' match.
Receiving one too many similar error messages led me to learn everything that I know about user tasks, and I have decided to share my experience.
User tasks are a vital part of any business process management engine, jBPM included. Their behavior is defined by the OASIS Web Services—Human Task Specification, which has been fully adopted by Business Process Model and Notation (BPMN) 2.0—the standard for business processes diagrams. The spec defines two exceptionally important things that I will discuss in this article: The user task lifecycle and task access control. Without further ado, let’s jump right in.
Note: These troubleshooting tips are applicable to Red Hat JBoss BPM Suite 6.2 and above and Red Hat Process Automation Manager 7.
Continue reading “Troubleshooting user task errors in Red Hat Process Automation Manager and Red Hat JBoss BPM Suite”
In this article, we’ll look at using OpenAPI with .NET Core. OpenAPI is a specification for describing RESTful APIs. First, I’ll show you how to use OpenAPI to describe the APIs provided by an ASP.NET Core service. Then, we’ll use the API description to generate a strongly-typed client to use the web service with C#.
Writing OpenAPI descriptions
Developers use the OpenAPI specification to describe RESTful APIs. We can then use OpenAPI descriptions to generate a strongly-typed client library that is capable of accessing the APIs.
Note: Swagger is sometimes used synonymously with OpenAPI. It refers to a widely used toolset for working with the OpenAPI specification.
Continue reading “Using OpenAPI with .NET Core”