forked from finos/morphir
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added Application Modelling Category. Added groupings to the Integrat…
…ion Guides
- Loading branch information
1 parent
b327cb0
commit cc3ee3b
Showing
27 changed files
with
274 additions
and
55 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
--- | ||
id: contributing-to-morphir | ||
title: Contributing to Morphir | ||
--- | ||
|
||
#Contributing to the Morphir Ecosystem | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
id: faqs | ||
title: FAQs | ||
--- | ||
|
||
# Frequently Asked Questions | ||
|
||
### How Do I Generate the Scala Codecs? | ||
Run the the `morphir gen` command with the -s flag |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
--- | ||
id: introduction-to-morphir | ||
title: Introducing Morphir | ||
--- | ||
|
||
[![FINOS - Incubating](https://cdn.jsdelivr.net/gh/finos/contrib-toolbox@master/images/badge-incubating.svg)](https://finosfoundation.atlassian.net/wiki/display/FINOS/Incubating) | ||
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/6526/badge)](https://bestpractices.coreinfrastructure.org/projects/6526) | ||
<!-- [<img src="https://img.shields.io/badge/slack-@finos/morphir-green.svg?logo=slack">](https://finos-lf.slack.com/messages/morphir/) --> | ||
|
||
# Morphir | ||
|
||
Morphir is a library of tools that works to capture business logic as data. | ||
|
||
For the first time, business logic can be shared, stored, translated and visualised, all with the reliability of standardisation ensured in the Morphir framework. | ||
|
||
## What is it? | ||
|
||
A set of tools for integrating technologies. Morphir is composed of a library of tools that facilitate the digitisation of business logic into multiple different languages & platforms. The Morphir framework is unique too in that facilities elements of automation and conversion that were previously unavailable in the field of finance-tech. | ||
|
||
## Why is it important? | ||
|
||
Makes business logic portable. Business logic digitised provides distinct advantages: capacity for movement across departments and fields & the ability to be converted to new languages and applications. | ||
|
||
## How does it work? | ||
|
||
Defines a standard format for storing and sharing business logic. A clear set of standards and format is in-place from the input/output, allowing for coherent structure. | ||
|
||
## What are the benefits? | ||
|
||
### ✔️ Eliminates technical debt risk | ||
|
||
> _Refactoring code libraries is often a harmful and time-sensitive issue for businesses, Morphir ensure the standards introduced from input eliminate delays at deployment._ | ||
### ✔️ Increases agility | ||
|
||
> _Adaptability and usability are key concepts of the Morphir framework, business logic can now move with the code, be easily understood and adopted, in an ever-developing eco-system._ | ||
### ✔️ Ensures correctness | ||
|
||
> _Certifying that specified functions behave as intended from input to output is assured through the Morphir library / tool chain._ | ||
### ✔️ Disseminates information through automation | ||
|
||
> _Morphir’s automated processing helps disseminate information which otherwise may not be understood or shared at all, a useful tool when brining elements of business logic to conversation outside of its immediate audience (i.e developers)._ | ||
|
||
## Documentation | ||
If you want to start using Morphir, start with the [Documentation](docs/). | ||
|
||
## The Morphir Projects | ||
Morphir consists of a few projects based on the features they provide. | ||
|
||
### Core Morphir Projects | ||
- **[morphir (this project)](https://github.com/finos/morphir/)** - The umbrella project | ||
- **[morphir-elm](https://github.com/finos/morphir-elm)** - Contains most of the core morphir functionality, including: | ||
- The definition of the IR | ||
- The Elm compiler for authoring morphir applications in Elm | ||
- The morphir visualization components and developer tools | ||
- The Scala, JSON Schema, TypeScript, TypeSpec (Cadl), cypher, semantic, and more backend processors. | ||
- **[morphir-jvm](https://github.com/finos/morphir)** - Supporting SDK and packaging for running morphir on the JVM. | ||
- **[morphir-examples](https://github.com/finos/morphir-examples)** - A whole lot of examples. | ||
|
||
### Incubator Morphir Projects | ||
- **[morphir-scala](https://github.com/finos/morphir-scala)** - Tight integration with Scala for authoring, execution, and writing tools. | ||
- **[morphir-bosque](https://github.com/finos/morphir-bosque)** - Integration with the Bosque language. | ||
- **[morphir-dotnet](https://github.com/finos/morphir-dotnet)** - Integration with .NET via F#. | ||
|
||
|
||
## Other Resources | ||
[List of media](./media.md) | ||
|
||
|
||
### Further reading | ||
|
||
| Introduction & Background | Using Morphir | Applicability | | ||
|:----------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------| | ||
| [Resource Centre](https://resources.finos.org/morphir/) | [What Makes a Good Model](./what-makes-a-good-domain-model.md) | [Sharing Business Logic Across Application Boundaries](./shared_logic_modeling.md) | | ||
| [Background](./background.md) | [Development Automation (Dev Bots)](./dev-bots.md) | [Regulatory Technology](./regtech-modeling.md) | | ||
| [Community](./morphir-community.md) | [Modeling an Application](./application-modeling.md) | | | ||
| [What's it all about?](./whats-it-about.md) | [Modeling Decision Tables](https://github.com/finos/morphir-examples/tree/master/src/Morphir/Sample/Rules) | | | ||
| [Why we use Functional Programming?](./why-functional-programming.md) | [Modeling for database developers](./modeling-for-database-developers.md) | | ||
|
||
## Roadmap | ||
|
||
List the roadmap steps; alternatively link the Confluence Wiki page where the project roadmap is published. | ||
|
||
1. Enhanced Scala support | ||
2. Further enhancements for Application modeling with Dapr and Spring Boot. | ||
3. Support for Microsoft's Bosque language for defining models. | ||
4. Modeling queries and aggregations across databases and event processing. | ||
|
||
## Contributing | ||
|
||
1. Fork it (<https://github.com/finos/morphir/fork>) | ||
2. Create your feature branch (`git checkout -b feature/fooBar`) | ||
3. Read our [contribution guidelines](.github/CONTRIBUTING.md) and [Community Code of Conduct](https://www.finos.org/code-of-conduct) | ||
4. Commit your changes (`git commit -am 'Add some fooBar'`) | ||
5. Push to the branch (`git push origin feature/fooBar`) | ||
6. Create a new Pull Request | ||
|
||
_NOTE:_ Commits and pull requests to FINOS repositories will only be accepted from those contributors with an active, executed Individual Contributor License Agreement (ICLA) with FINOS OR who are covered under an existing and active Corporate Contribution License Agreement (CCLA) executed with FINOS. Commits from individuals not covered under an ICLA or CCLA will be flagged and blocked by the FINOS Clabot tool. Please note that some CCLAs require individuals/employees to be explicitly named on the CCLA. | ||
|
||
_Need an ICLA? Unsure if you are covered under an existing CCLA? Email [help@finos.org](mailto:help@finos.org)_ | ||
|
||
## Join the Morphir Slack Channel | ||
|
||
Join Morphir on the FINOS Slack by signing up [here](https://finos-lf.slack.com/). | ||
The Morphir channel on Slack is found directly [here](https://finos-lf.slack.com/messages/morphir/) | ||
|
||
<!-- [<img src="https://img.shields.io/badge/slack-@finos/morphir-green.svg?logo=slack">](https://finos-lf.slack.com/messages/morphir/) --> | ||
|
||
Reach out to help@finos.org for any issues when joining Morphir on the FINOS Slack. | ||
|
||
## License | ||
|
||
Copyright 2022 FINOS | ||
|
||
Distributed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0). | ||
|
||
SPDX-License-Identifier: [Apache-2.0](https://spdx.org/licenses/Apache-2.0) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
--- | ||
id: json-schema-backend-test2 | ||
tile: Config. Test plan | ||
--- | ||
|
||
# Json SChema Backend Config Test Plan | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
--- | ||
id: json-schema-backend-test | ||
title: Backend Test Specification | ||
--- | ||
|
||
# Json Schema Backend Test Specification | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
--- | ||
id: morphir-ir | ||
--- | ||
|
||
# The Morphir IR | ||
|
||
The `Morphir.IR` module defines a type-safe API to work with Morphir's intermediate representation. The module | ||
structure follows the structure of the IR. Here's a list of concepts in a top-down approach: | ||
|
||
- [Distribution](https://package.elm-lang.org/packages/finos/morphir-elm/latest/Morphir-IR-Distribution) is the output | ||
of `morphir-elm make`. It represents a whole package with all of its dependencies. | ||
- [Package](https://package.elm-lang.org/packages/finos/morphir-elm/latest/Morphir-IR-Package) represents a set of | ||
modules that are versioned together. | ||
- [Module](https://package.elm-lang.org/packages/finos/morphir-elm/latest/Morphir-IR-Module) is a container | ||
to group types and values. | ||
- [Types](https://package.elm-lang.org/packages/finos/morphir-elm/latest/Morphir-IR-Type) allow you to describe | ||
your domain model. | ||
- [Values](https://package.elm-lang.org/packages/finos/morphir-elm/latest/Morphir-IR-Value) allows you to | ||
describe your business logic. | ||
- [Names](https://package.elm-lang.org/packages/finos/morphir-elm/latest/Morphir-IR-Name) provide a naming | ||
convention agnostic representation for all nodes that can be named: types, values, modules and packages. Names can be | ||
composed into hierarchies: | ||
- [path](https://package.elm-lang.org/packages/finos/morphir-elm/latest/Morphir-IR-Path) is a list of names | ||
- [qualifield name](https://package.elm-lang.org/packages/finos/morphir-elm/latest/Morphir-IR-QName) is a module path with a local name | ||
- [fully-qualifield name](https://package.elm-lang.org/packages/finos/morphir-elm/latest/Morphir-IR-FQName) is a package path with a qualified name | ||
- [AccessControlled](https://package.elm-lang.org/packages/finos/morphir-elm/latest/Morphir-IR-AccessControlled) | ||
is a utility to define visibility constraints for modules, types and values |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
--- | ||
id: morphir-sdk | ||
--- | ||
|
||
# The Morphir SDK | ||
|
||
The goal of the `Morphir.SDK` module is to provide you the basic building blocks to build your domain model and | ||
business logic. It also serves as a specification for backend developers that describes the minimum set of functionality | ||
each backend implementation should support. | ||
|
||
It is generally based on [elm/core/1.0.5](https://package.elm-lang.org/packages/elm/core/1.0.5/) and provides most of | ||
the functionality provided there except for some modules that fall outside the scope of business knowledge modeling: | ||
`Debug`, `Platform`, `Process` and `Task`. | ||
|
||
Apart from the modules mentioned above you can use everything that's available in `elm/core/1.0.5` without importing | ||
the `Morphir SDK`. The Elm frontend will simply map those to the corresponding type/function names in the Morphir SDK. | ||
|
||
The `Morphir SDK` also provides some features beyond `elm/core/1.0.5`. To use those features you have to import the | ||
specific `Morphir SDK` module. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
--- | ||
id: morphir-typescript | ||
title: TypeScript - Morphir API | ||
--- | ||
|
||
#Morphir API for Typescript | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
--- | ||
sidebar_position: 7 | ||
id: automating-regtech | ||
id: regtech-modeling | ||
title: Automating RegTech | ||
--- | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
------ | ||
--- | ||
id: scala-backend | ||
--- | ||
|
||
|
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
--- | ||
id: spark-backend-api | ||
title: API Documentation | ||
--- | ||
|
||
# Spark Backend/API Documentation | ||
|
3 changes: 2 additions & 1 deletion
3
docs/spark-backend-as-a-special-case-of-a-relational-backend.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.