The creation and exposure of corda development has been a very productive way of sharing information between different entities , whether they were other companies or end users. The API is the standard for communicating information and allowing automated actions.
The fact that by means of HTTP we can expose our work domain to the world is a good way to obtain new business opportunities and supposes the possibility of exploiting a huge amount of data that until now had no clear use.
The companies that have best known how to exploit the capabilities of APIs have been those that have grown the most in recent years, and companies like Google, Facebook or Amazon have greatly favored this culture of 'apifying' the business.
However, over the years, we have realized that APIs – whether public or private – have not been the panacea that they promised us . The way of designing APIs and the protocols on which the way of communicating has been based have not been completely standardized and are causing problems in institutions that need a high number of interactions with companies from all over the world.
One of these problems has been detected within the way in which companies manage their financial agreements with other suppliers and clients. APIs have generally scaled so poorly that we've managed to create tightly coupled systems that aren't easy to maintain. A CorDapp is a technology developed by R3 corda blockchain development company to create distributed applications geared towards the financial world – we'll see throughout the series that the framework is generic enough to be used for a more general purpose.
CorDapps are developed with the framework created by R3 called Corda.
Corda is a tool that has everything you need to develop web applications that we have seen in our day to day. Corda allows us to:
* Create Smart Contracts. * Expose APIS to be able to make use of our Smar Contracts. * Expose static files to serve frontends that make our exposed services more usable. Test all these pieces of code through testing tools. * Communicate with other nodes on the network. * Deploy and configure new nodes. * Persist information that does not have to be stored in our distributed ledger. * Secure all information that is critical within the system within the transaction system. * Offer a discovery and orchestration system for APIs, nodes and services. * Automate a commit consensus process. CorDapps, therefore, are nothing more than a way to make modularizable distributed applications. Each Cordapp development has a very specific responsibility that can be useful on its own.
The CorDapps can in turn be made up of other CorDapps that extend the operation and expand the business on which they can work. It is a system of plugins very similar to those of other platforms.
The idea is that in the future these CorDapps can be downloaded and consumed in a large repository such as NPM or Maven to promote reuse and sharing within the community.
And we say community because Corda and CorDapps are an Open Source project where any developer can contribute to the core of the framework.
Currently the use cases that are being found for a framework like Corda are these:
* Management of personal and corporate identities that help in the onboarding processes. * Management of international agreements between different entities or participants such as letters of credit, mortgages, rentals, loans or material goods agreements. * Management and traceability of sensitive information that can help in audit processes and as a dispute mediator.