SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Component	Based
Software	Development
Diego	Cardozo
	
	github.com/diegocard
Agenda
1.	 Motivation
2.	 ¿What	is	CBSD?
3.	 Components	vs	Objects
4.	 Well	known	applications
5.	 ¿How	do	CMSs	fit	in?
6.	 Applying	thseconcepts
WebMatrix
OrchardCMS
Warning:	this	talk	is	about	Software	Engineering
Motivation	(1)
If	GM	had	kept	up	with	technology	like	the
computer	industry	has,	we	would	all	be
driving	$25.00	cars	that	got	1,000	miles
to	the	gallon.
Motivation	(2)
But	you	would...	
Crash	at	least	2	times	a	day
Have	to	buy	a	new	car	every	time	a	new
traffic	signal	is	installed
Have	to	learn	to	drive	again	every	time
you	buy	a	new	model
¿Conclusion?
Other	industries	follow	different	approaches
They	get	very	good	results	in	areas	were	we	don't.
Car	industry:	agile	process,	complex	product	that	is
built	rapidly.
Construction	industry:	much	higher	cost	associated
to	change,	but	they	anticipate	it	better.
¿What	do	other	industries	have	in
common?
They	work	using	components
Higher	re-use	rate
Simplifies	testing
Simplifies	maintenance
Better	overall	quality
Components	developed	by	third	parties
Shorter	development	cycle
Better	ROI
¿What	is	a	SW	component?
"A	software	component	is	a	unit	of	composition	with
contractually	specified	interface	and	explicit	context
dependencies	only.	
A	software	component	can	be	deployed	independently	and	is
subject	to	composition	by	third	parts."
Szyperski,	2002
7	Criteria
1.	 Can	be	used	by	other	SW	components
2.	 Can	be	used	by	others	without	the	intervention	of	the	
authoring	developer	(Like	CMS).
3.	 Includes	specifications	for	all	of	its	dependencies.
4.	 Includes	documentation	of	all	the	offered	functionalities.
5.	 Its	behavior	can	be	understood	from	its	specifications.
6.	 Can	be	coupled	to	other	components.
7.	 Can	be	incorporated	to	a	SW	system	rapidly	and	smoothly.
Disadvantages
Clairvoyance:	design	a	component	without	knowledge
of	its	final	user.
Customization:			it	is	hard	to	customize	a	component
without	access	to	its	implementation.
Lack	of	support:	once	a	component	is	created	and	sealed,
¿who	maintains	it	and	how?
Objects	vs	Components
Object Component
Polymorphism Yes No
Instantiation Late As	late	as	possible
Encapsulation Sort	of Real	and	enforced
Inheritance Si Interface	inheritance	and
binary	reuse
Well	known	applications
Low	level:	COM	(Component	Object	Model)
Process	communication	in	different	languages
.NET	precursor
CORBA
Standard	created	by	OMG
Widely	used	in	the	Java	world
Other	applications
Programming	for	graphic	design
Painter	model	(1)
Painter	model	(2)
There	are	2	techniques	to	create	images
One	of	them	is	the	painter	model
You	take	an	element	(brush,	pencil)	and	use	it	to
create	images	from	scratch.
Free	strokes	are	used.
Natural	approach.
I	believe	it	is	the	perfect	analogy	for	how	we
develop	software. 	
1.	 We	begin	with	a	blank	page.
2.	 Imagine	the	product	as	if	it	were	finished.
3.	 Implement	the	solution	line	by	line.
Composition	model	(1)
Composition	model	(2)
It	is	about	creating	images	from	existing	elements.
Example:	mosaic
Example:	draw	a	chess	board.
I	believe	this	is	the	approach	we	must	follow	when
creating	software. 	
1.	 Take	known	and	well	defined	elements.
2.	 Put	them	together	in	a	smart	way.
3.	 Create	only	the	missing	components.
There	is	an	enormous	amount	of	existing	components
in	the	world	of	software.
Painter	vs	composition
One	method	can	be	faster	than	the	other,	depending	on
the	type	of	image	involved.
Also	consider	which	one	achieves	a	better	result.
Nevertheless,	I	believe	that	most	problems	in	the
software	world	adjust	better	to	the	composition
model.
Enough	philosophy...
Concrete	example:
Create	a	website	for	the	Uruguayan	.NET	community
Include	a	forum
¿Why	use	a	CMS?
They	are	fundamentally	based	around	CBSD.
Both	structure	and	content	are	treated	as	components
Pages,	images,	posts,	widgets,	modules,	etc.
Huge	community	and	component	catalog	available.
Microsoft	WebMatrix	(1)
Free	development	environment	by	Microsoft
Lightweight:	40MB	out	of	the	box	compared	to
several	GB	from	Visual	Studio
Designed	for	the	cloud
Handles	many	languages	and	frameworks
ASP.NET
PHP
Node.js
Integrates	with	con	GIT	and	TFS
Microsoft	WebMatrix	(2)
Visual	Studio	feels	like	a	laboratory	for	creating	software
WebMatrix	is	ideal	for	DSBC
Provides	components:
Framework	gallery
Incorporates	NuGet	package	manager
Useful	extensions
Isolates	framework	from	components
OrchardCMS	(1)
Completely	Open	Source
Rapid	growth
MVC	Architecture
This	means	that	all	components	follow	a	MVC	architecture.
Creating	new	components	is	simple
Components	are	easy	tounderstand	and	extend
Orchard	CMS	(2)
Components
Content
Module
Features
Themes
Templates
Shapes
Widgets
Users,	roles,	permissions
Resources
Slides	and	code:
github.com/diegocard/CBSD-presentation
CBSD	in	MSDN	(spanish):
http://msdn.microsoft.com/es-
es/library/bb972268.aspx#ref07back
Great	related	presentation	(spanish):	
http://www.slideshare.net/ulicruz/desarrollo-de-
software-basado-en-componentes
Paper
Component-Based	Software	Engineering	–	New
Paradigm	of	Software	Development	(Crnkovic,	Larsson)
The	end
"It	has	been	a	long	time	in	coming,	but	the	Industrial
Revolution	of	software	is	finally	upon	us.	Specialization	of
resources,	standards	for	interchangeable	parts,	and
streamlined	assembly	tools	have	been	used	in	other
industries	for	hundreds	of	years	to	speed	the	development	of
highly	complex	products.	
Despite	their	ubiquity,	application	of	these	concepts	to	the
modern	software	industry	is	just	beginning.."
Bill	Gates,	1997

