OneCode open source integrated development tool ESD function introduction

foreword

OneCode Integrated Tool (hereinafter referred to as ESD) is an integrated development environment for OneCode code. The users of ESD are professional programmers. If you are not a professional programmer, you need to understand some basic knowledge of JAVA language and its compilation basis in order to download and compile by yourself.

First, why do ESD?

Low-code is not a new concept, but low-code as an independent programming language system and independent development method is a concept that has only been accepted by everyone in recent years. But like most new technologies, there will be a mature process. In this process, in addition to the development of the technology itself, its related auxiliary tool sets and the development of group ecology are also very important parts. The original version of ESD was just to facilitate team collaboration and open the OneCode (RAD) designer to business and technology developers as a portal for everyone to work together. With the technical evolution of the project and the team, ESD has gradually completed the compilation of the back-end code, the management and deployment of the independent server from a single portal. Until today, after several rounds of refactoring, it was opened up as an open source project.

Second, what can ESD do?

First of all, ESD is a set of tools. Through ESD, developers can quickly get started with OneCode in the fastest and most concise way, and convert the design files completed by the designer into real code engineering release and deployment.

After completing the conversion from design to code, ESD will serve as a bridging tool between code and design, organically combining page designer (RAD), domain model tool (DSM), and OneCode real code (RealCode) , to realize the conversion application between the three.

ESD is also a management tool for OneCode projects, providing engineering version support, team collaboration support, and functional support for deploying applications.

Three, ESD open source structure description

(1) Open source agreement statement

Open source address: onecode low-code engine: onecode low-code engine compilation and running environment

Edit toggle to center

Add picture annotations, no more than 140 words (optional)

ESD itself adopts the GPL3.0 agreement. This agreement allows users to use it commercially, but if it is directly modified for the modified program, it must follow the GPL agreement.

Download source code From the perspective of pom compilation dependencies, ESD mainly relies on the OneCode basic package and related plug-ins that use the broader MIT protocol.

Edit toggle to center

Add picture annotations, no more than 140 words (optional)

 
 
 
 

in conclusion:

(1) Direct use of ESD is free, and ESD can be "magically modified", but the modified version cannot be re-sold as a commercial version.

(2) The OneCode basic package and its plug-ins that ESD relies on still follow the MIT protocol. If the secondary developer has a certain tool development ability, he can rebuild his own OneCode development tool with independent intellectual property rights on the basis of referring to ESD.

(2) How to compile ESD source code

How to compile ESD source code, you can refer to OneCode compilation video introduction.

(3) ESD service engineering dependence

ESD is a Studio tool for developers. ESD operation needs to rely on some integrated environments to support it. OneCode also provides some default microservice implementations for these. Including: onecode-vfs virtual directory service for development code collaborative management, onecode-org user authentication, onecode-cluster cluster node management, and other application services such as: onecode-bpm process service, onecode-iot IoT application support, onecode- jmq message service, onecode-index retrieval service, from the perspective of dependent jar packages, each set of services, onecode also provides independent SDK support to facilitate integrated calls. Corresponding driver service packages based on the MIT protocol.

<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-common-client</artifactId>
    <version>1.0.2</version>
</dependency>

<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-vfs-web</artifactId>
    <version>1.0.2</version>
</dependency>

<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-server</artifactId>
    <version>1.0.2</version>
</dependency>

<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-org-web</artifactId>
    <version>1.0.2</version>
</dependency>

<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-index-web</artifactId>
    <version>1.0.2</version>
</dependency>


<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-iot-webclient</artifactId>
    <version>1.0.2</version>
</dependency>


<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-database</artifactId>
    <version>1.0.2</version>
</dependency>


<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-esdstudio</artifactId>
    <version>1.0.2</version>
</dependency>

<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-plugins-db</artifactId>
    <version>1.0.2</version>
</dependency>
<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-plugins-org</artifactId>
    <version>1.0.2</version>
</dependency>


<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-plugins-formula</artifactId>
    <version>1.0.2</version>
</dependency>

<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-plugins-bpd</artifactId>
    <version>1.0.2</version>
</dependency>
<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-plugins-right</artifactId>
    <version>1.0.2</version>
</dependency>

<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-plugins-sysmanager</artifactId>
    <version>1.0.2</version>
</dependency>
<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-plugins-nav</artifactId>
    <version>1.0.3</version>
</dependency>

<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-bpm-web</artifactId>
    <version>1.0.2</version>
</dependency>

<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-plugins-dsm</artifactId>
    <version>1.0.2</version>
</dependency>


<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-plugins-bpm</artifactId>
    <version>1.0.2</version>
</dependency>
 
 

 

(4) ESD service configuration

There are many configuration files of ESD. Due to space constraints, I will not explain them one by one. Today I will focus on describing the cluster-related service configuration. /resource/useresbbean_config.xml

Edit toggle to center

