From 6ec0959cb3376b3fcd4abb79b0d688562a2fd298 Mon Sep 17 00:00:00 2001 From: BeateRixen Date: Thu, 14 Nov 2024 11:41:25 +0100 Subject: [PATCH 1/3] merged introduction from concepts section into microservices SDK section --- .../applications-bundle/microservices.md | 22 ------------------- .../general-aspects-bundle/introduction.md | 15 +++++++++---- 2 files changed, 11 insertions(+), 26 deletions(-) delete mode 100644 content/concepts/applications-bundle/microservices.md diff --git a/content/concepts/applications-bundle/microservices.md b/content/concepts/applications-bundle/microservices.md deleted file mode 100644 index cff0c1dbb1..0000000000 --- a/content/concepts/applications-bundle/microservices.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -weight: 30 -title: Microservices -layout: bundle ---- - -Microservices are server-side applications. Microservices can be used to develop for example the following functionality on top of {{< product-c8y-iot >}}: - -* Integrations -* Batch analytics -* Decoder -* Backend applications - -Microservices are deployed as Docker images to {{< product-c8y-iot >}}, and follow specific conventions. They typically provide one REST API, which is available under /service/<microservice-name>. They typically access {{< product-c8y-iot >}} using the documented REST API. - -When developing a {{< product-c8y-iot >}} microservice, a developer is not restricted to any programming language. However, a microservice must serve as a HTTP server working on port 80 and must be encapsulated in a Docker image. - -The hosting of the microservice is provided by {{< product-c8y-iot >}}. This way developers can focus on business logic and leave scaling, security, high availability and monitoring to {{< product-c8y-iot >}}. Microservices can be built on top of the API exposed by the {{< product-c8y-iot >}}. This way, {{< product-c8y-iot >}} microservices are a comfortable means to provide new functionality and extend existing ones. - -![Microservice infrastructure](/images/concepts-guide/microservice_infrastructure.png) - -For detailed information on developing and deploying microservices on top of {{< product-c8y-iot >}} refer to [Microservice SDK](/microservice-sdk/microservice-sdk-introduction/) which provides information on the general concept of microservices in {{< product-c8y-iot >}} as well as specific guidance and examples for various programming languages. For microservice developers {{< company-c8y >}} provides a Microservice SDK in the [Java programming language](/microservice-sdk/java). diff --git a/content/microservice-sdk/general-aspects-bundle/introduction.md b/content/microservice-sdk/general-aspects-bundle/introduction.md index d6df537f40..78bf5b75ae 100644 --- a/content/microservice-sdk/general-aspects-bundle/introduction.md +++ b/content/microservice-sdk/general-aspects-bundle/introduction.md @@ -4,10 +4,11 @@ title: Introduction layout: redirect --- +Microservices are server-side applications. You can extend the {{< product-c8y-iot >}} platform with customer-specific functionality by deploying microservices. For instance, you can develop integrations to third-party software or provide server-side business logic. A microservice-based architecture introduces change that is often well received by those developing modern applications, and solutions can be delivered much more quickly to those requesting flexible and scalable applications. Microservices bring significant benefits such as deployability, reliability, availability, scalability, modifiability and management. + Microservices use standard REST APIs with full authentication and authorization to communicate with {{< product-c8y-iot >}}. They are, in most cases, multi-tenant, meaning they must be able to strictly separate tenants and connect to multiple tenants at the same time. -Microservices may offer their own endpoints that can be used by {{< product-c8y-iot >}} and {{< product-c8y-iot >}}-based applications, for example, for system integration purposes. Examples of such microservices are the Jasper Control Center integration and the SMS integration for sending SMS notifications to end users. -You can extend the {{< product-c8y-iot >}} platform with customer-specific functionality by deploying microservices. For instance, you can develop integrations to third-party software or provide server-side business logic. A microservice-based architecture introduces change that is often well received by those developing modern applications, and solutions can be delivered much more quickly to those requesting flexible and scalable applications. Microservices bring significant benefits such as deployability, reliability, availability, scalability, modifiability and management. +Microservices may offer their own endpoints that can be used by {{< product-c8y-iot >}} and {{< product-c8y-iot >}}-based applications, for example, for system integration purposes. Examples of such microservices are the Jasper Control Center integration and the SMS integration for sending SMS notifications to end users. {{< product-c8y-iot >}} microservices have the following properties: @@ -21,6 +22,12 @@ The following management features are supported: - Microservices can be registered to individual tenants and super-tenants (that is, tenants with subtenants). - Multi-tenant microservices can be subscribed to other tenants. -Technically, microservices are Docker containers hosted by {{< product-c8y-iot >}} and they follow specific conventions. They are typically accessed using {{< product-c8y-iot >}} REST API available under /service/<microservice-name>. +Technically, microservices are Docker containers hosted by {{< product-c8y-iot >}} and they follow specific conventions. They are typically accessed using {{< product-c8y-iot >}} REST API available under /service/<microservice-name>. They typically access {{< product-c8y-iot >}} using the documented REST API. + +Developers are not restricted to any programming language when developing a microservice for {{< product-c8y-iot >}}. However, a microservice must serve as an HTTP server working on port 80 and must be encapsulated in a Docker image. + +The hosting of the microservice is provided by {{< product-c8y-iot >}}. This way developers can focus on business logic and leave scaling, security, high availability and monitoring to {{< product-c8y-iot >}}. Microservices can be built on top of the API exposed by the {{< product-c8y-iot >}}. This way, {{< product-c8y-iot >}} microservices are a comfortable means to provide new functionality and extend existing ones. + +![Microservice infrastructure](/images/concepts-guide/microservice_infrastructure.png) -Developers are not restricted to any programming language when developing a microservice for {{< product-c8y-iot >}}. However, a microservice must serve as an HTTP server working on port 80 and must be encapsulated in a Docker image. Refer to the relevant chapters in this guide for further information for the development of microservices. +For detailed information on developing and deploying microservices on top of {{< product-c8y-iot >}} refer to the following chapters in this section, which provide information on the general concept of microservices in {{< product-c8y-iot >}} as well as specific guidance and examples for various programming languages. From ab46a0e373fb8b25f68a240e2e6e81a1e09332d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20EIckler?= <797483+eickler@users.noreply.github.com> Date: Thu, 14 Nov 2024 13:39:11 +0100 Subject: [PATCH 2/3] Fixed link --- content/concepts/applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/concepts/applications.md b/content/concepts/applications.md index 7f725edd21..dc161deaf0 100644 --- a/content/concepts/applications.md +++ b/content/concepts/applications.md @@ -11,7 +11,7 @@ sector: {{< product-c8y-iot >}} includes the following application types: * [Web applications or extensions](#web-applications) - web-based user interface applications - * [Microservices](#microservices) - server-side business logic + * [Microservices](/microservice-sdk/general-aspects/) - server-side business logic Web applications are HTML5 single page applications, that appear in the {{< product-c8y-iot >}} application switcher and that are hosted in the {{< product-c8y-iot >}} platform. You can either develop your own web application or extend existing applications with plugins. From bae61075ce28735cd61759fe05620b876e5857e9 Mon Sep 17 00:00:00 2001 From: Beate Rixen <90445236+BeateRixen@users.noreply.github.com> Date: Mon, 18 Nov 2024 10:33:01 +0100 Subject: [PATCH 3/3] Update content/microservice-sdk/general-aspects-bundle/introduction.md --- content/microservice-sdk/general-aspects-bundle/introduction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/microservice-sdk/general-aspects-bundle/introduction.md b/content/microservice-sdk/general-aspects-bundle/introduction.md index 78bf5b75ae..8210fee09b 100644 --- a/content/microservice-sdk/general-aspects-bundle/introduction.md +++ b/content/microservice-sdk/general-aspects-bundle/introduction.md @@ -4,7 +4,7 @@ title: Introduction layout: redirect --- -Microservices are server-side applications. You can extend the {{< product-c8y-iot >}} platform with customer-specific functionality by deploying microservices. For instance, you can develop integrations to third-party software or provide server-side business logic. A microservice-based architecture introduces change that is often well received by those developing modern applications, and solutions can be delivered much more quickly to those requesting flexible and scalable applications. Microservices bring significant benefits such as deployability, reliability, availability, scalability, modifiability and management. +{{< product-c8y-iot >}} Microservices are server-side applications fully integrated into {{< product-c8y-iot >}}'s hosting, security and API management, optionally providing high availability, scalability and multi-tenancy. You can develop your own microservices to, for example, integrate IoT-related processes into your back office software, running batch analytics on IoT data with your custom analysis logic, writing message decoders for message from your devices and many other backend use cases. Microservices use standard REST APIs with full authentication and authorization to communicate with {{< product-c8y-iot >}}. They are, in most cases, multi-tenant, meaning they must be able to strictly separate tenants and connect to multiple tenants at the same time.