Contenu connexe

Tendances

Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Chandan Thakur
 
Component Based Testing Using Finite Automata
Component Based Testing Using Finite AutomataComponent Based Testing Using Finite Automata
Component Based Testing Using Finite AutomataSanjoy Kumar Das
 
An Analysis of Component-based Software Development -Maximize the reuse of ex...
An Analysis of Component-based Software Development -Maximize the reuse of ex...An Analysis of Component-based Software Development -Maximize the reuse of ex...
An Analysis of Component-based Software Development -Maximize the reuse of ex...Mohammad Salah uddin
 
Software component reuse repository
Software component reuse repositorySoftware component reuse repository
Software component reuse repositorySandeep Singh
 
The benefits of software reuse
The benefits of software reuseThe benefits of software reuse
The benefits of software reuseEntando
 
Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...Nikolay Grozev
 
A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...Nikolay Grozev
 
A cost model for software reuse
A cost model for software reuseA cost model for software reuse
A cost model for software reuseasas402
 
COCOMO model | How to calculate effort, staffing and Duration of Project
COCOMO model | How to calculate effort, staffing and Duration of ProjectCOCOMO model | How to calculate effort, staffing and Duration of Project
COCOMO model | How to calculate effort, staffing and Duration of ProjectNavjyotsinh Jadeja
 
Software Engineering I
Software Engineering ISoftware Engineering I
Software Engineering Ialamzeb123
 
