Luther’s Modules
Our platform, LEIA, Luther’s Enterprise Infrastructure Architecture, comprises of 2 parts:
- An operating system which serves as the engine that drives enterprise processes forward (which we discussed in detail in our last blogpost), and
- A set of development tools
Our development tools comprise of:
- A proprietary smart contract development language called Ellipse which allows enterprise developers to develop 2.5X quicker whilst having to write 7X less code (in comparison to other development languages) with 3X less bugs
- A set of modules which make development work a lot faster
There are 3 types of modules that we offer:
Application Modules
Microservices interface & connect with external sources and provide data to blockchain network
Platform Modules
Libraries enable execution of application-specific business logic across the blockchain network
Infrastructure Modules
Tools and configuration allowing us to deploy new blockchain networks, perform maintenance/updates, and provide monitoring/reporting dashboards for network performance and health
To learn more about our platform, visit https://www.luthersystems.com/blog/lutherssecretsauce.
Together, this makes up our platform we call LEIA (the Luther Enterprise Infrastructure Architecture) which allows developers to create their own enterprise applications.
In this blogpost, we’ll be looking deeper into the modules which form one of two development tools to understand how enterprise developers can build their own enterprise applications faster and simpler.
At Luther, we believe that every enterprise process can be broken down into a set of core functions. When abstracted in the right way, any enterprise process can be rebuilt with a certain set of functionalities arranged in a certain order. Eg. if you think of a simple claims process, its functionality can be described as follows:
Receive data → Verify information → Calculate → Send data → Trigger & confirm payment
This is why we strongly believe that if we break these functions down into modules i.e. units of code which can be used in the building of the application, the development time gets significantly reduced.
So, what is a module?
Luther's modules are a set of standardized parts or independent units that can be used to construct a more complex application. They can be tools, libraries, packages, or even microservices, which fit into 3 categories:
- Infrastructure
- Platform
- Application
Infrastructure modules
The platform enables enterprise developers to deploy applications within their own private infrastructure, LEIA provides a number of infrastructure modules to speed up the process.
Firstly, the network builder tool allows you to create new Hyperledger Fabric network configurations given parameters such as the size of the network and the details of the participating organisations. This enables rapid time-to-value for development teams by automating the network deployment process.
As many technical teams leverage the benefits of containers and Docker, Luther has modules to cover the build, orchestration, and security of docker images, as well as a streamlined way to keep your infrastructure management up to date.
There are microservice modules to manage the monitoring and dashboarding of all the system events, leveraging tools such as Prometheus and Grafana (visualisation and monitoring tools).
Finally, if a team wants to deploy their application in a private cloud environment, Luther will be able to provide infrastructure management, key management, and stress testing of cloud networks out of the box. Current cloud service providers include AWS and Microsoft Azure.
Platform modules
Platform modules are high-value modules which are commonly used across all use cases. They enable the rapid development of application business logic and make automating complex processes an efficient and seamless exercise for even inexperienced developers.
Some of these modules include Luther’s open-source domain specific language Ellipse (ELPS), which is used to run business logic and business rules effectively on the blockchain, and the tooling to support using this language in popular IDE’s (formatter, profiler, debugger).
Stay tuned for our Ellipse series where you will be able to learn more about this development language!
Additionally, there is the Over-The-Air (OTA) update module. The OTA allows the automatic and immediate deployment of pre-approved business logic changes across the entire network within seconds.
Both of these modules eliminate common issues within development teams when trying to efficiently and reliably write and push code to smart contracts on the blockchain.
Other platform modules cover integration testing, scheduling transactions to the blockchain, and even the ability for application microservices to reliably pass messages to and from the blockchain.
Luther's platform and platform modules library is what makes automating extremely complex processes, which span organisations, team boundaries, and even jurisdictions, a simple and efficient activity.
Application modules
Lastly, we have Luther’s application module library. Many complex enterprise processes have common functional use cases (e.g. making a payment) and as such, the code to perform these actions can be bundled and reused across many applications.
Through our interactions with some of the world's leading organisations, we estimate that nearly 80% of mission-critical processes are common, leading to the conclusion that nearly 80% of these processes can be immediately automated using Luther's application modules.
Sending and receiving inputs, user authentication, notification services, payment connectors, rich database queries, integrations to popular third-party API providers, and even front-end UI frameworks are all extremely common and replicable across many application use cases, even when deployed in entirely different industries.
The application modules provide the building blocks for your application, allowing your development team to focus on the specific application business logic and the integration of the modules to your core system.
As the Luther ecosystem continues to expand and onboards more customers, network effects will provide a continuous stream of up to date modules covering the latest advances in process automation and customer satisfaction trends.
Through modules, our enterprise developers have been able to save a huge amount of time and resources allocated to development work. They have been developing 2.5X quicker whilst having to write 7X less code (in comparison to other development languages) with 3X less bugs.
Stay tuned to find out more about how you can use modules to build your application in our next blogpost!