SlideShare a Scribd company logo
1 of 18
Download to read offline
OSGi Community Event 2012
Dieter Bogdoll, Marian Grigoras
Siemens AG, Corporate Technology
Workflow for development, release
and versioning with
Real-world challenges
Copyright © Siemens AG 2012. All rights reserved.
Workflow for development, release
and versioning with OSGi / bndtools
Page 2 OSGi Workflow
Who we are
Research group within Siemens CorporateTechnology
with diverse skills
computer science
mathematics
physics
mechanical engineering
electrical engineering
and diverse commitments with respect
full time
part time
work students
graduate students
phd students
© Siemens AG, Corporate Technology
CorporateTechnology (~10 people)
to development time
Page 3 OSGi Workflow
What we do
Customer solutions (=Siemens business
technologies (and other machine learning algorithms).
Paperware doesn‘t cut it for our customers
they want to have software prototypes
Rapid prototyping (solution) and in parallel build up our frameworks and
algorithm toolbox
API backward compatibility not that relevant
but need reproducibility of old projects
© Siemens AG, Corporate Technology
business units) based on neural network
machine learning algorithms).
customers
prototypes or solutions
Rapid prototyping (solution) and in parallel build up our frameworks and
API backward compatibility not that relevant
but need reproducibility of old projects
Page 4 OSGi Workflow
LibraryLibrary 1
Java with Eclipse
Several SVN repositories
Continuous Integration (Jenkins) to build, test and create deployable
artifacts
Software Landscape
proj proj proj proj
proj proj proj proj
proj proj proj proj
Solution 1 Solution 2
© Siemens AG, Corporate Technology
Library 2
Continuous Integration (Jenkins) to build, test and create deployable
proj proj proj proj
proj proj proj proj
proj proj proj proj
Solution 2
Page 5 OSGi Workflow
Artifact for solution deployment
common for all solutions: launcher
solution specific configuration
complete dependency tree of the solution
Non-devs should be able to create a solution artifact with the latest code
Creation of a solution artifact
should happen on CI
should be archived by CI
© Siemens AG, Corporate Technology
solution automate!
should be able to create a solution artifact with the latest code
Page 6 OSGi Workflow
Requirements for a development workflow
Enforced modularity
Use CI to build, test and create artifacts (
Partial checkouts (import in eclipse only the project(s) we want to work on,
dependencies should be automatically handled)
Automatic build in eclipse… (easy to use for new team members)
… and from the command line (mandatory for CI integration)
Overview of module dependencies, e.g. what classes cause an import
(using byte code inspection)
Tool support for semantic versioning: correct semantic versioning needs
manual validation, but tools should make a suggestion
© Siemens AG, Corporate Technology
Requirements for a development workflow
Use CI to build, test and create artifacts (libs and solution artifacts)
Partial checkouts (import in eclipse only the project(s) we want to work on,
dependencies should be automatically handled)
Automatic build in eclipse… (easy to use for new team members)
… and from the command line (mandatory for CI integration)
Overview of module dependencies, e.g. what classes cause an import
Tool support for semantic versioning: correct semantic versioning needs
manual validation, but tools should make a suggestion
Page 7 OSGi Workflow
OSGi / bnd / bndtools
OSGi / bnd / bndtools promise to fulfill all requirements
Goal: leverage OSGi services - start with modularity layer
bnd
generates the manifest.mf according to a
no direct manual maintenance of the manifest.mf
bndtools
Eclipse plugin on top of bnd
Ant tasks for command line / CI integration
© Siemens AG, Corporate Technology
promise to fulfill all requirements
start with modularity layer
according to a config file
manifest.mf
Ant tasks for command line / CI integration
Page 8 OSGi Workflow
The version keyword
Meaning of version=latest in the bnd
use dependency from workspace if available, otherwise from defined OBRs
Example: ProjA depends on ProjB and ProjC
OBRWorkspace
Proj A*
Proj B*
A-1.0.0
B-1.0.0
C-1.0.0
Default, without ver=latest
Dev expects to debug the workspace version without the need to deploy
to an OBR
© Siemens AG, Corporate Technology
bnd configuration file:
use dependency from workspace if available, otherwise from defined OBRs
ProjC
Workspace
Proj A*
OBR
Proj B*
A-1.0.0
B-1.0.0
C-1.0.0
ver=latest
Dev expects to debug the workspace version without the need to deploy
Page 9 OSGi Workflow
Developer OBR (DevOBR)
• OBR holding all bundles developed by the team, as they have been released
for team use
• contains only stable versions, no work
• may include any number of older versions
DevOBR location:
• Local: in the workspace, checked out from SVN repository
• Remote: accessed via http(s)
• No DevOBR
© Siemens AG, Corporate Technology
OBR holding all bundles developed by the team, as they have been released
contains only stable versions, no work-in-progress
may include any number of older versions
Local: in the workspace, checked out from SVN repository
Page 10 OSGi Workflow
No DevOBR
• dependencies must come from source repository
• dev working on ProjA must checkout sources of the whole dependency
subtree of ProjA
how do you know which dependencies to check out?
dev works with latest (work-in-progress) sources of each lib in the
dependency subtree
almost impossible to reproduce the context of a particular build
© Siemens AG, Corporate Technology
dependencies must come from source repository
must checkout sources of the whole dependency
how do you know which dependencies to check out?
progress) sources of each lib in the
almost impossible to reproduce the context of a particular build
Page 11 OSGi Workflow
Local DevOBR
• on new feature/bugfix, dev must release new bundle to local
commit the changes to SVN
all users need to manually update their local OBR copy
deployment: resolving dependencies results in URLs specific to a developer
machine => won’t work on another machine
• dev must create the solution artifact locally
• non-devs cannot do it
too easy for dev to deploy to customer without committing and versioning
the changes
© Siemens AG, Corporate Technology
, dev must release new bundle to local DevOBR and
all users need to manually update their local OBR copy
deployment: resolving dependencies results in URLs specific to a developer
machine => won’t work on another machine
dev must create the solution artifact locally
too easy for dev to deploy to customer without committing and versioning
Page 12 OSGi Workflow
Remote DevOBR
all artifacts in one place
automatic use of newest released bundles
read-only access for devs
preferably only CI has write access into
© Siemens AG, Corporate Technology
automatic use of newest released bundles
preferably only CI has write access into DevOBR
Page 13 OSGi Workflow
Force source commit to cause a new version bundle?
several commits with the same bundle version
bundle version 1.0.0 in HEAD means work
large number of artifacts
annoying for devs
Semantic for commit without version bump: let CI check the current status (tests)
© Siemens AG, Corporate Technology
Force source commit to cause a new version bundle?
several commits with the same bundle version
bundle version 1.0.0 in HEAD means work-in-progress for next version
Semantic for commit without version bump: let CI check the current status (tests)
Page 14 OSGi Workflow
Should DevOBR overwrite an existing bundle
with the same version?
source repo and DevOBR in sync
default behaviour of bnd
over time, multiple artifacts with the same bundle version
© Siemens AG, Corporate Technology
overwrite an existing bundle
over time, multiple artifacts with the same bundle version
Page 15 OSGi Workflow
Recap: target development workflow
Dev Workspace
Dev WorkspaceDev
Workspace
SVN
repository
Continuous
Integration
Dev OBR
3rdParty OBR
Manual
updates
© Siemens AG, Corporate Technology
Recap: target development workflow
• use version=latest
• all checked out sources
• other OBRs
• src repo contains wip
• CI builds / tests / pushes to
DevOBR
• remote read-only DevOBR
• does NOT overwrite
• CI can collect deployment
artifacts
3rdParty OBR
Manual
updates
Page 16 OSGi Workflow
Typical development sequences
Dev SVN
wip commit
no version bump
A-1.0.0
A-1.0.1
release-for-team commit
bump version
© Siemens AG, Corporate Technology
CI DevOBR
A-1.0.0
build, test
release
Do NOT overwrite
existing version
build, test
release
Put A-1.0.1 in DevOBR
Page 17 OSGi Workflow
Conclusions
• we like OSGi modularity
• using bnd and bndtools feels like the right way to develop
• for our target workflow we still need tool support for a few features
• surprised there is no default workflow encompassing:
dev, source repo, CI, OBR
• would help new teams have an easier start, if the tool suggested (and
supported) a default workflow process started at the
© Siemens AG, Corporate Technology
feels like the right way to develop OSGi
for our target workflow we still need tool support for a few features
surprised there is no default workflow encompassing:
help new teams have an easier start, if the tool suggested (and
process started at the bnd hackatron 2012
Page 18 OSGi Workflow
Thank you for your attention!
Dieter Bogdoll
email: dieter.bogdoll@siemens.com
Siemens AG
Corporate Technology
© Siemens AG, Corporate Technology
Marian Grigoras
email: marian.grigoras@siemens.com

More Related Content

What's hot

Installing Rhapsody 8.2.x Designer/Architect with Cygwin gcc compiler
Installing Rhapsody 8.2.x Designer/Architect with Cygwin gcc compilerInstalling Rhapsody 8.2.x Designer/Architect with Cygwin gcc compiler
Installing Rhapsody 8.2.x Designer/Architect with Cygwin gcc compilerFraser Chadburn
 
Head first android apps dev tools
Head first android apps dev toolsHead first android apps dev tools
Head first android apps dev toolsShaka Huang
 
Installing Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSE
Installing Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSEInstalling Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSE
Installing Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSEFraser Chadburn
 
Unit Test Android Without Going Bald
Unit Test Android Without Going BaldUnit Test Android Without Going Bald
Unit Test Android Without Going BaldDavid Carver
 
Flex on Grails - Rich Internet Applications With Rapid Application Development
Flex on Grails - Rich Internet Applications With Rapid Application DevelopmentFlex on Grails - Rich Internet Applications With Rapid Application Development
Flex on Grails - Rich Internet Applications With Rapid Application DevelopmentTalentica Software
 
Eclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsEclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsLars Vogel
 
Mobile development in 2020
Mobile development in 2020 Mobile development in 2020
Mobile development in 2020 Bogusz Jelinski
 
TMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasTMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasKJR
 
Os Grossupdated
Os GrossupdatedOs Grossupdated
Os Grossupdatedoscon2007
 
Getting Started with Node.js
Getting Started with Node.jsGetting Started with Node.js
Getting Started with Node.jsJustin Reock
 
P2 Introduction
P2 IntroductionP2 Introduction
P2 Introductionirbull
 
Comparison between Eclipse and Android Studio for Android Development
Comparison between Eclipse and Android Studio for Android DevelopmentComparison between Eclipse and Android Studio for Android Development
Comparison between Eclipse and Android Studio for Android DevelopmentWillow Cheng
 
Os Koziarsky
Os KoziarskyOs Koziarsky
Os Koziarskyoscon2007
 
プレゼンビフォアアフタ
プレゼンビフォアアフタプレゼンビフォアアフタ
プレゼンビフォアアフタTsuyoshi Ushio
 
Building a CI/CD Pipeline for PHP apps
Building a CI/CD Pipeline for PHP appsBuilding a CI/CD Pipeline for PHP apps
Building a CI/CD Pipeline for PHP appsJuan Manuel Torres
 
PHP And Silverlight - DevDays session
PHP And Silverlight - DevDays sessionPHP And Silverlight - DevDays session
PHP And Silverlight - DevDays sessionMaarten Balliauw
 
Integration Testing Practice using Perl
Integration Testing Practice using PerlIntegration Testing Practice using Perl
Integration Testing Practice using PerlMasaki Nakagawa
 
Android – As a tool of innovation
Android – As a tool of innovation Android – As a tool of innovation
Android – As a tool of innovation Pallab Sarkar
 

What's hot (20)

Introduction to ART (Android Runtime)
Introduction to ART (Android Runtime)Introduction to ART (Android Runtime)
Introduction to ART (Android Runtime)
 
Installing Rhapsody 8.2.x Designer/Architect with Cygwin gcc compiler
Installing Rhapsody 8.2.x Designer/Architect with Cygwin gcc compilerInstalling Rhapsody 8.2.x Designer/Architect with Cygwin gcc compiler
Installing Rhapsody 8.2.x Designer/Architect with Cygwin gcc compiler
 
Head first android apps dev tools
Head first android apps dev toolsHead first android apps dev tools
Head first android apps dev tools
 
Installing Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSE
Installing Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSEInstalling Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSE
Installing Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSE
 
Unit Test Android Without Going Bald
Unit Test Android Without Going BaldUnit Test Android Without Going Bald
Unit Test Android Without Going Bald
 
Flex on Grails - Rich Internet Applications With Rapid Application Development
Flex on Grails - Rich Internet Applications With Rapid Application DevelopmentFlex on Grails - Rich Internet Applications With Rapid Application Development
Flex on Grails - Rich Internet Applications With Rapid Application Development
 
Eclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsEclipse 2011 Hot Topics
Eclipse 2011 Hot Topics
 
Mobile development in 2020
Mobile development in 2020 Mobile development in 2020
Mobile development in 2020
 
TMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasTMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael Palotas
 
Os Grossupdated
Os GrossupdatedOs Grossupdated
Os Grossupdated
 
Getting Started with Node.js
Getting Started with Node.jsGetting Started with Node.js
Getting Started with Node.js
 
P2 Introduction
P2 IntroductionP2 Introduction
P2 Introduction
 
Comparison between Eclipse and Android Studio for Android Development
Comparison between Eclipse and Android Studio for Android DevelopmentComparison between Eclipse and Android Studio for Android Development
Comparison between Eclipse and Android Studio for Android Development
 
Os Koziarsky
Os KoziarskyOs Koziarsky
Os Koziarsky
 
プレゼンビフォアアフタ
プレゼンビフォアアフタプレゼンビフォアアフタ
プレゼンビフォアアフタ
 
Building a CI/CD Pipeline for PHP apps
Building a CI/CD Pipeline for PHP appsBuilding a CI/CD Pipeline for PHP apps
Building a CI/CD Pipeline for PHP apps
 
PHP And Silverlight - DevDays session
PHP And Silverlight - DevDays sessionPHP And Silverlight - DevDays session
PHP And Silverlight - DevDays session
 
Integration Testing Practice using Perl
Integration Testing Practice using PerlIntegration Testing Practice using Perl
Integration Testing Practice using Perl
 
Android – As a tool of innovation
Android – As a tool of innovation Android – As a tool of innovation
Android – As a tool of innovation
 
Android Studio vs. ADT
Android Studio vs. ADTAndroid Studio vs. ADT
Android Studio vs. ADT
 

Viewers also liked

SIEMENS, internship certificate
SIEMENS, internship certificateSIEMENS, internship certificate
SIEMENS, internship certificateShivaprasad Bhat
 
Siemens internship Certificate
Siemens internship CertificateSiemens internship Certificate
Siemens internship CertificateSOUMYA PANDA
 
Siemens EA ltd. Internship report
Siemens EA ltd. Internship reportSiemens EA ltd. Internship report
Siemens EA ltd. Internship reportPianca Gracias
 
CASE_STUDY ON SIEMENS COMPANY
CASE_STUDY ON SIEMENS COMPANYCASE_STUDY ON SIEMENS COMPANY
CASE_STUDY ON SIEMENS COMPANYDevansh Sharma
 
Summer internship project report
Summer internship project reportSummer internship project report
Summer internship project reportManish Singh
 
Slideshare Powerpoint presentation
Slideshare Powerpoint presentationSlideshare Powerpoint presentation
Slideshare Powerpoint presentationelliehood
 

Viewers also liked (11)

Siemens Project
Siemens ProjectSiemens Project
Siemens Project
 
saadi-siemens
saadi-siemenssaadi-siemens
saadi-siemens
 
Siemens
SiemensSiemens
Siemens
 
SIEMENS, internship certificate
SIEMENS, internship certificateSIEMENS, internship certificate
SIEMENS, internship certificate
 
Siemens internship 2011
Siemens internship 2011Siemens internship 2011
Siemens internship 2011
 
Siemens internship Certificate
Siemens internship CertificateSiemens internship Certificate
Siemens internship Certificate
 
Siemens EA ltd. Internship report
Siemens EA ltd. Internship reportSiemens EA ltd. Internship report
Siemens EA ltd. Internship report
 
Ntpc
NtpcNtpc
Ntpc
 
CASE_STUDY ON SIEMENS COMPANY
CASE_STUDY ON SIEMENS COMPANYCASE_STUDY ON SIEMENS COMPANY
CASE_STUDY ON SIEMENS COMPANY
 
Summer internship project report
Summer internship project reportSummer internship project report
Summer internship project report
 
Slideshare Powerpoint presentation
Slideshare Powerpoint presentationSlideshare Powerpoint presentation
Slideshare Powerpoint presentation
 

Similar to Workflow for Development, Release and Versioning with OSGi / bndtools- Real World Challenges - Dieter Bogdoll, Marian Grigoras

Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareRitwik Das
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentDevOps.com
 
Trying to Sell PVS-Studio to Google, or New Bugs in Chromium
Trying to Sell PVS-Studio to Google, or New Bugs in ChromiumTrying to Sell PVS-Studio to Google, or New Bugs in Chromium
Trying to Sell PVS-Studio to Google, or New Bugs in ChromiumAndrey Karpov
 
C# Production Debugging Made Easy
 C# Production Debugging Made Easy C# Production Debugging Made Easy
C# Production Debugging Made EasyAlon Fliess
 
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAmazon Web Services
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Microsoft
 
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?Niklas Heidloff
 
High Productivity Web Development Workflow
High Productivity Web Development WorkflowHigh Productivity Web Development Workflow
High Productivity Web Development WorkflowVũ Nguyễn
 
High productivity web development workflow - JavaScript Meetup Saigon 2014
High productivity web development workflow - JavaScript Meetup Saigon 2014High productivity web development workflow - JavaScript Meetup Saigon 2014
High productivity web development workflow - JavaScript Meetup Saigon 2014Oliver N
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development PipelineGlobalLogic Ukraine
 
Accelerating DevOps at the SF DevOps MeetUp
Accelerating DevOps at the SF DevOps MeetUpAccelerating DevOps at the SF DevOps MeetUp
Accelerating DevOps at the SF DevOps MeetUpjwi11iams
 
IBM Rational Rhapsody 8.3.1 install guide with Cygwin for Executable MBSE
IBM Rational Rhapsody 8.3.1 install guide with Cygwin for Executable MBSEIBM Rational Rhapsody 8.3.1 install guide with Cygwin for Executable MBSE
IBM Rational Rhapsody 8.3.1 install guide with Cygwin for Executable MBSEFraser Chadburn
 
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Ajeet Singh Raina
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcityMd Jawed
 
Create React Native App vs Expo vs Manually
Create React Native App vs Expo vs ManuallyCreate React Native App vs Expo vs Manually
Create React Native App vs Expo vs ManuallyEugene Zharkov
 
N api - node interactive 2017
N api - node interactive 2017N api - node interactive 2017
N api - node interactive 2017Michael Dawson
 
Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life DevOps.com
 
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with ConcourseContinuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with ConcourseVMware Tanzu
 

Similar to Workflow for Development, Release and Versioning with OSGi / bndtools- Real World Challenges - Dieter Bogdoll, Marian Grigoras (20)

Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech Software
 
Visual studio 2019 launch
Visual studio 2019 launch Visual studio 2019 launch
Visual studio 2019 launch
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
 
Trying to Sell PVS-Studio to Google, or New Bugs in Chromium
Trying to Sell PVS-Studio to Google, or New Bugs in ChromiumTrying to Sell PVS-Studio to Google, or New Bugs in Chromium
Trying to Sell PVS-Studio to Google, or New Bugs in Chromium
 
C# Production Debugging Made Easy
 C# Production Debugging Made Easy C# Production Debugging Made Easy
C# Production Debugging Made Easy
 
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck Talks
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
 
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?
 
High Productivity Web Development Workflow
High Productivity Web Development WorkflowHigh Productivity Web Development Workflow
High Productivity Web Development Workflow
 
High productivity web development workflow - JavaScript Meetup Saigon 2014
High productivity web development workflow - JavaScript Meetup Saigon 2014High productivity web development workflow - JavaScript Meetup Saigon 2014
High productivity web development workflow - JavaScript Meetup Saigon 2014
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
Accelerating DevOps at the SF DevOps MeetUp
Accelerating DevOps at the SF DevOps MeetUpAccelerating DevOps at the SF DevOps MeetUp
Accelerating DevOps at the SF DevOps MeetUp
 
IBM Rational Rhapsody 8.3.1 install guide with Cygwin for Executable MBSE
IBM Rational Rhapsody 8.3.1 install guide with Cygwin for Executable MBSEIBM Rational Rhapsody 8.3.1 install guide with Cygwin for Executable MBSE
IBM Rational Rhapsody 8.3.1 install guide with Cygwin for Executable MBSE
 
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
 
Android NDK
Android NDKAndroid NDK
Android NDK
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcity
 
Create React Native App vs Expo vs Manually
Create React Native App vs Expo vs ManuallyCreate React Native App vs Expo vs Manually
Create React Native App vs Expo vs Manually
 
N api - node interactive 2017
N api - node interactive 2017N api - node interactive 2017
N api - node interactive 2017
 
Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life
 
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with ConcourseContinuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
 

More from mfrancis

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...mfrancis
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)mfrancis
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)mfrancis
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruumfrancis
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...mfrancis
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...mfrancis
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...mfrancis
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)mfrancis
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...mfrancis
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...mfrancis
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...mfrancis
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)mfrancis
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)mfrancis
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)mfrancis
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...mfrancis
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...mfrancis
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)mfrancis
 