Engineering Software Products: 8. Reliable programming
Engineering Software Products: 8. Reliable programmingEngineering Software Products: 8. Reliable programming
Engineering Software Products: 8. Reliable programmingsoftware-engineering-book
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product lineMajong DevJfu
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineeringSelf-employed
 
Model Driven, Component Based Development for CBDDS and IDL to C++11
Model Driven, Component Based Development for CBDDS and IDL to C++11Model Driven, Component Based Development for CBDDS and IDL to C++11
Model Driven, Component Based Development for CBDDS and IDL to C++11Remedy IT
 
Engineering Software Products: 6. microservices architecture
Engineering Software Products: 6. microservices architectureEngineering Software Products: 6. microservices architecture
Engineering Software Products: 6. microservices architecturesoftware-engineering-book
 

Tendances (20)

Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)
 
Component Based Testing Using Finite Automata
Component Based Testing Using Finite AutomataComponent Based Testing Using Finite Automata
Component Based Testing Using Finite Automata
 
An Analysis of Component-based Software Development -Maximize the reuse of ex...
An Analysis of Component-based Software Development -Maximize the reuse of ex...An Analysis of Component-based Software Development -Maximize the reuse of ex...
An Analysis of Component-based Software Development -Maximize the reuse of ex...
 
Software resuse
Software  resuseSoftware  resuse
Software resuse
 
Component based design
Component based designComponent based design
Component based design
 
Software component reuse repository
Software component reuse repositorySoftware component reuse repository
Software component reuse repository
 
The benefits of software reuse
The benefits of software reuseThe benefits of software reuse
The benefits of software reuse
 
Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...
 
Software Reuse
Software ReuseSoftware Reuse
Software Reuse
 
A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...
 
A cost model for software reuse
A cost model for software reuseA cost model for software reuse
A cost model for software reuse
 
COCOMO model | How to calculate effort, staffing and Duration of Project
COCOMO model | How to calculate effort, staffing and Duration of ProjectCOCOMO model | How to calculate effort, staffing and Duration of Project
COCOMO model | How to calculate effort, staffing and Duration of Project
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Software Engineering I
Software Engineering ISoftware Engineering I
Software Engineering I
 
Engineering Software Products: 8. Reliable programming
Engineering Software Products: 8. Reliable programmingEngineering Software Products: 8. Reliable programming
Engineering Software Products: 8. Reliable programming
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product line
 
Software reengineering
Software reengineeringSoftware reengineering
Software reengineering
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Model Driven, Component Based Development for CBDDS and IDL to C++11
Model Driven, Component Based Development for CBDDS and IDL to C++11Model Driven, Component Based Development for CBDDS and IDL to C++11
Model Driven, Component Based Development for CBDDS and IDL to C++11
 
Engineering Software Products: 6. microservices architecture
Engineering Software Products: 6. microservices architectureEngineering Software Products: 6. microservices architecture
Engineering Software Products: 6. microservices architecture
 

En vedette

Component Based Development
Component Based DevelopmentComponent Based Development
Component Based DevelopmentBen McCormick
 
Software Engg. process models
Software Engg. process modelsSoftware Engg. process models
Software Engg. process modelsTauseef Ahmad
 
software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...Ashok Mohanty
 
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...Ivica Crnkovic
 
Software Engineering - Ch2
Software Engineering - Ch2Software Engineering - Ch2
Software Engineering - Ch2Siddharth Ayer
 
Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1Siddharth Ayer
 
Lecture 4 software process model (2)
Lecture 4   software process model (2)Lecture 4   software process model (2)
Lecture 4 software process model (2)IIUI
 
The Nature and Meaning of Development by APS
The Nature and Meaning  of  Development by APSThe Nature and Meaning  of  Development by APS
The Nature and Meaning of Development by APSJo Balucanag - Bitonio
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principlessaurabhshertukde
 

En vedette (18)

Component Based Development
Component Based DevelopmentComponent Based Development
Component Based Development
 
Ch16 component based software engineering
Ch16 component based software engineeringCh16 component based software engineering
Ch16 component based software engineering
 
