• Home
  • >
  • Software Development
  • >
  • Apache Juneau Makes Java REST Interfaces Easy for Microservices – InApps Technology 2022

Apache Juneau Makes Java REST Interfaces Easy for Microservices – InApps Technology is an article under the topic Software Development Many of you are most interested in today !! Today, let’s InApps.net learn Apache Juneau Makes Java REST Interfaces Easy for Microservices – InApps Technology in today’s post !

Read more about Apache Juneau Makes Java REST Interfaces Easy for Microservices – InApps Technology at Wikipedia

You can find content about Apache Juneau Makes Java REST Interfaces Easy for Microservices – InApps Technology from the Wikipedia website

Apache Juneau, an open source framework that that allows developers to marshal POJOs (Plain Old Java Objects) and develop REST microservices and APIs in Java has become a top-level project with the Apache Software Foundation.

“We tried to make it as simple as possible for a developer to create REST interfaces — really complex and sophisticated interfaces using very little code,” said James Bognar, the project’s vice president and senior software engineer at Salesforce, who said it’s been a pet project of his since 2007.

Apache Juneau consists of:

  1. A universal toolkit for marshaling POJOs to a wide variety of content types using a common cohesive framework;
  2. A universal REST server API for creating self-documenting REST interfaces using POJOs, simply deployed as one or more top-level servlets in any Servlet 3.1.0+ container;
  3. A universal REST client API for interacting with Juneau or third-party REST interfaces using POJOs and proxy interfaces; and
  4. A REST microservice API that combines all the features above with a simple configurable Jetty server for creating lightweight standalone REST interfaces that start up in milliseconds.

Marshalling is used to transform an object’s memory representation to a data format suitable for moving between or across different parts of (or across programs), and to simplify communications to remote objects with an object.

Read More:   It’s Not Real Engineering Until It’s Boring (to Outsiders) – InApps Technology 2022

Juneau is tiny — around 1MB — and requires no auto-wiring, no code generation, no dependency injection.

“Instead of making HTTP calls, you’re just making  Java method calls.” — James Bognar

It started as a JSON serialization library, back when JSON was just becoming a “thing,” according to Bognar. There were no JSON serialization libraries back then. This was an internal IBM project, and it grew into a bunch of different languages, such as XML and HTML.

“It was a single API that allows you to serialize POJOs to all these different languages as opposed to having to pre-rec different libraries for each individual language,” he said.

Later support was added for REST APIs.

“We developed a REST API on top of it that so that just using servlets and annotations, you’re able to quickly create REST APIs using nothing but serialized POJOs. As a developer, you don’t have to know anything about how things are going to be serialized, you just need to create Java methods to take in POJOs and return POJOs and all the serialization is taken care of for you. … This really simplifies creating REST inside microservices.”

IBM started using these REST APIs inside Docker containers as the basis of its collaborative lifecycle management-as-a-service offering, and that’s how the microservice component was invented, he said.

It’s simply an embedded Jetty server with REST servlets to provide maximum flexibility.

“We’re trying to use all core Java technology without introducing any prerequisites,” he said.

It’s now being used at IBM, The Open Group, and Salesforce, among others. The Apache Streams project began incorporating Apache Juneau libraries in late 2016.

John D. Ament, vice president of the Apache Incubator and a mentor to the project, characterizes it as a successor for JSON processing.

“Apache Juneau was identified as a clean solution. It provides an easy-to-use API, great performance and a large number of features that made it a strong recommendation for others to leverage.”

Read More:   Microsoft’s Collaborative Apps — the Web Is the Engine – InApps Technology 2022

One of the interesting features added recently is a REST client API that allows you to define Java proxy interfaces against third-party REST interfaces.

“Instead of having to do low-level REST calls through a generic HTTP client, you can instead wrap those calls behind interface proxies. Instead of making HTTP calls, you’re just making  Java method calls. It’s a very similar concept to SOAP, but it’s RPC over REST, which we call rRPC,” Bognar explained.

Going forward, the project wants to add more languages, including YAML, and Protobuf, which is a Google API, as well as support for gRPC similar to the way the project has defined interface proxies against REST APIs.

Feature Image: “Juneau (30)” by Bernard Spragg. NZ. Public domain.

InApps Technology is a wholly owned subsidiary of Insight Partners, an investor in the following companies mentioned in this article: Docker.

Source: InApps.net

Rate this post
Content writer

Let’s create the next big thing together!

Coming together is a beginning. Keeping together is progress. Working together is success.

Let’s talk

Get a custom Proposal

Please fill in your information and your need to get a suitable solution.

    You need to enter your email to download

      Success. Downloading...