SlideShare a Scribd company logo
1 of 24
Download to read offline
FME Development
&
Continuous integration
GIM
Smolders Steven
Van Oudenhove Jean-Pierre
Overview
• FME Project types
• FME local processes
• FME centered services
• Multi technology integrated applications
• What is Continuous Integration?
• Continuous Integration applied to FME
• Conclusion
FME local processes
Output DataInput data
FME local processes
• One single developer
• FME desktop
• The focus is the output data
• Run within an isolated or stable environment
• Single Technology - No integration problems
• Maintenance by single developer
FME centered services
Output DataInput data
FME centered services
• FME workspace authored on desktop environment
published to server
• Exposed as services (Web Services, sheduled jobs)
• Components are stable during development phase
• One or Multi developers
• Minor integration problems
• Long term maintenance
Multi technology integrated applications
SQL
Data resources
Multi technology integrated applications
• FME is one part of the codebase (.NET, java, sql, python)
• Dependencies between code of different technologies
• DB schema, stored procedures
• Web Services
• NON FME components change every day
• You cannot wait for all resources to become stable before you
start developing in FME
• Many integration problems
Multi technology integrated applications
 All individual developments must be integrated
before it can be tested
 The full application must be build to know if it
works as expected
What is
Continuous Integration?
Continuous integration (CI)
No matter how good the individual
code is, the full application will
not work unless it fully integrates
all components and technologies!
Continuous Integration aims to
integrate all code developments
and build the end user application
at least once a day!
CI/CD Key components
1. All requirements and issues tracked in a single incident
tracking system
2. Multi-environment strategy
3. Source Code Version control in a single repository
• All technologies using the same build number
4. Automated build
• Construct deployment artifact: Compilation or zip
5. Automated testing
• Sample static datasets, stops the build in failure
6. Automated deployment
• Deployment becomes a formality
Continuous integration
with FME
1. Centralised requirements/incident mgmt
• Document all requirements in a single system
• During initial analysis, design, implementation,
maintenance phase
• Use the requirements and incident identifiers to
comment your source code and tag the different
versions (using plugins where available)
• Example of tools: JIRA, TFS, Redmine, Mantis, ….
2. Multi environment DTAP
• DTAP stands for Development, Testing, Acceptance
and Production
• Each environment has different purposes
• Externalize configuration (xml, ini)
• Connection parameters
• Data folders
• Read by controller
• Use FME server parameters (set local variables)
3. Version controlling Workspaces
• Use a general central source version control system like SVN,
CVS, TFS, GIT, ….
• FMW should be treated as binary
• No merge, no change comparison
• Editors should use a locking mechanism to avoid conflicts
• Check-in must document the Requirements/incident tracker
references
4. Automated build
• Done by the build server
• Zip all FME sources
• Tag the unique build number to every file
.xml <!--build 20160315 -->
.sql --build 20160315
.py # build 20160315
.fmw #! HISTORY="build 20160315"
5. Automated testing
• Make a stable and permanent sample
dataset which allow transformation
verification
• Make an independent workspace to check
and validate the resulting data
• Block the build if problems occur
6. Automated deployment
• Deployment on server = Publication
• Use FME server REST API to automate the publication of
each FME resource: workspace, resources, Web Services,
Topics, …
• The Publication workspace is function of the specific
FME project and must be maintained as the FME code
evolves
• No publication should ever be done through the
workbench once the publication has been automated
• Take into account the different environments (DTAP :
Development, Testing, Acceptance and Production)
Required tools
1. A version control system
• Git, svn, cvs, TFS, VSS
2. A build server
• Jenkins, Bamboo, TFS, …
3. An artifact repository
• Nexus, file repository, docker repository
4. A requirements and incident mgmt system
• Mantis, JIRA, redmine, TFS
Benefits
• Continuous releasable solution
• Continuously testable solution
• Deployment and publication become a routine stress
less activity
• FME developers can relate bug documentation to
solution build numbers and to FME server workspaces
• Align release management of FME and other code
Conclusion
Version Requirements DTAP Auto
Build
Auto
Testing
Auto
Deploy
Local X X
FME server X X X
Multi
techno
X X X X X X
Conclusion
No more deploy and hope for miracles!
Thank you!

More Related Content

What's hot

Moving 1,000 Users & 100 Branches into Streams
Moving 1,000 Users & 100 Branches into StreamsMoving 1,000 Users & 100 Branches into Streams
Moving 1,000 Users & 100 Branches into StreamsPerforce
 
Using Perforce Streams to Optimize Development of Flash Memory Solutions
Using Perforce Streams to Optimize Development of Flash Memory SolutionsUsing Perforce Streams to Optimize Development of Flash Memory Solutions
Using Perforce Streams to Optimize Development of Flash Memory SolutionsPerforce
 
A tale in automation (Puppet to Ansible)
A tale in automation (Puppet to Ansible)A tale in automation (Puppet to Ansible)
A tale in automation (Puppet to Ansible)neptunerx
 
Mutating Admission Webhook creation
Mutating Admission Webhook creationMutating Admission Webhook creation
Mutating Admission Webhook creationVictor Morales
 