Unified process
Unified processUnified process
Unified process
 
Software Engg. process models
Software Engg. process modelsSoftware Engg. process models
Software Engg. process models
 
software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...
 
Ch15 software reuse
Ch15 software reuseCh15 software reuse
Ch15 software reuse
 
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
 
Software Engineering - Ch2
Software Engineering - Ch2Software Engineering - Ch2
Software Engineering - Ch2
 
Procedural programming
Procedural programmingProcedural programming
Procedural programming
 
Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1
 
Lecture 4 software process model (2)
Lecture 4   software process model (2)Lecture 4   software process model (2)
Lecture 4 software process model (2)
 
Process Models IN software Engineering
Process Models IN software EngineeringProcess Models IN software Engineering
Process Models IN software Engineering
 
The Nature and Meaning of Development by APS
The Nature and Meaning  of  Development by APSThe Nature and Meaning  of  Development by APS
The Nature and Meaning of Development by APS
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Introduction to RUP & SPEM
Introduction to RUP & SPEMIntroduction to RUP & SPEM
Introduction to RUP & SPEM
 
Introduction & Manual Testing
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
 
Requirement Analysis - Software Enigneering
Requirement Analysis - Software EnigneeringRequirement Analysis - Software Enigneering
Requirement Analysis - Software Enigneering
 

Similaire à Component Based Software Development

Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...Kiko Monteverde
 
How dvcs can reduce your development costs and enhance productivity final
How dvcs can reduce your development costs and enhance productivity finalHow dvcs can reduce your development costs and enhance productivity final
How dvcs can reduce your development costs and enhance productivity finalpsluaces
 
Clone Clone Make: a better way to build
Clone Clone Make: a better way to buildClone Clone Make: a better way to build
Clone Clone Make: a better way to buildDanHeidinga
 
Production management
Production managementProduction management
Production managementsmumbahelp
 
Journey from Monolith to a Modularized Application - Approach and Key Learnin...
Journey from Monolith to a Modularized Application - Approach and Key Learnin...Journey from Monolith to a Modularized Application - Approach and Key Learnin...
Journey from Monolith to a Modularized Application - Approach and Key Learnin...mfrancis
 
Project Poster_grid_select
Project Poster_grid_selectProject Poster_grid_select
Project Poster_grid_selectTom Jones
 
SYN328: Learn why AppDNA should be a part of every consultant’s toolkit
SYN328: Learn why AppDNA should be a part of every consultant’s toolkitSYN328: Learn why AppDNA should be a part of every consultant’s toolkit
SYN328: Learn why AppDNA should be a part of every consultant’s toolkitJeremy Saunders
 
Cloud Computing Design Best Practices
Cloud Computing Design Best PracticesCloud Computing Design Best Practices
Cloud Computing Design Best PracticesMoshe Kaplan
 
Security Architecture for Cyber Physical Systems
Security Architecture for Cyber Physical SystemsSecurity Architecture for Cyber Physical Systems
Security Architecture for Cyber Physical SystemsAlan Tatourian
 
10 myths of cfd
10 myths of cfd10 myths of cfd
10 myths of cfdAaron Rdgz
 
Do modernizing the Mainframe for DevOps.
Do modernizing the Mainframe for DevOps.Do modernizing the Mainframe for DevOps.
Do modernizing the Mainframe for DevOps.Massimo Talia
 
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...NRB
 
Oris4 white paper ecm and the cloud
Oris4 white paper ecm and the cloudOris4 white paper ecm and the cloud
Oris4 white paper ecm and the cloudJim Robins
 
Emerging Trends in Software Development-Aug-2019
Emerging Trends in Software Development-Aug-2019Emerging Trends in Software Development-Aug-2019
Emerging Trends in Software Development-Aug-2019Nevill Nguyen
 
Karen Forster Top 10 IT Costs
Karen Forster Top 10 IT CostsKaren Forster Top 10 IT Costs
Karen Forster Top 10 IT Costspvjeff
 

