Laying Down Framework That Captures the Trillion Dollar Blockchain Market
After years of technical precipitation in traditional software development, numerous mature software frameworks have come into being. In the JAVAEE field alone, the well-known frameworks such as Struts2, Spring, Hibernate and MyBatis, etc. support almost all enterprise-level applications, and occupy the trillion-dollar market. In today’s commercial application development, software framework has become a necessary tool for development. IT giants like Alibaba and Tencent even invest heavily in developing their own software frameworks.
The underlying framework specifically supporting the development of blockchain has a great impact on the development of the industry, especially if this framework comes out early, since it has the potential to capture a significant portion of the blockchain market.
What exactly is a software framework and how powerful is it? Who is secretly laying down the huge market for the blockchain underlying framework?
Software Framework and its Role
A software framework is a type of underlying service that implements generic functionality for a certain application domain, including a collection of classes that implement default methods required by all applications in the domain, as well as common development tools.
The framework is different from the class library. The class library mainly provides the specific development package to provide specific implementation of specific functions, while the framework lays more emphasis on the overall design. By coordinating the dependencies, responsibility allocation and process control between components, the framework can be reused by different applications to make the development process easier.
For software development, framework selection is an overriding part of the architect’s technical selection. The right framework can bring many benefits:
For developers, as the framework’s code can be reused many times, the development will become more efficient. As for the way of communication between components, the framework has given specific definitions, so they need not pay much attention to the details and can focus more on the implementation of system business functions, making the development simpler.
For enterprises, a mature framework can effectively enhance the competitiveness of enterprises. This is because the framework can greatly reduce development costs, save development time, improve system stability, and obtain higher customer satisfaction. Moreover, the framework can describe a specific business domain in a structured way, and solidify the domain-related technology in code, document, model, etc. to form effective technical precipitation.
Software Framework is the Favorite of IT Giants
With the development of traditional software development technology, more and more software frameworks have emerged in different fields. In addition to the software framework contributed by numerous open-source communities, many famous IT giants at home and abroad, Google, Alibaba, Tencent, etc., have developed plenty of their own software frameworks around their own ecology.
Aliware is the brand product of Alibaba’s middleware technology. Since 2017, it has gone through 12 years of “Double 11” promotion. The success of “Double 11” is supported by a huge technical system, including the software framework. So far, Alibaba has open-source well-known frameworks like Jstorm, Dubbo, etc., which are star projects on GitHub and Apache.
The counterpart of Tencent is no less than that, with 15 open source frameworks listed on the official website of Tencent Open.
More and more IT giants have realized that software framework is crucial for the development of enterprises. To have more mature frameworks is the key to the success of enterprises in commercial applications, and is also the cornerstone for the long-term development of enterprises.
NULS is Laying Down the Blockchain Underlying Framework
The blockchain industry is still in the infancy of development. As the blockchain integrates multiple technologies such as distributed, P2P, and cryptography, the difficulty and cost of blockchain development will be higher than that of traditional Internet development, and the improvement of blockchain technology is facing far stronger headwinds than traditional development.
The NULS core team has made clear the development orientation of “making blockchain simple” after in-depth research on blockchain technology and the current industry situation. In July 2018, the team officially launched the NULS 1.0 main-net.
NULS is a customizable service-oriented blockchain infrastructure and a global open-source and community-driven blockchain project. After the launch of NULS1.0 main-net, NULS core team and NULS CCC (NULS Code Craft Council) members designed NULS2.0. NULS2.0 is a brand-new architecture based on microservices. NULSTAR, the core part of the architecture, is a micro-service-based blockchain underlying framework.
NULSTAR: The Blockchain Micro-Service Underlying Framework
To realize the underlying framework based on microservices, service discovery, service registration, and service communication are issues that must be resolved. As we all know, SpringCloud is an excellent open-source framework based on micro-service architecture design in traditional software development, which contains a complete micro-service architecture solution. Compared with SpringCloud, NULSTAR’s design has its own innovations in addition to its many similarities.
SpringCloud has three key roles in the overall architecture:
- Service Provider: The provider offering the exposed service;
- Service Consumer: The service consumer calling the remote service;
- EureKa Server: Service Registry and Service Discovery Center.
To implement service discovery and service registration, Eureka is adopted in SpringCloud. Eureka is a service discovery component developed by Netflix. In Eureka, there are three key concepts: Region, Zone, and Eureka. Region and Zone are both concepts of AWS. In non-AWS environment, you can simply view Region as Eureka cluster, Zone as server room, and Eureka as specific server.
In NULSTAR, the way to implement service discovery and service registration is to separate a module called Manager to take charge of these two tasks. After module A is deployed to the server, it needs to register its basic information with the Manager before it can provide services externally. This design allows the Manager in NULSTAR to act as Eureka in SpringCloud.
If module B requires the services provided by module A, it needs to first obtain the information of module A from the Manager, and then send a request to the server deploying module A according to the information to obtain the services.
In NULSTAR, the communication mode between modules differs from the standard client-server system. Each micro service is both a client (Service Consumer in SpringCloud) and a server (Service Provider in SpringCloud), so a full-duplex communication protocol is required. NULSTAR finally chose Websocket as the communication protocol, and the message is in Json format which is the most widely used and easy to debug.
In NULSTAR, the common message bus design is eliminated, and each service directly performs peer-to-peer message transmission. The reason for this design is that the message bus requires massive resources relative to the module itself. The smart way to transmit messages enables both the reduction of resource consumption and the acceleration of transmission.
Sufficient scalability is a must for an excellent blockchain micro-service underlying framework. To provide this scalability, NULSTAR has also designed a special module Controller for services with special requirements (such as faster processing speed, higher security, etc.).
When special requirements arise, specific modules need to be developed and deployed to a separate server. When this occurs, the Controller comes into play. The Controller is deployed together with the special modules to a separate server, starts and stops special modules according to predefined rules, and sends relevant information to the master server.
In addition to the Manager and Controller, the core module of NULSTAR also includes a Storage module and a Connector module. The Storage module mainly implements storage-related functions. The Connector module is equivalent to an API gateway, which is the only entry for all external applications to access the NULS system.
Each module in NULSTAR contains a Service Base Lib. The Service Base Lib will provide standard basic functions, and enable internal modules and external applications to be seamlessly integrated into the platform. In the subsequent development, members of the NULS core team and the technical community will also develop a multi-language base library that will allow developers of different development languages to develop different blockchains with NULSTAR.
1. The software framework plays a vital role in software development, making software development more efficient and simpler, reducing development costs and time, and ensuring system security, maintainability, and scalability.
2. A good software framework is conducive to the emergence of more excellent commercial applications, thus driving forward the development of the entire industry. The IT giants at home and abroad have made heavy investments in software framework, with the goal of improving the competitiveness of enterprises, developing more excellent commercial applications, and ensuring the long-term development of enterprises;
3. Blockchain development has a high threshold and is still in the infancy stages of industry development. The emergence of excellent blockchain underlying framework provides a forward leap for the development of the entire blockchain industry, and in turn it also has huge market potential.
4. The NULS team is in a breakaway position having laid out the blockchain underlying framework based on microservices, and moving to capture the field of blockchain underlying framework. This is not only a potential trillion-dollar market, but also provides a boost of innovation to help accelerate the development of the entire industry.