| <!-- |
| /*************************************************************************************************************************** |
| * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations under the License. |
| ***************************************************************************************************************************/ |
| --> |
| |
| Introduction |
| |
| <p> |
| Apache Juneau™ is a single cohesive Java ecosystem consisting of the following parts: |
| </p> |
| <ul class='spaced-list'> |
| <li><b>juneau-marshall</b> |
| <p> |
| A universal toolkit for marshalling POJOs to a wide variety of content types using a common framework with no external library dependencies. |
| </p> |
| <li><b>juneau-dto</b> |
| <p> |
| A variety of predefined DTOs for serializing and parsing languages such as HTML5, Swagger and ATOM. |
| </p> |
| <li><b>juneau-svl</b> |
| <p> |
| A simple yet powerful variable replacement language API. |
| </p> |
| <li><b>juneau-config</b> |
| <p> |
| A sophisticated configuration file API. |
| </p> |
| <li><b>juneau-rest-server</b> |
| <p> |
| A universal REST server API for creating Swagger-based self-documenting REST interfaces using POJOs, simply deployed as |
| one or more top-level servlets in any Servlet 3.1.0+ container. |
| </p> |
| <li><b>juneau-rest-client</b> |
| <p> |
| A universal REST client API for interacting with Juneau or 3rd-party REST interfaces using POJOs and proxy interfaces. |
| </p> |
| <li><b>juneau-microservice</b> |
| <p> |
| 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. |
| </p> |
| <li><b>my-jetty-microservice.zip</b> |
| <p> |
| Starter project template for Jetty-based microservices. |
| </p> |
| <li><b>my-springboot-microservice.zip</b> |
| <p> |
| Starter project template for Spring-boot-based microservices. |
| </p> |
| </ul> |
| <p> |
| Questions via email to <a class='doclink' href='mailto:dev@juneau.apache.org?Subject=Apache%20Juneau%20question'>dev@juneau.apache.org</a> are always welcome. |
| </p> |
| <p> |
| Juneau is packed with features that may not be obvious at first. |
| Users are encouraged to ask for code reviews by providing links to specific source files such as through GitHub. |
| Not only can we help you with feedback, but it helps us understand usage patterns to further improve the product. |
| </p> |
| |
| <h5 class='topic'>History</h5> |
| <p> |
| Juneau started off as a popular internal IBM toolkit called Juno. |
| Originally used for serializing POJOs to and from JSON, it later expanded in scope to include a variety of |
| content types, and then later REST servlet, client, and microservice APIs. |
| It's use grew to more than 50 projects and was one of the most popular community source projects within IBM. |
| </p> |
| <p> |
| In June of 2016, the code was donated to the Apache Foundation under the project <l>Apache Juneau</l> where it |
| has continued to evolve to where it is today. |
| </p> |