Similaire à Component Based Software Development (20)

Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
 
How dvcs can reduce your development costs and enhance productivity final
How dvcs can reduce your development costs and enhance productivity finalHow dvcs can reduce your development costs and enhance productivity final
How dvcs can reduce your development costs and enhance productivity final
 
Clone Clone Make: a better way to build
Clone Clone Make: a better way to buildClone Clone Make: a better way to build
Clone Clone Make: a better way to build
 
It for management 1
It for management 1It for management 1
It for management 1
 
Production management
Production managementProduction management
Production management
 
Journey from Monolith to a Modularized Application - Approach and Key Learnin...
Journey from Monolith to a Modularized Application - Approach and Key Learnin...Journey from Monolith to a Modularized Application - Approach and Key Learnin...
Journey from Monolith to a Modularized Application - Approach and Key Learnin...
 
Project Poster_grid_select
Project Poster_grid_selectProject Poster_grid_select
Project Poster_grid_select
 
SYN328: Learn why AppDNA should be a part of every consultant’s toolkit
SYN328: Learn why AppDNA should be a part of every consultant’s toolkitSYN328: Learn why AppDNA should be a part of every consultant’s toolkit
SYN328: Learn why AppDNA should be a part of every consultant’s toolkit
 
Cloud Computing Design Best Practices
Cloud Computing Design Best PracticesCloud Computing Design Best Practices
Cloud Computing Design Best Practices
 
Security Architecture for Cyber Physical Systems
Security Architecture for Cyber Physical SystemsSecurity Architecture for Cyber Physical Systems
Security Architecture for Cyber Physical Systems
 
10 myths of cfd
10 myths of cfd10 myths of cfd
10 myths of cfd
 
IBM Z for the Digital Enterprise 2018 - Z Keynote
IBM Z for the Digital Enterprise 2018 - Z KeynoteIBM Z for the Digital Enterprise 2018 - Z Keynote
IBM Z for the Digital Enterprise 2018 - Z Keynote
 
Issue2 06 2008
Issue2 06 2008Issue2 06 2008
Issue2 06 2008
 
Do modernizing the Mainframe for DevOps.
Do modernizing the Mainframe for DevOps.Do modernizing the Mainframe for DevOps.
Do modernizing the Mainframe for DevOps.
 
Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
 
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
 
Oris4 white paper ecm and the cloud
Oris4 white paper ecm and the cloudOris4 white paper ecm and the cloud
Oris4 white paper ecm and the cloud
 
Emerging Trends in Software Development-Aug-2019
Emerging Trends in Software Development-Aug-2019Emerging Trends in Software Development-Aug-2019
Emerging Trends in Software Development-Aug-2019
 
The road to green code
The road to green codeThe road to green code
The road to green code
 
Karen Forster Top 10 IT Costs
Karen Forster Top 10 IT CostsKaren Forster Top 10 IT Costs
Karen Forster Top 10 IT Costs
 

Plus de Diego Cardozo

El proximo billon de usuarios
El proximo billon de usuariosEl proximo billon de usuarios
El proximo billon de usuariosDiego Cardozo
 
The next billion users
The next billion usersThe next billion users
The next billion usersDiego Cardozo
 
Troubleshooting Ecommerce Performance
 Troubleshooting Ecommerce Performance Troubleshooting Ecommerce Performance
Troubleshooting Ecommerce PerformanceDiego Cardozo
 
Cranking It Up - SuiteWorld 2017
Cranking It Up  - SuiteWorld 2017Cranking It Up  - SuiteWorld 2017
Cranking It Up - SuiteWorld 2017Diego Cardozo
 
Speed Thrills - Suiteworld 2016
Speed Thrills - Suiteworld 2016Speed Thrills - Suiteworld 2016
Speed Thrills - Suiteworld 2016Diego Cardozo
 
Performance in the cloud
Performance in the cloudPerformance in the cloud
Performance in the cloudDiego Cardozo
 
