Here, everyone.
Welcome back to the course.
So now we have gone through two major views for enterprise blockchain applications.
The first one was the conceptual view, and the second one was the deployment view.
Conceptual view defines the concepts which each stakeholder can understand and see how things are interconnecting
with each other.
On the other hand, deployment view is related to the physical deployment of hardware and software components.
Deployment view, which we showed you, was about only one node where we have defined that how different
components will be enabled only for one node.
But in an enterprise you are going to have a collection of nodes.
You are also going to have collection of processes and information which is flowing throughout the enterprise.
So to define the complete architecture for an enterprise, we need to build up an abstract representation
of the descriptions and definitions of all the structures, processes, information and resources which
are identifiable by the business or the large organization where you are building the complete architecture.
So enterprise view helps us to do the same.
Enterprise view is used to process and understand the enterprise model, which includes the processes,
data storage, flow of information and external entities.
In simple terms, you can also say that enterprise view is used for modeling and integrating various
organizational and technical parts of business processes.
It's more of like a complete organization view instead of just conceptual view or one node view for
deployment.
This view will help your stakeholders and upper management people see the different services which are
happening inside the architecture and also come up to intelligent solutions as based upon the design
which you put up for the enterprise models.
So this is a general diagram for the enterprise view.
Here you can see that we have labeled many different entities which are going to work in coalition to
form the complete enterprise solution.
On the left hand side, you can see the different users who are going to be part of the enterprise blockchain
solution.
We have developers, administrators, operators, auditors, business actors.
They are going to use the Edge services and API management to connect to the blockchain applications
and blockchain platform.
Edge Services are the services which help in the interconnectivity.
With the API management.
It's more of like a firewall and proxy services which are going to help the users securely connect to
the applications and platform hosted by our enterprise.
Blockchain applications could be any application such as your explorers or any other decentralized application
which you are running on top of your enterprise solution Blockchain platform is going to host the different
platforms.
Specific fundamentals.
This depends upon the platform you are going to use.
Here.
We have shown only a generalized view of the blockchain platform.
That's why we have included consensus ledger transaction, membership services, communication protocol,
smart contract, cryptographic services and secure runtime environment.
But it will depend upon your blockchain platform which you have employed here.
Hyperledger Fabric will have different services and Corda blockchain platform might have some other
different services.
So this one will depend as per your platform and as per your project which you are choosing.
Then you also have transformation, connectivity and system integration.
These are used for integrating this blockchain platform with your internal systems and your legacy systems.
Your internal and legacy systems might include the user directories, the enterprise applications and
enterprise data.
It could be a feature set where we are only taking up the data and we are not interacting with the applications.
It could be a feature set that we are interacting with ERP applications or any other services to fetch
the data.
And it could also be possible that we are fetching user information from the enterprise User Directory.
Apart from this, we also have certain services which are going to manage our complete blockchain solution.
As you can see in the bottom, we have governance, security monitoring and intelligence and blockchain
network management which will be used to manage this whole solution.
Governance and security will provide the regulations.
Monitoring and intelligence are used to analyze the different data which is present throughout your
enterprise Solution and blockchain network management will also be utilized in a way to analyze and
visualize the data to make some critical decisions.
Here you can also see that we have specified all these entities as per the color coordinates.
So you can see in red you have users here.
The applications are designed as transparent.
So both the blockchain and enterprise applications, you can see in transparent the infrastructure services
which are going to help you interact with different services, are designed with yellow, so edge services
transformation and connectivity and system integration all are with yellow.
Then you have management services with orange.
So you can see API management, onboarding, offboarding, monitoring intelligence, blockchain network
management and governance.
Then all the blockchain services are designed as blue here.
So you can see here consensus ledger transaction, communication protocol, smart contracts, all are
detailed in blue.
Then the security services which will provide the authorization and permissions to different users inside
our enterprise solution are defined with green.
So you can see membership services, cryptographic services and security.
Finally, we have also labeled the arrows.
If you see we have a bi directional arrow.
This is related to as this part of the solution can be scalable as per our enterprise requirements.
We have also designed the different events which will trigger inside the blockchain.
So you can see the purple dots on different blockchain services.
This purple dot means that these services can be triggered through any external events too.
Apart from this, all these different arrows which are labeled here, these design, the different relationships
all the entities are going to have throughout your enterprise solution.
So now let's go and see step by step, all these different entities which we have detailed in out and
what constitutes these entities.
So first one is the edge services.
As you have now seen, edge services are basically present there to allow data flow safely from the
Internet to the provider.
It could be a cloud or native based solution, but edge services are going to provide you a form of
a shield or a or a proxy server, which is going to help us secure the interaction capabilities from
the end users applications.
Edge Services might include the domain name system server.
It could also be a content delivery network, firewall load balancers or proxy servers.
Then you have also seen that we had users.
Users are the parties who are going to interact with the blockchain.
They are going to create and distribute blockchain applications and also perform operations using the
blockchain.
There could be many users, but in a generalized blockchain solution you might have developers, administrators,
auditors, operators and business users.
These users will depend upon your problem statement and your own enterprise solutions, which you are
creating for the organization.
Then we have blockchain applications.
Blockchain applications are present to provide capabilities to the end users to do some kind of work
on top of blockchain platform.
The Blockchain Applications and Services provides the interface for the users to interact with the different
blockchain features.
Some of the examples of blockchain applications could be a KYC management system or a health care payment
system.
It could also be a supply chain system or a vehicle registration system, anything related to decentralized
applications which are built on top of blockchain.
Providing the capabilities for the users to interact with blockchain platform are deemed as blockchain
applications.
Then we have blockchain APIs.
Blockchain applications which are running on top of blockchain platform, needs to interface with blockchain
network and those interface capabilities are achieved with blockchain APIs.
Blockchain APIs provides the programming interfaces for different blockchain applications.
They can help blockchain applications do much of the work with the blockchain platform.
There are some examples of APIs which you can utilize, like creation of key pairs, creation of Multi-signature
wallets, transaction broadcasting over blockchain network, generating a new address or fetching the
address balance from the blockchain network.
You might have seen the blockchain examples with Ethereum where we have Web3 services which Encode runs
the blockchain APIs to fetch the information from the blockchain platform.
Then the core module for the enterprise blockchain solution is going to be our blockchain platform.
The blockchain platform will be dependent upon as per your platform criteria and selection procedures.
It will also factor into business and technical components which will define your blockchain platform.
Some of the core capabilities of a blockchain platform could include consensus ledger systems, membership
services, transaction events, communication protocol, cryptographic services, smart contract and
secure runtime environments.
After that.
We also have blockchain integration services.
Blockchain Integration Services helps in integrating core blockchain module with the external services.
These services might include some of the common integration services utilized by enterprise projects
like Rest and Soap.
This can also be related to APIs or SDKs, which are connected.
Many of the blockchain platforms also use RPC services, which are remote procedure calls to make up
the calls from blockchain platforms.
It could also include adapters or connectors, which can be created as a utility to interact with the
blockchain platform.
After that, we also have transformation and connectivity as a part of our enterprise solution.
Transformation and connectivity under an enterprise system provides the ability to filter, aggregate
or modify data or its format as it moves between different kinds of entities.
For example, there could be a cloud network connected with the blockchain network.
The utilization of data under blockchain network might require some different transformation from the
cloud network.
It could be that blockchain network is only utilizing Json format, but cloud network utilizes XML format,
so transformation and connectivity comes into picture at that moment where we require a transformation
and connectivity between two different networks, which works on to complete different operation principles.
These kind of systems include enterprise, secure connectivity, transformation and enterprise data
connectivity.
After that.
We also have enterprise network.
Enterprise network are the internal systems or the legacy applications which are running across your
enterprise.
It could also include data management services.
Enterprise Network may have user directory applications or enterprise data which can be integrated with
blockchain.
Enterprise data can further be divided into transactional data application data and log data.
And it could be a possible feature where we are firing a event inside blockchain as per the log application
or transaction data which is updated on top of enterprise network.
For example, in a chemical enterprise, it could be that we are logging the event that a temperature
falls to a certain point and on that log event we can fire up a blockchain transaction to notify users
that the temperature has fallen below a certain threshold.
Then we also have blockchain foundational services.
Blockchain foundational services are important and they are described as per the geographical locations
where your enterprise solution is being formulated.
These blockchain foundational services provides the regulations and controls on top of the enterprise
solution.
They might be imposed by governance, security or monitoring and intelligence services.
Finally, we have blockchain network management.
As you can see in this diagram, we have showcased the blockchain nodes and then these blockchain nodes
also have the dapps running on top of them.
All the different data related to blockchain and dapps will be collected by a collection engine.
As you can see here on the left hand side, we have log collection engine enabled here.
These log collection engines are inputting the data inside elastic nodes, cluster elastic nodes.
Clusters could be related to documents, indexing, search, sharding or replicas.
Basically, they divide the data as per the utilization of data.
So what we are doing here under network management is that we are taking in the data at different pressure
points from the blockchain.
It could be we are taking in the logging information, it could be that we are firing the events to
log some data or it could be that we are recording transactional data.
Then we are going to analyze that data under elastic nodes cluster.
After analyzing the data, we are going to provide it to a visualization platform.
These visualization platform will provide us the statistics related to different kinds of activities
which are happening under the blockchain.
It could be related to the inputs which we are receiving, the outputs which we are getting, the threshold
which we are passing or the transactional throughput which we are achieving throughout the blockchain
platform.
It could also be related to the number of users or active users which are present with our blockchain
platform or decentralized applications.
Finally, we can take this visualized data and create reports to formulate much more intelligent decisions
which can provide a feeding loop to our enterprise solution and help us improve our enterprise applications.
So that was about the architectural enterprise view for blockchain solution.
This enterprise view will help you formulate the complete organizational concept and how different entities
are going to interact with each other.
Here we have discussed about a generalized view.
You can take this generalized view and formulate your own enterprise blockchain design as per your problem
statements.
This enterprise view is very important for a blockchain architect as it defines the different capabilities
and interaction capabilities of the entities related to the enterprise network.
In the next lecture we are going to learn about some of the additional concepts and strategies related
to blockchain architecture.
If you have any queries, feel free to contact us at info at weblogs.com.