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

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
OCCIware
 
IzPack - fOSSa 2009
IzPack - fOSSa 2009IzPack - fOSSa 2009
IzPack - fOSSa 2009
julien.ponge
 

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 (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

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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
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
 
"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 ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
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
 
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...
 
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
 
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
 
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
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
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...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
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
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

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