Application Lifecycle Management

Thesis title: Application Lifecycle Management
Author: Mach, Michal
Thesis type: Diplomová práce
Supervisor: Fortinová, Jana
Opponents: Lysáček, Jakub
Thesis language: Česky
Abstract:
Obsahem mé diplomové práce je zaměřen převážně na problematiku agilního vývoje aplikace, continuous integration a continuous delivery, a to konkrétně na praktické nastavení pro cloudovou CRM platformu Salesforce a nastavení procesů pro interní CRM projekt společnosti Enehano Solutions. Cílem mé práce je nastavit automatizované funkční řešení continuous delivery pro platformu Salesforce na interním AgeniQ CRM projektu za využití nástrojů GitHub, JIRA a srovnání manuálního nasazování, které je již součástí koupené licence Salesforce a automatizovaného nasazování za pomocí nástroje GitHub v kontextu komplexní podnikové aplikace. Součástí mé práce bude i představení správy Salesforce aplikace v nástroji JIRA. Na začátku své práce představuji stěžení pojmy jako jsou podniková aplikace, management životního cyklu aplikace (application lifecycle management), continuous delivery, continuous integration a představuji platformu Salesforce. Zaměřuji se na popis platformy a jejího manuálního deployment procesu, který je součástí platformy, zároveň také na popis Salesforce DX sloužící k přenosu metadat. Pro funkční řešení bude také potřeba představit pojem uložiště zdrojového kódu (source control), které bude součástí řešení. Dále definuji pojem „prostředí“ v podniku a také jaká jsou nejčastěji používaná prostředí v enterprise společnostech. Na to plynule navážu možnostmi struktury těchto prostředí, které nabízí Salesforce. Před samotnou implementací funkčního řešení stanovím kritéria požadavků continuous integration and delivery za pomocí nástroje GitHub, která částečně vyplynou z představených pojmů a některá stanovím já na základě již praktických zkušeností. Součástí požadavků bude také zadaní business požadavku, který bude následně zapracován do aplikace pomocí continuous delivery procesu. Stěžejní kapitolou bude samotné vytváření funkčního řešení pro průběžné nasazování aplikace, jehož výsledkem bude příklad od vytvoření požadavku v JIRA nástroji a jeho zařazení do vývoje. Dále je to vývoj požadavku s jeho průběžné nasazení na prostředí definovaná v práci až po finální nasazení na produkční prostředí. Přes stanovená kritéria porovnám manuální (již dostupný) a automatizovaný deployment proces. Na závěr zhodnotím přínosy nastavování automatizovaného deployment procesu pro platformu Salesforce.
Keywords: GitHub; JIRA; Salesforce; Application Lifecycle Management; CI/CD
Thesis title: Application Lifecycle Management
Author: Mach, Michal
Thesis type: Diploma thesis
Supervisor: Fortinová, Jana
Opponents: Lysáček, Jakub
Thesis language: Česky
Abstract:
The key area of my diploma thesis are agile development, continuous integration, and continuous delivery process with focusing on the cloud CRM platform Salesforce and its enablement for an internal CRM project of the company Enehano Solutions. Goals of my thesis are highlighting benefits of applying the CI/CD processes by presenting an automated and functional continuous delivery solution for the Salesforce platform on AgeniQ internal CRM project using GitHub, JIRA and comparison of manual deployment using Change Sets that are part of the bought Salesforce license, and automated deployment process in context of complex enterprise application. Presentation of JIRA as an application lifecycle management tool will be also part of my thesis. Firstly, I will present and explain the key concepts such as enterprise application, application lifecycle management, continuous integration, continuous delivery, and I introduce the Salesforce platform. I mainly focus on the platform summary, the manual deployment process and definition of Salesforce DX that is used for the metadata transfers. I also explain how the source control works because it is the key part for the functional solution. I define what an environment is, and which are the most common environments where an application can live within an enterprise company. I follow up by possibilities of the environment structures and how they fit to the Salesforce world. Before building the solution, itself I put together key requirements that the GitHub solution should have. They mostly come from the presented concepts of agile development, but I add some by myself too utilizing my practical Salesforce knowledge. Additionally, I will present a real business requirement that will be developed, and which the continuous delivery process will be applied for. Having all the requirements and concepts explained building the functional solutions starts. It will result in presentation of the business requirement in JIRA and deploying the Salesforce app extension from the development environment through the environment structure and ending up with the deployment to production environment (live environment). I additionally compare the manual deployment that Salesforce offers with the automated one using GitHub and its features. Finally, I will summarize the benefits of automated solution built for Salesforce.
Keywords: Salesforce; CI/CD; Application Lifecycle Management; GitHub; JIRA

Information about study

Study programme: Aplikovaná informatika/Informační systémy a technologie
Type of study programme: Magisterský studijní program
Assigned degree: Ing.
Institutions assigning academic degree: Vysoká škola ekonomická v Praze
Faculty: Faculty of Informatics and Statistics
Department: Department of Information Technologies

Information on submission and defense

Date of assignment: 27. 9. 2019
Date of submission: 28. 4. 2021
Date of defense: 31. 5. 2021
Identifier in the InSIS system: https://insis.vse.cz/zp/70852/podrobnosti

Files for download

    Last update: