avant-propos
OneCode Integrated Tool (ci-après dénommé ESD) est un environnement de développement intégré pour le code OneCode. Les utilisateurs d'ESD sont des programmeurs professionnels. Si vous n'êtes pas un programmeur professionnel, vous devez comprendre certaines connaissances de base du langage JAVA et de sa base de compilation afin de télécharger et de compiler par vous-même.
Tout d'abord, pourquoi l'ESD ?
Le low-code n'est pas un concept nouveau, mais le low-code en tant que système de langage de programmation indépendant et méthode de développement indépendante est un concept qui n'a été accepté par tous que ces dernières années. Mais comme la plupart des nouvelles technologies, il y aura un processus mature.Dans ce processus, outre le développement de la technologie elle-même, ses ensembles d'outils auxiliaires connexes et le développement de l'écologie de groupe sont également des éléments très importants. La version originale d'ESD visait simplement à faciliter la collaboration en équipe et à ouvrir le concepteur OneCode (RAD) aux développeurs commerciaux et technologiques en tant que portail permettant à tous de travailler ensemble. Avec l'évolution technique du projet et de l'équipe, ESD a progressivement complété la compilation du code back-end, la gestion et le déploiement du serveur indépendant à partir d'un portail unique. Jusqu'à aujourd'hui, après plusieurs cycles de refactorisation, il a été ouvert en tant que projet open source.
Deuxièmement, que peut faire l'ESD ?
Tout d'abord, l'ESD est un ensemble d'outils. Grâce à l'ESD, les développeurs peuvent rapidement démarrer avec OneCode de la manière la plus rapide et la plus concise, et convertir les fichiers de conception complétés par le concepteur en véritable version et déploiement d'ingénierie de code.
Après avoir terminé la conversion de la conception au code, ESD servira d'outil de liaison entre le code et la conception, combinant organiquement le concepteur de page (RAD), l'outil de modèle de domaine (DSM) et le code réel OneCode (RealCode), pour réaliser l'application de conversion entre les trois.
ESD est également un outil de gestion pour les projets OneCode, fournissant un support de version d'ingénierie, un support de collaboration d'équipe et un support fonctionnel pour le déploiement d'applications.
Trois, description de la structure open source ESD
(1) Déclaration d'accord open source
Adresse open source : moteur low-code onecode : environnement de compilation et d'exécution du moteur low-code onecode
Modifier basculer au centre
Ajoutez des annotations d'image, pas plus de 140 mots (facultatif)
L'ESD elle-même adopte l'accord GPL3.0. Cet accord permet aux utilisateurs de l'utiliser commercialement, mais s'il est directement modifié pour le programme modifié, il doit suivre l'accord GPL.
Télécharger le code source Du point de vue des dépendances de compilation pom, ESD s'appuie principalement sur le package de base OneCode et les plug-ins associés qui utilisent le protocole MIT plus large.
Modifier basculer au centre
Ajoutez des annotations d'image, pas plus de 140 mots (facultatif)
en conclusion:
(1) L'utilisation directe de l'ESD est gratuite et l'ESD peut être "magiquement modifié", mais la version modifiée ne peut pas être revendue en tant que version commerciale.
(2) Le package de base OneCode et ses plug-ins sur lesquels s'appuie ESD suivent toujours le protocole MIT. Si le développeur secondaire a une certaine capacité de développement d'outils, il peut reconstruire son propre outil de développement OneCode avec des droits de propriété intellectuelle indépendants sur la base d'une référence à l'ESD.
(2) Comment compiler le code source ESD
Comment compiler le code source ESD, vous pouvez vous référer à l'introduction de la vidéo de compilation OneCode.
(3) Dépendance de l'ingénierie du service ESD
ESD est un outil Studio pour les développeurs. Le fonctionnement ESD doit s'appuyer sur certains environnements intégrés pour le prendre en charge. OneCode fournit également des implémentations de microservices par défaut pour ceux-ci. Y compris : service de répertoire virtuel onecode-vfs pour la gestion collaborative du code de développement, authentification des utilisateurs onecode-org, gestion des nœuds de cluster onecode-cluster et autres services d'application tels que : service de processus onecode-bpm, prise en charge des applications IoT onecode-iot, onecode-jmq service de messagerie, service de récupération d'index onecode, du point de vue des packages jar dépendants, chaque ensemble de services, onecode fournit également un support SDK indépendant pour faciliter les appels intégrés. Packages de service de pilote correspondants basés sur le protocole MIT.
<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) Configuration des services ESD
Il existe de nombreux fichiers de configuration d'ESD. En raison de contraintes d'espace, je ne vais pas les expliquer un par un. Aujourd'hui, je vais me concentrer sur la description de la configuration du service lié au cluster. /resource/useresbbean_config.xml
Modifier basculer au centre
Ajoutez des annotations d'image, pas plus de 140 mots (facultatif)
<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>
À partir du fichier de configuration, nous pouvons obtenir deux éléments de configuration,
(1) Chargement du service local
Comme mentionné dans le billet de blog précédent, onecode lui-même est un ensemble d'annotations étendues basées sur Spring. Pour charger le modèle onecode, vous devez configurer un chemin de récupération local pour faciliter la récupération et le chargement.
<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) Chargement du service à distance
<configid>bpmservice</configid>
<bpmservice>
<cnname>工作流服务</cnname>
<path>bpm_tempbean_config.xml</path>
<tokenType>user</tokenType>
<serverUrl>http://bpm.raddev.cn:9080</serverUrl>
</bpmservice>
*Les détails de configuration spécifiques liés à l'espace ne seront pas épuisés. Si vous souhaitez en savoir plus sur les détails de configuration ou l'implémentation spécifique, vous pouvez télécharger le code source onecode-common-client et le lire vous-même, ou laisser un message sur GITEE .
4. Plan ouvert de version de cluster OneCode
Le contenu et la difficulté technique de la conception de la version du cluster OneCode seront plus difficiles, mais OneCode adoptera toujours une stratégie open source.
Horaire prévisionnel d'ouverture
Nom du service |
Présentation des services |
Heure d'ouverture estimée |
protocole ouvert |
---|---|---|---|
onecode-iot |
Kit IdO onecode |
Avril 2023 (déjà ouvert) |
AVEC |
onecode-vfs |
service de gestion de code de fichier onecode |
T2 2023 |
AVEC |
onecode-bpm |
service de gestion de processus onecode |
T2 2023 |
GPL |
onecode-jmq |
service de messagerie à code unique |
Les deuxième et troisième trimestres de 2023 |
GPL |
Si vous êtes intéressé, vous pouvez contacter l'équipe codebee pour obtenir le paquet source à l'avance pour des tests internes.