Perforce Streams
Perforce StreamsPerforce Streams
Perforce StreamsPerforce
 
The Garbage Collector deep dive
The Garbage Collector deep diveThe Garbage Collector deep dive
The Garbage Collector deep diveTwan van den Broek
 
Introducing FME 2016.1 (The FME World Tour 2016)
Introducing FME 2016.1 (The FME World Tour 2016)Introducing FME 2016.1 (The FME World Tour 2016)
Introducing FME 2016.1 (The FME World Tour 2016)Safe Software
 
Puppet ENC – a ServiceNow Scoped Application; Richard Romanus
Puppet ENC – a ServiceNow Scoped Application; Richard RomanusPuppet ENC – a ServiceNow Scoped Application; Richard Romanus
Puppet ENC – a ServiceNow Scoped Application; Richard RomanusPuppet
 
Better Kafka Performance Without Changing Any Code | Simon Ritter, Azul
Better Kafka Performance Without Changing Any Code | Simon Ritter, AzulBetter Kafka Performance Without Changing Any Code | Simon Ritter, Azul
Better Kafka Performance Without Changing Any Code | Simon Ritter, AzulHostedbyConfluent
 
WSO2 API Manager Reference Architecture for DC/OS
WSO2 API Manager Reference Architecture for DC/OSWSO2 API Manager Reference Architecture for DC/OS
WSO2 API Manager Reference Architecture for DC/OSImesh Gunaratne
 
MuleSoft Manchester Meetup #3 slides 31st March 2020
MuleSoft Manchester Meetup #3 slides 31st March 2020MuleSoft Manchester Meetup #3 slides 31st March 2020
MuleSoft Manchester Meetup #3 slides 31st March 2020Ieva Navickaite
 
Flink Connector Development Tips & Tricks
Flink Connector Development Tips & TricksFlink Connector Development Tips & Tricks
Flink Connector Development Tips & TricksEron Wright
 
Manchester MuleSoft Meetup #6 - Runtime Fabric with Mulesoft
Manchester MuleSoft Meetup #6 - Runtime Fabric with Mulesoft Manchester MuleSoft Meetup #6 - Runtime Fabric with Mulesoft
Manchester MuleSoft Meetup #6 - Runtime Fabric with Mulesoft Akshata Sawant
 
MuleSoft Deployment Strategies (RTF vs Hybrid vs CloudHub)
MuleSoft Deployment Strategies (RTF vs Hybrid vs CloudHub)MuleSoft Deployment Strategies (RTF vs Hybrid vs CloudHub)
MuleSoft Deployment Strategies (RTF vs Hybrid vs CloudHub)Prashanth Kurimella
 
Thorben Lindhauer: Live Coding: Zeebe - Camunda Day San Francisco
Thorben Lindhauer: Live Coding: Zeebe - Camunda Day San FranciscoThorben Lindhauer: Live Coding: Zeebe - Camunda Day San Francisco
Thorben Lindhauer: Live Coding: Zeebe - Camunda Day San Franciscocamunda services GmbH
 
Serena Mainframe VUG: What's new in ChangeMan ZMF 8.1
Serena Mainframe VUG: What's new in ChangeMan ZMF 8.1Serena Mainframe VUG: What's new in ChangeMan ZMF 8.1
Serena Mainframe VUG: What's new in ChangeMan ZMF 8.1Serena Software
 
Virtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu Qian
Virtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu QianVirtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu Qian
Virtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu QianFlink Forward
 
Lopez deploying openstacktrunk_20130416
Lopez deploying openstacktrunk_20130416Lopez deploying openstacktrunk_20130416
Lopez deploying openstacktrunk_20130416OpenStack Foundation
 

What's hot (20)

Moving 1,000 Users & 100 Branches into Streams
Moving 1,000 Users & 100 Branches into StreamsMoving 1,000 Users & 100 Branches into Streams
Moving 1,000 Users & 100 Branches into Streams
 
Using Perforce Streams to Optimize Development of Flash Memory Solutions
Using Perforce Streams to Optimize Development of Flash Memory SolutionsUsing Perforce Streams to Optimize Development of Flash Memory Solutions
Using Perforce Streams to Optimize Development of Flash Memory Solutions
 
A tale in automation (Puppet to Ansible)
A tale in automation (Puppet to Ansible)A tale in automation (Puppet to Ansible)
A tale in automation (Puppet to Ansible)
 
Mutating Admission Webhook creation
Mutating Admission Webhook creationMutating Admission Webhook creation
Mutating Admission Webhook creation
 
Perforce Streams
Perforce StreamsPerforce Streams
Perforce Streams
 
The Garbage Collector deep dive
The Garbage Collector deep diveThe Garbage Collector deep dive
The Garbage Collector deep dive
 
Introducing FME 2016.1 (The FME World Tour 2016)
Introducing FME 2016.1 (The FME World Tour 2016)Introducing FME 2016.1 (The FME World Tour 2016)
Introducing FME 2016.1 (The FME World Tour 2016)
 
Puppet ENC – a ServiceNow Scoped Application; Richard Romanus
Puppet ENC – a ServiceNow Scoped Application; Richard RomanusPuppet ENC – a ServiceNow Scoped Application; Richard Romanus
Puppet ENC – a ServiceNow Scoped Application; Richard Romanus
 