Add picture annotations, no more than 140 words (optional)

 
 
<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-vfs-web</artifactId>
    <version>1.0.2</version>
</dependency>

<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-org-web</artifactId>
    <version>1.0.2</version>
</dependency>

<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-index-web</artifactId>
    <version>1.0.2</version>
</dependency>


<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-iot-webclient</artifactId>
    <version>1.0.2</version>
</dependency>


<dependency>
    <groupId>cn.raddev</groupId>
    <artifactId>onecode-bpm-web</artifactId>
    <version>1.0.2</version>
</dependency>

From the configuration file, we can obtain two pieces of configuration,

(1) Local service loading

As mentioned in the previous blog post, onecode itself is a set of extended annotations based on Spring. To load the onecode model, you need to configure a local retrieval path to facilitate retrieval and loading.

 
 
<actionContextClass>
    com.ds.context.MinServerActionContextImpl
</actionContextClass>

<configid>esb</configid>
<esb>
    <cnname>本地服务</cnname>
    <path>/../lib/:^onecode.*\.jar;./lib/:^onecode.*\.jar;</path>
</esb>


<configid>local</configid>
<local>
    <templetname>检索本地Class</templetname>
    <path>*com.ds</path>
</local>

<configid>remoteService</configid>
<remoteService>
    <path>remoteService</path>
    <cnname>集群订阅服务</cnname>
    <expressionTemManager>com.ds.web.client.RemoteTempXMLProxy</expressionTemManager>
</remoteService>

<configid>bpmservice</configid>
<bpmservice>
    <cnname>工作流服务</cnname>
    <path>bpm_tempbean_config.xml</path>
    <tokenType>user</tokenType>
    <serverUrl>http://bpm.raddev.cn:9080</serverUrl>
</bpmservice>

<configid>vfsnamenode</configid>
<vfsnamenode>
    <cnname>虚拟目录</cnname>
    <path>vfs_tempbean_config.xml</path>
    <tokenType>admin</tokenType>
    <serverUrl>http://data-vfsnamenode.raddev.cn:9080</serverUrl>
</vfsnamenode>

<configid>VFSStoreService</configid>
<VFSStoreService>
    <cnname>实体文件存储</cnname>
    <tokenType>user</tokenType>
    <path>vfsstore_tempbean_config.xml</path>
    <serverUrl>http://vfsstore.raddev.cn:9080</serverUrl>
</VFSStoreService>

<configid>orgservice</configid>
<orgservice>
    <path>org_tempbean_config.xml</path>
    <cnname>组织机构服务</cnname>
    <tokenType>admin</tokenType>
    <serverUrl>http://org.raddev.cn:9080</serverUrl>
</orgservice>

<configid>msgService</configid>
<msgService>
    <path>msg_tempbean_config.xml</path>
    <cnname>消息分发服务</cnname>
    <tokenType>admin</tokenType>
    <serverUrl>http://msg.raddev.cn:9080</serverUrl>
</msgService>

<configid>repeateventservice</configid>
<repeateventservice>
    <cnname>集群事件注册</cnname>
    <path>repeatmsg_config.xml</path>
</repeateventservice>

<configid>localservice</configid>
<localservice>
    <cnname>本地注册服务</cnname>
    <path>local_tempbean_config.xml</path>
</localservice>
<configid>iot</configid>
<iot>
    <type>BEAN</type>
    <cnname>总线内部方法</cnname>
    <desc>总线内部方法</desc>
    <serverUrl>http://iotserver.raddev.cn:9080</serverUrl>
    <path>iot_tempbean_config.xml</path>
    <expressionTemManager>
        com.ds.esb.config.xml.ExpressionTempXmlProxy
    </expressionTemManager>
</iot>

 
 
 
 

(2) Remote service loading

<configid>bpmservice</configid>
<bpmservice>
    <cnname>工作流服务</cnname>
    <path>bpm_tempbean_config.xml</path>
    <tokenType>user</tokenType>
    <serverUrl>http://bpm.raddev.cn:9080</serverUrl>
</bpmservice>




*The specific configuration details related to the space will not be exhausted. If you want to know more about the configuration details or specific implementation, you can download the onecode-common-client source code and read it yourself, or leave a message on GITEE.

4. OneCode cluster version open plan

The content and technical difficulty of OneCode cluster version design will be more difficult, but OneCode will still adopt an open source strategy.

Estimated, opening schedule

service name

Service Introduction

Estimated opening time

open protocol

onecode-iot

onecode IoT Kit

April 2023 (already open)

WITH

onecode-vfs

onecode file code management service

Q2 2023

WITH

onecode-bpm

onecode process management service

Q2 2023

GPL

onecode-jmq

onecode message service

The second and third quarters of 2023

GPL

If you are interested, you can contact the codebee team to obtain the source package in advance for internal testing.

Guess you like

Origin blog.csdn.net/wenzhangli/article/details/130198683