hf200012 opened a new issue #4308:
URL: https://github.com/apache/incubator-doris/issues/4308


   
   ## Status Quo and Motivation
   
   The current Doris FE module has a simple http server and UI built in. The UI 
currently has relatively simple functions and is only used for the display of 
some information.
   
   At present, Doris does not use a frontend and backend separation framework, 
resulting in a large amount of html and js code embedded in the FE module. When 
we want to modify some frontend elements, we have to update and upgrade the 
main code, which is expensive to maintain.
   
   At the same time, the current http server is written by Netty, which has 
relatively simple functions. If more advanced functions are needed, a large 
amount of additional code needs to be written. There are already many very 
mature web frameworks in the industry, and we should use them to simplify our 
development.
   
   ## Implementation
   
   `Spring` is a very mature open source framework in the industry. It is very 
convenient to build a complete Web application through SpringMVC and Spring 
Boot. We can also easily use the spring framework to complete a series of 
functions such as authentication, session, and cookie. At the same time, 
RESTful standard API can be developed quickly.
   
   The UI code is completely stripped from the FE module. The FE module only 
provides standard RESTful API. This allows more flexible use of the frontend 
framework to develop Doris's UI interface. Here I choose to use `Vue` as the 
frontend framework, and I will transplant all the functions of the current 
WebUI to the new framework. This UI may not be the final form of the UI, but I 
think it is a good start, and more extensions can be made under this framework 
in the future.
   
   ## How to submit my code
   
   There are many code changes this time. In order to ensure that the code can 
be merged without affecting the trunk code, I am going to submit the code 
according to the following steps.
   
   1. Submit the new version of the API document for the interface Review.
   
   2. Submit the UI part, which is completely independent and will not affect 
the existing functions of the main code. Before the new version of RESTful API 
is enabled, this part of the code will not take effect.
   
   3. Submit the new RESTFul API code. This part only adds files and does not 
modify existing functions. And this part of the function will not be enabled, 
so you can ensure that the trunk code can still run normally.
   
   4. Submit a new version of HttpServer, based on Spring. This part of the 
code will replace the old http server implementation before, and connect the 
new version of the RESTful API and the new version of the UI. After the code is 
merged, all new functions are enabled.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to