SlideShare a Scribd company logo
1 of 41
Jon Davis
http://tinyurl.com/nkdfowq
Data feed 1
(isolated thread)
Data feed 2
(isolated thread)
Data feed 3
(isolated thread)
UI
Throws exceptions!
// This will invoke the event handlers
// on SomeAction’s thread!
Microservice 1 Microservice 2 Microservice 3
Message Queue Message Queue Message Queue
UI
Microservice
Message Processor
Microservice 1 Microservice 2 Microservice 3
Message Queue Message Queue Message Queue
UI
Microservice
Message Processor
This is starting to look a tiny bit like a wannabe microservices architecture.
Sort of. Maybe actors.Yeah, actors. Or microservices.
Enter Actors
(stage left)
Akka.NET
“Akka.NET” is an acronym for:
“Yet another library ported fromJVM to .NET because the
.NET community never had problem domains sophisticated
enough to need figure this out themselves.”
Actually, to be fair, remember Reactive Extensions (Rx)
// Create a new actor system (a container for your actors)
// Create your actor and get a reference to it.
// This will be an "ActorRef", which is not a
// reference to the actual actor instance
// but rather a client or proxy to it.
// Send a message to the actor
// This prevents the app from exiting
// before the async work is done
• Putting ObjectOriented Programming mindset on steroids by making
simple objects self-contained and encapsulated
message-based
• Habitually write software to be reactive to external messages rather
than directly programmatically activated
message-based
• Enjoy a simplified framework that minimizes the cost of such patterns
so that they aren’t IES (Intimidating Enterprise Software, zomg)
message-based
• Think in these components’ message-basedAPIs rather than the
interfaces of my favorite language
message-based
• Implement internals with interfaces and prebuilt support containers
rather than inherit “Actors” or “Messages”; use composition
message-based
• Tools for the problem cases, likeWindows Forms Event Pump UI thread.
message-based
• The return of “LAN testing”—late night LAN parties at the office
http://github.com/stimpy77/chorea

More Related Content

Viewers also liked (7)

Tecnologi.. (1)
Tecnologi.. (1)Tecnologi.. (1)
Tecnologi.. (1)
 
Uc13.chapter.16
Uc13.chapter.16Uc13.chapter.16
Uc13.chapter.16
 
Spanish Architecture Hurting With Economy
Spanish Architecture Hurting With EconomySpanish Architecture Hurting With Economy
Spanish Architecture Hurting With Economy
 
Karen 5
Karen 5Karen 5
Karen 5
 
Pry 2015 03_05_slideshare
Pry 2015 03_05_slidesharePry 2015 03_05_slideshare
Pry 2015 03_05_slideshare
 
Coursera digitalsounddesign 2015
Coursera digitalsounddesign 2015Coursera digitalsounddesign 2015
Coursera digitalsounddesign 2015
 
New SP coaching for induction 1 2013
New SP coaching for induction 1 2013New SP coaching for induction 1 2013
New SP coaching for induction 1 2013
 

Similar to Initial Simple Ponderings on Discrete Subprocesses and Orchestrating Convergence

Things to think about while architecting azure solutions
Things to think about while architecting azure solutionsThings to think about while architecting azure solutions
Things to think about while architecting azure solutions
Arnon Rotem-Gal-Oz
 

Similar to Initial Simple Ponderings on Discrete Subprocesses and Orchestrating Convergence (20)

Discovering the Service Fabric's actor model
Discovering the Service Fabric's actor modelDiscovering the Service Fabric's actor model
Discovering the Service Fabric's actor model
 
MySQL Proxy: Architecture and concepts of misuse
MySQL Proxy: Architecture and concepts of misuseMySQL Proxy: Architecture and concepts of misuse
MySQL Proxy: Architecture and concepts of misuse
 
Introduction to the SQL and Windows Azure Platform
Introduction to the SQL and Windows Azure PlatformIntroduction to the SQL and Windows Azure Platform
Introduction to the SQL and Windows Azure Platform
 
Akka and Kubernetes, the beginning of a beautiful relationship - Container Da...
Akka and Kubernetes, the beginning of a beautiful relationship - Container Da...Akka and Kubernetes, the beginning of a beautiful relationship - Container Da...
Akka and Kubernetes, the beginning of a beautiful relationship - Container Da...
 
Introduction to Akka - Atlanta Java Users Group
Introduction to Akka - Atlanta Java Users GroupIntroduction to Akka - Atlanta Java Users Group
Introduction to Akka - Atlanta Java Users Group
 
Advanced SQL injection to operating system full control (whitepaper)
Advanced SQL injection to operating system full control (whitepaper)Advanced SQL injection to operating system full control (whitepaper)
Advanced SQL injection to operating system full control (whitepaper)
 
Genomic Computation at Scale with Serverless, StackStorm and Docker Swarm
Genomic Computation at Scale with Serverless, StackStorm and Docker SwarmGenomic Computation at Scale with Serverless, StackStorm and Docker Swarm
Genomic Computation at Scale with Serverless, StackStorm and Docker Swarm
 
The Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
The Golden Ticket: Docker and High Security Microservices by Aaron GrattafioriThe Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
The Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
 
Virtual Machines Security Internals: Detection and Exploitation
 Virtual Machines Security Internals: Detection and Exploitation Virtual Machines Security Internals: Detection and Exploitation
Virtual Machines Security Internals: Detection and Exploitation
 
"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016
 
Azure Day Rome Reloaded 2019 - Deconstructing Kubernetes using AKS
Azure Day Rome Reloaded 2019 - Deconstructing Kubernetes using AKSAzure Day Rome Reloaded 2019 - Deconstructing Kubernetes using AKS
Azure Day Rome Reloaded 2019 - Deconstructing Kubernetes using AKS
 
DockerCon 2017 - General Session Day 1 - Solomon Hykes
DockerCon 2017 - General Session Day 1 - Solomon HykesDockerCon 2017 - General Session Day 1 - Solomon Hykes
DockerCon 2017 - General Session Day 1 - Solomon Hykes
 
dotnet Cologne 2015 - Azure Service Fabric
dotnet Cologne 2015 - Azure Service Fabric dotnet Cologne 2015 - Azure Service Fabric
dotnet Cologne 2015 - Azure Service Fabric
 
Web Facilitated Play in the Real World
Web Facilitated Play in the Real WorldWeb Facilitated Play in the Real World
Web Facilitated Play in the Real World
 
Node's Event Loop From the Inside Out - Sam Roberts, IBM
Node's Event Loop From the Inside Out - Sam Roberts, IBMNode's Event Loop From the Inside Out - Sam Roberts, IBM
Node's Event Loop From the Inside Out - Sam Roberts, IBM
 
Discovering the Service Fabric's actor model
Discovering the Service Fabric's actor modelDiscovering the Service Fabric's actor model
Discovering the Service Fabric's actor model
 
Akka Actors: an Introduction
Akka Actors: an IntroductionAkka Actors: an Introduction
Akka Actors: an Introduction
 
Introduction to SQL Server Cloud Storage Azure
Introduction to SQL Server Cloud Storage AzureIntroduction to SQL Server Cloud Storage Azure
Introduction to SQL Server Cloud Storage Azure
 
Things to think about while architecting azure solutions
Things to think about while architecting azure solutionsThings to think about while architecting azure solutions
Things to think about while architecting azure solutions
 
First glance at Akka 2.0
First glance at Akka 2.0First glance at Akka 2.0
First glance at Akka 2.0
 

Recently uploaded

Jax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined DeckJax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined Deck
Marc Lester
 

Recently uploaded (20)

Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
Jax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined DeckJax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined Deck
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdf
 
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
 
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
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST API
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
 
Community is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletCommunity is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea Goulet
 
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
Your Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | EvmuxYour Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | Evmux
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with Links
 
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...
 

Initial Simple Ponderings on Discrete Subprocesses and Orchestrating Convergence

  • 2.
  • 3.
  • 4.
  • 6.
  • 7.
  • 8.
  • 9. Data feed 1 (isolated thread) Data feed 2 (isolated thread) Data feed 3 (isolated thread) UI Throws exceptions!
  • 10. // This will invoke the event handlers // on SomeAction’s thread!
  • 11.
  • 12. Microservice 1 Microservice 2 Microservice 3 Message Queue Message Queue Message Queue UI Microservice Message Processor
  • 13.
  • 14.
  • 15. Microservice 1 Microservice 2 Microservice 3 Message Queue Message Queue Message Queue UI Microservice Message Processor This is starting to look a tiny bit like a wannabe microservices architecture. Sort of. Maybe actors.Yeah, actors. Or microservices.
  • 17.
  • 18. Akka.NET “Akka.NET” is an acronym for: “Yet another library ported fromJVM to .NET because the .NET community never had problem domains sophisticated enough to need figure this out themselves.” Actually, to be fair, remember Reactive Extensions (Rx)
  • 19. // Create a new actor system (a container for your actors) // Create your actor and get a reference to it. // This will be an "ActorRef", which is not a // reference to the actual actor instance // but rather a client or proxy to it. // Send a message to the actor // This prevents the app from exiting // before the async work is done
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. • Putting ObjectOriented Programming mindset on steroids by making simple objects self-contained and encapsulated message-based
  • 30. • Habitually write software to be reactive to external messages rather than directly programmatically activated message-based
  • 31. • Enjoy a simplified framework that minimizes the cost of such patterns so that they aren’t IES (Intimidating Enterprise Software, zomg) message-based
  • 32. • Think in these components’ message-basedAPIs rather than the interfaces of my favorite language
  • 33. message-based • Implement internals with interfaces and prebuilt support containers rather than inherit “Actors” or “Messages”; use composition
  • 34. message-based • Tools for the problem cases, likeWindows Forms Event Pump UI thread.
  • 35. message-based • The return of “LAN testing”—late night LAN parties at the office
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.