Cómo testear performance sin morir en el intento
Cómo testear performance sin morir en el intentoCómo testear performance sin morir en el intento
Cómo testear performance sin morir en el intentoDiego Cardozo
 
Optimize performance and not die trying
Optimize performance and not die tryingOptimize performance and not die trying
Optimize performance and not die tryingDiego Cardozo
 
Optimizar performance sin morir en el intento
Optimizar performance sin morir en el intentoOptimizar performance sin morir en el intento
Optimizar performance sin morir en el intentoDiego Cardozo
 
How to test performance and not die trying
How to test performance and not die tryingHow to test performance and not die trying
How to test performance and not die tryingDiego Cardozo
 
Testeando performance sin morir en el intento
Testeando performance sin morir en el intentoTesteando performance sin morir en el intento
Testeando performance sin morir en el intentoDiego Cardozo
 
Organización de aplicaciones web con Backbone.js
Organización de aplicaciones web con Backbone.jsOrganización de aplicaciones web con Backbone.js
Organización de aplicaciones web con Backbone.jsDiego Cardozo
 
Structuring web applications with Backbone.js
Structuring web applications with Backbone.jsStructuring web applications with Backbone.js
Structuring web applications with Backbone.jsDiego Cardozo
 
Desarrollo de Software Basado en Componentes
Desarrollo de Software Basado en ComponentesDesarrollo de Software Basado en Componentes
Desarrollo de Software Basado en ComponentesDiego Cardozo
 
Single page applications
Single page applicationsSingle page applications
Single page applicationsDiego Cardozo
 
Single Page Applications
Single Page ApplicationsSingle Page Applications
Single Page ApplicationsDiego Cardozo
 

Plus de Diego Cardozo (16)

El proximo billon de usuarios
El proximo billon de usuariosEl proximo billon de usuarios
El proximo billon de usuarios
 
The next billion users
The next billion usersThe next billion users
The next billion users
 
Troubleshooting Ecommerce Performance
 Troubleshooting Ecommerce Performance Troubleshooting Ecommerce Performance
Troubleshooting Ecommerce Performance
 
Cranking It Up - SuiteWorld 2017
Cranking It Up  - SuiteWorld 2017Cranking It Up  - SuiteWorld 2017
Cranking It Up - SuiteWorld 2017
 
Speed Thrills - Suiteworld 2016
Speed Thrills - Suiteworld 2016Speed Thrills - Suiteworld 2016
Speed Thrills - Suiteworld 2016
 
Performance in the cloud
Performance in the cloudPerformance in the cloud
Performance in the cloud
 
Cómo testear performance sin morir en el intento
Cómo testear performance sin morir en el intentoCómo testear performance sin morir en el intento
Cómo testear performance sin morir en el intento
 
Optimize performance and not die trying
Optimize performance and not die tryingOptimize performance and not die trying
Optimize performance and not die trying
 
Optimizar performance sin morir en el intento
Optimizar performance sin morir en el intentoOptimizar performance sin morir en el intento
Optimizar performance sin morir en el intento
 
How to test performance and not die trying
How to test performance and not die tryingHow to test performance and not die trying
How to test performance and not die trying
 
Testeando performance sin morir en el intento
Testeando performance sin morir en el intentoTesteando performance sin morir en el intento
Testeando performance sin morir en el intento
 
Organización de aplicaciones web con Backbone.js
Organización de aplicaciones web con Backbone.jsOrganización de aplicaciones web con Backbone.js
Organización de aplicaciones web con Backbone.js
 
Structuring web applications with Backbone.js
Structuring web applications with Backbone.jsStructuring web applications with Backbone.js
Structuring web applications with Backbone.js
 
Desarrollo de Software Basado en Componentes
Desarrollo de Software Basado en ComponentesDesarrollo de Software Basado en Componentes
Desarrollo de Software Basado en Componentes
 
Single page applications
Single page applicationsSingle page applications
Single page applications
 
Single Page Applications
Single Page ApplicationsSingle Page Applications
Single Page Applications
 

Dernier

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 

Dernier (20)

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 

Component Based Software Development