Better Kafka Performance Without Changing Any Code | Simon Ritter, Azul
Better Kafka Performance Without Changing Any Code | Simon Ritter, AzulBetter Kafka Performance Without Changing Any Code | Simon Ritter, Azul
Better Kafka Performance Without Changing Any Code | Simon Ritter, Azul
 
WSO2 API Manager Reference Architecture for DC/OS
WSO2 API Manager Reference Architecture for DC/OSWSO2 API Manager Reference Architecture for DC/OS
WSO2 API Manager Reference Architecture for DC/OS
 
MuleSoft Manchester Meetup #3 slides 31st March 2020
MuleSoft Manchester Meetup #3 slides 31st March 2020MuleSoft Manchester Meetup #3 slides 31st March 2020
MuleSoft Manchester Meetup #3 slides 31st March 2020
 
Devops
DevopsDevops
Devops
 
Flink Connector Development Tips & Tricks
Flink Connector Development Tips & TricksFlink Connector Development Tips & Tricks
Flink Connector Development Tips & Tricks
 
Manchester MuleSoft Meetup #6 - Runtime Fabric with Mulesoft
Manchester MuleSoft Meetup #6 - Runtime Fabric with Mulesoft Manchester MuleSoft Meetup #6 - Runtime Fabric with Mulesoft
Manchester MuleSoft Meetup #6 - Runtime Fabric with Mulesoft
 
MuleSoft Deployment Strategies (RTF vs Hybrid vs CloudHub)
MuleSoft Deployment Strategies (RTF vs Hybrid vs CloudHub)MuleSoft Deployment Strategies (RTF vs Hybrid vs CloudHub)
MuleSoft Deployment Strategies (RTF vs Hybrid vs CloudHub)
 
Helm3
Helm3Helm3
Helm3
 
Thorben Lindhauer: Live Coding: Zeebe - Camunda Day San Francisco
Thorben Lindhauer: Live Coding: Zeebe - Camunda Day San FranciscoThorben Lindhauer: Live Coding: Zeebe - Camunda Day San Francisco
Thorben Lindhauer: Live Coding: Zeebe - Camunda Day San Francisco
 
Serena Mainframe VUG: What's new in ChangeMan ZMF 8.1
Serena Mainframe VUG: What's new in ChangeMan ZMF 8.1Serena Mainframe VUG: What's new in ChangeMan ZMF 8.1
Serena Mainframe VUG: What's new in ChangeMan ZMF 8.1
 
Virtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu Qian
Virtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu QianVirtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu Qian
Virtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu Qian
 
Lopez deploying openstacktrunk_20130416
Lopez deploying openstacktrunk_20130416Lopez deploying openstacktrunk_20130416
Lopez deploying openstacktrunk_20130416
 

Viewers also liked

FME World Tour 2016: INSPIRE data harmonisation with FME (GIM)
FME World Tour 2016:  INSPIRE data harmonisation with FME (GIM)FME World Tour 2016:  INSPIRE data harmonisation with FME (GIM)
FME World Tour 2016: INSPIRE data harmonisation with FME (GIM)GIM_nv
 
FME Server_Ken Bragg - Safe Software FME World Tour 2013
FME Server_Ken Bragg - Safe Software FME World Tour 2013FME Server_Ken Bragg - Safe Software FME World Tour 2013
FME Server_Ken Bragg - Safe Software FME World Tour 2013IMGS
 
Stad Lier: Transforming raw data into business info
Stad Lier: Transforming raw data into business infoStad Lier: Transforming raw data into business info
Stad Lier: Transforming raw data into business infoGIM_nv
 
FME World Tour 2016: Ontdek FME (GIM)
FME World Tour 2016: Ontdek FME (GIM)FME World Tour 2016: Ontdek FME (GIM)
FME World Tour 2016: Ontdek FME (GIM)GIM_nv
 
FME World Tour 2016: ORES
FME World Tour 2016: ORESFME World Tour 2016: ORES
FME World Tour 2016: ORESGIM_nv
 
FME World Tour 2016, Namur: Bienvenue (GIM)
FME World Tour 2016, Namur: Bienvenue (GIM)FME World Tour 2016, Namur: Bienvenue (GIM)
FME World Tour 2016, Namur: Bienvenue (GIM)GIM_nv
 
FME World Tour 2015: (NL) Inleiding tot FME voor IT & Managers
FME World Tour 2015: (NL) Inleiding tot FME voor IT & ManagersFME World Tour 2015: (NL) Inleiding tot FME voor IT & Managers
FME World Tour 2015: (NL) Inleiding tot FME voor IT & ManagersGIM_nv
 
FME World Tour 2016: Your Data in Motion (Safe Software)
FME World Tour 2016: Your Data in Motion (Safe Software)FME World Tour 2016: Your Data in Motion (Safe Software)
FME World Tour 2016: Your Data in Motion (Safe Software)GIM_nv
 
FME World TOur 2016: SWDE - recalage des données sur le PICC
FME World TOur 2016: SWDE - recalage des données sur le PICCFME World TOur 2016: SWDE - recalage des données sur le PICC
FME World TOur 2016: SWDE - recalage des données sur le PICCGIM_nv
 
