Skip to content
forked from finos/morphir

A universal language for business and technology

License

Notifications You must be signed in to change notification settings

osborneMs/morphir

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FINOS - Active CII Best Practices

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.

The Morphir Projects

Morphir consists of a few projects based on the features they provide.

Core Morphir Projects

  • morphir (this project) - The umbrella project
  • 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 - Supporting SDK and packaging for running morphir on the JVM.
  • morphir-examples - A whole lot of examples.

Incubator Morphir Projects

Other Resources

List of media

Further reading

Introduction & Background Using Morphir Applicability
Resource Centre What Makes a Good Model Sharing Business Logic Across Application Boundaries
Background Development Automation (Dev Bots) Regulatory Technology
Community Modeling an Application
What's it all about? Modeling Decision Tables
Why we use Functional Programming? Modeling for database developers

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 and Community 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 [email protected]

Join the Morphir Slack Channel

Join Morphir on the FINOS Slack by signing up at https://finos-lf.slack.com/. The Morphir channel on Slack is found directly at https://finos-lf.slack.com/messages/morphir/.

Reach out to [email protected] for any issues when joining Morphir on the FINOS Slack.

License

Copyright 2022 FINOS

Distributed under the Apache License, Version 2.0.

SPDX-License-Identifier: Apache-2.0

About

A universal language for business and technology

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 37.8%
  • TypeScript 35.6%
  • CSS 26.6%