SlideShare a Scribd company logo
1 of 23
Download to read offline
Colony Framework
   Modularity,  the  easy  way


        João  Magalhães
          joamag@hive.pt
             @joamag
              2010
Modularity
Love  at  first  sight
Colony Framework
              The  beginning
. Single problem found in 2008              data  migration
. OSGi was too complex and heavy
. Started replicating OSGi functionality,
avoiding complexity and promoting pragmatism




                                      .  no  dynamic  language
                                      .  not  fun  to  develop
                                      .  not  like  rails
Colony Framework
          the  r ebolution




                      this  is
                      the  logo
Colony Framework
                                Goals
           . Modularity and re-­usage
           . Easy to use and easy to develop       just  like  rails
           . Fun to develop
this
is  true                                           .  Open
                                                             standards
           . Truly open platform in every sense   .  Opem
                                                              sourcecode
                                                  .  Com
                                                          munity  driven  

           . Sustained development, research oriented

                                                       not  guided  by  
                                                       customer  demands
The research numbers
                               ch
      months  of  pure  resear
6   and  prototyping


                                    1         years  of  research  
                                        1/2

                                              and  development


      300k
       Lines  of  code  and  
       70  person  years
       (someone  should  have
                                    400                        d
       retired  by  now)            Colony  plugins  develope
Colony Framework
                  Structure
. It’s a specification and not an implementation
. 2 reference implementations . Python, Javascript
. 2 different flavours . Standard and Web
. Runtime Plugin model (OSGi and MEF inspired)
. Distributed model (OSGi inspired)
. Easy Viral deployment
Colony Framework
              How  it  works?
    the  core                      ent
    .  Dependen     cy  managem
                                 ent
     .  Life  cy cle  managem
                              ol
      .  Inversion  of  contr
                                    Console  Plugin
                                    .  Command  line  processing
                                    .  Minimal  set  of  commands
                                    for  controlling  the  core
                                    .  Allows  command  extemsions
 Translation  C
                    onsole  Plugin
 .  Provid
           es  a  console  t
                             ranslation  ser
.  Allows  trans                             vice
                   lation  extensio
                                    ns
Colony Framework
      How  it  works?
                             the  core


                                 Console  Plugin



                           Translation  Console  Plugin




  Translation  engine  plugins
Small tech demo
Colony Framework
                          the  big  picture
    Services  Set
    .  HTTP                                   Distribution  Set
                                              .  Serialization
    .  SMTP
                                              .  Discovery
    .  XMPP
                                              .  Balancing
    .Etc




Business  Logic                                 Data  Set
.  Data  pool  managing                         .  ORM

.  Load  balancing                              .  Storage
                                                .  Compression
Colony Framework
                 Distribution


.Grid of colony instances
. Federation of colony grids
. Automatic instance discovery (UPnP, bonjour)
. Transient plugins
. Viral distribution




 Op timized  reso urce  usage
Colony Framework
           Distribution

                                 +




                                 + C++
        + C++             +
+



    Optimized  resource  usage
Colony Framework
             Distribution  possibilities

                                 just  plug  the  cable
    . Easy scaleout
    . Simple development model
    . Crowd sourcing ready
    . No technology commitment            explore  the  power  
                                          of  millions

                                    Colony  is  defined  by
just  like  
                                    standard  specifications
a  normal  plugin
                                    not  technologies
Why Colony?
Why Colony?
           Development  process

                                           less  collisions,
. Parallel development                     less  conflicts  in
                                           merges
. Natural division of work
. Easy introduction to new work




 a  plugin  is  a  small  codeb          boundaries  are  defined
                                ase      by  plugin  specification
 300k  of  code  VS  2k  o
                               f  code
Why Colony?
                   Open  source

                                        a  plugin  can  use
      . Open source code under GPL v3   whatever  licence

      . Open standards
      . Community driven

we  love  ’em:
.  OpenID
.  Oauth

                 Community  is
                 the  boss
Why Colony?
                   Extras
                                           it’s  painless

. Easy development model
. Zero downtime               for  real!
. Modularity on the web                something  new
. Open to extension, ready for the future
. many more...



            think  colony!
Why Colony?
            Why  not?


Build your personalized applications
    from existing components...

  ...from open source plugins
  ...from proprietary plugins
  ...deploying to a personal cloud
  ...using any technology and being
  platform independent
Colony Applications

      Scientific  computing
                              E-­Government



                               Business  software
   Energy  Management


                              Health  Care
Web  consumer  products
Start using Colony
     What  can  I  do  with  Colony?

. A simple rails-­like MVC application,
that expands functionality over time

.An extension to the SMTP plugin to
                                            Simple
provide automatic mail handling

. A distributed system to process
scientific computing
                                          Complex
. An enterprise application driven
by modules (pay by module)
                                           many  more
Call to Action
                   Join  us                    more  geeks
                                               like  us
. People to drive colony community
. Partners to develop new plugins for colony
. Deployment of colony in scientific environments
. Hobbyist usage of colony



                  they  can  benefit  from
                  colony  distributed

            remember  it’s  fun