FME World Tour 2016: intro by GIM
FME World Tour 2016: intro by GIMFME World Tour 2016: intro by GIM
FME World Tour 2016: intro by GIMGIM_nv
 
FME World Tour 2016: Découvrez FME
FME World Tour 2016: Découvrez FMEFME World Tour 2016: Découvrez FME
FME World Tour 2016: Découvrez FMEGIM_nv
 
FME World Tour 2016: VLAIO - Inspired door FME
FME World Tour 2016: VLAIO - Inspired door FMEFME World Tour 2016: VLAIO - Inspired door FME
FME World Tour 2016: VLAIO - Inspired door FMEGIM_nv
 
Environmental mapping: drones, aerial or satellite images?
Environmental mapping: drones, aerial or satellite images?Environmental mapping: drones, aerial or satellite images?
Environmental mapping: drones, aerial or satellite images?GIM_nv
 
Leveraging FME Workbench and Python Scripts to Create Stylized Oil and Gas KM...
Leveraging FME Workbench and Python Scripts to Create Stylized Oil and Gas KM...Leveraging FME Workbench and Python Scripts to Create Stylized Oil and Gas KM...
Leveraging FME Workbench and Python Scripts to Create Stylized Oil and Gas KM...Safe Software
 
Beyond 49x Transformers: Don't be afraid of (the) Python!
Beyond 49x Transformers: Don't be afraid of (the) Python!Beyond 49x Transformers: Don't be afraid of (the) Python!
Beyond 49x Transformers: Don't be afraid of (the) Python!Safe Software
 
Toveren met FME bij het Departement Leefmilieu, Natuur en Energie van de Vlaa...
Toveren met FME bij het Departement Leefmilieu, Natuur en Energie van de Vlaa...Toveren met FME bij het Departement Leefmilieu, Natuur en Energie van de Vlaa...
Toveren met FME bij het Departement Leefmilieu, Natuur en Energie van de Vlaa...GIM_nv
 
FME World Tour: The difficulties of a simple trail network
FME World Tour: The difficulties of a simple trail networkFME World Tour: The difficulties of a simple trail network
FME World Tour: The difficulties of a simple trail networkGIM_nv
 
Kennismaking met FME
Kennismaking met FMEKennismaking met FME
Kennismaking met FMEGIM_nv
 
Infrabel: Smarter Railway Asset Management
Infrabel: Smarter Railway Asset ManagementInfrabel: Smarter Railway Asset Management
Infrabel: Smarter Railway Asset ManagementGIM_nv
 

Viewers also liked (20)

FME World Tour 2016: INSPIRE data harmonisation with FME (GIM)
FME World Tour 2016:  INSPIRE data harmonisation with FME (GIM)FME World Tour 2016:  INSPIRE data harmonisation with FME (GIM)
FME World Tour 2016: INSPIRE data harmonisation with FME (GIM)
 
FME Server_Ken Bragg - Safe Software FME World Tour 2013
FME Server_Ken Bragg - Safe Software FME World Tour 2013FME Server_Ken Bragg - Safe Software FME World Tour 2013
FME Server_Ken Bragg - Safe Software FME World Tour 2013
 
Stad Lier: Transforming raw data into business info
Stad Lier: Transforming raw data into business infoStad Lier: Transforming raw data into business info
Stad Lier: Transforming raw data into business info
 
FME World Tour 2016: Ontdek FME (GIM)
FME World Tour 2016: Ontdek FME (GIM)FME World Tour 2016: Ontdek FME (GIM)
FME World Tour 2016: Ontdek FME (GIM)
 
FME World Tour 2016: ORES
FME World Tour 2016: ORESFME World Tour 2016: ORES
FME World Tour 2016: ORES
 
FME World Tour 2016, Namur: Bienvenue (GIM)
FME World Tour 2016, Namur: Bienvenue (GIM)FME World Tour 2016, Namur: Bienvenue (GIM)
FME World Tour 2016, Namur: Bienvenue (GIM)
 
FME World Tour 2015: (NL) Inleiding tot FME voor IT & Managers
FME World Tour 2015: (NL) Inleiding tot FME voor IT & ManagersFME World Tour 2015: (NL) Inleiding tot FME voor IT & Managers
FME World Tour 2015: (NL) Inleiding tot FME voor IT & Managers
 
FME World Tour 2016: Your Data in Motion (Safe Software)
FME World Tour 2016: Your Data in Motion (Safe Software)FME World Tour 2016: Your Data in Motion (Safe Software)
FME World Tour 2016: Your Data in Motion (Safe Software)
 
FME World TOur 2016: SWDE - recalage des données sur le PICC
FME World TOur 2016: SWDE - recalage des données sur le PICCFME World TOur 2016: SWDE - recalage des données sur le PICC
FME World TOur 2016: SWDE - recalage des données sur le PICC
 
FME World Tour 2016: intro by GIM
FME World Tour 2016: intro by GIMFME World Tour 2016: intro by GIM
FME World Tour 2016: intro by GIM
 
