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

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

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)