More from mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 

Recently uploaded

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Workflow for Development, Release and Versioning with OSGi / bndtools- Real World Challenges - Dieter Bogdoll, Marian Grigoras

  • 1. OSGi Community Event 2012 Dieter Bogdoll, Marian Grigoras Siemens AG, Corporate Technology Workflow for development, release and versioning with Real-world challenges Copyright © Siemens AG 2012. All rights reserved. Workflow for development, release and versioning with OSGi / bndtools
  • 2. Page 2 OSGi Workflow Who we are Research group within Siemens CorporateTechnology with diverse skills computer science mathematics physics mechanical engineering electrical engineering and diverse commitments with respect full time part time work students graduate students phd students © Siemens AG, Corporate Technology CorporateTechnology (~10 people) to development time
  • 3. Page 3 OSGi Workflow What we do Customer solutions (=Siemens business technologies (and other machine learning algorithms). Paperware doesn‘t cut it for our customers they want to have software prototypes Rapid prototyping (solution) and in parallel build up our frameworks and algorithm toolbox API backward compatibility not that relevant but need reproducibility of old projects © Siemens AG, Corporate Technology business units) based on neural network machine learning algorithms). customers prototypes or solutions Rapid prototyping (solution) and in parallel build up our frameworks and API backward compatibility not that relevant but need reproducibility of old projects
  • 4. Page 4 OSGi Workflow LibraryLibrary 1 Java with Eclipse Several SVN repositories Continuous Integration (Jenkins) to build, test and create deployable artifacts Software Landscape proj proj proj proj proj proj proj proj proj proj proj proj Solution 1 Solution 2 © Siemens AG, Corporate Technology Library 2 Continuous Integration (Jenkins) to build, test and create deployable proj proj proj proj proj proj proj proj proj proj proj proj Solution 2
  • 5. Page 5 OSGi Workflow Artifact for solution deployment common for all solutions: launcher solution specific configuration complete dependency tree of the solution Non-devs should be able to create a solution artifact with the latest code Creation of a solution artifact should happen on CI should be archived by CI © Siemens AG, Corporate Technology solution automate! should be able to create a solution artifact with the latest code
  • 6. Page 6 OSGi Workflow Requirements for a development workflow Enforced modularity Use CI to build, test and create artifacts ( Partial checkouts (import in eclipse only the project(s) we want to work on, dependencies should be automatically handled) Automatic build in eclipse… (easy to use for new team members) … and from the command line (mandatory for CI integration) Overview of module dependencies, e.g. what classes cause an import (using byte code inspection) Tool support for semantic versioning: correct semantic versioning needs manual validation, but tools should make a suggestion © Siemens AG, Corporate Technology Requirements for a development workflow Use CI to build, test and create artifacts (libs and solution artifacts) Partial checkouts (import in eclipse only the project(s) we want to work on, dependencies should be automatically handled) Automatic build in eclipse… (easy to use for new team members) … and from the command line (mandatory for CI integration) Overview of module dependencies, e.g. what classes cause an import Tool support for semantic versioning: correct semantic versioning needs manual validation, but tools should make a suggestion
  • 7. Page 7 OSGi Workflow OSGi / bnd / bndtools OSGi / bnd / bndtools promise to fulfill all requirements Goal: leverage OSGi services - start with modularity layer bnd generates the manifest.mf according to a no direct manual maintenance of the manifest.mf bndtools Eclipse plugin on top of bnd Ant tasks for command line / CI integration © Siemens AG, Corporate Technology promise to fulfill all requirements start with modularity layer according to a config file manifest.mf Ant tasks for command line / CI integration
  • 8. Page 8 OSGi Workflow The version keyword Meaning of version=latest in the bnd use dependency from workspace if available, otherwise from defined OBRs Example: ProjA depends on ProjB and ProjC OBRWorkspace Proj A* Proj B* A-1.0.0 B-1.0.0 C-1.0.0 Default, without ver=latest Dev expects to debug the workspace version without the need to deploy to an OBR © Siemens AG, Corporate Technology bnd configuration file: use dependency from workspace if available, otherwise from defined OBRs ProjC Workspace Proj A* OBR Proj B* A-1.0.0 B-1.0.0 C-1.0.0 ver=latest Dev expects to debug the workspace version without the need to deploy
  • 9. Page 9 OSGi Workflow Developer OBR (DevOBR) • OBR holding all bundles developed by the team, as they have been released for team use • contains only stable versions, no work • may include any number of older versions DevOBR location: • Local: in the workspace, checked out from SVN repository • Remote: accessed via http(s) • No DevOBR © Siemens AG, Corporate Technology OBR holding all bundles developed by the team, as they have been released contains only stable versions, no work-in-progress may include any number of older versions Local: in the workspace, checked out from SVN repository
  • 10. Page 10 OSGi Workflow No DevOBR • dependencies must come from source repository • dev working on ProjA must checkout sources of the whole dependency subtree of ProjA how do you know which dependencies to check out? dev works with latest (work-in-progress) sources of each lib in the dependency subtree almost impossible to reproduce the context of a particular build © Siemens AG, Corporate Technology dependencies must come from source repository must checkout sources of the whole dependency how do you know which dependencies to check out? progress) sources of each lib in the almost impossible to reproduce the context of a particular build
  • 11. Page 11 OSGi Workflow Local DevOBR • on new feature/bugfix, dev must release new bundle to local commit the changes to SVN all users need to manually update their local OBR copy deployment: resolving dependencies results in URLs specific to a developer machine => won’t work on another machine • dev must create the solution artifact locally • non-devs cannot do it too easy for dev to deploy to customer without committing and versioning the changes © Siemens AG, Corporate Technology , dev must release new bundle to local DevOBR and all users need to manually update their local OBR copy deployment: resolving dependencies results in URLs specific to a developer machine => won’t work on another machine dev must create the solution artifact locally too easy for dev to deploy to customer without committing and versioning
  • 12. Page 12 OSGi Workflow Remote DevOBR all artifacts in one place automatic use of newest released bundles read-only access for devs preferably only CI has write access into © Siemens AG, Corporate Technology automatic use of newest released bundles preferably only CI has write access into DevOBR
  • 13. Page 13 OSGi Workflow Force source commit to cause a new version bundle? several commits with the same bundle version bundle version 1.0.0 in HEAD means work large number of artifacts annoying for devs Semantic for commit without version bump: let CI check the current status (tests) © Siemens AG, Corporate Technology Force source commit to cause a new version bundle? several commits with the same bundle version bundle version 1.0.0 in HEAD means work-in-progress for next version Semantic for commit without version bump: let CI check the current status (tests)
  • 14. Page 14 OSGi Workflow Should DevOBR overwrite an existing bundle with the same version? source repo and DevOBR in sync default behaviour of bnd over time, multiple artifacts with the same bundle version © Siemens AG, Corporate Technology overwrite an existing bundle over time, multiple artifacts with the same bundle version
  • 15. Page 15 OSGi Workflow Recap: target development workflow Dev Workspace Dev WorkspaceDev Workspace SVN repository Continuous Integration Dev OBR 3rdParty OBR Manual updates © Siemens AG, Corporate Technology Recap: target development workflow • use version=latest • all checked out sources • other OBRs • src repo contains wip • CI builds / tests / pushes to DevOBR • remote read-only DevOBR • does NOT overwrite • CI can collect deployment artifacts 3rdParty OBR Manual updates
  • 16. Page 16 OSGi Workflow Typical development sequences Dev SVN wip commit no version bump A-1.0.0 A-1.0.1 release-for-team commit bump version © Siemens AG, Corporate Technology CI DevOBR A-1.0.0 build, test release Do NOT overwrite existing version build, test release Put A-1.0.1 in DevOBR
  • 17. Page 17 OSGi Workflow Conclusions • we like OSGi modularity • using bnd and bndtools feels like the right way to develop • for our target workflow we still need tool support for a few features • surprised there is no default workflow encompassing: dev, source repo, CI, OBR • would help new teams have an easier start, if the tool suggested (and supported) a default workflow process started at the © Siemens AG, Corporate Technology feels like the right way to develop OSGi for our target workflow we still need tool support for a few features surprised there is no default workflow encompassing: help new teams have an easier start, if the tool suggested (and process started at the bnd hackatron 2012
  • 18. Page 18 OSGi Workflow Thank you for your attention! Dieter Bogdoll email: dieter.bogdoll@siemens.com Siemens AG Corporate Technology © Siemens AG, Corporate Technology Marian Grigoras email: marian.grigoras@siemens.com