FME World Tour 2016: Découvrez FME
FME World Tour 2016: Découvrez FMEFME World Tour 2016: Découvrez FME
FME World Tour 2016: Découvrez FME
 
FME World Tour 2016: VLAIO - Inspired door FME
FME World Tour 2016: VLAIO - Inspired door FMEFME World Tour 2016: VLAIO - Inspired door FME
FME World Tour 2016: VLAIO - Inspired door FME
 
Environmental mapping: drones, aerial or satellite images?
Environmental mapping: drones, aerial or satellite images?Environmental mapping: drones, aerial or satellite images?
Environmental mapping: drones, aerial or satellite images?
 
Python and FME REST
Python and FME RESTPython and FME REST
Python and FME REST
 
Leveraging FME Workbench and Python Scripts to Create Stylized Oil and Gas KM...
Leveraging FME Workbench and Python Scripts to Create Stylized Oil and Gas KM...Leveraging FME Workbench and Python Scripts to Create Stylized Oil and Gas KM...
Leveraging FME Workbench and Python Scripts to Create Stylized Oil and Gas KM...
 
Beyond 49x Transformers: Don't be afraid of (the) Python!
Beyond 49x Transformers: Don't be afraid of (the) Python!Beyond 49x Transformers: Don't be afraid of (the) Python!
Beyond 49x Transformers: Don't be afraid of (the) Python!
 
Toveren met FME bij het Departement Leefmilieu, Natuur en Energie van de Vlaa...
Toveren met FME bij het Departement Leefmilieu, Natuur en Energie van de Vlaa...Toveren met FME bij het Departement Leefmilieu, Natuur en Energie van de Vlaa...
Toveren met FME bij het Departement Leefmilieu, Natuur en Energie van de Vlaa...
 
FME World Tour: The difficulties of a simple trail network
FME World Tour: The difficulties of a simple trail networkFME World Tour: The difficulties of a simple trail network
FME World Tour: The difficulties of a simple trail network
 
Kennismaking met FME
Kennismaking met FMEKennismaking met FME
Kennismaking met FME
 
Infrabel: Smarter Railway Asset Management
Infrabel: Smarter Railway Asset ManagementInfrabel: Smarter Railway Asset Management
Infrabel: Smarter Railway Asset Management
 

Similar to FME World Tour 2016: FME and continuous integration

Build automation best practices
Build automation best practicesBuild automation best practices
Build automation best practicesCode Mastery
 
SC'16 PMIx BoF Presentation
SC'16 PMIx BoF PresentationSC'16 PMIx BoF Presentation
SC'16 PMIx BoF Presentationrcastain
 
Application Virtualization overview - BayCUG
Application Virtualization overview - BayCUGApplication Virtualization overview - BayCUG
Application Virtualization overview - BayCUGDenis Gundarev
 
Testing Flex RIAs for NJ Flex user group
Testing Flex RIAs for NJ Flex user groupTesting Flex RIAs for NJ Flex user group
Testing Flex RIAs for NJ Flex user groupViktor Gamov
 
12 Factor App Methodology
12 Factor App Methodology12 Factor App Methodology
12 Factor App Methodologylaeshin park
 
1E_ITPF203333333333333333314_Bigfix.pptx
1E_ITPF203333333333333333314_Bigfix.pptx1E_ITPF203333333333333333314_Bigfix.pptx
1E_ITPF203333333333333333314_Bigfix.pptxnguyenthanhdatpl403
 
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...WASdev Community
 
ExtJS: La piattaforma vincente (tools)
ExtJS: La piattaforma vincente (tools)ExtJS: La piattaforma vincente (tools)
ExtJS: La piattaforma vincente (tools)Eugenio Minardi
 
Continuous Integration at Mollie
Continuous Integration at MollieContinuous Integration at Mollie
Continuous Integration at Molliewillemstuursma
 
VA Smalltalk Update ESUG2014
VA Smalltalk Update ESUG2014VA Smalltalk Update ESUG2014
VA Smalltalk Update ESUG2014ESUG
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1tactqa
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1tactqa
 
Magento 2 Workflows
Magento 2 WorkflowsMagento 2 Workflows
Magento 2 WorkflowsRyan Street
 
IWMW 1999: Browser management
IWMW 1999: Browser managementIWMW 1999: Browser management
IWMW 1999: Browser managementIWMW
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchHoward Greenberg
 
Introduction to Versioning (VCS) for Developers
Introduction to Versioning (VCS) for DevelopersIntroduction to Versioning (VCS) for Developers
Introduction to Versioning (VCS) for DevelopersAmpersand
 

Similar to FME World Tour 2016: FME and continuous integration (20)

Build automation best practices
Build automation best practicesBuild automation best practices
Build automation best practices
 
SC'16 PMIx BoF Presentation
SC'16 PMIx BoF PresentationSC'16 PMIx BoF Presentation
SC'16 PMIx BoF Presentation
 
Application Virtualization overview - BayCUG
Application Virtualization overview - BayCUGApplication Virtualization overview - BayCUG
Application Virtualization overview - BayCUG
 
