oreillymedia
Published in

oreillymedia

Architecture of a BaaS Application

BaaS Simplifies Blockchain Applications

Editor’s Note: Using a BaaS can help to ease the burden of administering everything inside the blockchain layer, and help to distribute this layer in a secure and simplified way. In this piece from Blockchain as a Service, author Karen Kilroy helps technical business leaders, solutions architects, and innovation officers understand blockchain and evaluate options for BaaS.

  • Is this a pilot intended primarily to prove a concept? If so, a quick standalone application might be best for the first prototype. By doing this you can find out if your application will be a success before you spend the money and time on integration.
  • Do you plan to start with a pilot only for the purpose of getting feedback, then roll directly into the next phase of development? In this case, it may make sense to start the project by integrating with the existing systems of each participating organization.
  • Do you not have other backend systems that manage users and provide workflow? Are your backend systems outdated and difficult to integrate with? Will other organizations have access to your backend systems or be integrating their own systems? If not, then a complex standalone multi user workflow application might be in order. Keep in mind that for most applications, you will want to abstract the workflow away from the smart contract, to avoid causing undue overhead.

Consider other new elements your BaaS application might offer, either as frontend features or administrative panel functions. Design workflows into your system that automate functions that currently use less efficient methods, such as emails or phone calls.

Out of the data you plan to exchange and store, determine which data is best stored in a traditional database versus on a blockchain. If the data isn’t transactional or doesn’t need to fit the way blockchain works (shared, transparent, immutable, and traceable), then consider storing that portion of the data in a database.

Integration with APIs and Web Services

Since blockchain applications involve a network of users — which can include multiple organizations or even siloed departments within one organization — it is a fantastic way to break down barriers and enjoy the benefit of efficient data sharing. However, each organization will need to determine the best approach for integrating blockchain with its systems. Because of this, you’ll still want to add a basic client that can be used by an organization that can’t integrate, or a new organization that needs time to do so.

Most organizations already support a very large number of systems which users are required to learn. Training is expensive, and a lack of training can prove catastrophic. Furthermore, maintenance of credentials is an expensive process, and adding another layer of authentication can be labor-intensive. In this scenario, it is most useful to start by analyzing all of your systems and defining each touchpoint for both users and the blockchain.

For instance, an account representative responsible for verifying that freight has been delivered to a client might log on to a portal that manages all orders. There, the rep sees their normal functionality, possibly enhanced with a Verify button and a status indicator. Completely invisible to the rep, the proposal is submitted to the smart contract, which verifies that the information is true by going through predetermined steps (which could involve checking multiple backend systems). Finally, when the result is returned, verifying or not verifying the commitment of the transaction to the blockchain, the rep sees the status change in the portal. If the account rep needs more information, the blocks can be retrieved in a human-readable form and presented on their portal.

Behind the scenes, the system creates a series of blocks that contain information related to each series of transactions. This series of blocks creates an audit trail that provides traceability back through the various systems that reside in multiple or siloed organizations.

Because of the distributed nature of a blockchain network and the abstraction of its layers, the combinations of technologies that can be used to build a BaaS application are practically limitless. If you are looking for a proof-of-concept, keep the project simple, and develop it quickly. Don’t spend money and time on integrations that can be done manually as a test. If you are sure you want a BaaS application for the long term in a large organization, then it could be worthwhile to create a fully integrated application from the start.

Using a BaaS can help to ease the burden of administering everything inside the blockchain layer, and help to distribute this layer in a secure and simplified way.

Learn faster. Dig deeper. See farther.

Join the O’Reilly online learning platform. Get a free trial today and find answers on the fly, or master something new and useful.

Learn more

Karen Kilroy is a lifelong technologist with heart. As CEO of Kilroy Blockchain, she led her team to win the IBM Watson Build Challenge/North America 2017, for their app Riley, an artificial intelligence application for people who are blind and visually impaired. Karen is a full-stack e-commerce developer and an IBM Blockchain Foundation Developer. She is also an Associate Director of the Austin Blockchain Collective. Frequently a featured speaker at blockchain events, Karen moderated the Real World Blockchain Applications panel for Australia House at SXSW 2019 and was a judge in the 2019 Future Frontiers Radical Innovation competition.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store