I wanted to start the weekly editorial out this week around "open" vs "open source". Nicholas Gerasimatos, Cloud Evangelist, wrote an article The difference between ‘open’ and ‘open source’. Open referring to an Open API that is freely available but closed source and proprietary. As Nicholas indicates, “open” alone may not be enough to give you the interoperability and flexibility that an organization is seeking. Open Source could be the better option for the organization as it adheres to open standards, the source code is freely available and the solution can be modified without violating a license. The JBoss Community and the projects provide the source code for the ability to easily make modifications required to meet an organizations business needs.
This is a good segway into a decision on the Google vs Oracle Copyright suit. Google won a jury verdict that kills Oracle Corp.’s claim to a $9 billion slice of the search giant’s Android phone business and may give comfort to programmers who write applications that run across different platforms without a license. Schmidt told jurors that, based on his “many years of experience” with Java, he believed Google was permitted to use the APIs without a negotiated license, as long as the company relied on its own code. Sun promoted them as “free and open,” and not sold or licensed separately from Java, he said.
Now on to the happenings in our open source community!
- Keycloak 1.9.5.Final Released - We've increased the default password hashing intervals to 20000. Yes, you read that right. We've actually recommended using 20000 for a while now, but the default was only 1. This is a clear trade-off between performance and how secure passwords are stored. With 1 password hashing interval it takes less than 1 ms to hash a password, while with 20000 it takes tens of ms. For the full list of resolved issues check out JIRA and to download the release go to the Keycloak homepage.
- Teiid 9.0 CR1 Released - Teiid 9.0 CR1 is now available. This is a very large release compared to most with 238 issues addressed so far.
- Wildfly Swarm 1.0.0 CR1 - CLI Support, Enhanced
standalone.xmlsupport, SwarmTool, Resource Adapter archives, JPA fraction with PostgreSQL, Examples with WildFly Camel, Datasource configuration settable by properties
- Hibernate Search version 5.6.0.Beta1 - The Elasticsearch integration made significant progress with over 60 task resolved.
Open Source Champions
- Vlad Mihalcea introduces Mark Paluch, who, among other projects, is one of our Hibernate OGM project contributor - Meet Mark Paluch, a true open-source champion.
- Vlad Mihalcea also introduced us to Sergey Chernolyas for his contribution to the OrientDB integration in Hibernate OGM - Meet Sergey Chernolyas | Planet JBoss Developer
Red Hat Cloud Suite
Eric Schabell, Red Hat Evangelist, shared a article and video on the Red Hat Cloud Suite. The original article authored by James Labocki, Red Hat Product Marketing Manager, the original article can be found at AllThingsOpen.com. With the release of the Red Hat Cloud Suite there are a few interesting use cases that we wanted to present that showcase solutions using this product. The article and video walks you through one of these use cases.The application showcased is a microservices application that leverages JBoss middleware technologies on top of the Red Hat Cloud Suite infrastructure.
Red Hat Cloud Suite is an integrated solution for developing container based applications on massively scalable infrastructure with all the management required to operate both. With OpenShift Enterprise, organizations can build microservices based applications allowing for greater change velocity. Also, they can reduce friction between development and operations by using a continuous integration and deployment pipeline for release. Red Hat OpenStack Platform allows organizations to deliver massively scalable public-cloud like infrastructure based on OpenStack to support container based applications. Finally, Red Hat CloudForms provides seamless management of OpenShift and OpenStack along with other major virtualization, private, and public cloud infrastructures. Best of all, these are all built from leading open source communities without a line of proprietary code – ensuring access to the greatest amount of innovation. It also comes with access to Red Hat’s proactive operations offering, Red Hat Insights allowing you to compare your environment with the wisdom of thousands of solved problems and millions of support cases.
- Christian Posta, Principal Middleware Architect, shared two articles with us this week:
- Why Microservices should be event driven: Autonomy vs Authority - I’ve been working on a series of articles showing how to build microservices using an event-driven approach (which IMHO is the only real way to build microservices or… any complex distributed architecture). I’ll explore DDD, CQRS, Event-sourcing, even streaming, complex-event processing and more. I’m using a reference monolith applicationbased on Java EE that uses all the typical Java EE technology and dives deep into what makes it tick, what drawbacks it has, and how to evolve it to a microservices architecture. I’ll show implementation details all the way from containers (Docker, Kubernetes) to the JVM layer (Spring Boot and WildFly Swarm) to the application architecture (events, commands, streaming, raw events, aggregates, aggregate roots, transactions, CQRS, etc). Hopefully it will be ready for my Red Hat Summit talk in San Francisco in June! Follow me on twitter @christianposta for updates on this project.
- 3 easy things to make your microservices more resilient - One of the advantages of building distributed systems as microservices is the ability of the system as a whole to withstand faults and unexpected failures of components, networks, compute resources, etc. These systems are resilient even in the face of faults. The idea behind this resiliency seems simple: if our monolith fails, everything for which it’s responsible fails along with it; so let’s break things into smaller chunks so we can withstand individual pieces of our app failing without affecting the entire system.
- Gary Brown shared with us the Monitoring Microservices for Application Performance, Distributed Tracing and Business Transactions - Although distributed systems and the concept of services have been around for a long time, the current trend towards microservices has added some new dimensions to the management problem. The architectural approach leads to business applications comprised of a larger number of simple interacting services, each focused on specific business capabilities, and being responsible for their own data management. This has the benefit of allowing each service to be independently deployable, generally using automated continuous delivery. When used in a cloud environment, it facilitates dynamic scaling of individual services as required, and enables parts of the business application to be upgraded independently with minimal impact, allowing faster turnaround for fixing bugs and adding new features. The downside of this dynamic, scalable and flexible architecture is being able to understand how your business application is operating, and when necessary tracing the execution path of a particular invocation through the multitude of services potentially geographically distributed.
Paolo Antinori shared with us Dynamic Blueprint Files with JEXL - In this post I’ll show how to add a little bit of inline scripting in your Apache Aries Blueprint xml files. I wouldn’t call it necessarely a best practice, but I have always had the idea that this capability might be usueful; probably I started wanting this when I was forced to use xml to simulate imperative programming structures like when using Apache Ant.
Thanks for being a part of the JBoss Community and stay tuned for the next Weekly Editorial!
Kenneth Peeples, Shadow-Soft Director of Technical Services