APEX application deployment is mostly done by exporting the application and importing it into the target environment.
But what if your team continuously develops (as they should), where do you stop developing to start preparing your release-deployment? You should be able to deploy based on features; without your developers having to halt their development.
Using the deployment-method explained in this presentation you will be able to do just that.
The method includes things like Code versioning (GIT), Feature-tickets (Jira), Code Review (Quality), Automated Deployment using Jenkins and Flyway. When implemented you will be able to successfully and predictively deploy your APEX applications (including underlying database objects) to the different deployment-environments.
With a few modifications you can even upgrade the methodology to be a "continuous delivery" methodology.
Setting Up CircleCI Workflows for Your Salesforce AppsDaniel Stange
Circle CI webinar held by Daniel Stange June 27th, 2018.
Salesforce has been investing a lot into their developer experience, including making it easier to continuously update and improve Salesforce apps via the process of continuous integration and delivery. If you've been looking to incorporate more DevOps practices into your Salesforce app development, or are simply looking for a tutorial on CI/CD for Salesforce apps, this webinar is for you.
Achieving Full Stack DevOps at Colonial Life DevOps.com
In an ever more competitive marketplace, organizations have turned to Agile and DevOps practices to deliver software innovations to market more quickly and with high quality. Across industries, companies are making heavy investments in tools and process improvements around automated build, test, continuous integration and delivery, and release automation and orchestration. However, despite these investments, many organizations are still struggling to bring the necessary speed and quality to their software delivery. In many cases, this is because Agile and DevOps improvements have not been applied to the entire software stack and are often limited to application code delivery.
This webinar will explore the transformation that Colonial Life made in bringing DevOps to the entire software stack. Specifically, beyond automating and accelerating the validation and delivery of application code, this webinar will focus on the critical role that data and the database play in modern software delivery and the tools and processes that can bring the same automation to database code.
After this webinar, you will understand:
* What holds organizations back despite an Agile application development process
* The benefits of automating the validation and deployment of database changes
* A template for bringing DevOps to the entire software stack
Setting Up CircleCI Workflows for Your Salesforce AppsDaniel Stange
Circle CI webinar held by Daniel Stange June 27th, 2018.
Salesforce has been investing a lot into their developer experience, including making it easier to continuously update and improve Salesforce apps via the process of continuous integration and delivery. If you've been looking to incorporate more DevOps practices into your Salesforce app development, or are simply looking for a tutorial on CI/CD for Salesforce apps, this webinar is for you.
Achieving Full Stack DevOps at Colonial Life DevOps.com
In an ever more competitive marketplace, organizations have turned to Agile and DevOps practices to deliver software innovations to market more quickly and with high quality. Across industries, companies are making heavy investments in tools and process improvements around automated build, test, continuous integration and delivery, and release automation and orchestration. However, despite these investments, many organizations are still struggling to bring the necessary speed and quality to their software delivery. In many cases, this is because Agile and DevOps improvements have not been applied to the entire software stack and are often limited to application code delivery.
This webinar will explore the transformation that Colonial Life made in bringing DevOps to the entire software stack. Specifically, beyond automating and accelerating the validation and delivery of application code, this webinar will focus on the critical role that data and the database play in modern software delivery and the tools and processes that can bring the same automation to database code.
After this webinar, you will understand:
* What holds organizations back despite an Agile application development process
* The benefits of automating the validation and deployment of database changes
* A template for bringing DevOps to the entire software stack
Abstract:
A apresentação centra-se na temática de ter forma de controlar, versionar e actualizar toda a parte de Base de Dados de um projecto. Estamos a falar, desde a produção de modelos ER, a versionamento de scripts, passando pelo deploy dos mesmos e terminado na documentação. A apresentação conta ainda com uma breve demonstração do uso da ferramenta Flyway para versionar e controlar a execução de scripts nos diversos ambientes de um projecto.
Sobre o Nuno Alves:
Chamo-me Nuno Alves nascido em Coimbra, Portugal e vivi maioritariamente em Leiria. Licenciado em Engenharia Informática na ESTG-IPLeiria (Escola Superior de Tecnologia e Gestão) onde o gosto por dados e bases de dados se começou a desenvolver. Daí, profissionalmente a minha área de actuação ser em torno de bases de dados e infra-estruturas. Tenho cerca de 10 anos de experiência repartidos pelas áreas Financeira, Seguros, Governo, Militar em tecnologias que vão desde Oracle, PostgreSQL, MSSQLServer a DB2.
Meetup developing building and_deploying databases with SSDTSolidify
Från Swedish Microsoft ALM DevOps Meetup 3, https://www.meetup.com/swedish-ms-alm-devops/events/236531424/
På denna träff kommer vi gräva oss ned i build & deployment och inleder med en presentation om hur man kan hantera databasuppdateringar som en del av deploymentflödet.
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Mack Hardy
Mack Hardy, Dave Tarc, Damien Norris of Affinity Bridge presenting at Pacific Northwest Drupal Summit in Vancouver, October 5th, 2013. The presentation walks through management of releases, deployment strategies and build strategies with drupal features, git, and make files. Performance and caching is also covered, as well as specific tips and tricks for configuring apache and managing private files.
SynapseIndia Drupal development
SynapseIndia Ecommerce development
SynapseIndia Sharepoint development
SynapseIndia PHP development
SynapseIndia Dotnet development
SynapseIndia Magento development
SynapseIndia MS Dynamic CRM
SynapseIndia Complaints
SynapseIndia Reviews
Unlocking the power of the APEX Plugin ArchitectureMatt Nolan
Slides from AUSOUG Webinar 24-Aug-2017. Sorry most of the good stuff was in the Live demos.
Abstract: Get an in depth look into the APEX plugin architecture focusing on region plugins and dynamic actions. In this session you’ll learn about some of the techniques used for developing plugin interoperability and explore the best practices when in comes to designing plugins. We’ll focus on how you can communicate between plugins, increase code centralization, decrease maintenance and plug the functionality gaps in your APEX application.
(WPF + WinForms) * .NET Core = Modern DesktopOren Novotny
Learn how .NET Core 3 brings WPF and Windows Forms into the future with a modern runtime. See what’s new for WPF and Windows Forms, learn how to easily retarget your .NET Framework application over to .NET Core, and how to get these modern desktop apps to your users.
Topics of this presentation:
- Basics and best practices of developing single-page applications (SPA) and Web API Services on Microsoft .NET -
- Core with Docker and Linux.
- PowerShell Core automated builds.
- Markdown/PDF documentation.
- Documentation of public interfaces with Swagger/OAS/YAML.
- Automated testing of SPA on Protractor and testing the Web API on Postman/Newman.
This presentation by Sergii Fradkov (Consultant, Engineering), Andrii Zarharov (Lead Software Engineer, Consultant), Igor Magdich (Lead Test Engineer, Consultant) was delivered at GlobalLogic Kharkiv .NET TechTalk #1 on May 24, 2019.
Staged Patching Approach in Oracle E-Business Suitevasuballa
In this session, we will deep dive into Staged Appltop Patching approach in Oracle E-Business Suite. We will learn more on how Staged Patching approach can cut down patching downtime. We will discuss the scenarios like 11i to R12 upgrades and R12 point release upgrades, where we can leverage Staged Patching approach. What is the future of Staged Patching in upcoming Release 12.2? How Online patching feature is different from Staged Patching approach ?
SOLID Programming with Portable Class LibrariesVagif Abilov
Developers often don't pay attention to code portability until they need to target multiple platforms. However, large amount of non-portable code often hints about violation of clean code principles, so it is worth investigating which part of the source code base are platform-specific and for what reasons.
In this session we will give an overview of portable class libraries, show how to extract PCL components from a real-world application and go through typical challenges that are faced when writing portable code. We will present the original tool that analyzes assemblies for portability compliance and can be used as a guard to prevent mixing business logic with infrastructure-specific functionality. Finally we will demonstrate how PCLs help targeting platforms such as Windows Store, Android and iOS.
Devops core principles
CI/CD basics
CI/CD with asp.net core webapi and Angular app
Iac Why and What?
Demo using Azure and Azure Devops
Docker why and what ?
Demo using Azure and Azure Devops
Kubernetes why and what?
Demo using Azure and Azure Devops
Student information management system project report ii.pdfKamal Acharya
Our project explains about the student management. This project mainly explains the various actions related to student details. This project shows some ease in adding, editing and deleting the student details. It also provides a less time consuming process for viewing, adding, editing and deleting the marks of the students.
More Related Content
Similar to APEX Application Lifecycle and Deployment 20220714.pdf
Abstract:
A apresentação centra-se na temática de ter forma de controlar, versionar e actualizar toda a parte de Base de Dados de um projecto. Estamos a falar, desde a produção de modelos ER, a versionamento de scripts, passando pelo deploy dos mesmos e terminado na documentação. A apresentação conta ainda com uma breve demonstração do uso da ferramenta Flyway para versionar e controlar a execução de scripts nos diversos ambientes de um projecto.
Sobre o Nuno Alves:
Chamo-me Nuno Alves nascido em Coimbra, Portugal e vivi maioritariamente em Leiria. Licenciado em Engenharia Informática na ESTG-IPLeiria (Escola Superior de Tecnologia e Gestão) onde o gosto por dados e bases de dados se começou a desenvolver. Daí, profissionalmente a minha área de actuação ser em torno de bases de dados e infra-estruturas. Tenho cerca de 10 anos de experiência repartidos pelas áreas Financeira, Seguros, Governo, Militar em tecnologias que vão desde Oracle, PostgreSQL, MSSQLServer a DB2.
Meetup developing building and_deploying databases with SSDTSolidify
Från Swedish Microsoft ALM DevOps Meetup 3, https://www.meetup.com/swedish-ms-alm-devops/events/236531424/
På denna träff kommer vi gräva oss ned i build & deployment och inleder med en presentation om hur man kan hantera databasuppdateringar som en del av deploymentflödet.
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Mack Hardy
Mack Hardy, Dave Tarc, Damien Norris of Affinity Bridge presenting at Pacific Northwest Drupal Summit in Vancouver, October 5th, 2013. The presentation walks through management of releases, deployment strategies and build strategies with drupal features, git, and make files. Performance and caching is also covered, as well as specific tips and tricks for configuring apache and managing private files.
SynapseIndia Drupal development
SynapseIndia Ecommerce development
SynapseIndia Sharepoint development
SynapseIndia PHP development
SynapseIndia Dotnet development
SynapseIndia Magento development
SynapseIndia MS Dynamic CRM
SynapseIndia Complaints
SynapseIndia Reviews
Unlocking the power of the APEX Plugin ArchitectureMatt Nolan
Slides from AUSOUG Webinar 24-Aug-2017. Sorry most of the good stuff was in the Live demos.
Abstract: Get an in depth look into the APEX plugin architecture focusing on region plugins and dynamic actions. In this session you’ll learn about some of the techniques used for developing plugin interoperability and explore the best practices when in comes to designing plugins. We’ll focus on how you can communicate between plugins, increase code centralization, decrease maintenance and plug the functionality gaps in your APEX application.
(WPF + WinForms) * .NET Core = Modern DesktopOren Novotny
Learn how .NET Core 3 brings WPF and Windows Forms into the future with a modern runtime. See what’s new for WPF and Windows Forms, learn how to easily retarget your .NET Framework application over to .NET Core, and how to get these modern desktop apps to your users.
Topics of this presentation:
- Basics and best practices of developing single-page applications (SPA) and Web API Services on Microsoft .NET -
- Core with Docker and Linux.
- PowerShell Core automated builds.
- Markdown/PDF documentation.
- Documentation of public interfaces with Swagger/OAS/YAML.
- Automated testing of SPA on Protractor and testing the Web API on Postman/Newman.
This presentation by Sergii Fradkov (Consultant, Engineering), Andrii Zarharov (Lead Software Engineer, Consultant), Igor Magdich (Lead Test Engineer, Consultant) was delivered at GlobalLogic Kharkiv .NET TechTalk #1 on May 24, 2019.
Staged Patching Approach in Oracle E-Business Suitevasuballa
In this session, we will deep dive into Staged Appltop Patching approach in Oracle E-Business Suite. We will learn more on how Staged Patching approach can cut down patching downtime. We will discuss the scenarios like 11i to R12 upgrades and R12 point release upgrades, where we can leverage Staged Patching approach. What is the future of Staged Patching in upcoming Release 12.2? How Online patching feature is different from Staged Patching approach ?
SOLID Programming with Portable Class LibrariesVagif Abilov
Developers often don't pay attention to code portability until they need to target multiple platforms. However, large amount of non-portable code often hints about violation of clean code principles, so it is worth investigating which part of the source code base are platform-specific and for what reasons.
In this session we will give an overview of portable class libraries, show how to extract PCL components from a real-world application and go through typical challenges that are faced when writing portable code. We will present the original tool that analyzes assemblies for portability compliance and can be used as a guard to prevent mixing business logic with infrastructure-specific functionality. Finally we will demonstrate how PCLs help targeting platforms such as Windows Store, Android and iOS.
Devops core principles
CI/CD basics
CI/CD with asp.net core webapi and Angular app
Iac Why and What?
Demo using Azure and Azure Devops
Docker why and what ?
Demo using Azure and Azure Devops
Kubernetes why and what?
Demo using Azure and Azure Devops
Student information management system project report ii.pdfKamal Acharya
Our project explains about the student management. This project mainly explains the various actions related to student details. This project shows some ease in adding, editing and deleting the student details. It also provides a less time consuming process for viewing, adding, editing and deleting the marks of the students.
About
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
• Remote control: Parallel or serial interface.
• Compatible with MAFI CCR system.
• Compatible with IDM8000 CCR.
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
• Easy in configuration using DIP switches.
Technical Specifications
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
Key Features
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
• Remote control: Parallel or serial interface
• Compatible with MAFI CCR system
• Copatiable with IDM8000 CCR
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
Application
• Remote control: Parallel or serial interface.
• Compatible with MAFI CCR system.
• Compatible with IDM8000 CCR.
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
• Easy in configuration using DIP switches.
Saudi Arabia stands as a titan in the global energy landscape, renowned for its abundant oil and gas resources. It's the largest exporter of petroleum and holds some of the world's most significant reserves. Let's delve into the top 10 oil and gas projects shaping Saudi Arabia's energy future in 2024.
Water scarcity is the lack of fresh water resources to meet the standard water demand. There are two type of water scarcity. One is physical. The other is economic water scarcity.
Hierarchical Digital Twin of a Naval Power SystemKerry Sado
A hierarchical digital twin of a Naval DC power system has been developed and experimentally verified. Similar to other state-of-the-art digital twins, this technology creates a digital replica of the physical system executed in real-time or faster, which can modify hardware controls. However, its advantage stems from distributing computational efforts by utilizing a hierarchical structure composed of lower-level digital twin blocks and a higher-level system digital twin. Each digital twin block is associated with a physical subsystem of the hardware and communicates with a singular system digital twin, which creates a system-level response. By extracting information from each level of the hierarchy, power system controls of the hardware were reconfigured autonomously. This hierarchical digital twin development offers several advantages over other digital twins, particularly in the field of naval power systems. The hierarchical structure allows for greater computational efficiency and scalability while the ability to autonomously reconfigure hardware controls offers increased flexibility and responsiveness. The hierarchical decomposition and models utilized were well aligned with the physical twin, as indicated by the maximum deviations between the developed digital twin hierarchy and the hardware.
Welcome to WIPAC Monthly the magazine brought to you by the LinkedIn Group Water Industry Process Automation & Control.
In this month's edition, along with this month's industry news to celebrate the 13 years since the group was created we have articles including
A case study of the used of Advanced Process Control at the Wastewater Treatment works at Lleida in Spain
A look back on an article on smart wastewater networks in order to see how the industry has measured up in the interim around the adoption of Digital Transformation in the Water Industry.
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Dr.Costas Sachpazis
Terzaghi's soil bearing capacity theory, developed by Karl Terzaghi, is a fundamental principle in geotechnical engineering used to determine the bearing capacity of shallow foundations. This theory provides a method to calculate the ultimate bearing capacity of soil, which is the maximum load per unit area that the soil can support without undergoing shear failure. The Calculation HTML Code included.
9. Objectives
◉ Our customers expect and need a way to deploy an APEX application based
on a single feature
◉ Easy deployment throughout the application lifecycle
◉ Development of new features may not be stopped
11. Requirements
• No dependency on specific project-management tools
○ Jira, Wrike, MS-Project
○ Confluence, Sharepoint
○ Bitbucket, Gitlab, Github
• Using our standard development methodology
• 1 core schema
■ for data and business-rules
• 1 apex schema
○ for APEX specific views and packages
■ This is the schema our APEX workspace looks at
also known as “parsing schema”
• Optional a VPD layer or other “external” schemas involved
• DB deployment-tool using regular SQL / Command scripts that every DB developer
understands (learning curve)
13. Standard infrastructure
• The basic idea
○ APEX does not “touch” tables directly
○ A view / package for each individual APEX page
○ A view / package for each individual REST module
• We pushed it a bit further
○ A view for each individual region
○ LOV’s compilable in the database!
○ Naming standards for objects:
■ prefix_app_page_description_suffix
○ UI and Business should not be mingled, Modularising code
○ Enforces the question: what is business logic, what is not
20. Project Folder Structure
• Each db-object deserves a file
○ Separate package (or type) spec and body
○ Project dependant
(ie indexes at table creation)
• Predefined structure
• Naming method for Flyway
○ R__xxx
○ VYYYYMMDDHHMI__xxx
• We’re not using an “install_all” script !
20
21. Flyway at work
• Flyway CE
§ only allows “.sql” file-extensions
§ No SQL*Plus commands
• “prep4flyway.sh” renames all files
§ Extensions to “.sql”
§ Prefixes files according to folder-number
§ Enforces order of spec and body
• Flyway only sees the renamed files
22. • We can now build all our DB objects
• What do we feed Flyway to get a proper builds ?
• Introducing: GIT and branching
Flyway at work
27. Deploy DB Objects
• We’re now able to deploy a specific
branch
• Including all DB-objects
• Including data
• The deployment contains the features
that were merged into the build
branches (Test, Acc, Prod)
• What is missing?
29. Integrating APEX into the build
• The generated ZIP contains an installer
for the exported components
30. Integrating APEX into the build
• The developer unzips the ZIP into the GIT-branch
• f100.zip unpacks in f100 folder
§ Mac users need a tool to merge folders
• Application folder contains entire application
but only exported files are “new”
• The included installer cannot be used
• Extra build-step: “create_cmp_install.sh”
§ Generates a new application-installer
• Extra build-step to deploy static files (*.js, *.png etc)
31. Deployment
• The deployment process is as follows (DTAP)
§ D for Docker, an environment that gets reset (to the latest production version) before each build
§ Because we build all environments automatically we have tested our deployment-scripts 3! Times by the time we deploy to
production
1. Checkout the branch
2. Start “prep4flyway” script for CORE (1st) and APEX (2nd) schema
3. Copy static files (rsync)
4. Start “create_cmp_install” script for each application (D & T)
5. Invoke flyway for CORE (first) and APEX (second) schema
1. Uses callbacks to check for invalids, invalids break the build!
6. Start the generated install script from step 4 (D & T) otherwise full-app install
7. Full App export (T)
8. Place full-app export on the Test Branch
GIT
Checkout
Start
Docker
APEX
Deploy
APEX
Export
DB
Deploy A
DB
Deploy C
Commit &
Push
prep4
flyway
copy
static files
Create
CMP
Install
32. Team 2
Team 2
The deployment street
Integration
deploy
(dev)
TEST
deploy
ACC
deploy
PROD
deploy
Team 1
Team 2
1 2 3 4
1. Feature branch merged into DEV branch
2.DEV branch merged into TEST branch
3.TEST branch merged into ACC branch
4.ACC branch merged into MAIN branch
33. Team 2
Team 2
2
a
The deployment street
Integration
deploy
(dev)
TEST
deploy
ACC
deploy
PROD
deploy
Team 1
Team 2
1 2 3 4
1
a
1. Feature branch merged into DEV branch
a. Feature merged into DEV brach (REVIEW)
After it was built in docker and reviewed
2.DEV branch merged into TEST branch
a. Full application export pushed into TEST and DEV branch
3.TEST branch merged into ACC branch
4.ACC branch merged into MAIN branch
35. • Create Feature Branch (FB)
• Lock page before start
• Save changes on the Feature Branch (DB / APEX)
• Push to Remote Feature Branch
• Build Docker instance to test integration
• Check work on Docker instance
• Create Merge Request
§ Is review step by colleague / QA
• Unlock page when merged into Development Branch
Working Flow
38. Assumptions
• We don’t use the built-in static menu-list in our applications
§ Overcome by using build-options
• NEVER EVER touch a versioned file after it has been merged
into DEV branch
• Btw, never ever touch a versioned file
after it has been merged into DEV branch!!
40. Challenges
• A shared development instance
§ Simultaneous development on single Database objects
• Corrections for versioned files should go in a new versioned
file
• Commits and Merges preferably on the local filesystem
push as late as possible
• Get to know your tools
§ IDE (PL/SQL Developer)
§ Gitkraken / Sourcetree / Fork / Tower / TortoiseGit
• Get to know your process
§ Git for teams
41. Recap
• All software is stored in the GIT repository
• A proven branching strategy
• Standard directory structure
• Deployment-tools are stored inside the
repo
• Tools used
§ A ticket system (Jira/Wrike etc)
§ A GIT server (Bitbucket/Gitlab/Github etc)
§ A GIT Client (any will do)
§ IDEs for PL/SQL and CSS, images Javascript
etc.
§ Flyway Community Edition
42. 42
Any questions ?
You can find me at
◉ @rhjmartens
◉ rmartens@smart4solutions.nl
Thanks!