SlideShare a Scribd company logo
1 of 17
Download to read offline
SwarmESB: A new approach
   for programming with
  asynchronous messages


            Sînică Alboaie, 2012
     https://github.com/salboaie
Usage: Cloud ready architecture




   Code cd




                    SwarmESB
Usage: Enterprise Integration




SwarmESB:
   Code cd
Programming == Fight against complexity


Presenting a new paradigm: SWARMS!



Swarms are basic concepts like functions, classes, etc.
A swarm is like a class for programming with messages.

Simple, but different and new (2012)!

      You have to think about it a half hour to really get it!
Sending a swarm is like sending a message?
Swarming concepts

Nodes


          Flowers == OS processes / nodes
    Swarms/messages are visiting flowers
   Distributed system == Field with flowers
Swarming concepts

Nodes


                     Swarm's destinations
            Decisions: intelligent swarms
      NOT taken by intelligent FLOWERS!
   Flowers are just providing services/API
Points of view
(Naive) messaging /Actors/ Erlang:
Nodes are reacting to messages
Nodes are sending typed messages to each other
Implicit: How things are composed and message flows


Swarms:
Messages are flowing between nodes
Messages are causing changes in nodes
Simple and testable code in nodes (just APIs)
Explicit: Flows/composition get described in files
Point of view is worth 80 IQ points?


    In Roman time you had to be very smart to
               multiply two numbers together.




  How are things represented can be quite important!
Swarming concepts
Swarm description

● service composition



● variables (members)
● phases (code)
● use: swarm, broadcast, home primitives
Swarming at runtime?




      Asynchronous messages!
Swarm description example
Hello world, execution of 2 phases in 2 distributed nodes:
SwarmESB: Cloud for normal budgets




  ●   Open Source
  ●   Node.js
  ●   JavaScript, WebSockets and Flex clients
  ●   Redis: pub/sub channels
  ●   Redis: multi-tenant storage
  ●   WebDAV proxy
  ●   SOLR adapter
Is SwarmESB ready for you?

Familiarity!
JavaScript + Node.js
Vertical and horizontal scalability
Architect your new distributed system
Consume heterogeneous services (APIs)
Easy integration for future components
Parallel usage of your shiny, new CPU cores
Elegant programming with asynchronous messages
More features
●   multitenant global (redis) contexts
●   multitenant local (node) contexts
●   local sub-processes
●   swarm code redeployment without restart
●   groups, broadcast, load balancing
●   high availability

               Swarming can be for SOA's
    orchestration what REST is for SOAP!
... and why should YOU care?


     "The Tao that can be spoken is not
                the eternal Tao" Lao Zi

 Scalability
 Loose coupling
 Reduce costs by reducing complexity
 Separation of Concerns/Open Closed principle

 Cloud Programming, Distributed and Parallel Systems
Keywords
SOA (Orchestration and choreography)
EAI (Enterprise Integration Patterns)
ESB (Enterprise Service Bus)
Events and Asynchronous Messages
PaaS ( Platform as a Service)
iPaaS (Cloud Integration)

More Related Content

What's hot

What's hot (20)

Run your Dockerized ASP.NET application on Windows and Linux!
Run your Dockerized ASP.NET application on Windows and Linux!Run your Dockerized ASP.NET application on Windows and Linux!
Run your Dockerized ASP.NET application on Windows and Linux!
 
Express yourself
Express yourselfExpress yourself
Express yourself
 
Clovaを支える技術 機械学習配信基盤のご紹介
Clovaを支える技術 機械学習配信基盤のご紹介Clovaを支える技術 機械学習配信基盤のご紹介
Clovaを支える技術 機械学習配信基盤のご紹介
 
Hyperledger in AWS
Hyperledger in AWSHyperledger in AWS
Hyperledger in AWS
 
Serverless architecture
Serverless architectureServerless architecture
Serverless architecture
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptx
 
Architecture Sustaining LINE Sticker services
Architecture Sustaining LINE Sticker servicesArchitecture Sustaining LINE Sticker services
Architecture Sustaining LINE Sticker services
 
Total cloud immersion
Total cloud immersionTotal cloud immersion
Total cloud immersion
 
Node Architecture.pptx
Node Architecture.pptxNode Architecture.pptx
Node Architecture.pptx
 
Microsoft Azure DocumentDB - Global Azure Bootcamp 2016
Microsoft Azure DocumentDB -  Global Azure Bootcamp 2016Microsoft Azure DocumentDB -  Global Azure Bootcamp 2016
Microsoft Azure DocumentDB - Global Azure Bootcamp 2016
 
SOA with PHP and Symfony
SOA with PHP and SymfonySOA with PHP and Symfony
SOA with PHP and Symfony
 
