UML Component Diagrams for FIWARE Architecture Patterns

UML Component Diagrams for FIWARE Architecture Patterns

As part of efforts to standardise reusable FIWARE Architecture Patterns, SmartSDK is realising a collection of reusable and modular UML Component Diagrams.

The Architecture patterns are described using PlantUML, a well know open source tool for UML Diagrams.

The code below, for example, describe the architecture pattern for the Data/Context Management services.

skinparam componentStyle uml2

!define ICONURL
!includeurl ICONURL/common.puml
!includeurl ICONURL/fiware.puml
!includeurl ICONURL/smartsdk.puml

package "Data/Context Management Core" {
	interface NGSI
	FIWARE(ctx,"Context Broker \n - Orion",component)
	FIWARE(cep,"CEP \n - Proton",component)
	FIWARE(kurento,"Stream Oriented \n- Kurento",component)
	NGSI -left- ctx
	NGSI -up- cep
	NGSI -up- ckan
	NGSI -up- kurento
	package "Cosmos" {
		FIWARE(bda,"Big Data Analysis",component)
		FIWARE(sth,"STH Comet",component)
		NGSI -up- cygnus
		cygnus -up- bda
		cygnus -up- sth

The above code is rendered into a UML Component Diagram as follow.

Combining different PlantUML files representing different Architecture Patterns, its quite easy.

For example the typical Northbound / Southbound FIWARE Reference Architecture, can be obtained by combining the FIWARE Reference Architecture Pattern for Data Management and FIWARE Reference Architecture Pattern for IoT Enablement.

skinparam componentStyle uml2

!define BASEURL
!includeurl BASEURL/data-management/Data-ContextManagement.puml
!includeurl BASEURL/iot-management/IoT-Service-Enablement.puml


You can find the code on SmartSDK Github!