Get Colony
 getcolony.com
  @colonyframework




       hive.pt
   @hivesolutions

More Related Content

Similar to Colony, modularity the easy way

EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allMarc Dutoo
 
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware
 
ISS Art. How to do IT. Kotlin Multiplatform
ISS Art. How to do IT. Kotlin MultiplatformISS Art. How to do IT. Kotlin Multiplatform
ISS Art. How to do IT. Kotlin MultiplatformISS Art, LLC
 
Accelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and MicroservicesAccelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and MicroservicesAmazon Web Services
 
OSGi DevCon US 2010 Review
OSGi DevCon US 2010 ReviewOSGi DevCon US 2010 Review
OSGi DevCon US 2010 Reviewmfrancis
 
Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience National Cheng Kung University
 
UniK - a unikernel compiler and runtime
UniK - a unikernel compiler and runtimeUniK - a unikernel compiler and runtime
UniK - a unikernel compiler and runtimeLee Calcote
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitMarco Ferrigno
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps ParadigmNaLUG
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1Docker, Inc.
 
Node.js meetup at Palo Alto Networks Tel Aviv
Node.js meetup at Palo Alto Networks Tel AvivNode.js meetup at Palo Alto Networks Tel Aviv
Node.js meetup at Palo Alto Networks Tel AvivRon Perlmuter
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekDr. Felix Raab
 
IzPack - fOSSa 2009
IzPack - fOSSa 2009IzPack - fOSSa 2009
IzPack - fOSSa 2009julien.ponge
 
Linux on System z Update: Current & Future Linux on System z Technology
Linux on System z Update: Current & Future Linux on System z TechnologyLinux on System z Update: Current & Future Linux on System z Technology
Linux on System z Update: Current & Future Linux on System z TechnologyIBM India Smarter Computing
 

Similar to Colony, modularity the easy way (20)

Breaking the monolith
Breaking the monolithBreaking the monolith
Breaking the monolith
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
 
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
 
Android Optimization: Myth and Reality
Android Optimization: Myth and RealityAndroid Optimization: Myth and Reality
Android Optimization: Myth and Reality
 
Cont0519
Cont0519Cont0519
Cont0519
 
ISS Art. How to do IT. Kotlin Multiplatform
ISS Art. How to do IT. Kotlin MultiplatformISS Art. How to do IT. Kotlin Multiplatform
ISS Art. How to do IT. Kotlin Multiplatform
 
Accelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and MicroservicesAccelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and Microservices
 
OSGi DevCon US 2010 Review
OSGi DevCon US 2010 ReviewOSGi DevCon US 2010 Review
OSGi DevCon US 2010 Review
 
Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience
 
Improve Android System Component Performance
Improve Android System Component PerformanceImprove Android System Component Performance
Improve Android System Component Performance
 
UniK - a unikernel compiler and runtime
UniK - a unikernel compiler and runtimeUniK - a unikernel compiler and runtime
UniK - a unikernel compiler and runtime
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1
 
Node.js meetup at Palo Alto Networks Tel Aviv
Node.js meetup at Palo Alto Networks Tel AvivNode.js meetup at Palo Alto Networks Tel Aviv
Node.js meetup at Palo Alto Networks Tel Aviv
 
Build Programming Language Runtime with LLVM
Build Programming Language Runtime with LLVMBuild Programming Language Runtime with LLVM
Build Programming Language Runtime with LLVM
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one week
 
OSGI,
OSGI,OSGI,
OSGI,
 
IzPack - fOSSa 2009
IzPack - fOSSa 2009IzPack - fOSSa 2009
IzPack - fOSSa 2009
 
Linux on System z Update: Current & Future Linux on System z Technology
Linux on System z Update: Current & Future Linux on System z TechnologyLinux on System z Update: Current & Future Linux on System z Technology
Linux on System z Update: Current & Future Linux on System z Technology
 

More from Hive Solutions

Third Issue: Runtime Modularity
Third Issue: Runtime ModularityThird Issue: Runtime Modularity
Third Issue: Runtime ModularityHive Solutions
 
Second Issue: Accelerated Development
Second Issue: Accelerated DevelopmentSecond Issue: Accelerated Development
Second Issue: Accelerated DevelopmentHive Solutions
 
First Issue: Transparent Distribution
First Issue: Transparent DistributionFirst Issue: Transparent Distribution
First Issue: Transparent DistributionHive Solutions
 
alacarte.fm, colony style
alacarte.fm, colony stylealacarte.fm, colony style
alacarte.fm, colony styleHive Solutions
 
alacarte.fm presentation
alacarte.fm presentationalacarte.fm presentation
alacarte.fm presentationHive Solutions
 

More from Hive Solutions (7)

Third Issue: Runtime Modularity
Third Issue: Runtime ModularityThird Issue: Runtime Modularity
Third Issue: Runtime Modularity
 
Second Issue: Accelerated Development
Second Issue: Accelerated DevelopmentSecond Issue: Accelerated Development
Second Issue: Accelerated Development
 
First Issue: Transparent Distribution
First Issue: Transparent DistributionFirst Issue: Transparent Distribution
First Issue: Transparent Distribution
 
