-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ENDOC-609 remove quarkus and edit #634
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,21 +3,21 @@ | |
When generating a microservice or micro frontend using the Entando Component Generator, there are a number of technical choices that need to be made: | ||
|
||
* Microservice code | ||
* If you're considering non-Java based microservices, here are the [specifications of an Entando microservice](../curate/bundle-details.md#microservices-specifications), including information on the runtime contract required to use them. | ||
* If you're considering microservices that are not based on Java, here are the [specifications of an Entando microservice](../curate/bundle-details.md#microservices-specifications), including information on the runtime contract required to use them. | ||
* For a JavaScript example, see the Node.js microservice in the [API claim tutorial](../../tutorials/create/ms/add-api-claim.md). | ||
* Database type | ||
* Entando recommends standardizing your choice of database to simplify operational maintenance, but you do have the ability to use different databases for different microservices. | ||
* Supported choices are none, embedded, MySQL, and Postgres. Enterprise customers can choose Oracle but should contact Entando Support for details. | ||
* Development databases | ||
* You can choose to utilize a full RDBMS or developers can utilize lightweight in-memory or on-disk databases with H2. | ||
* Caching implementation | ||
* When generating a microservice, you will be presented with the type of cache to inject into the services. It is recommended that the type be uniform for all the microservices in your application, but it can be customized on a per service basis if desired. | ||
* When generating a microservice, you will be presented with the types of cache to inject into the services. It is recommended that the type be uniform for all microservices in your application, but it can be customized on a per-service basis if desired. | ||
* Build system | ||
* Determines the Java build tool to use when building your services | ||
* Supports Maven or Gradle | ||
* Other technologies | ||
* Users of the component generator can also decide to use other technologies from JHipster or the JHipster marketplace. | ||
* There are many powerful technologies in the marketplace but it is up to the developer to integrate the chosen technology into their Entando application. Entando doesn't provide direct support for marketplace tech choices. | ||
* Users of the Component Generator can also decide to use other technologies from JHipster or the JHipster marketplace. | ||
* There are many powerful technologies in the marketplace but it is up to the developer to integrate the chosen technology into their Entando Application. Entando doesn't provide direct support for marketplace tech choices. | ||
* Micro frontends | ||
* Optionally, users can choose to generate micro frontends for entities generated via the blueprint. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ...i thought the MFEs were the entities that were optionally generated? @nshaw? shouldn't this read "for microservices"? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. the entity is conference, isn't it? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Line 22 is good as-is per conversation. |
||
* The Entando Component Generator only provides micro frontends in React from the generation flow but developers can create and bundle micro frontends using other technologies as well. | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,13 +8,13 @@ This page provides an overview of the key Entando GitHub repositories with brief | |
of how these repositories are realized in a running Entando deployment. It also explores the architecture behind the Entando Platform and how its functions are structured. | ||
|
||
## Entando Operator | ||
The **Entando Operator** coordinates the installation and configuration of all the components of an Entando Application. | ||
The **Entando Operator** coordinates the installation and configuration of all of the components of an Entando Application. | ||
|
||
* GitHub: <https://github.com/entando-k8s/entando-k8s-controller-coordinator/> | ||
* DockerHub: <https://hub.docker.com/repository/docker/entando/entando-k8s-controller-coordinator> | ||
|
||
#### Customization | ||
Use the [Entando Custom Resources](../consume/custom-resources.md) to extend the Platform. | ||
Use the [Entando custom resources](../consume/custom-resources.md) to extend the Platform. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. platform lowercase There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. that actually doesn't make sense because everything else with entando in front remains capitalized There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. no. the platform and operator are the exceptions, because those are general terms. the Component Manager and Component Generator are capitalized because these are entando-specific terms. the decision on platform/operator was made months ago and transferred to our glossary spreadsheet. it may also be in the team notes somewhere. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. also Entando Component / component, Entando Plugin / plugin, Entando Content / content, Entando Page / page... it's actually a pretty extensive list |
||
|
||
## Database Init Containers | ||
During installation, an Entando Application needs to create and initialize several databases when deploying from a backup of your images. | ||
|
@@ -50,9 +50,9 @@ A customized image can include: | |
* New APIs | ||
* Legacy Entando plugins | ||
* New database tables | ||
* Other extensions to the entando-core | ||
* Other extensions to the `entando-core` | ||
|
||
It is recommended that microservices are used for most extensions to the Entando Platform. However, legacy | ||
In most cases, microservices should be used to extend the platform. However, legacy | ||
integrations, extensions to the CMS, and migrations from earlier Entando versions may require changes to the **entando-de-app**. | ||
|
||
## App Builder | ||
|
@@ -63,14 +63,14 @@ APIs](../consume/entando-apis.md). The Component Manager provides information ab | |
* DockerHub: <https://hub.docker.com/repository/docker/entando/app-builder/> | ||
|
||
#### Customization | ||
The App Builder is customized as part of many Entando implementations. | ||
It can be customized via [configuration micro frontends](../../tutorials/create/mfe/widget-configuration.md) and with [Entando Platform Capabilities (EPCs)](../../tutorials/create/mfe/epc.md). | ||
The **App Builder** is customized as part of many Entando implementations. | ||
It can be customized via [configuration micro frontends](../../tutorials/create/mfe/widget-configuration.md) and [Entando Platform Capabilities (EPCs)](../../tutorials/create/mfe/epc.md). | ||
|
||
## Entando Component Manager | ||
The **Entando Component Manager** provides the link between the `entando-de-app`, or your custom core instance, and the Local Hub. It queries the Entando Kubernetes service to fetch available | ||
jyunmitch marked this conversation as resolved.
Show resolved
Hide resolved
|
||
bundles that have been deployed as custom resources inside the cluster. | ||
|
||
The Component Manager also administers the relationships between an Entando Application and the | ||
The **Component Manager** also administers the relationships between an Entando Application and the | ||
installed plugins. This is seen in the plugin link custom resource in Kubernetes. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "plugin link custom resource" is so many modifiers... "custom resource for the plugin link" |
||
|
||
* GitHub: <https://github.com/entando-k8s/entando-component-manager/> | ||
|
@@ -96,10 +96,10 @@ The Keycloak image can be customized as part of an Entando implementation. Some | |
|
||
## Other Key Repositories | ||
### entando-core | ||
The **entando-core** project is a J2EE application that exposes APIs for the Entando CMS, including the admin console and the portal UI project that performs the server-side composition for pages rendered via an Entando Application. Note that only the composition is performed server-side. JavaScript code is rendered client-side. The entando-core is realized via an instance that includes the WAR files as dependencies, which are generated from the core build. In a default deployment, this is the `entando-de-app`. | ||
The **entando-core** project is a J2EE application that exposes APIs for the Entando CMS, including the Admin Console and the Portal UI project that performs the server-side composition for pages rendered via an Entando Application. Note that only the composition is performed server-side. JavaScript code is rendered client-side. The **entando-core** is realized via an instance that includes the WAR files as dependencies, which are generated from the core build. In a default deployment, this is the `entando-de-app`. | ||
|
||
* GitHub: <https://github.com/entando/entando-core/> | ||
* DockerHub: None (deployed to maven central) | ||
* DockerHub: None (deployed to Maven Central) | ||
|
||
#### Customization | ||
For users familiar with versions prior to Entando 6, there will be cases where the **entando-core** is customized. | ||
|
@@ -119,7 +119,7 @@ functionality. However, most cases will use the more general App Builder extensi | |
|
||
### Entando Kubernetes Controllers | ||
A number of controllers are available to the Entando Operator to manage installations and | ||
components in an Entando cluster. These are small and lightweight images that execute as | ||
components in an Entando Cluster. These are small and lightweight images that execute as | ||
run-to-completion pods, managing the installation flow for different parts of the infrastructure. For more information on controllers, Entando custom | ||
resources, and configuring your deployment, see | ||
[Custom Resources](../consume/custom-resources.md). | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,33 @@ | ||
# Component Generation Technologies | ||
|
||
When generating a microservice using the Entando Component Generator there are a number of technical choices that need to be made | ||
When generating a microservice or micro frontend using the Entando Component Generator, there are a number of technical choices that need to be made: | ||
|
||
* Microservice code | ||
* If you're considering non-Java based microservices, here are the [specifications of an Entando microservice](../curate/bundle-details.md#microservices-specifications), including information on the runtime contract required to use them. | ||
* If you're considering microservices that are not based on Java, here are the [specifications of an Entando microservice](../curate/bundle-details.md#microservices-specifications), including information on the runtime contract required to use them. | ||
* For a JavaScript example, see the Node.js microservice in the [API claim tutorial](../../tutorials/create/ms/add-api-claim.md). | ||
* Database type | ||
* Entando recommends standardizing your choice of database to simplify operational maintenance but you do have the ability to use different databases for different microservices. | ||
* Supported choices are none, MySQL, and Postgres. Enterprise customers can choose Oracle but should contact Entando Support for details. | ||
* Entando recommends standardizing your choice of database to simplify operational maintenance, but you do have the ability to use different databases for different microservices. | ||
* Supported choices are none, embedded, MySQL, and Postgres. Enterprise customers can choose Oracle but should contact Entando Support for details. | ||
* Development databases | ||
* You can choose to utilize a full RDBMS or developers can utilize lightweight in memory or on disk databases with h2. | ||
* You can choose to utilize a full RDBMS or developers can utilize lightweight in-memory or on-disk databases with H2. | ||
* Caching implementation | ||
* When generating a microservice you will be presented with the type of cache to inject into the services. It is recommended that this is a standard choice for all of the microservices in your application but can be customized on a per service basis if desired. | ||
* When generating a microservice, you will be presented with the types of cache to inject into the services. It is recommended that the type be uniform for all microservices in your application, but it can be customized on a per-service basis if desired. | ||
* Build system | ||
* Determines the java build tool to use when building your services | ||
* Supports maven or gradle | ||
* Determines the Java build tool to use when building your services | ||
* Supports Maven or Gradle | ||
* Other technologies | ||
* Users of the component generator can also decide to use other technologies from JHipster or from the JHipster marketplace. | ||
* There are many powerful technologies in the marketplace but it is up to the developer to integrate any choices from the marketplace into their Entando application. Entando doesn't provide any direct support for marketplace tech choices. | ||
* Users of the Component Generator can also decide to use other technologies from JHipster or the JHipster marketplace. | ||
* There are many powerful technologies in the marketplace but it is up to the developer to integrate the chosen technology into their Entando Application. Entando doesn't provide direct support for marketplace tech choices. | ||
* Micro frontends | ||
* Users can optionally choose to generate micro frontends for entities generated via the blueprint. | ||
* Optionally, users can choose to generate micro frontends for entities generated via the blueprint. | ||
* The Entando Component Generator only provides micro frontends in React from the generation flow but developers can create and bundle micro frontends using other technologies as well. | ||
|
||
If you want to try out these choices follow the tutorial on [creating Entando microservices and micro frontends using the component generator](../../tutorials/create/ms/generate-microservices-and-micro-frontends.md). | ||
## Next Steps | ||
|
||
- [Create microservices and micro frontends using the Entando Component Generator](../../tutorials/create/ms/generate-microservices-and-micro-frontends.md) | ||
- [Create a React micro frontend](../../tutorials/create/mfe/react.md) | ||
- [Create an Angular micro frontend](../../tutorials/create/mfe/angular.md) | ||
- [Create a microservice, then an API claim with which a micro frontend can call it](../../tutorials/create/ms/add-api-claim.md) | ||
|
||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Java build tool" is a kind of overkill, given the bullet header and "when building your services"; it also is a bit of a mouthful
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it adds a specificity to the type of tool so left as is. It is repetitive but thought necessary