[TECH] GUHADA Product Server Development

TEMCO
TEMCO
4 min readJul 26, 2019

--

Dear TEMCO community,

We are back with another GUHADA update this week.

We hope that you are already familiar with the GUHADA project since there has been many updates about the GUHADA platform in our social media channels.

So, the GUHADA platform is coming up for its launch fairly soon, and now we have set up the server construct/setting/development.

The GUHADA platform has been developed with microservice architecture as it can be seen in the image below.

“A microservices architecture consists of a collection of small, autonomous services. Each service is self-contained and should implement a single business capability.” (source: https://docs.microsoft.com)

The advantages of using microservice in the GUHADA platform

  1. Service Focused
    One of the main reasons for adopting microservices architecture is because the adoption of it allows each developer to concentrate and focus on developing specific functions. This architecture can increase the quality and speed of the development process for each individual function such as product, order, claim, notification, user and community forum.
  2. Connecting through each individual server
    Each different service cannot communicate with each other through an API. For example, at the point of product development, each server is developed in a way user information can be retrieved from the user API, the functions communicating with each other. And the REST exists to communicate in between the servers. Producing only a little bit of change. Unlike the SOA, the microservice message bus has very small change and it is much lighter compared to the ESB, which consists of change, separation, and routing.
  3. Decentralized DB
    In the microservice architecture, there isn’t any centralization. Each module contains a database of its own, so all the data are decentralized. If you take a look at the image above, you can see that each of the product, claim, user, community forum, and database are set up independently. Developers can utilize NoSQL based on the module, or related database.

Disadvantages of the microservice in the GUHADA platform

  1. Decentralization of the monitoring system
    Monitoring is intuitive when it is done in one location. However, for the architecture used, the monitoring needs to be done individually by the server. So the increase in expenses and intuitive monitoring is difficult.
  2. Limitations of the debugging
    Since the services are separated individually, it is difficult to do debugging at the connecting system. So, the debugging needs to be done on each individual server, the maintenance may be difficult to manage.

Reasons for selecting the microservice

Even though the microservice has both advantages and disadvantages, the fact that the disadvantages are well covered by the advantage of the system, we have chosen to select the microservice architecture. If we set up the systems with the Monolith Method, it may produce more problems in coding and the development process. The below information is about Monolith Method, in which the problems mentioned below can be solved.

Unlike the N-tier method of the microservice architecture, the Monolith Method is set up with the 3-tier architecture system: the presentation level, business level, and the approaching data level.

The Monolith Method contains dependability, so it does not have much flexibility. Also, the code-based format continuously increases. In large projects that involve a large number of developers, the cooperation among them becomes difficult. Normally, based on each level, the development team for use of such a method is composed of UI developer, backend developer, database programmer and more. Each member of the teams are experts in their domains, but they have minimal knowledge about the other levels. So there is a problem where the team has to decide which developer will fix the problem, which is a very time-consuming process.

So the GUHADA platform server development is set up in with the microservice architecture, and the composition is as below. At this time, we will explain the brief information about them, and we’ll continue to provide you with more details as we continue to update everyone with the development process.

  1. guhada_notification
    : A module that is responsive for notifications. Mobile push notifications, emails, and notifications from the kakao-plus friends functions are developed.
  2. guhada_base
    : We have developed the guhada_base, which is the fundamental of the project’s structure.
  3. guhada_bbs
    : GUHADA community forum’s contents are developed. Creating posts, creating chatrooms, deleting chatrooms, posting replies, and more.
  4. guhada_search
    : A module for the development of GUHADA’s search function-related contents.
  5. guhada_framework
    : GUHADA module’s framework. Convenience function and the model is contained under the framework.
  6. guhada_order
    : A module for one of the most important GUHADA platform’s functions, the order, and payment. The connection with Payment Gateway company (PG) and connection with the external module exists.
  7. guhada_product
    : A module for products that are proposed to be sold on the GUHADA platform. Product registration, display, and more product-related contents are contained.
  8. guhada_user
    : It is a module containing functions for the GUHADA platform users, the sellers, and the customers. It is developed in a way that GUHADA’s users can conveniently use the GUHADA platform, containing user information.

TEMCO: Innovative Supply Chain Data Management and E-Commerce platform through Blockchain and Smart Contract Technology.

▶TEMCO Chatroom: https://t.me/temcolabs
▶TEMCO Official Website: https://temco.io

--

--

TEMCO
TEMCO
Writer for

Blockchain-based Supply Chain Data Management and E-commerce Open Market Platform, GUHADA.