SlideShare a Scribd company logo
1 of 28
Objects in the Cloud
Edizione 2014
Marco Parenzan
Objective
ī‚šThinking about #state, #objects and how #cloud
need respect using #state and writing #objects
Musing about some modern
#misconceptions
We cannot take it for granted thatâ€Ļ
ī‚š The network is reliable
ī‚š Latency is negligible
ī‚š bandwidth is infinite
ī‚š the net is safe
ī‚š the topology doesn't change
ī‚š The transport cost is negligible/zero
ī‚š the network is homogeneous
ī‚š there is only one administrator
Mauro Servienti - http://www.communitydays.it/events/2014/vs06/
Objects in the Cloud
ī‚šCan we apply traditional object oriented
principles to the #cloud?
ī‚šCan we think #state as just #objects value?
Why thinking about #state?
ī‚š#state does not fits so well in the #cloud with:
ī‚š#network
ī‚š#scaling
ī‚š#mainteinance
ī‚š#performances
What is #state here?
Understanding
#state and #behavior
What is state?
ī‚šIs a set of attributes (of something) that allows you
to identify and characterize it
ī‚šState is something that is maintained in absence of
inputs
State and #software
ī‚šEvery software program have a #state
ī‚šThat state is what we want for the program
ī‚šIn #traditional software development we don’t
focus on #state, it’s just there
ī‚šWe focus on behavior and how to express it
What is a behavior?
ī‚š It’s something you can do on a state to change it
ī‚š Everything you do is to change yourself (at least!)
ī‚š Many ways to express behavior
ī‚š Imperative
ī‚š “Run that behavior on that state”!
ī‚š Functional
ī‚š It’s a relationship between values
ī‚š It’s a relationship between state (of something) in two different times (before
and after)
Why state and behavior are important?
ī‚šBecause statet+1=behaviorj(inputt, st)
ī‚šWhere t and t+1 are two consecutive instants
ī‚šAnd there are cases where statet+1=statet
Where is state?
ī‚š In memory
ī‚š Variables
ī‚š In transient storages (timeout): faster more than infinite
ī‚š Caches
ī‚š Sessions
ī‚š In persistent storage (tīƒ¨infinite - MTBF)
ī‚š Blobs
ī‚š In structured data
ī‚š Files
ī‚š Databases
Choose the right representation
ī‚šChoosing the right representation of the state is
the most difficult part of an application
ī‚šRelational Database is a choose, not a starting point
State and the Cloud
ī‚šIn the #cloud, the state is the most important thing
ī‚šDefine the correct state and how to represent it
Just objects
What is an object?
ī‚šIt is state and behavior in the same “place”
What is an attribute?
ī‚šIs a characteristic (of an object) you can measure
(it has a value)
Some quotes
ī‚šEverything is an objectâ€Ļ
ī‚šâ€Ļso everything have a state
ī‚šâ€Ļso everything have a behavior
ī‚šIf an object have no behavior, is still an object? Or is
just state?
ī‚šIf an object have no state, but only behavior, is still an
object?
What is modeling?
ī‚šIs the activity of shaping objects
What is an entity
ī‚šIs something you can model
You as programmerâ€Ļ
ī‚šâ€Ļmodel entities into objects
What is OOP (Object Oriented
Programming)?
ī‚šIt’s a way of modeling everything as an object,
with state and behavior
ī‚šâ€Ļand classes?
Objects, non classes
ī‚šWe can speak about objects without referring to
classes, ever!
What is a class?
ī‚šA #class is a model for objects
ī‚šA #class is a way to define a model for objects
ī‚šA #class is the typical way to define objects models in
a strongly typed (not yet statically typed) language
(C#, Java, but also Python and Ruby)
ī‚šThere are other ways
Does a class-based language imply
OOP?
ī‚šNo, OOP is a way of thinking and modeling at first
ī‚šClass-based languages cannot be an excuse to
avoid real principles
What is a prototype
ī‚šIs an object itself you can use as a model to
create others objects copying from it
ī‚š#javascript teaches us that we can write #objects
without #classes
Objects in the Cloud
Edizione 2014
Marco Parenzan

More Related Content

Similar to Objects in the Cloud - Edition 2014

M01 Oo Intro
M01 Oo IntroM01 Oo Intro
M01 Oo Intro
Dang Tuan
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering concepts
Komal Singh
 
Unit1 jaava
Unit1 jaavaUnit1 jaava
Unit1 jaava
mrecedu
 
M01_OO_Intro.ppt
M01_OO_Intro.pptM01_OO_Intro.ppt
M01_OO_Intro.ppt
RAJESH S
 

Similar to Objects in the Cloud - Edition 2014 (20)

M01 Oo Intro
M01 Oo IntroM01 Oo Intro
M01 Oo Intro
 
Importance Of Being Driven
Importance Of Being DrivenImportance Of Being Driven
Importance Of Being Driven
 
DCI with Ruby and Rails
DCI with Ruby and RailsDCI with Ruby and Rails
DCI with Ruby and Rails
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering concepts
 
Intro to oop.pptx
Intro to oop.pptxIntro to oop.pptx
Intro to oop.pptx
 
SOFTWARE ENGINEERING AND SOFTWARE PROJECT MANAGEMENT
SOFTWARE ENGINEERING AND SOFTWARE PROJECT MANAGEMENTSOFTWARE ENGINEERING AND SOFTWARE PROJECT MANAGEMENT
SOFTWARE ENGINEERING AND SOFTWARE PROJECT MANAGEMENT
 
Object-Oriented Programming in Java (Module 1)
Object-Oriented Programming in Java (Module 1)Object-Oriented Programming in Java (Module 1)
Object-Oriented Programming in Java (Module 1)
 
SAD02 - Object Orientation
SAD02 - Object OrientationSAD02 - Object Orientation
SAD02 - Object Orientation
 
Unit1 jaava
Unit1 jaavaUnit1 jaava
Unit1 jaava
 
Class notes(week 2) on basic concepts of oop-2
Class notes(week 2) on basic concepts of oop-2Class notes(week 2) on basic concepts of oop-2
Class notes(week 2) on basic concepts of oop-2
 
Visual design principles & practices for web and mobile apps
Visual design principles & practices for web and mobile appsVisual design principles & practices for web and mobile apps
Visual design principles & practices for web and mobile apps
 
M01_OO_Intro.ppt
M01_OO_Intro.pptM01_OO_Intro.ppt
M01_OO_Intro.ppt
 
Class notes(week 2) on basic concepts of oop-2
Class notes(week 2) on basic concepts of oop-2Class notes(week 2) on basic concepts of oop-2
Class notes(week 2) on basic concepts of oop-2
 
database1
database1database1
database1
 
OOUXHO 2020 quantum content
OOUXHO 2020   quantum contentOOUXHO 2020   quantum content
OOUXHO 2020 quantum content
 
Java oo ps concepts
Java oo ps conceptsJava oo ps concepts
Java oo ps concepts
 
Introduction of object oriented analysis & design by sarmad baloch
Introduction of object oriented analysis & design by sarmad balochIntroduction of object oriented analysis & design by sarmad baloch
Introduction of object oriented analysis & design by sarmad baloch
 
What is Object Orientation?
What is Object Orientation?What is Object Orientation?
What is Object Orientation?
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
130704798265658191
130704798265658191130704798265658191
130704798265658191
 

More from Marco Parenzan

More from Marco Parenzan (20)

Azure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineerAzure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineer
 
Azure Hybrid @ Home
Azure Hybrid @ HomeAzure Hybrid @ Home
Azure Hybrid @ Home
 
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptxStatic abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
 
Azure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsAzure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT Solutions
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Developing Actors in Azure with .net
Developing Actors in Azure with .netDeveloping Actors in Azure with .net
Developing Actors in Azure with .net
 
Math with .NET for you and Azure
Math with .NET for you and AzureMath with .NET for you and Azure
Math with .NET for you and Azure
 
Power BI data flow and Azure IoT Central
Power BI data flow and Azure IoT CentralPower BI data flow and Azure IoT Central
Power BI data flow and Azure IoT Central
 
.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame
 
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
 
Anomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NETAnomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NET
 
Deploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsDeploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data Solutions
 
Deep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnetDeep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnet
 
Azure IoT Central
Azure IoT CentralAzure IoT Central
Azure IoT Central
 
Anomaly Detection with Azure and .net
Anomaly Detection with Azure and .netAnomaly Detection with Azure and .net
Anomaly Detection with Azure and .net
 
Code Generation for Azure with .net
Code Generation for Azure with .netCode Generation for Azure with .net
Code Generation for Azure with .net
 
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magicRunning Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
 
Time Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETTTime Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETT
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
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
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

Objects in the Cloud - Edition 2014

  • 1. Objects in the Cloud Edizione 2014 Marco Parenzan
  • 2. Objective ī‚šThinking about #state, #objects and how #cloud need respect using #state and writing #objects
  • 3. Musing about some modern #misconceptions
  • 4. We cannot take it for granted thatâ€Ļ ī‚š The network is reliable ī‚š Latency is negligible ī‚š bandwidth is infinite ī‚š the net is safe ī‚š the topology doesn't change ī‚š The transport cost is negligible/zero ī‚š the network is homogeneous ī‚š there is only one administrator Mauro Servienti - http://www.communitydays.it/events/2014/vs06/
  • 5. Objects in the Cloud ī‚šCan we apply traditional object oriented principles to the #cloud? ī‚šCan we think #state as just #objects value?
  • 6. Why thinking about #state? ī‚š#state does not fits so well in the #cloud with: ī‚š#network ī‚š#scaling ī‚š#mainteinance ī‚š#performances
  • 9. What is state? ī‚šIs a set of attributes (of something) that allows you to identify and characterize it ī‚šState is something that is maintained in absence of inputs
  • 10. State and #software ī‚šEvery software program have a #state ī‚šThat state is what we want for the program ī‚šIn #traditional software development we don’t focus on #state, it’s just there ī‚šWe focus on behavior and how to express it
  • 11. What is a behavior? ī‚š It’s something you can do on a state to change it ī‚š Everything you do is to change yourself (at least!) ī‚š Many ways to express behavior ī‚š Imperative ī‚š “Run that behavior on that state”! ī‚š Functional ī‚š It’s a relationship between values ī‚š It’s a relationship between state (of something) in two different times (before and after)
  • 12. Why state and behavior are important? ī‚šBecause statet+1=behaviorj(inputt, st) ī‚šWhere t and t+1 are two consecutive instants ī‚šAnd there are cases where statet+1=statet
  • 13. Where is state? ī‚š In memory ī‚š Variables ī‚š In transient storages (timeout): faster more than infinite ī‚š Caches ī‚š Sessions ī‚š In persistent storage (tīƒ¨infinite - MTBF) ī‚š Blobs ī‚š In structured data ī‚š Files ī‚š Databases
  • 14. Choose the right representation ī‚šChoosing the right representation of the state is the most difficult part of an application ī‚šRelational Database is a choose, not a starting point
  • 15. State and the Cloud ī‚šIn the #cloud, the state is the most important thing ī‚šDefine the correct state and how to represent it
  • 17. What is an object? ī‚šIt is state and behavior in the same “place”
  • 18. What is an attribute? ī‚šIs a characteristic (of an object) you can measure (it has a value)
  • 19. Some quotes ī‚šEverything is an objectâ€Ļ ī‚šâ€Ļso everything have a state ī‚šâ€Ļso everything have a behavior ī‚šIf an object have no behavior, is still an object? Or is just state? ī‚šIf an object have no state, but only behavior, is still an object?
  • 20. What is modeling? ī‚šIs the activity of shaping objects
  • 21. What is an entity ī‚šIs something you can model
  • 23. What is OOP (Object Oriented Programming)? ī‚šIt’s a way of modeling everything as an object, with state and behavior ī‚šâ€Ļand classes?
  • 24. Objects, non classes ī‚šWe can speak about objects without referring to classes, ever!
  • 25. What is a class? ī‚šA #class is a model for objects ī‚šA #class is a way to define a model for objects ī‚šA #class is the typical way to define objects models in a strongly typed (not yet statically typed) language (C#, Java, but also Python and Ruby) ī‚šThere are other ways
  • 26. Does a class-based language imply OOP? ī‚šNo, OOP is a way of thinking and modeling at first ī‚šClass-based languages cannot be an excuse to avoid real principles
  • 27. What is a prototype ī‚šIs an object itself you can use as a model to create others objects copying from it ī‚š#javascript teaches us that we can write #objects without #classes
  • 28. Objects in the Cloud Edizione 2014 Marco Parenzan

Editor's Notes

  1. It’s something that object is able to do and that can change the state of the same object