You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Author: Olaf Zimmermann, (c) 2018-2020. All rights reserved.
6
+
Author: Olaf Zimmermann, (c) 2018-2021. All rights reserved.
7
7
8
8
## What is MDSL?
9
9
@@ -39,10 +39,10 @@ These two languages can be used independently of each other; for instance, data
39
39
40
40
## Getting Started
41
41
42
-
* Presentations featuring Context Mapper, MAP and MDSL can be found [here](https://ozimmer.ch/papers/).
43
-
* The [GitHub Pages for MDSL](https://microservice-api-patterns.github.io/MDSL-Specification) provide a tutorial and language reference information.
42
+
* The [GitHub Pages for MDSL](https://microservice-api-patterns.github.io/MDSL-Specification) provide a tutorial and language reference information.<!-- * There is a [Project Wiki](https://github.com/Microservice-API-Patterns/MDSL-Specification/wiki/Getting-Started-with-MDSL), which is not populated much (yet) and not kept up to date as much as the GitHub pages. -->
44
43
* There is an [Eclipse update site](https://microservice-api-patterns.github.io/MDSL-Specification/updates/) for the MDSL editor.
45
-
* All generators are available via a Command Line Interface (CLI) now; see [this readme](./dsl-core/io.mdsl.cli/README.md) and [these examples](./examples/mdsl-standalone-example).
44
+
* All generators are available via a Command Line Interface (CLI); see [this readme](./dsl-core/io.mdsl.cli/README.md) and [these examples](./examples/mdsl-standalone-example).
45
+
* Presentations featuring Context Mapper, MAP and MDSL can be found [here](https://ozimmer.ch/papers/), and an [end-to-end demo](https://medium.com/olzzio/domain-driven-service-design-with-context-mapper-and-mdsl-d5a0fc6091c2) is available on Medium.
46
46
* As a contributor, please consult the [readme file of the dsl-core](./dsl-core/README.md) project for getting started information and prerequisites.
47
47
48
48
@@ -54,7 +54,7 @@ These two languages can be used independently of each other; for instance, data
54
54
*[Data types](https://microservice-api-patterns.github.io/MDSL-Specification/datacontract) (a.k.a. published language)
<!--An implemented proposal of a language extension supporting queue-based messaging endpoints is [AsyncMDSL](https://github.com/giacomodeliberali/MDSL/tree/master/examples/asyncMDSL).-->
57
+
<!--A language extension supporting queue-based messaging endpoints is [AsyncMDSL](https://github.com/giacomodeliberali/MDSL/tree/master/examples/asyncMDSL).-->
58
58
59
59
60
60
## Repository Structure
@@ -74,15 +74,10 @@ If you want to contribute to MDSL, you have to clone this repo and generate the
74
74
75
75
## Change Log
76
76
77
-
The current version of the MDSL language is 5.0; the tool version is 5.0.1. This MDSL version extends service contracts with support for events, states, flows, compensation. It also supports true REST level 3 concepts both on the abstract endpoint type level and in the redesigned bindings.
77
+
The current version of the MDSL language is 5.1; the tool version is 5.1.2. This MDSL version extends service contracts with support for events, states, flows, compensation (as experimental technology previews). It also supports true REST level 3 concepts both on the abstract endpoint type level and in the redesigned bindings and comes with additional Fremarker generators (Markdown reports, ALPS).
78
78
79
79
See [change log](changelog.md) for an evolution history; see GitHub [release notes](https://github.com/Microservice-API-Patterns/MDSL-Specification/releases) for additional update information.
80
80
81
-
<!--
82
-
A possible roadmap for language and tools is (subject to change at any time):
83
-
84
-
* to be continued
85
-
-->
86
81
87
82
## Context Information: MAP and Xtext
88
83
@@ -103,15 +98,16 @@ Feedback and contributions welcome!
103
98
104
99
## Acknowledgements
105
100
106
-
The creation and release of MDSL 4 was supported by the [Hasler Foundation](https://haslerstiftung.ch/en/welcome-to-the-hasler-foundation/).
107
-
108
101
Contributors (input, DevOps support, feedback):
109
102
110
-
*[Olaf Zimmermann (ZIO)](https://ozimmer.ch)
103
+
*Giacomo De Liberali (AsyncMDSL language, AsyncAPI generator)
111
104
* Stefan Kapferer (also the author of the [MDSL generator in Context Mapper](https://contextmapper.org/docs/mdsl/))
# SPDX-FileCopyrightText: 2020 Copyright Olaf Zimmermann https://ozimmer.ch/about/
3
+
#
4
+
# SPDX-License-Identifier: CC-BY-4.0
5
+
-->
6
+
7
+
<h2>1. Terms</h2>
8
+
9
+
<p>By accessing this website and repository, accessible from https://github.com/Microservice-API-Patterns/MDSL-Specification/, you are agreeing to be bound by these Terms and Conditions of Use and agree that you are responsible for the agreement with any applicable local laws. If you disagree with any of these terms, you are prohibited from accessing this site. The materials contained in this Website and repository are protected by copyright and trade mark law.</p>
10
+
11
+
<h2>2. Use License</h2>
12
+
13
+
<p>See separate <ahref="./LICENSE">LICENSE</a> file and bottom of this page.</p>
14
+
15
+
<h2>3. Disclaimer</h2>
16
+
17
+
<p>All the materials are provided "as is". The authors make no warranties, may it be expressed or implied, therefore negates all other warranties. Furthermore, the authors do not make any representations concerning the accuracy or reliability of the use of the materials or otherwise relating to such materials or any sites linked.</p>
18
+
19
+
<h2>4. Limitations</h2>
20
+
21
+
<p>The author(s) of this website and repository will not be hold accountable for any damages that will arise with the use or inability to use the materials on it, even if they or an authorized representative of the authors has been notified, orally or written, of the possibility of such damage. Some jurisdiction does not allow limitations on implied warranties or limitations of liability for incidental damages, these limitations may not apply to you.</p>
22
+
23
+
<h2>5. Revisions and Errata</h2>
24
+
25
+
<p>The materials appearing in this website and repository may include technical, typographical, or photographic errors. The author(s) will not promise that any of the materials in this website and repository are accurate, complete, or current. Author(s) may change the materials contained on this website and repository at any time without notice. The author(s) does not make any commitment to update the materials.</p>
26
+
27
+
<h2>6. Links</h2>
28
+
29
+
<p>The authors have not reviewed all of the sites linked to this website and repository and are not responsible for the contents of any such linked site. The presence of any link does not imply endorsement of the site. The use of any linked website is at the user’s own risk.</p>
30
+
31
+
<h2>7. Site Terms of Use Modifications</h2>
32
+
33
+
<p>The authors may revise these Terms of Use for its website and repository at any time without prior notice. By using this website and repository, you are agreeing to be bound by the current version of these Terms and Conditions of Use.</p>
34
+
35
+
<h2>8. Governing Law</h2>
36
+
37
+
<p>Any claim related to this website and repository shall be governed by the laws of Switzerland without regards to its conflict of law provisions.</p>
38
+
39
+
<p>These Terms and Conditions are based on the <ahref="https://termsofservicegenerator.net"> World's Free Terms Of Service Generator.</a></p>
Copy file name to clipboardExpand all lines: docs/async-mdsl.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: Asynchronous Microservice Domain-Specific Language (AsynchMDSL)
2
+
title: Asynchronous Microservice Domain-Specific Language (AsyncMDSL)
3
3
author: Giacomo Di Liberali, Olaf Zimmermann
4
4
copyright: The authors, 2020-2021. All rights reserved.
5
5
---
@@ -9,7 +9,7 @@ copyright: The authors, 2020-2021. All rights reserved.
9
9
AsyncMDSL
10
10
=========
11
11
12
-
_Note:_ The status of the Asynchronous Microservice Domain Specific Language (AsynchMDSL), created by Giacomo Di Liberali, is [*Technology Preview*](https://microservice-api-patterns.org/patterns/evolution/ExperimentalPreview.html), standing at Version 1.1 at present.
12
+
_Note:_ The status of the Asynchronous Microservice Domain Specific Language (AsyncMDSL), created by Giacomo Di Liberali, is [*Technology Preview*](https://microservice-api-patterns.org/patterns/evolution/ExperimentalPreview.html), standing at Version 1.1 at present.
13
13
14
14
AsyncMDSL aims at modeling asynchronous, messaging APIs while exploiting the [design goals of core MDSL](./index). Extending core MDSL, AsyncMDSL derives its abstract syntax from the state-of-the-art patterns and concepts described in the [Enterprise Integration Patterns](https://www.enterpriseintegrationpatterns.com/) book. The language is fully specified in Giacomo Di Liberali's [master thesis](UNIPI-AsyncMDSL-MasterThesis-2020-GiacomoDeLiberali-v1.3.pdf).
15
15
@@ -79,13 +79,13 @@ bindings for [protocol] {
79
79
Invalid combinations will be notified by the API Linter that comes with the [editor and generator plugin](./generators/async-api) for ASyncMDSL.
A path param type can assume any of teh basic data types of MDSL:
88
+
A path param type can assume any of the basic data types of MDSL:
89
89
> bool | int | long | double | string
90
90
91
91
#### Message
@@ -108,7 +108,7 @@ bindings for [protocol] {
108
108
109
109
- Protocol can assume one of the [supported protocols](./bindings). As the list of properties is protocol-specific, a single flat JSON object is expected as configuration.
110
110
111
-
An example of a _binding_ definition can be found in [examples/AsyncMDSL/bindings.mdsl](../examples/AsyncMDSL/bindings.mdsl).
111
+
An example of a _binding_ definition can be found in [examples/AsyncMDSL/bindings.mdsl](https://github.com/Microservice-API-Patterns/MDSL-Specification/blob/master/examples/asyncMDSL/bindings.mdsl).
112
112
113
113
#### Channel definition example
114
114
@@ -199,7 +199,7 @@ exposes
199
199
> Notice that no protocol-specific validation is applied.
200
200
201
201
-
202
-
Security policy type. MDSL security policies are not yet fully supported. The available values are:
202
+
Security policy type. MDSL security policies are not fully supported yet. The available values are:
203
203
> JWT | API_KEY
204
204
205
205
<!-- TODO OAS binding does a lot more since core MDSL 5.0, could bring some of that support here -->
@@ -239,4 +239,4 @@ Valid AsyncMDSL specifications can be mapped to [AsyncAPI](https://www.asyncapi.
Copy file name to clipboardExpand all lines: docs/bindings.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: Microservice Domain Specific Language (MDSL) Bindings
3
3
author: Olaf Zimmermann
4
-
copyright: Olaf Zimmermann, 2019-2020. All rights reserved.
4
+
copyright: Olaf Zimmermann, 2019-2021. All rights reserved.
5
5
---
6
6
7
7
[Home](./index)—[Endpoint Type](./servicecontract)—[Data Types](./datacontract)—[Provider and Client](./optionalparts)—[Tutorial](./tutorial)—[Cheat Sheet](./quickreference)—[Tools](./tools)
@@ -156,6 +156,6 @@ Language specification pages:
156
156
*[Data contracts (schemas)](./datacontract)
157
157
* Other [runtime concepts](./optionalparts)
158
158
159
-
*Copyright: Olaf Zimmermann, 2018-2020. All rights reserved. See [license information](https://github.com/Microservice-API-Patterns/MDSL-Specification/blob/master/LICENSE).*
159
+
*Copyright: Olaf Zimmermann, 2018-2021. All rights reserved. See [license information](https://github.com/Microservice-API-Patterns/MDSL-Specification/blob/master/LICENSE).*
Copy file name to clipboardExpand all lines: docs/datacontract.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: Microservice Domain Specific Language (MDSL) Data Contracts
3
3
author: Olaf Zimmermann
4
-
copyright: Olaf Zimmermann, 2019-2020. All rights reserved.
4
+
copyright: Olaf Zimmermann, 2019-2021. All rights reserved.
5
5
---
6
6
7
7
[Home](./index)—[Endpoint Type](./servicecontract)—[Provider and Client](./optionalparts)—[Bindings](./bindings)—[Tutorial](./tutorial)—[Cheat Sheet](./quickreference)—[Tools](./tools)
@@ -265,6 +265,6 @@ Note that some combinations are syntactically possible at present (to simplify t
265
265
*[Quick reference](./quickreference), [tutorial](./tutorial) and [tools](./tools)
266
266
* Back to [MDSL homepage](./index).
267
267
268
-
*Copyright: Olaf Zimmermann, 2018-2020. All rights reserved. See [license information](https://github.com/Microservice-API-Patterns/MDSL-Specification/blob/master/LICENSE).*
268
+
*Copyright: Olaf Zimmermann, 2018-2021. All rights reserved. See [license information](https://github.com/Microservice-API-Patterns/MDSL-Specification/blob/master/LICENSE).*
Copy file name to clipboardExpand all lines: docs/examples.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -93,6 +93,6 @@ Back to [MDSL homepage](./index).
93
93
94
94
More examples in [public](https://github.com/Microservice-API-Patterns/MDSL-Specification/tree/master/examples) and in [private](https://github.com/Microservice-API-Patterns/MDSL-Specification/tree/master/examples) repository.
95
95
96
-
*Copyright: Olaf Zimmermann, 2018-2020. All rights reserved. See [license information](https://github.com/Microservice-API-Patterns/MDSL-Specification/blob/master/LICENSE).*
96
+
*Copyright: Olaf Zimmermann, 2018-2021. All rights reserved. See [license information](https://github.com/Microservice-API-Patterns/MDSL-Specification/blob/master/LICENSE).*
The MDSL Eclipse plugin and the CLI allow API designers to generate arbitrary text files out of MDSL by using a [Freemarker](https://freemarker.apache.org/) template.
@@ -30,7 +32,7 @@ The following example illustrates what the generator can produce for an exemplar
30
32
31
33
You find the complete sources (incl. generated text file) of this example [here](https://github.com/Microservice-API-Patterns/MDSL-Specification/tree/master/examples/freemarker-example).
32
34
33
-
We use the following MDSL model which was an outcome of this [blogpost](https://ozimmer.ch/practices/2020/06/10/ICWEKeynoteAndDemo.html) to illustrate our generator outputs:
35
+
The following MDSL model, taken from this [blogpost](https://ozimmer.ch/practices/2020/06/10/ICWEKeynoteAndDemo.html), illustrates the generator usage:
34
36
35
37
```
36
38
API description ReferenceManagementServiceAPI
@@ -61,7 +63,7 @@ endpoint type PaperArchiveFacade
61
63
payload D<string>
62
64
```
63
65
64
-
We further use the following Freemarker template to generate some exemplary output:
66
+
Let us use the following very basic Freemarker template to generate some exemplary output from the above MDSL:
65
67
66
68
```ftl
67
69
# Report for MDSL specification ${fileName}
@@ -75,9 +77,9 @@ The API description ${genModel.apiName} features the following endpoint types (a
75
77
</#list>
76
78
```
77
79
78
-
The template aims at generating a markdown report listing the available endpoints.
80
+
The template simply generates a markdown report listing the available endpoints.
79
81
80
-
Applied to the model above, the generator produces the following markdown file:
82
+
Applied to the `ReferenceManagementServiceAPI` description above, the generator produces the following markdown file:
81
83
82
84
```markdown
83
85
# Report for MDSL specification ReferenceManagementAPI.mdsl
@@ -89,11 +91,12 @@ The API description ReferenceManagementServiceAPI features the following endpoin
89
91
* PaperArchiveFacade
90
92
```
91
93
92
-
You find the complete sources (incl. generated text file) of this example[here](https://github.com/Microservice-API-Patterns/MDSL-Specification/tree/master/examples/freemarker-example).
94
+
You find the complete sources (incl. generated text file) of this and other examples[here](https://github.com/Microservice-API-Patterns/MDSL-Specification/tree/master/examples/freemarker-example).
93
95
94
96
The entire MDSL grammar is available as a data model to the Freemarker templating feature.
95
97
96
-
More examples of Freemarker templates can be found [here](https://github.com/Microservice-API-Patterns/MDSL-Specification/tree/master/examples/generator-templates).
98
+
<!-- removed in V.511 (example folders merged):
99
+
More examples of Freemarker templates can be found [here](https://github.com/Microservice-API-Patterns/MDSL-Specification/tree/master/examples/generator-templates). -->
97
100
98
101
99
102
## Generator Model for Freemarker Templating and Model Exports
@@ -112,7 +115,7 @@ This model can also be exported for offline processing (for instance, to feed ot
112
115
113
116
# Other Generators
114
117
Also checkout our other generators:
115
-
*[Open API generator](./open-api)
118
+
*[OpenAPI generator](./open-api)
116
119
*[Protocol Buffers generator](./protocol-buffers)
117
120
*[GraphQL generator](./graphql)
118
121
*[Jolie generator](./jolie)
@@ -126,4 +129,4 @@ Also checkout our other generators:
126
129
*[Bindings](./../bindings) and [instance-level concepts](./../optionalparts).
127
130
* Back to [MDSL homepage](./../index).
128
131
129
-
*Copyright: Stefan Kapferer and Olaf Zimmermann, 2020. All rights reserved. See [license information](https://github.com/Microservice-API-Patterns/MDSL-Specification/blob/master/LICENSE).*
132
+
*Copyright: Stefan Kapferer and Olaf Zimmermann, 2020-2021. All rights reserved. See [license information](https://github.com/Microservice-API-Patterns/MDSL-Specification/blob/master/LICENSE).*
0 commit comments