Releases: Microservice-API-Patterns/MDSL-Specification
Version 6.0.0: Xtext/Eclipse version update
Microservice Domain-Specific Language (MDSL) abstracts from technology-specific interface description languages such as OpenAPI/Swagger, WSDL, and Protocol Buffers. This is Version 6.0.0:
- Upgrade to Xtext Version 2.35.0, which requires newer version of other bundles
- No new features, transformations and generators unchanged; no changes to CLI
- Developed with Eclipse DSL 2024-03 and 2024-06, plugin tested with Eclipse 2024-06
Important note: All MDSL tools, including validators, quick fix transformations, Freemarker templates, IDL and Java generators, etc. are the output of research projects with limited budgets; at present, resources to continue development and reduce technical debt are sparse. The MDSL tools should be viewed and positioned as technology demonstrators that show how production-ready API-first design tools could look like.
Status: The core MDSL language (data types, endpoint types, protocol bindings) is stable now; a language reference and primer can be found in "Patterns for API Design". Features such as user stories and flow modeling remain experimental previews.
JaamSim2MDSL example, bug fix in JaamSimView (genmodel)
JaamSim2MDSL is a standalone Java program and maven example project.
MDSL2JaamSim is implemented as an Apache Freemarker template that works with the JaamSimView in the MDSL genmodel. The template can be found in the MDSL test data folder here. Usage instructions for all MSDL Tools are available here.
Recent/related demos:
Maintenance and technology previews release
No changes to the MDSL grammar and the core tools, but hardening and extending previous version(s):
- MDSL2JaamSim transformations/template-based generation and supporting genmodel extensions (FTL template V2.4.2)
- Apache Camel Freemarker template improved (see test-data folder/flowgenmodel-tests in dsl-core/io.mdsl.tests project)
- Documentation enhancements: Primer, SOAD transformations page, navigation
- Bug fixes in generator model (flows/process view, data types, HTTP bindings)
- Bug fix in BPMN generation visa SketchMiner (joint work with Context Mapper)
Blog posts featuring quick fixes and flow modeling extensions in action:
- https://ozimmer.ch/practices/2022/01/20/StoryDrivenServiceDesignDemo.html
- https://ozimmer.ch/practices/2022/01/13/EventDrivenServiceDesignDemo.html
- https://ozimmer.ch/practices/2022/02/01/ProcessOrientedServiceDesignDemo.html
MAP/IRC Quick Fix transformations, flow tools (BPMN generation), CLI and genmodel enhancements
See change log for detailed release information. The MDSL Primer introduces the language and the quick fix transformation reference is here.
Related projects:
- Microservice API Patterns (MAP)
- Interface Refactoring Catalog (IRC)
- Design Practice Repository (DPR)
Feedback is always appreciated!
-- scoadk (about)
Integration stories, orchestration flows, API first transformations
- API client no longer needs a resource binding
- Flow syntax simplified, scenario/story syntax enhanced
- Many new validations and quick fixes for rapid service-oriented analysis and design (a.k.a. rapid API first), see here
- Documentation updates and enhancements, for instance new Primer factored out
- Additional examples and updates to existing ones
Features and fixes
- Quick fixes for incomplete data specifications
- Core MDSL to AsyncMDSL transformation
- Grammar adjustments
See change log for more information.
Maintenance release
Same features as in 5.1.2, but metadata for build updated.
Version 5.1.2: Improved Freemarker reporting, AsyncMDSL documentation
- Two new Freemarker report templates, one for ALPS and one for a Markdown-flavored API Description
- GitPages for AsyncMDSL language extension (technology preview)
- Fix Context Mapper OSGi bundle links
- CLI support enhanced (PoC/preview)
- Bug fixes, minor enhancements in documentation
Version 5.0.3
V5 featured documented and tested, bug fixes, technical debt removed; more examples, better support for REST ML 3 and OAS link objects (as tech. preview). It is now superseded by Version 5.1.2.
MDSL Language and Tools Version 4.2
- Java modulith generator
- Examples and documentation for all generators
- Bug fixes
See changelog.md for details