SGCE 2015 REST APIs
SGCE 2015 REST APIsSGCE 2015 REST APIs
SGCE 2015 REST APIs
 
Vert.x
Vert.xVert.x
Vert.x
 
AngularJS
AngularJSAngularJS
AngularJS
 
JavaCro'15 - Service Discovery in OSGi Beyond the JVM using Docker and Consul...
JavaCro'15 - Service Discovery in OSGi Beyond the JVM using Docker and Consul...JavaCro'15 - Service Discovery in OSGi Beyond the JVM using Docker and Consul...
JavaCro'15 - Service Discovery in OSGi Beyond the JVM using Docker and Consul...
 
Node.js at Nutonian
Node.js at NutonianNode.js at Nutonian
Node.js at Nutonian
 
Asynchronous programming in ASP.NET
Asynchronous programming in ASP.NETAsynchronous programming in ASP.NET
Asynchronous programming in ASP.NET
 
AEM/CQ Montreal User Group Meeting - March 25, 2015 - Takeaways from Adobe Su...
AEM/CQ Montreal User Group Meeting - March 25, 2015 - Takeaways from Adobe Su...AEM/CQ Montreal User Group Meeting - March 25, 2015 - Takeaways from Adobe Su...
AEM/CQ Montreal User Group Meeting - March 25, 2015 - Takeaways from Adobe Su...
 
Wcf v1-day1
Wcf v1-day1Wcf v1-day1
Wcf v1-day1
 
