BCware Web3 Integration Platform

The BCware Web3 Integration Platform is the Web3 integration and workflow solution that leading industry analysts have identified as central to a new generation of networked commerce and community.

Whether your definition of Web3 is decentralized finance, tokengated commerce, or connecting communities around shared values, BCware can help bridge the gap between traditional Web2 applications and protocols and Web3 blockchains and services.

Overview

The BCware Web3 Integration Platform enables traditional institutions to reinvent themselves by bridging their existing Web2 infrastructure and applications to the promise of decentralized applications and the tokenization economy of Web3.

Companies have large investments that need to be bridged with, not replaced by, Web3. Data and connectivity is needed between existing applications and protocols, and Web3 services such as IPFS or Fireblocks. Web3 is evolving quickly, with different chains emerging for a variety of use cases.

BCware is a blockchain agnostic, multichain platform that abstracts away the complexity of each chain so teams can focus on delivering business value.

Connect any off-chain application or protocol to solutions on any blockchain or on-chain service

There are three key elements to the platform:

  1. BCflow: Event-Driven On-Chain Off-Chain Workflow Engine; with a graphical UI for building event-driven business flows
  2. The Symmetrical Abstraction™ Layer; a connector-driven abstraction layer that eliminates complexity from higher layers in the stack, enabling teams to develop portable Web3 applications and solutions
  3. The Business API Layer; application developers use these GraphQL APIs to import out-of-the-box business flows to their solutions

The BCWare Web3 Integration Platform has been built to develop portable and scalable Web3 applications, hiding the complexities of the underlying blockchain platforms and seamlessly connecting with the existing Web2 infrastructures.

BCflow

BCflow is an on-chain off-chain workflow orchestration engine.

Terminology

Essential business processes are encapsulated in BCflow then exposed as GraphQL APIs. In BCflow, these digital processes are referred to as Flows while the individual steps within a Flow are called Tasks. Tasks and Flows are the activities that are performed on behalf of client applications, and it is the BCflow engine that orchestrates the work specified.

Flows are event-driven and dispatched in response to an incoming event or in response to a procedure call via a Business API. Message and event sources are the topic of the section following, Connectors.

Flows are built using a graphic user interface in accordance with user stories that define the problem to be solved or business function to be implemented. These Flows are often business vertical specific and provide functions such as KYC ID Validation or a Credit Check for the financial services verticals; Pick, Package, and Ship sequence of Tasks in a Warehouse Fulfillment Flow; or NFT Minting or Crypto Asset Management for an NFT Exchange Flow.

Architecture

BCflow Architecture Components

In the drawing above, BCflow is a pipeline processor bracketed by Connectors that serve as data or messaging sources or sinks. When an event triggers a Flow, the event along with its complete context is executed by a BCflow Agent. BCflow Agents run in parallel, and scale as needed, providing the level of performance, scalability, and resiliency desired by application owners.

It’s useful to realize that because Connectors are abstracted away from the Flow implementation, decisions can be made at run-time on which Connector to call. For example, a person purchasing an NFT can decide which chain to mint it based on their preferred choice of wallet or coin. Or, different KYC services can be used based on geography or business requirements. For internal applications, it becomes simpler to plug-in new enterprise applications as sources or sinks of data as the business evolves or use-cases spread to departments using other back-end applications or messaging protocols.

Connectors

Bi-directional Connectors form the base layer of the BCware Web3 Integration Platform architecture. A Connector is a proxy for a Web2 application, blockchain, Web3 service, or messaging protocol for the Flow’s source or sink. Application teams build BCware Flows without locking themselves in to lower-layer application architecture choices. A Flow that outputs a message, can output that message as a NATS message or put it on a JMS queue simply by connecting the appropriate Connector to the end of the Flow.

A key concept in the BCware Integration Platform design is that of Symmetrical Abstraction. The idea that regardless of the Connector chosen, BCflow Flows are able to use each Connector (of similar type) symmetrically; meaning without developing to the specifics of the Connector.

Connectors are grouped into four types:

  1. Web2 Protocols and Transports
  2. Web2 Databases and Applications
  3. Web3 Blockchains
  4. Web3 Services

For a complete list of Connectors available, please get in touch.

BCware Flows are Blockchain Agnostic

The benefit of the BCware Connector architecture pattern is most obvious in the way multichain solutions are supported; Flows are blockchain agnostic. The Connector packages up the specific routines necessary to communicate with each individual chain. The BCflow Agent grabs the package of routines, along with the Tasks and task context, when a blockchain’s Connector is called.

BCware Flows are Multichain

Symmetrical Abstraction also allows applications created with the BCware Web3 Integration Platform to easily be multichain enabled. As an example, the following shows our initial Shopify NFT Application implementation:

Merchants choose on which platform to make their NFTs available;
while NFT Buyers pick the chain they prefer when the NFT is minted

Each chain is represented by a Connector at the terminal point of the Flow, enabling extra flexibility on the part of designers to adapt their applications as new chains emerge, or new requirements (such as gas fees, or environmental impact) demand chain flexibility.

Custom Connectors

Custom connectors can be written for internal applications or protocols, and then are used in the same way as native Connectors.

Business APIs

A Business API is a BCware Flow exposed as a GraphQL API for a Web2 or Web3 application to consume or trigger events. These APIs can be used in the same way as any other GraphQL API within the organization, or beyond.

BCware’s Business APIs simplify the integration of existing business processes with new dApps for an accelerated entry into the Web3 world while simultaneously preserving their IT investments in Web2 applications and protocols.

GraphQL APIs give application teams a few different benefits:

  • APIs serve as a boundary between business analysts assembling the business process automation and application developers creating applications.
  • APIs fit into existing API management, collaboration, and security frameworks, and therefore their use is familiar to development teams across the organization.
  • When the API is called, BCflow initiates an agent that runs the Flow, an architecture that provides high levels of performance, scalability, and data integrity.