Comics preview
Comics previewComics preview
Comics preview
 
alacarte.fm, colony style
alacarte.fm, colony stylealacarte.fm, colony style
alacarte.fm, colony style
 
Mind Hacking 101
Mind Hacking 101Mind Hacking 101
Mind Hacking 101
 
alacarte.fm presentation
alacarte.fm presentationalacarte.fm presentation
alacarte.fm presentation
 

Recently uploaded

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...DianaGray10
 
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 businesspanagenda
 
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 WoodJuan lago vázquez
 
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 DiscoveryTrustArc
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
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...apidays
 
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...Miguel Araújo
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
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 challengesrafiqahmad00786416
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
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].pdfOverkill Security
 
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...Jeffrey Haguewood
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
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...Zilliz
 
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...Martijn de Jong
 

Recently uploaded (20)

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...
 
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
 
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
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
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...
 
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...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
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...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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...
 
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...
 

Colony, modularity the easy way

  • 1. Colony Framework Modularity,  the  easy  way João  Magalhães joamag@hive.pt @joamag 2010
  • 3. Colony Framework The  beginning . Single problem found in 2008 data  migration . OSGi was too complex and heavy . Started replicating OSGi functionality, avoiding complexity and promoting pragmatism .  no  dynamic  language .  not  fun  to  develop .  not  like  rails
  • 4. Colony Framework the  r ebolution this  is the  logo
  • 5. Colony Framework Goals . Modularity and re-­usage . Easy to use and easy to develop just  like  rails . Fun to develop this is  true .  Open  standards . Truly open platform in every sense .  Opem  sourcecode .  Com munity  driven   . Sustained development, research oriented not  guided  by   customer  demands
  • 6. The research numbers ch  months  of  pure  resear 6 and  prototyping 1 years  of  research   1/2 and  development 300k Lines  of  code  and   70  person  years (someone  should  have 400 d retired  by  now) Colony  plugins  develope
  • 7. Colony Framework Structure . It’s a specification and not an implementation . 2 reference implementations . Python, Javascript . 2 different flavours . Standard and Web . Runtime Plugin model (OSGi and MEF inspired) . Distributed model (OSGi inspired) . Easy Viral deployment
  • 8. Colony Framework How  it  works? the  core ent .  Dependen cy  managem ent .  Life  cy cle  managem ol .  Inversion  of  contr Console  Plugin .  Command  line  processing .  Minimal  set  of  commands for  controlling  the  core .  Allows  command  extemsions Translation  C onsole  Plugin .  Provid es  a  console  t ranslation  ser .  Allows  trans vice lation  extensio ns
  • 9. Colony Framework How  it  works? the  core Console  Plugin Translation  Console  Plugin Translation  engine  plugins
  • 11. Colony Framework the  big  picture Services  Set .  HTTP Distribution  Set .  Serialization .  SMTP .  Discovery .  XMPP .  Balancing .Etc Business  Logic Data  Set .  Data  pool  managing .  ORM .  Load  balancing .  Storage .  Compression
  • 12. Colony Framework Distribution .Grid of colony instances . Federation of colony grids . Automatic instance discovery (UPnP, bonjour) . Transient plugins . Viral distribution Op timized  reso urce  usage
  • 13. Colony Framework Distribution + + C++ + C++ + + Optimized  resource  usage
  • 14. Colony Framework Distribution  possibilities just  plug  the  cable . Easy scaleout . Simple development model . Crowd sourcing ready . No technology commitment explore  the  power   of  millions Colony  is  defined  by just  like   standard  specifications a  normal  plugin not  technologies
  • 16. Why Colony? Development  process less  collisions, . Parallel development less  conflicts  in merges . Natural division of work . Easy introduction to new work a  plugin  is  a  small  codeb boundaries  are  defined ase by  plugin  specification 300k  of  code  VS  2k  o f  code
  • 17. Why Colony? Open  source a  plugin  can  use . Open source code under GPL v3 whatever  licence . Open standards . Community driven we  love  ’em: .  OpenID .  Oauth Community  is the  boss
  • 18. Why Colony? Extras it’s  painless . Easy development model . Zero downtime for  real! . Modularity on the web something  new . Open to extension, ready for the future . many more... think  colony!
  • 19. Why Colony? Why  not? Build your personalized applications from existing components... ...from open source plugins ...from proprietary plugins ...deploying to a personal cloud ...using any technology and being platform independent
  • 20. Colony Applications Scientific  computing E-­Government Business  software Energy  Management Health  Care Web  consumer  products
  • 21. Start using Colony What  can  I  do  with  Colony? . A simple rails-­like MVC application, that expands functionality over time .An extension to the SMTP plugin to Simple provide automatic mail handling . A distributed system to process scientific computing Complex . An enterprise application driven by modules (pay by module) many  more
  • 22. Call to Action Join  us more  geeks like  us . People to drive colony community . Partners to develop new plugins for colony . Deployment of colony in scientific environments . Hobbyist usage of colony they  can  benefit  from colony  distributed remember  it’s  fun
  • 23. Get Colony getcolony.com @colonyframework hive.pt @hivesolutions