Ozone-Wayland Support in Chromium (GENIVI 13th All Member Meeting & AMM Open ...
Ozone-Wayland Support in Chromium (GENIVI 13th All Member Meeting & AMM Open ...Ozone-Wayland Support in Chromium (GENIVI 13th All Member Meeting & AMM Open ...
Ozone-Wayland Support in Chromium (GENIVI 13th All Member Meeting & AMM Open ...
 

Similar to Swarms: introduction

Sînică Alboaie - Programming for cloud computing Flows of asynchronous messages
Sînică Alboaie - Programming for cloud computing Flows of asynchronous messagesSînică Alboaie - Programming for cloud computing Flows of asynchronous messages
Sînică Alboaie - Programming for cloud computing Flows of asynchronous messages
Codecamp Romania
 
What's New in AWS Serverless and Containers
What's New in AWS Serverless and ContainersWhat's New in AWS Serverless and Containers
What's New in AWS Serverless and Containers
Amazon Web Services
 
AestasIT - Internal DSLs in Scala
AestasIT - Internal DSLs in ScalaAestasIT - Internal DSLs in Scala
AestasIT - Internal DSLs in Scala
Dmitry Buzdin
 
介紹如何在微軟新一代服務平台建立雲端運用程式
介紹如何在微軟新一代服務平台建立雲端運用程式介紹如何在微軟新一代服務平台建立雲端運用程式
介紹如何在微軟新一代服務平台建立雲端運用程式
Chui-Wen Chiu
 
NoSQL and Cloud Services - Philip Balinow, Comfo
NoSQL and Cloud Services -  Philip Balinow, ComfoNoSQL and Cloud Services -  Philip Balinow, Comfo
NoSQL and Cloud Services - Philip Balinow, Comfo
beITconference
 

Similar to Swarms: introduction (20)

Sînică Alboaie - Programming for cloud computing Flows of asynchronous messages
Sînică Alboaie - Programming for cloud computing Flows of asynchronous messagesSînică Alboaie - Programming for cloud computing Flows of asynchronous messages
Sînică Alboaie - Programming for cloud computing Flows of asynchronous messages
 
Q con london2011-matthewwall-whyichosemongodbforguardiancouk
Q con london2011-matthewwall-whyichosemongodbforguardiancoukQ con london2011-matthewwall-whyichosemongodbforguardiancouk
Q con london2011-matthewwall-whyichosemongodbforguardiancouk
 
Why we chose mongodb for guardian.co.uk
Why we chose mongodb for guardian.co.ukWhy we chose mongodb for guardian.co.uk
Why we chose mongodb for guardian.co.uk
 
Moving from Relational to Document Store
Moving from Relational to Document StoreMoving from Relational to Document Store
Moving from Relational to Document Store
 
Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex
 
MEAN.js Workshop
MEAN.js WorkshopMEAN.js Workshop
MEAN.js Workshop
 
locize tech talk
locize tech talklocize tech talk
locize tech talk
 
Peyton jones-2011-parallel haskell-the_future
Peyton jones-2011-parallel haskell-the_futurePeyton jones-2011-parallel haskell-the_future
Peyton jones-2011-parallel haskell-the_future
 
Simon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSimon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelism
 
Serverless .NET on AWS
Serverless .NET on AWS Serverless .NET on AWS
Serverless .NET on AWS
 
NOSQL Database: Apache Cassandra
NOSQL Database: Apache CassandraNOSQL Database: Apache Cassandra
NOSQL Database: Apache Cassandra
 
What's New in AWS Serverless and Containers
What's New in AWS Serverless and ContainersWhat's New in AWS Serverless and Containers
What's New in AWS Serverless and Containers
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on Rails
 
locize tech stack
locize tech stacklocize tech stack
locize tech stack
 
OpenCms Days 2012 - OpenCms on open clouds
OpenCms Days 2012 - OpenCms on open cloudsOpenCms Days 2012 - OpenCms on open clouds
OpenCms Days 2012 - OpenCms on open clouds
 
AestasIT - Internal DSLs in Scala
AestasIT - Internal DSLs in ScalaAestasIT - Internal DSLs in Scala
AestasIT - Internal DSLs in Scala
 
介紹如何在微軟新一代服務平台建立雲端運用程式
介紹如何在微軟新一代服務平台建立雲端運用程式介紹如何在微軟新一代服務平台建立雲端運用程式
介紹如何在微軟新一代服務平台建立雲端運用程式
 
NoSQL and Cloud Services - Philip Balinow, Comfo
NoSQL and Cloud Services -  Philip Balinow, ComfoNoSQL and Cloud Services -  Philip Balinow, Comfo
NoSQL and Cloud Services - Philip Balinow, Comfo
 
Public Cloud Platforms for .NET Developers
Public Cloud Platforms for .NET DevelopersPublic Cloud Platforms for .NET Developers
Public Cloud Platforms for .NET Developers
 
WebWorkersCamp 2010
WebWorkersCamp 2010WebWorkersCamp 2010
WebWorkersCamp 2010
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
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
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
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
 
"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 ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 

Swarms: introduction

  • 1. SwarmESB: A new approach for programming with asynchronous messages Sînică Alboaie, 2012 https://github.com/salboaie
  • 2. Usage: Cloud ready architecture Code cd SwarmESB
  • 4. Programming == Fight against complexity Presenting a new paradigm: SWARMS! Swarms are basic concepts like functions, classes, etc. A swarm is like a class for programming with messages. Simple, but different and new (2012)! You have to think about it a half hour to really get it!
  • 5. Sending a swarm is like sending a message?
  • 6. Swarming concepts Nodes Flowers == OS processes / nodes Swarms/messages are visiting flowers Distributed system == Field with flowers
  • 7. Swarming concepts Nodes Swarm's destinations Decisions: intelligent swarms NOT taken by intelligent FLOWERS! Flowers are just providing services/API
  • 8. Points of view (Naive) messaging /Actors/ Erlang: Nodes are reacting to messages Nodes are sending typed messages to each other Implicit: How things are composed and message flows Swarms: Messages are flowing between nodes Messages are causing changes in nodes Simple and testable code in nodes (just APIs) Explicit: Flows/composition get described in files
  • 9. Point of view is worth 80 IQ points? In Roman time you had to be very smart to multiply two numbers together. How are things represented can be quite important!
  • 10. Swarming concepts Swarm description ● service composition ● variables (members) ● phases (code) ● use: swarm, broadcast, home primitives
  • 11. Swarming at runtime? Asynchronous messages!
  • 12. Swarm description example Hello world, execution of 2 phases in 2 distributed nodes:
  • 13. SwarmESB: Cloud for normal budgets ● Open Source ● Node.js ● JavaScript, WebSockets and Flex clients ● Redis: pub/sub channels ● Redis: multi-tenant storage ● WebDAV proxy ● SOLR adapter
  • 14. Is SwarmESB ready for you? Familiarity! JavaScript + Node.js Vertical and horizontal scalability Architect your new distributed system Consume heterogeneous services (APIs) Easy integration for future components Parallel usage of your shiny, new CPU cores Elegant programming with asynchronous messages
  • 15. More features ● multitenant global (redis) contexts ● multitenant local (node) contexts ● local sub-processes ● swarm code redeployment without restart ● groups, broadcast, load balancing ● high availability Swarming can be for SOA's orchestration what REST is for SOAP!
  • 16. ... and why should YOU care? "The Tao that can be spoken is not the eternal Tao" Lao Zi Scalability Loose coupling Reduce costs by reducing complexity Separation of Concerns/Open Closed principle Cloud Programming, Distributed and Parallel Systems
  • 17. Keywords SOA (Orchestration and choreography) EAI (Enterprise Integration Patterns) ESB (Enterprise Service Bus) Events and Asynchronous Messages PaaS ( Platform as a Service) iPaaS (Cloud Integration)