Diagnosing issues in your ASP.NET applications in production with Visual Stud...
Diagnosing issues in your ASP.NET applications in production with Visual Stud...Diagnosing issues in your ASP.NET applications in production with Visual Stud...
Diagnosing issues in your ASP.NET applications in production with Visual Stud...
 
Testing Flex RIAs for NJ Flex user group
Testing Flex RIAs for NJ Flex user groupTesting Flex RIAs for NJ Flex user group
Testing Flex RIAs for NJ Flex user group
 
12 Factor App Methodology
12 Factor App Methodology12 Factor App Methodology
12 Factor App Methodology
 
1E_ITPF203333333333333333314_Bigfix.pptx
1E_ITPF203333333333333333314_Bigfix.pptx1E_ITPF203333333333333333314_Bigfix.pptx
1E_ITPF203333333333333333314_Bigfix.pptx
 
Good vs power automation frameworks
Good vs power automation frameworksGood vs power automation frameworks
Good vs power automation frameworks
 
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
 
Next-gen Automation Framework
Next-gen Automation FrameworkNext-gen Automation Framework
Next-gen Automation Framework
 
ExtJS: La piattaforma vincente (tools)
ExtJS: La piattaforma vincente (tools)ExtJS: La piattaforma vincente (tools)
ExtJS: La piattaforma vincente (tools)
 
Continuous Integration at Mollie
Continuous Integration at MollieContinuous Integration at Mollie
Continuous Integration at Mollie
 
VA Smalltalk Update ESUG2014
VA Smalltalk Update ESUG2014VA Smalltalk Update ESUG2014
VA Smalltalk Update ESUG2014
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
 
Magento 2 Workflows
Magento 2 WorkflowsMagento 2 Workflows
Magento 2 Workflows
 
IWMW 1999: Browser management
IWMW 1999: Browser managementIWMW 1999: Browser management
IWMW 1999: Browser management
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
Introduction to Versioning (VCS) for Developers
Introduction to Versioning (VCS) for DevelopersIntroduction to Versioning (VCS) for Developers
Introduction to Versioning (VCS) for Developers
 

More from GIM_nv

What's new in_fme_2020_gerhard_fischl
What's new in_fme_2020_gerhard_fischlWhat's new in_fme_2020_gerhard_fischl
What's new in_fme_2020_gerhard_fischlGIM_nv
 
FME for Utilities: RESA
FME for Utilities: RESAFME for Utilities: RESA
FME for Utilities: RESAGIM_nv
 
Real-time location tracking with FME Server Automations
Real-time location tracking with FME Server AutomationsReal-time location tracking with FME Server Automations
Real-time location tracking with FME Server AutomationsGIM_nv
 
Validation and visualization of Revit BIM Models with FME
Validation and visualization of Revit BIM Models with FMEValidation and visualization of Revit BIM Models with FME
Validation and visualization of Revit BIM Models with FMEGIM_nv
 
What's new in FME 2019: FME Server
What's new in FME 2019: FME ServerWhat's new in FME 2019: FME Server
What's new in FME 2019: FME ServerGIM_nv
 
VLAIO: Automating Spatial Planning with FME
VLAIO: Automating Spatial Planning with FMEVLAIO: Automating Spatial Planning with FME
VLAIO: Automating Spatial Planning with FMEGIM_nv
 
What's new in FME 2019: FME Desktop
What's new in FME 2019: FME DesktopWhat's new in FME 2019: FME Desktop
What's new in FME 2019: FME DesktopGIM_nv
 
BIM-naar-GIS dataverwerking: linken en visualiseren
BIM-naar-GIS dataverwerking: linken en visualiseren BIM-naar-GIS dataverwerking: linken en visualiseren
BIM-naar-GIS dataverwerking: linken en visualiseren GIM_nv
 
Automating Spatial Data Sharing
Automating Spatial Data SharingAutomating Spatial Data Sharing
Automating Spatial Data SharingGIM_nv
 
Custom Transformers voor omzetting tussen Lambert72 en Lambert2008
Custom Transformers voor omzetting tussen Lambert72 en Lambert2008Custom Transformers voor omzetting tussen Lambert72 en Lambert2008
Custom Transformers voor omzetting tussen Lambert72 en Lambert2008GIM_nv
 
FME Custom Transformers pour la conversion entre les coordonnées Lambert72 et...
FME Custom Transformers pour la conversion entre les coordonnées Lambert72 et...FME Custom Transformers pour la conversion entre les coordonnées Lambert72 et...
FME Custom Transformers pour la conversion entre les coordonnées Lambert72 et...GIM_nv
 
Bridging the gap between BIM and GIS
Bridging the gap between BIM and GIS Bridging the gap between BIM and GIS
Bridging the gap between BIM and GIS GIM_nv
 
Ken Bragg: introduction and getting started with FME 2017
Ken Bragg: introduction and getting started with FME 2017Ken Bragg: introduction and getting started with FME 2017
Ken Bragg: introduction and getting started with FME 2017GIM_nv
 
Proximus managing its location master database with FME
Proximus managing its location master database with FMEProximus managing its location master database with FME
Proximus managing its location master database with FMEGIM_nv
 
Ken Bragg: Batch data processing in FME
Ken Bragg: Batch data processing in FMEKen Bragg: Batch data processing in FME
Ken Bragg: Batch data processing in FMEGIM_nv
 
