SlideShare ist ein Scribd-Unternehmen logo
1 von 90
Downloaden Sie, um offline zu lesen
OXID	ESHOP
OVERVIEW	OF	CHANGES	IN	V6
WHO?
Edvinas	Aleksejonokas	
Software	developer/architect	|	OXID	eSales	AG
SYSTEM
REQUIREMENTS
SYSTEM	REQUIREMENTS	|	WHAT?
PHP
Supported	versions:
5.6
7.0
No	encoders/loaders	required:
ZendGuard
IonCube
Composer
SYSTEM	REQUIREMENTS	|	WHAT?
MYSQL
Supported	versions:
5.5
5.6	(# )
5.7
79203
COMPOSER
COMPOSER	|	WHAT?
COMPOSER	|	WHAT?
NEW	REQUIREMENT
php	composer-setup.php
composer	install
COMPOSER	|	WHY?
BENEFITS	#1/5
Install	necessary	eShop	edition	(CE/PE/EE)
Install	necessary	OXID	components
Themes
Modules
Demodata
COMPOSER	|	WHY?
BENEFITS	#2/5
Install	necessary	3rd	party	components
doctrine/dbal
phpmailer
smarty
...
COMPOSER	|	WHY?
BENEFITS	#3/5
Provide	PSR-4	compatible	autoloader
Support	all	necessary	3rd	party	components
Support	new	eShop	core	namespaces:
OxidEsalesEshopCommunity
OxidEsalesEshopProfessional
OxidEsalesEshopEnterprise
COMPOSER	|	WHY?
BENEFITS	#4/5
Provide	comfortable	eShop	maintenance:
Install	fully	functional	eShop	(batteries	included)
Update	all	components	on-demand
COMPOSER	|	WHY?
BENEFITS	#5/5
For	project	developers:
Manage	custom/other	3rd	party	components
Define	additional	namespaces
Add	composer	scripts
COMPOSER	|	HOW?
INSTALL	ESHOP
composer	create-project	oxid-esales/oxideshop-project	
		<my_project_name>	dev-b-6.0-ce
COMPOSER	|	HOW?
ADD	3RD	PARTY	COMPONENT
composer	require	monolog/monolog
COMPOSER	|	HOW?
ADD	OXID	ESALES	MODULE/THEME
composer	require	oxid-esales/paypal-module
composer	require	oxid-esales/flow-theme
COMPOSER	|	HOW?
ADD	3RD	PARTY	MODULE/THEME
composer	require	vendor_name/module_name-module
composer	require	vendor_name/theme_name-theme
COMPOSER	|	HOW?
UPDATE	ALL	PROJECT	COMPONENTS
composer	update
COMPOSER	|	HOW?
UPDATE	ESHOP	CORE	ONLY
composer	update	oxid-esales/oxideshop-ce
COMPOSER	|	HOW?
UPDATE	ALL	ESHOP	COMPONENTS
composer	update	oxid-esales/oxideshop-metapackage-ce
COMPOSER	|	HOW?
DEFINE	CUSTOM	NAMESPACES
"autoload":	{
		"psr-4":	{
				"MyVendorMyPackage":	"./<path_to_src>/"
		}
},
COMPOSER	|	HOW?
DEFINE	YOUR	OWN	SCRIPTS
"scripts":	{
		"oe:views:regenerate":	"oe-eshop-facts	oe-eshop-db_views_regenerate",
		...
		"custom":	"<path_to_custom_script>"
},
COMPOSER	|	WHERE?
SINGLE	FILE
<project_root>/composer.json
COMPOSER	|	WHERE?
V5.3	DEPRECATED
<project_root>/source/modules/composer.json
COMPILATION
COMPILATION	|	WHAT?
EVERYTHING	INCLUDED	IN	ONE	PLACE
OXID	eShop	Core
OXID/3rd	party:
Modules
Themes
Components
COMPILATION	|	HOW?
METAPACKAGES
A	compilation	is	defined	by	meta-package:
oxideshop-metapackage-ce
oxideshop-metapackage-pe
oxideshop-metapackage-ee
COMPILATION	|	HOW?
USAGE
New:
composer	create-project	...
oxid-esales/oxideshop-project
Existing
<project_root>/source/modules/composer.json
composer	require	...
oxid-esales/oxideshop-metapackage-ce
COMPILATION	|	WHERE?
DISTRIBUTION	#1	(COMPOSER)
Packagist	( )
Public	service	for	public	packages
oxid-esales/oxideshop-ce
oxid-esales/paypal-module
oxid-esales/flow-theme
...
www.packagist.org
COMPILATION	|	WHERE?
DISTRIBUTION	#2	(COMPOSER)
Satis	( )
Internal	service	for	proprietary	packages
oxid-esales/oxideshop-ee
visualcms-module
...
packages.oxid-esales.com
COMPILATION	|	WHY?
EASY	TO	...
composer	install	/	create-project
Fully	functional	eShop	
composer	update
Migrate	to	new	major	version	of	eShop
Get	the	latest	patches	for	core	and	all	components
NAMESPACES
NAMESPACES	|	WHAT?
NEW	PSR-4	DEFINED	FOR	INTERNAL	CLASSES
OxidEsalesEshop	-	Virtual	Namespace
OxidEsalesEshopCommunity	-	CE
OxidEsalesEshopProfessional	-	PE
OxidEsalesEshopEnterprise	-	EE
NAMESPACES	|	HOW?
COMPOSER	AUTOLOADER
"autoload":	{
		"psr-4":	{
				"OxidEsalesEshopCommunity":	".../oxideshop-ce",
				"OxidEsalesEshopProfessional":	".../oxideshop-pe",
				"OxidEsalesEshopEnterprise":	".../oxideshop-ee",
		}
}
NAMESPACES	|	HOW?
BACKWARDS	COMPATIBLE	BY	CLASSMAP	#1
is	an	alias	to
oxNew('oxArticle');
oxNew(OxidEsalesEshopApplicationModelArticle::class);
NAMESPACES	|	HOW?
CLASSMAPS
Inside	ClassMap	file:
'oxbase'	=>	...CoreModelBaseModel::class,
'oxarticle'	=>	...ApplicationModelArticle::class,
'oxorder'		=>	...ApplicationModelOrder::class,
'details'	=>	...ApplicationControllerArticleDetailsController::class,
NAMESPACES	|	HOW?
CLEAR	NAMING	OF	SUPPER	CLASSES
oxSuperCfg	->	Base
oxView	->	BaseController
oxUBase	->	FrontendController
oxWidget	->	WidgetController
oxAdminView	->	AdminController
oxAdminDetail	->	AdminDetailsController
oxAdminList	->	AdminListController
oxBase	->	BaseModel
oxList	->	ListModel
oxI18n	->	MultiLanguageModel
NAMESPACES	|	HOW?
BACKWARDS	COMPATIBLE	BY	CLASSMAP	#2
Inside	of	metadata.php
is	same	as
		'oxorder'	=>	'<vendor>/<module_name>/models/order'
		OxidEsalesEshopApplicationModelOrder::class	=>
				'<vendor>/<module_name>/models/order'
EVEN	BETTER...
NAMESPACES	|	HOW?
BACKWARDS	COMPATIBLE	BY	CLASSMAP	#2
Inside	of	metadata.php
is	same	as
		'oxorder'	=>	'<vendor>/<module_name>/models/order'
		OxidEsalesEshopApplicationModelOrder::class	=>
		MyVendorMyModuleMyOrderClass::class
NAMESPACES	|	HOW?
USAGE	IN	MODULES
Create	composer.json	file	in	the	root	of	module
Define	namespace	in	use:
Use	composer	require	to	add	your	module
"autoload":	{
				"psr-4":	{
								"MyVendorMyModule":
										"../../../source/modules/myvendor/mymodule"
				}
}
NAMESPACES	|	WHY?
GENERAL
De-facto	standard	to	manage	hierarchy	of	classes
Helped	to	separate	eShop	editions	in	a	clean	way
No	need	to	maintain	custom	auto-loader
Gain	performance
No	need	to	scan	files	on	every	oxNew	call
NAMESPACES	|	WHY?
VIRTUAL	NAMESPACE
OxidEsalesEshop	
Introduced	for	convenience
Maps	current	active	eShop	edition	namespace
DATABASE
DATABASE	|	TOPICS
DBAL
InnoDB
Migration
MySQL	5.7
UTF-8
DBAL
DATABASE	|	DBAL	|	WHAT?
NEW	DATABASE	ABSTRACTION	LAYER
ADOdb	lite
doctrine/dbal	v2.5.4
ORM	excluded!
DATABASE	|	DBAL	|	HOW?
UPDATED	CLASSES
OxidEsalesEshopCommunityCore:
DatabaseProvider	(oxDb)
DatabaseAdapterDatabaseInterface
DatabaseAdapterDoctrineDatabase
DATABASE	|	DBAL	|	HOW?
USAGE
DatabaseProvider::getDb()
returns	DatabaseInterface:
getOne,	getRow,	getCol,	getAll
select,	selectLimit
execute
quote,	quoteArray
startTransaction
commitTransaction
rollbackTransaction
DATABASE	|	DBAL	|	HOW?
SELECT	VS	EXECUTE
DATABASE	|	DBAL	|	WHY?
ADOdb	lite
Doctrine	DBAL
Popular	and	actively	maintained
Allows	to	switch	to	different	database	engine
We	like	to	have	options!
INNODB
DATABASE	|	INNODB	|	WHAT?
SWITCH	TO	INNODB
All	tables	have	been	converted	to	InnoDB
DATABASE	|	INNODB	|	HOW?
NO	FULL-TEXT	SEARCH	LEFT
Migration	to	InnoDB
Removed	all	places	in	code	which	required	full-text
search
e.g.	tags	was	extracted	in	separate	module
Updated	queries	to	use	explicit	sorting
DATABASE	|	INNODB	|	WHY?
NEW	POSSIBILITIES
Use	transactions	for	all	tables
Row-level	locking
Master-master	replication	model
Linear	write	scale
e.g.	Galera	cluster
MIGRATIONS
DATABASE	|	MIGRATIONS	|	WHAT?
Migration	-	Special	SQL	file	to	automatically	update
database	
doctrine/migrations
DATABASE	|	MIGRATIONS	|	HOW?
EXECUTION
composer	oe:migration:run
DATABASE	|	MIGRATIONS	|	HOW?
CREATION
MIGRATION_SUITE=<SUITE_NAME>		
composer	oe:migration:new
CE
PE
EE
PROJECT
DATABASE	|	MIGRATIONS	|	WHY?
EASE	OF	USE
Automate	manual	work
Ability	to	migrate	from	CE/PE	and	PE/EE
Upgrade	eShop
Allow	project	developers	to	easily	apply	database
changes
MYSQL	5.7
DATABASE	|	MYSQL	5.7	|	WHAT?
ESHOP	V6	IS	MYSQL	5.7	FRIENDLY
DATABASE	|	MYSQL	5.7	|	HOW?
CHANGE	QUERIES
Our	acceptance	test	suite	showed	problematic	places
Queries	were	updated	to	restore	original	behavior
DATABASE	|	MYSQL	5.7	|	WHY?
KEEP	UP	WITH	HOSTING	PROVIDERS
Interest	from	our	clients
Be	compatible	with	hosting	providers
Benefit	from	optimization	&	performance	gains
UTF-8
DATABASE	|	UTF-8	|	WHAT?
UTF-8	ONLY
DATABASE	|	UTF-8	|	WHY?
MULTI-LANGUAGE	SUPPORT
Support	multiple	languages	in	one	database
Backwards	compatible	with	ASCII
No	noticeable	performance	penalty
DATABASE
FEW	MORE	NOTES
Master/slave	handling	was	changed
Possible	to	use	nested	transactions
oxDb	->	3	method	were	removed
EXTRACTED	MODULES
EXTRACTED	MODULES	|	WHAT?
LIST	OF	REPOSITORIES
https://github.com/OXID-eSales:
lexware_export_module
extended_order_administration_module
statistics_module
captcha_module
guestbook_module
facebook_module
pdf_invoice_module
tags_module
EXTRACTED	MODULES	|	WHAT?
LIST	OF	3RD	PARTY	MODULES
Trusted	shops
EXTRACTED	MODULES	|	WHY?
STREAMLINE	ESHOP	CORE
Remove	hard	dependencies	on	non-essentials	items
Update	extracted	modules	on-demand
No	need	to	wait	for	eShop	update
BACKWARDS
COMPATIBILITY
BC	|	WHAT?
Besides	extracted	code	into	modules
There	are	no	more	BC	breaks	for	existing	modules!
BC	|	WHY?
BECAUSE	WE	DO	CARE!
NOTES
VM
Our	VM	has	been	updated	to	work	with	V6	out-of-the-box
PHP	upgraded	to	5.6
For	5.3	version	-	few	notes	in	readme
DOCUMENTATION
	
Short	link:	
http://oxid-eshop-developer-
documentation.readthedocs.io/en/latest/
http://tinyurl.com/oxid-dev-doc
SUMMARY
SUMMARY
New	requirements
Composer	integration
Compilation
Namespaces
Class	names,	classmap,	usage	in	modules
Database	changes
Doctrine,	InnoDB,	Migrations,	MySQL	5.7
Extracted	Modules
Backwards	compatibility
VM	&	Documentation
DETAILED	TALKS
DETAILED	TALKS
Composer	role	in	OXID	eShop	6.0
Mantas	Vaitkūnas	(EN)	
Update	to	eShop	6.0	-	What	do	I	have	to	watch	out	for?
Gregor	Hyneck	(DE/EN)	
The	new	database	handling	in	OXID	eShop	v6.0
Robert	Blank	(DE/EN)
ONE	MORE	THING...
DOCKER	|	WHAT?
PROTOTYPE
Each	component	has	it's	own	container
Majority	being	from	original	vendors
Each	tool	can	be	used	as	an	ad-hoc	command
OXID	eShop	as	data	volume
Download	existing/configured	eShop
DOCKER	|	WHY?
MANY	REASONS...
Small	footprint
Blazing	fast!
Developer	friendly
Docker	for	Mac
Docker	for	Windows
Ability	to	use	Cloud	services
Mobility
Helps	to	automate	things
...
DOCKER	|	WHEN?	WHERE?
December
Blog	post
New	github	repositories
DOCKER	|	DEMO
QUESTIONS?
THANK	YOU!

Weitere ähnliche Inhalte

Ähnlich wie OXID eShop V6 changes overview

Ähnlich wie OXID eShop V6 changes overview (20)

An Overview of the IHK/McKernel Multi-kernel Operating System
An Overview of the IHK/McKernel Multi-kernel Operating SystemAn Overview of the IHK/McKernel Multi-kernel Operating System
An Overview of the IHK/McKernel Multi-kernel Operating System
 
Implementing a UEFI BIOS into an Embedded System
Implementing a UEFI BIOS into an Embedded SystemImplementing a UEFI BIOS into an Embedded System
Implementing a UEFI BIOS into an Embedded System
 
IBM Power Systems Announcement Update
IBM Power Systems Announcement UpdateIBM Power Systems Announcement Update
IBM Power Systems Announcement Update
 
ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bits
 
How do I securely deploy Internet websites in PHP on my IBMi?
How do I securely deploy Internet websites in PHP on my IBMi?How do I securely deploy Internet websites in PHP on my IBMi?
How do I securely deploy Internet websites in PHP on my IBMi?
 
.NET framework vs .net core 3.1 commons &amp; differences
 .NET framework vs .net core 3.1  commons &amp; differences .NET framework vs .net core 3.1  commons &amp; differences
.NET framework vs .net core 3.1 commons &amp; differences
 
[Android Codefest Germany] Adding x86 target to your Android app by Xavier Ha...
[Android Codefest Germany] Adding x86 target to your Android app by Xavier Ha...[Android Codefest Germany] Adding x86 target to your Android app by Xavier Ha...
[Android Codefest Germany] Adding x86 target to your Android app by Xavier Ha...
 
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
 
Rational Rhapsody 8.3 with Cygwin and iFixes (www.executablembse.com)
Rational Rhapsody 8.3 with Cygwin and iFixes (www.executablembse.com)Rational Rhapsody 8.3 with Cygwin and iFixes (www.executablembse.com)
Rational Rhapsody 8.3 with Cygwin and iFixes (www.executablembse.com)
 
Eclipse Plugin for ESP-IDF - EclipseCon Europe 2019
Eclipse Plugin for ESP-IDF -  EclipseCon Europe 2019Eclipse Plugin for ESP-IDF -  EclipseCon Europe 2019
Eclipse Plugin for ESP-IDF - EclipseCon Europe 2019
 
Improve your Java Environment with Docker
Improve your Java Environment with DockerImprove your Java Environment with Docker
Improve your Java Environment with Docker
 
How To Start Up With PHP In IBM i
How To Start Up With PHP In IBM iHow To Start Up With PHP In IBM i
How To Start Up With PHP In IBM i
 
How To Start Up With Php In Ibm I
How To Start Up With Php In Ibm IHow To Start Up With Php In Ibm I
How To Start Up With Php In Ibm I
 
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
 
Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥
Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥
Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥
 
Advancing OpenFabrics Interfaces
Advancing OpenFabrics InterfacesAdvancing OpenFabrics Interfaces
Advancing OpenFabrics Interfaces
 
IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...
IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...
IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...
 
Bkk16 309B Enterprise Firmware - The gold standard and how to get there
Bkk16 309B Enterprise Firmware - The gold standard and how to get thereBkk16 309B Enterprise Firmware - The gold standard and how to get there
Bkk16 309B Enterprise Firmware - The gold standard and how to get there
 
BKK16-309A Open Platform support in UEFI
BKK16-309A Open Platform support in UEFIBKK16-309A Open Platform support in UEFI
BKK16-309A Open Platform support in UEFI
 
Upgrade to IBM z/OS V2.5 Planning
Upgrade to IBM z/OS V2.5 PlanningUpgrade to IBM z/OS V2.5 Planning
Upgrade to IBM z/OS V2.5 Planning
 

Kürzlich hochgeladen

AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
Alluxio, Inc.
 

Kürzlich hochgeladen (20)

Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdf
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 
AI Hackathon.pptx
AI                        Hackathon.pptxAI                        Hackathon.pptx
AI Hackathon.pptx
 
What need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersWhat need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java Developers
 
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
 
Crafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationCrafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM Integration
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning Framework
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
SQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionSQL Injection Introduction and Prevention
SQL Injection Introduction and Prevention
 
Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
 
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfThe Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
 

OXID eShop V6 changes overview