当前位置:网站首页>Tap series article 9 | application development accelerator
Tap series article 9 | application development accelerator
2022-07-23 22:51:00 【VMware China R & D Center】
background
For developers , Especially for new employees , There has always been a puzzle , That is how to start application development efficiently . Usually , The development department has accumulated over a certain period of time , There will be relevant development specifications and project specifications . How to make newcomers adapt to these norms as quickly as possible , How to build the project , How to write the configuration , What are the code dependency libraries , How to write notes and so on , Are issues to be addressed . otherwise , Each developer will write a variety of projects , In the end, no one can read it and can't take over , Let alone update maintenance . In a relatively standardized development team , Each project has general similarities with other projects , New members don't want to start from scratch every time , Can you stand on the shoulders of your predecessors ,“ reference ” Other similar projects , Take them as the template and basis , Follow up development ? To find the answer to this question , We will first think of one called Spring Initializr Tools for . For the use of Spring Framework developers , It must be no stranger , Let's start with it .
Spring Initializr
If you want to build one from scratch Spring Boot Project , It's more complicated . You need to choose to create Maven still Gradle project ,Spring Boot Framework version ,JDK edition , And the dependencies that need to be used , These all need to be written into the project configuration file manually ( such as Maven The project is pom.xml). besides , There is also metadata of the project, such as name , Package name , Group , Packaging methods, etc . in addition , The source code also needs to implement an annotation as SpringBootApplication Of Java Class and its main Method , And other fixed implementations , Such as unit test methods, etc .Spring In order to simplify this series of processes , But for Spring Boot The developer provides Spring Initializr Initial configuration tool . When it's turned on http://start.spring.io after , The following page appears :

ad locum , We can set the above-mentioned parameters and metadata of the project through options and input , Then select the relevant dependent package , Finally, click Generate, Then one zip The package is generated and downloaded locally . Use common IDE Tools , such as IntelliJ IDEA, hold zip package import go in , A new beginning Spring Boot The project came into being , It greatly simplifies and accelerates the process of creating new projects .
TAP Application Accelerator
We have seen above Spring Initializr Yes Spring Help developers work . however Spring Initializr It still has its limitations , First of all, it is a public network Saas service , Cannot become the private template warehouse of the enterprise . secondly , It only supports Spring Boot Project , Other functions such as Go,C#,PHP,Node.js And other language frameworks . Last , Because it is a public service , You can't make some customized changes . therefore , These deficiencies must be improved , In order to build a privatized enterprise application template warehouse . Our solution is Tanzu Application Platform The built-in Application Accelerator (App Accelerator).
We put every template Called an accelerator (Accelerator). Let's take a look at how application developers use application accelerators to create an initial project . open TAP Of GUI Interface , I selected App Accelerator, You can see that many accelerator samples have been built in , Have use Spring,Node.js,C# wait , Here's the picture :

Here we choose Tanzu Java Web App, It's a Spring Project template , You need to fill in some parameters , Such as project name , Image warehouse storage prefix and so on :

Review the parameters and click Generate Accelerator:

A containing the initial project zip Package generated , Then you can download it back to the local :

Will download zip Package in commonly used IDE, for example IntelliJ IDEA After opening in , It becomes an initial application project , The whole process is simple and fast !
Create your own Application Accelerator
In the above example , As a developer, I have felt the convenience of using accelerator . So as an application architect , Creator role of template , How to create a self-made accelerator ? The most convenient way is to customize an existing sample accelerator , Then generate a new accelerator . The sample accelerator can be found in https://github.com/sample-accelerators/ Here to find . Or to Spring Example accelerator , First, let's download the sample accelerator Tanzu Java Web App:git clone https://github.com/sample-accelerators/tanzu-java-web-app.git
In this Spring In the sample accelerator , The description file is accelerator.yaml, Let's take a look at some basic structures of the file :

There is a display name in this section , describe , Icon and label settings .

This section contains the definition of input parameters .

