Welcome to another edition of the JBoss Editorial, this edition covering articles which have been posted in the community over the last month while many of us have been on vacation.
Application Safety, Correctness and their relationship to Service Mesh
Service Meshes in general, and Istio in particular, have gathered a lot of momentum over the last few years with their appeal to developers being the ability to support robustness, tracing, traffic management, security etc. thereby removing much of the implementation complexity from the applications themselves. While these service meshes allow much to be offloaded, simplifying the application developer's task, they do not remove the responsibility for ensuring the correctness and safety of the application from the developer. Christian has been working with the Istio community for a long time and is often asked about this topic, for a better understanding of why the application cannot cede responsibility to the service mesh checkout his post on Application Safety and Correctness where he tackles this topic in great detail.
Kubernetes and Application Servers
In the first of a series of articles comparing the role of Kubernetes and Application Servers, Ken lays the groundwork by posing some questions on the future of application servers and introducing containers and how they are beneficial for applications. The next articles in the series will delve deeper into this topic, exploring the problem space applications servers are intended to solve and provide comparisons with Kubernetes.
Integrating A-MQ 6.3 with JBoss EAP 7
The Red Hat JBoss EAP 7 application server comes with an embeddable message broker, ActiveMQ Artemis, which provides support for the JMS API however this is not the only option for supporting the JMS feature set. Through integration with JCA resource adapters the JBoss EAP 7 application server can be configured to use an external broker, such as A-MQ 6.3, to support the JMS requirements. The necessary changes are easy to make and are ably demonstrated by Abraham who covers not only the configuration but also provides an overview of the components and an overview of how the integration works.
Securing Apps and Services with Keycloak
Managing Certificates from Lets' Encrypt using the WildFly CLI
Farah has written a great post discussing the new support available in WildFly for obtaining, revoking and checking certificates from Lets' Encrypt. Through simple CLI instructions you can now ensure your application server is secured using free certificates trusted by all major certificate chains.
WildFly Swarm becomes Thorntail and Introduction to SmallRye
There have been a number of significant changes in the MicroProfile work over the last few months, not least of which are the change in name from WildFly Swarm to Thorntail, after much feedback from the community, and the creation of a community driven, vendor neutral project hosting implementations of the various MicroProfile specifications. For more information checkout Antoine's post where he provides more background on the changes and covers what will be happening next with the Thorntail team.
Generate News Automatically with Apache Camel and WordPress
The recent release of Apache Camel 2.21 introduced a new Camel WorkPress component allowing camel routes to publish articles to WordPress; when combining this new component with Natural Language Generation this creates the ability to automatically generate articles and publish them to sites. This topic is of great interest to Ricardo who has created a simple demonstration showing how soccer news can be generated and published automatically. The demo is simple and leaves scope for exploration especially if you are interested in other topics such as Artificial Intelligence. Have fun playing around .
Hibernate Community Newsletter
In Hibernate Community Newsletter 16/2018 you will find articles explaining how the JPA Persistence Context works, how catalog based multi-tenancy works and why you should consider it, a tutorial showing how to develop a JPA and Hibernate application using Kotlin, how to use Spring and Ehcache as a second level cache and how you can use Hibernate ORM with the CData JDBC Driver for Redis as an alternative to Hibernate OGM.
In Hibernate Community Newsletter 17/2018 you will find articles discussing how to handle the No Dialect mapping for JDBC type issue, an explanation of how optimistic locking works with JPA and Hibernate, an article on Hibernate Search, how to support multi-tenancy using catalog and scheme based multi-tenancy, an introduction to how table relationships are mapped and a demonstration of entity attribute validation using the Hibernate Validator project.
Data Reconciliation with Digital Process Automation
Automation processes involve the collection and processing of data from numerous sources, both automated and human, and can often lead to inconsistencies within the data due to inaccurate input, mis-aligned processes, outdated information etc. and create challenges for the organisation. The process developer may have the option to unwind the process to preserve data integrity however it is often necessary to incorporate a reconciliation step allowing the organisation to define how data inconsistencies will be resolved. In his article on this topic Donato discusses the options available to the process developer, starting with the traditional approach of handling the communication through a sub process and then proposing a more flexible, and less intrusive approach using decorators.
OptaPlanner Unit Testing using Excel or LibreOffice
When developing unit tests for business constraints we often develop test cases consisting mainly of boilerplate code resulting in test cases which may not be as intelligible as we would like, may not accurately represent the business constraints explained to us by the business experts, or may reflect a misunderstanding of the constraints. Ideally we would like the business experts to define these test cases using tools with which they are comfortable and which provide more clarity. Musa described one solution to this challenge, allow the business experts to define their use cases using spreadsheets and the developers to focus on the implementation of the constraints.
Batch Processing with JBeret and Red Hat Developer Studio
Developing batch applications has come a long way over the last few years, with the introduction of the JSR 352 java standard and support in IDEs such as Red Hat Developer Studio it is now much simpler to develop batch applications and deploy them to application servers such as WildFly. To demonstrate how simple it now is, Cheng takes us through the necessary steps for creating a simple batch processing application, deploying the application into WildFly and performing batch processing operations.
RESTEasy Tracing Now Supports JSON
Weinan recently wrote an article introducing a new capability of the RESTEasy Tracing feature, the ability to return tracing information in JSON format to enable easier processing of tracing information by applications. This capability is currently available through their 4.0.0-SNAPSHOT builds and expands on the existing Tracing feature which returns the tracing information using a human readable text-based format.
GraalVM and Camel
JBoss Out and About
Eric Schabell is continuing his travels, having recently presented at the Red Hat Partner Community Meetup in the Netherlands, where he gave a preview on the application development product portfolio, timelines and what is driving their future development, Eric will shortly be heading for the All Things Open conference in Raleigh where he will give his presentation entitled 10 Steps to Cloud Happiness.
Next week also sees Dimitris, Pavol, Michael and Erik present at the Red Hat Forum 2018 in Zurich where they will be covering topics such as Istio Mesh, the future of Enterprise Java and teaching programming using Minecraft and OpenShift and also includes a keynote session by Jim Whitehurst, Red Hat's CEO. The event is free so register now if you are interested in attending.
- The RESTEasy team released RESTEasy 3.6.1.Final, RESTEasy 4.0.0.Beta5 and resteasy-spring-boot-starter 2.0.1.Final.
- The Hibernate team released
- The Apiman team released Apiman 1.5.1.Final
- The Infinispan team released
- The Thorntail team released
- The Keycloak team released
- The WildFly team released WildFly 14 Final
- The Three4G team released the first version of their GWT library wrapping the three.js 3D library
That's all for this instalment, please join us next time for another spin through the JBoss Communities in search of more news, articles and releases