FME als draaischijf voor GIS- en databeheerprocessen in de stad Brugge
FME als draaischijf voor GIS- en databeheerprocessen in de stad BruggeFME als draaischijf voor GIS- en databeheerprocessen in de stad Brugge
FME als draaischijf voor GIS- en databeheerprocessen in de stad BruggeGIM_nv
 
FME World Tour 2017: les possibilités de FME Desktop et FME Server
FME World Tour 2017: les possibilités de FME Desktop et FME ServerFME World Tour 2017: les possibilités de FME Desktop et FME Server
FME World Tour 2017: les possibilités de FME Desktop et FME ServerGIM_nv
 
INSPIRE Data harmonisation : methodology and tools
INSPIRE Data harmonisation : methodology and toolsINSPIRE Data harmonisation : methodology and tools
INSPIRE Data harmonisation : methodology and toolsGIM_nv
 

More from GIM_nv (18)

What's new in_fme_2020_gerhard_fischl
What's new in_fme_2020_gerhard_fischlWhat's new in_fme_2020_gerhard_fischl
What's new in_fme_2020_gerhard_fischl
 
FME for Utilities: RESA
FME for Utilities: RESAFME for Utilities: RESA
FME for Utilities: RESA
 
Real-time location tracking with FME Server Automations
Real-time location tracking with FME Server AutomationsReal-time location tracking with FME Server Automations
Real-time location tracking with FME Server Automations
 
Validation and visualization of Revit BIM Models with FME
Validation and visualization of Revit BIM Models with FMEValidation and visualization of Revit BIM Models with FME
Validation and visualization of Revit BIM Models with FME
 
What's new in FME 2019: FME Server
What's new in FME 2019: FME ServerWhat's new in FME 2019: FME Server
What's new in FME 2019: FME Server
 
VLAIO: Automating Spatial Planning with FME
VLAIO: Automating Spatial Planning with FMEVLAIO: Automating Spatial Planning with FME
VLAIO: Automating Spatial Planning with FME
 
What's new in FME 2019: FME Desktop
What's new in FME 2019: FME DesktopWhat's new in FME 2019: FME Desktop
What's new in FME 2019: FME Desktop
 
BIM-naar-GIS dataverwerking: linken en visualiseren
BIM-naar-GIS dataverwerking: linken en visualiseren BIM-naar-GIS dataverwerking: linken en visualiseren
BIM-naar-GIS dataverwerking: linken en visualiseren
 
Automating Spatial Data Sharing
Automating Spatial Data SharingAutomating Spatial Data Sharing
Automating Spatial Data Sharing
 
Custom Transformers voor omzetting tussen Lambert72 en Lambert2008
Custom Transformers voor omzetting tussen Lambert72 en Lambert2008Custom Transformers voor omzetting tussen Lambert72 en Lambert2008
Custom Transformers voor omzetting tussen Lambert72 en Lambert2008
 
FME Custom Transformers pour la conversion entre les coordonnées Lambert72 et...
FME Custom Transformers pour la conversion entre les coordonnées Lambert72 et...FME Custom Transformers pour la conversion entre les coordonnées Lambert72 et...
FME Custom Transformers pour la conversion entre les coordonnées Lambert72 et...
 
Bridging the gap between BIM and GIS
Bridging the gap between BIM and GIS Bridging the gap between BIM and GIS
Bridging the gap between BIM and GIS
 
Ken Bragg: introduction and getting started with FME 2017
Ken Bragg: introduction and getting started with FME 2017Ken Bragg: introduction and getting started with FME 2017
Ken Bragg: introduction and getting started with FME 2017
 
Proximus managing its location master database with FME
Proximus managing its location master database with FMEProximus managing its location master database with FME
Proximus managing its location master database with FME
 
Ken Bragg: Batch data processing in FME
Ken Bragg: Batch data processing in FMEKen Bragg: Batch data processing in FME
Ken Bragg: Batch data processing in FME
 
FME als draaischijf voor GIS- en databeheerprocessen in de stad Brugge
FME als draaischijf voor GIS- en databeheerprocessen in de stad BruggeFME als draaischijf voor GIS- en databeheerprocessen in de stad Brugge
FME als draaischijf voor GIS- en databeheerprocessen in de stad Brugge
 
FME World Tour 2017: les possibilités de FME Desktop et FME Server
FME World Tour 2017: les possibilités de FME Desktop et FME ServerFME World Tour 2017: les possibilités de FME Desktop et FME Server
FME World Tour 2017: les possibilités de FME Desktop et FME Server
 
INSPIRE Data harmonisation : methodology and tools
INSPIRE Data harmonisation : methodology and toolsINSPIRE Data harmonisation : methodology and tools
INSPIRE Data harmonisation : methodology and tools
 

Recently uploaded

办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一F sss
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingNeil Barnes
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024thyngster
 
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一F La
 