In this section, there are settings for text replacement .
All descriptions of the accelerator can be referred to https://docs.vmware.com/en/Application-Accelerator-for-VMware-Tanzu/1.1/acc-docs/GUID-creating-accelerators-accelerator-yaml.html, I won't repeat it here .
To show the effect , We put display Name Change the name to My Tanzu Java Web App, Then push the whole accelerator to the private code base . Finally using Tanzu Command or use yaml File build your own accelerator , Example yaml The documents are as follows :

The main setting here is git Warehouse address and branch name , And then use kubectl create The command yaml Configure import kubernetes. Once the successful , You can go through Acc Accelerator The new self-made accelerator can be seen in the management interface :

Summary of the value of Application Accelerator After the development department set up the Application Accelerator , For new projects, project specifications and application development specifications can be set, and there are corresponding accelerators for reference . Development architects can summarize typical successful projects as templates and benchmarks , And released as an accelerator , Convenient for rapid promotion and replication . Which project did well , You can also contribute back to other project teams for reference . gradual , Accelerators in the development department are accumulating more and more , Finally, a rich and colorful application knowledge base will be formed .
Author's brief introduction

Xiong Mingjie ,VMware Senior solution architect of Greater China application modernization department , Prior to joining VMware Before , He has served successively BEA System、IBM、Redhat Other enterprises . For many years, I have been engaged in enterprise software development 、 Work in related fields of middleware and cloud primitives , For enterprise software development and architecture design 、 Microservice architecture design and container platform architecture design 、 software development 、 Rich experience in implementation, operation and maintenance ;CNCF authentication CKA The engineer ;VMware authentication Spring Professional The engineer .
source | official account :VMwareTanzu Cloud native
边栏推荐
- About: enable delivery optimization in enterprise LAN
- DHCP: prevent rogue DHCP server in the network
- 小说里的编程 【连载之二十】元宇宙里月亮弯弯
- Niuke C basic exercises
- zk 是如何解决脑裂问题的
- DeFi項目的盈利邏輯 2021-04-26
- 疯狂的牛市,下半场何去何从?2021-04-30
- [in depth study of 4g/5g/6g topic -40]: urllc-11 - in depth interpretation of 3GPP urllc related protocols, specifications and technical principles -5-5g QoS principle and Architecture: slicing, PDU s
- Multithreading problem: why should we not use multithreading to read and write the same socket connection?
- Programming in the novel [serial 18] the moon bends in the yuan universe
猜你喜欢

D2admin framework is basically used
About synchronizing data from computer to mobile

除了钱,创业者还需要什么?专访明月湖创赛创投机构

dried food! Implicit sparse regularization effect in neural networks

synthesizable之Verilog可不可综合

JDBC programming of MySQL

TAP 系列文章6 | TAP的应用模型

Memory search - DP

zk 是如何解决脑裂问题的

fl studio 20.9更新中文版宿主DAW数字音频工作站
随机推荐
Introduction and project development of MVVM and mvvmlight (I)
Programming in the novel [serial 16] the moon bends in the yuan universe
Contemporary inspirational "women"
At the forefront of the times, Huawei aims at the wind and sea of digital finance
Microsoft SQL Server数据库语言及功能使用(十三)
[unity3d daily bug] unity3d solves "the type or namespace name" XXX "cannot be found (are you missing the using directive or assembly reference?)" Etc
【Unity3D日常BUG】Unity3D解决“找不到类型或命名空间名称“XXX”(您是否缺少using指令或程序集引用?)”等问题
The Minesweeper game
Notes on network segment CIDR
Diabetes genetic risk testing challenge advanced
MySQL的 DDL和DML和DQL的基本语法
[problem handling] merge made by the 'ort' strategy
Investment suggestions for overseas senior players (2) 2021-05-03
Linked list - 203. remove linked list elements
Zhongbang technology devotes itself to another work -- gyro maker OA system
【golang学习笔记】包(package)的使用
Can Verilog of synthetizable be integrated
Array - 59. Spiral matrix II
使用itextpdf提取PDF文件中的任意页码
海外资深玩家的投资建议(2) 2021-05-03