Skip to content

Commit

Permalink
Release notes v6.10.0
Browse files Browse the repository at this point in the history
  • Loading branch information
stefan-ka committed Nov 24, 2023
1 parent 6699562 commit e7581e7
Show file tree
Hide file tree
Showing 10 changed files with 33 additions and 28 deletions.
11 changes: 2 additions & 9 deletions _docs/generators/generators.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,14 @@ title: Generators Overview
permalink: /docs/generators/
---

The Context Mapper generators provide transformations to derive graphical Context Maps, [PlantUML diagrams](http://plantuml.com/),
[Microservice Domain-Specific Langauge (MDSL)](https://microservice-api-patterns.github.io/MDSL-Specification/) (micro-)service contracts, and
[Service Cutter](https://servicecutter.github.io/) input files from your CML context map. We also provide a [generic, template-based generator](/docs/generic-freemarker-generator/)
The Context Mapper generators provide transformations to derive graphical Context Maps, [PlantUML diagrams](http://plantuml.com/), and
[Microservice Domain-Specific Langauge (MDSL)](https://microservice-api-patterns.github.io/MDSL-Specification/) (micro-)service contracts from your CML context map. We also provide a [generic, template-based generator](/docs/generic-freemarker-generator/)
based on Freemarker which allows to generate arbitrary textual files.

**Generators:**
* [Graphical context maps](#graphical-context-maps)
* [PlantUML diagrams](#plantuml-diagrams)
* [MDSL (micro-)service contracts](#mdsl-micro-service-contracts)
* [Service Cutter input files](#service-cutter-input-files)
* [Generic, template-based textual generator (Freemarker Templating)](#generic-textual-generator-freemarker-templating)

## Using the Generators
Expand Down Expand Up @@ -103,11 +101,6 @@ This is an examplary [MDSL](https://microservice-api-patterns.github.io/MDSL-Spe

Learn more about the [MDSL](https://microservice-api-patterns.github.io/MDSL-Specification/) generator [here](/docs/mdsl/).

## Service Cutter Input Files
Find out how to produce Service Cutter input to calculate possible service cuts or new bounded contexts [here](/docs/service-cutter/):

![Service Cutter DDD Sample](/img/service-cutter-ddd-sample.png)

## Generic Textual Generator (Freemarker)
The generic, template-based generator allows you to generate arbitrary text files from CML Context Maps. It uses [Freemarker](https://freemarker.apache.org/) as its template engine and exposes the entire CML content as an object tree whose elements can be injected into the template.

Expand Down
2 changes: 0 additions & 2 deletions _docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,11 +108,9 @@ Check out our [example models](/docs/examples/) and the [language reference](/do
Once you created your first Context Map in CML you can use the following tools to evolve your model and generate other representations of your architecture:

* Use [Architectural Refactorings (ARs)](/docs/architectural-refactorings/) to evolve your model iteratively.
* Let [Service Cutter](/docs/service-cutter-context-map-suggestions/) analyze your model and suggest new Context Maps on the basis of its [coupling criteria](https://github.com/ServiceCutter/ServiceCutter/wiki/Coupling-Criteria).
* Generate [graphical Context Maps](/docs/context-map-generator/)
* Generate [PlantUML](/docs/plant-uml/) component and class diagrams
* Generate [MDSL](/docs/mdsl) (micro-)service contracts
* Generate [Service Cutter](/docs/service-cutter/) input files
* Generate [arbitrary textual files with Freemarker templates](/docs/generic-freemarker-generator/)

### Reverse Engineer Context Map and Bounded Contexts
Expand Down
2 changes: 0 additions & 2 deletions _docs/ide-plugins-and-extensions/ide-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ The following table illustrates which features are already implemented in VS Cod
| PlantUML generator | yes | yes |
| MDSL generator | yes | yes |
| Generic text file generator | yes | yes |
| Service Cutter input file generators | yes | yes |
| New service cut generator | yes | yes |
| OOAD transformation: Derive Subdomain from user requirements | yes | yes |
| OOAD transformation: Derive Bounded Context from Subdomains | yes | yes |
| OOAD transformation: Derive frontend and backend systems | yes | yes |
Expand Down
1 change: 0 additions & 1 deletion _docs/modeling-tools/rapid-ooad.md
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,6 @@ Once you derived your initial Bounded Contexts, you can:
- [Graphical Context Map](/docs/context-map-generator/)
- [PlantUML diagrams](/docs/plant-uml/)
- [MDSL (micro-)service contracts](/docs/mdsl/)
- [Service Cutter input files](/docs/service-cutter/)
- [Generic output with Freemarker templates](/docs/generic-freemarker-generator/)
- Use our [JHipster JDL generator template](/docs/jhipster-microservice-generation/) to generate microservices code from your Context Map.

Expand Down
4 changes: 4 additions & 0 deletions _docs/service-cutter/context-map-suggestions.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ title: Context Map Suggestions with Service Cutter
permalink: /docs/service-cutter-context-map-suggestions/
---

<div class="alert alert-danger">
<strong>Note:</strong> This feature has been <strong>deactivated</strong> with <a href="https://contextmapper.org/news/2023/11/24/v6.10.0-released/">release v6.10.0</a> of Context Mapper.
</div>

The [Service Cutter](http://servicecutter.github.io/) tool proposes a structured way to service decomposition. It suggests how a system could be decomposed into services according to 14 prioritized [coupling criteria](https://github.com/ServiceCutter/ServiceCutter/wiki/Coupling-Criteria). Domain model elements are required as input. The tool then applies graph clustering algorithms to identify possible *service cuts*, which are returned as output. The approach was proposed in [this paper](https://www.researchgate.net/publication/307873263_Service_Cutter_A_Systematic_Approach_to_Service_Decomposition).

## Context Mapper Integration
Expand Down
4 changes: 4 additions & 0 deletions _docs/service-cutter/service-cutter-config-file.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ title: Service Cutter Configuration File (.servicecutter.yml)
permalink: /docs/service-cutter-config-file/
---

<div class="alert alert-danger">
<strong>Note:</strong> This feature has been <strong>deactivated</strong> with <a href="https://contextmapper.org/news/2023/11/24/v6.10.0-released/">release v6.10.0</a> of Context Mapper.
</div>

Context Mapper uses [Service Cutter](https://github.com/ServiceCutter/ServiceCutter/) to [propose new Context Maps (service decompositions)](/docs/service-cutter-context-map-suggestions/). There is also a [tutorial](/docs/systematic-service-decomposition/) that explains how this works.

However, since we do not provide a user interface to configure the coupling criteria priorities as the original [Service Cutter](https://github.com/ServiceCutter/ServiceCutter/) tool does, we provide a file called `.servicecutter.yml` that allows you to configure the service cutting engine.
Expand Down
2 changes: 1 addition & 1 deletion _docs/standalone-usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ permalink: /docs/library/
---

The Context Mapper DSL (CML) and its tools cannot only be used within Visual Studio Code or Eclipse, but also be integrated into other applications as a
standalone library. This library allows you to parse CML files within a project, change the model programmatically, and unparse it back to CML. You can also use tools such as the [Architectural Refactorings](/docs/architectural-refactorings/) and the provided generators for [graphical context maps](/docs/context-map-generator/), [PlantUML](/docs/plant-uml/), [MDSL](/docs/mdsl/), [Service Cutter](/docs/service-cutter/), and [Freemarker templates](/docs/generic-freemarker-generator/).
standalone library. This library allows you to parse CML files within a project, change the model programmatically, and unparse it back to CML. You can also use tools such as the [Architectural Refactorings](/docs/architectural-refactorings/) and the provided generators for [graphical context maps](/docs/context-map-generator/), [PlantUML](/docs/plant-uml/), [MDSL](/docs/mdsl/), and [Freemarker templates](/docs/generic-freemarker-generator/).

## Integration
All our releases are not only published as IDE extensions or plugins, but as updates to the standalone library as well. This library is published into the [Maven Central repository](https://search.maven.org/artifact/org.contextmapper/context-mapper-dsl/) and can easily be integrated into your Maven or Gradle build:
Expand Down
4 changes: 4 additions & 0 deletions _docs/tutorials/systematic-service-decomposition.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ permalink: /docs/systematic-service-decomposition/
image: /img/cm-og-image.png
---

<div class="alert alert-danger">
<strong>Note:</strong> This feature has been <strong>deactivated</strong> with <a href="https://contextmapper.org/news/2023/11/24/v6.10.0-released/">release v6.10.0</a> of Context Mapper.
</div>

Context Mapper provides a generator that decomposes your domain model into Bounded Contexts in a systematic manner. The service decomposition tool is based on [Service Cutter](https://github.com/ServiceCutter/ServiceCutter/). Based on a [catalog of 16 coupling criteria](https://github.com/ServiceCutter/ServiceCutter/wiki/Coupling-Criteria) and a graph clustering algorithm, the generator suggests how an application could be decomposed into Bounded Contexts, services, or components.

Note that it is not our goal to automate the job of domain modelers and software architects! The generated decompositions are just suggestions and can give you hints how your domain objects are coupled. Don't expect that the perfect decomposition is generated for you without questioning it.
Expand Down
16 changes: 16 additions & 0 deletions _news/2023-11-24-v6.10.0-released.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
layout: news
title: "v6.10.0 Release Notes"
author: Stefan Kapferer
image: /img/cm-og-image.png
---

Today we released version 6.10.0 of Context Mapper in order to fix the following two issues:

* The Context Mapper Visual Studio Code extension still exposed the vulnerable library log4j 1.2.17.
* This issue was caused by our [Service Cutter library/integration](https://contextmapper.org/docs/service-cutter-context-map-suggestions/).
* **Note** that we deactivated Service Cutter features in Context Mapper for the moment in order to remove this vulnerability.
* Context Mapper 6.10.0 is now compatible with Eclipse 2023-09.
* This was not the case for v6.9.0 ([#349](https://github.com/ContextMapper/context-mapper-dsl/issues/349)).

As always, if you have any issues or other feedback, please [let us know](/getting-involved/).
15 changes: 2 additions & 13 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ <h3 class="text-center">Diagram and Contract Generation</h3>
</div>
</div>
<div class="row features">
<div class="col-sm-4">
<div class="col-sm-6">
<h1 class="text-center"><i class="fas fa-history" aria-hidden="true"></i></h1>
<h3 class="text-center">Context Map Discovery Library</h3>
<p>
Expand All @@ -88,18 +88,7 @@ <h3 class="text-center">Context Map Discovery Library</h3>
<a class="btn btn-primary btn-lg" href="/docs/reverse-engineering/" role="button">Learn more</a>
</p>
</div>
<div class="col-sm-4">
<h1 class="text-center"><i class="fab fa-connectdevelop" aria-hidden="true"></i></h1>
<h3 class="text-center">Systematic Service Decomposition</h3>
<p>
With the <strong>Service Cutter</strong> integration you can calculate new Context Maps that shall <strong>improve coupling and cohesion</strong> by using <strong>graph clustering</strong>
algorithms and <strong>coupling criteria</strong>.
</p>
<p>
<a class="btn btn-primary btn-lg" href="/docs/service-cutter-context-map-suggestions/" role="button">Learn more</a>
</p>
</div>
<div class="col-sm-4">
<div class="col-sm-6">
<h1 class="text-center"><i class="far fa-file-code" aria-hidden="true"></i></h1>
<h3 class="text-center">Code (Microservice) Generation</h3>
<p>
Expand Down

0 comments on commit e7581e7

Please sign in to comment.