Call Girls In Mahipalpur O9654467111 Escorts Service
Call Girls In Mahipalpur O9654467111  Escorts ServiceCall Girls In Mahipalpur O9654467111  Escorts Service
Call Girls In Mahipalpur O9654467111 Escorts ServiceSapana Sha
 
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls DubaiDubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls Dubaihf8803863
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFAAndrei Kaleshka
 
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...Pooja Nehwal
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Callshivangimorya083
 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998YohFuh
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...Florian Roscheck
 
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样vhwb25kk
 
RadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfRadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfgstagge
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...Suhani Kapoor
 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptxthyngster
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一fhwihughh
 

Recently uploaded (20)

办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
 
Decoding Loan Approval: Predictive Modeling in Action
Decoding Loan Approval: Predictive Modeling in ActionDecoding Loan Approval: Predictive Modeling in Action
Decoding Loan Approval: Predictive Modeling in Action
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data Storytelling
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
 
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
 
Call Girls In Mahipalpur O9654467111 Escorts Service
Call Girls In Mahipalpur O9654467111  Escorts ServiceCall Girls In Mahipalpur O9654467111  Escorts Service
Call Girls In Mahipalpur O9654467111 Escorts Service
 
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls DubaiDubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFA
 
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
 
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
 
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 
RadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfRadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdf
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
 
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
 

FME World Tour 2016: FME and continuous integration

  • 1. FME Development & Continuous integration GIM Smolders Steven Van Oudenhove Jean-Pierre
  • 2. Overview • FME Project types • FME local processes • FME centered services • Multi technology integrated applications • What is Continuous Integration? • Continuous Integration applied to FME • Conclusion
  • 3. FME local processes Output DataInput data
  • 4. FME local processes • One single developer • FME desktop • The focus is the output data • Run within an isolated or stable environment • Single Technology - No integration problems • Maintenance by single developer
  • 6. FME centered services • FME workspace authored on desktop environment published to server • Exposed as services (Web Services, sheduled jobs) • Components are stable during development phase • One or Multi developers • Minor integration problems • Long term maintenance
  • 7. Multi technology integrated applications SQL Data resources
  • 8. Multi technology integrated applications • FME is one part of the codebase (.NET, java, sql, python) • Dependencies between code of different technologies • DB schema, stored procedures • Web Services • NON FME components change every day • You cannot wait for all resources to become stable before you start developing in FME • Many integration problems
  • 9. Multi technology integrated applications  All individual developments must be integrated before it can be tested  The full application must be build to know if it works as expected
  • 11. Continuous integration (CI) No matter how good the individual code is, the full application will not work unless it fully integrates all components and technologies! Continuous Integration aims to integrate all code developments and build the end user application at least once a day!
  • 12. CI/CD Key components 1. All requirements and issues tracked in a single incident tracking system 2. Multi-environment strategy 3. Source Code Version control in a single repository • All technologies using the same build number 4. Automated build • Construct deployment artifact: Compilation or zip 5. Automated testing • Sample static datasets, stops the build in failure 6. Automated deployment • Deployment becomes a formality
  • 14. 1. Centralised requirements/incident mgmt • Document all requirements in a single system • During initial analysis, design, implementation, maintenance phase • Use the requirements and incident identifiers to comment your source code and tag the different versions (using plugins where available) • Example of tools: JIRA, TFS, Redmine, Mantis, ….
  • 15. 2. Multi environment DTAP • DTAP stands for Development, Testing, Acceptance and Production • Each environment has different purposes • Externalize configuration (xml, ini) • Connection parameters • Data folders • Read by controller • Use FME server parameters (set local variables)
  • 16. 3. Version controlling Workspaces • Use a general central source version control system like SVN, CVS, TFS, GIT, …. • FMW should be treated as binary • No merge, no change comparison • Editors should use a locking mechanism to avoid conflicts • Check-in must document the Requirements/incident tracker references
  • 17. 4. Automated build • Done by the build server • Zip all FME sources • Tag the unique build number to every file .xml <!--build 20160315 --> .sql --build 20160315 .py # build 20160315 .fmw #! HISTORY="build 20160315"
  • 18. 5. Automated testing • Make a stable and permanent sample dataset which allow transformation verification • Make an independent workspace to check and validate the resulting data • Block the build if problems occur
  • 19. 6. Automated deployment • Deployment on server = Publication • Use FME server REST API to automate the publication of each FME resource: workspace, resources, Web Services, Topics, … • The Publication workspace is function of the specific FME project and must be maintained as the FME code evolves • No publication should ever be done through the workbench once the publication has been automated • Take into account the different environments (DTAP : Development, Testing, Acceptance and Production)
  • 20. Required tools 1. A version control system • Git, svn, cvs, TFS, VSS 2. A build server • Jenkins, Bamboo, TFS, … 3. An artifact repository • Nexus, file repository, docker repository 4. A requirements and incident mgmt system • Mantis, JIRA, redmine, TFS
  • 21. Benefits • Continuous releasable solution • Continuously testable solution • Deployment and publication become a routine stress less activity • FME developers can relate bug documentation to solution build numbers and to FME server workspaces • Align release management of FME and other code
  • 22. Conclusion Version Requirements DTAP Auto Build Auto Testing Auto Deploy Local X X FME server X X X Multi techno X X X X X X
  • 23. Conclusion No more deploy and hope for miracles!