Colony Framework - Colony Framework
![]() | |
Vývojář | João Magalhães, vývojáři kolonií a řešení úlů |
---|---|
Stabilní uvolnění | 1.0.0 / květen 2011 |
OS | Cross-platform |
Licence | GPLv3 |
webová stránka | getcolony.com |
Hlavní, důležitý implementace | |
Krajta, JavaScript, Rubín | |
Ovlivněno | |
OSGi, Managed Extensibility Framework |
The Colony Framework je otevřený zdroj zapojit rámec Specifikace.[1] Implementace specifikace nabízejí model runtime komponenty, který umožňuje instalaci, spuštění, zastavení, aktualizaci a odinstalaci pluginů bez nutnosti zastavení kontejneru aplikace. Specifikace do značné míry závisí na Inverze kontroly principu, aby se aplikačním komponentám usnadnilo vzájemné objevování a interakce.
Colony si klade za cíl eliminovat složitost typicky spojenou s vytvářením modulárních aplikací, a to prostřednictvím zjednodušeného jednotného modelu pro vývoj komponent. Praktické aplikace se mohou pohybovat od modulárního podnikového softwaru po maškarádu aplikací.[2]
Motivace
Colony shromažďuje inspiraci z jiných řešení modularity, jako je OSGi pro Jáva programovací jazyk a Managed Extensibility Framework (MEF) pro .NET Framework.
Colony si klade za cíl být specifikací nezávislou na platformě a jazyku a sloužit široké škále případů použití.[3] To zahrnuje případy použití obvykle spojené s OSGi, jako je modularizovaná aplikace s úzkým jádrem a velkými možnostmi rozšiřitelnosti. Patří sem i případy použití MEF obstarává, jako je přidání modularity k existující aplikaci, aniž by vývojář musel od nuly vytvářet vlastní infrastrukturu pluginů.
Iniciativa Colony Distributed také podporuje potřebu snížení počtu kroků konfigurace pro sestavení výpočetní mřížky a také podpora přidání uzlů a distribuce výpočtů do nich co nejrychleji.
Klíčové koncepty
Konceptuální model Colony staví na vrcholu 6 klíčových konceptů.[1]
- Správce pluginů: základní zařízení, které spravuje životní cyklus pluginu a injekce závislostí.
- Zapojit: izolovaná část kódu a přidružené zdroje, která má smysl sama o sobě nebo při spolupráci s jinými doplňky.
- Schopnost: definuje, co plugin dokáže, aby jej bylo možné porovnat s jinými pluginy, které touží po jeho schopnostech.
- Závislost: definuje, že plugin vyžaduje pro fungování jiný plugin a bez něj je bezcenný.
- událost: zpráva, kterou lze vysílat pomocí pluginu a poslouchat podle toho, který modul ji chce přijmout.
- Balíček: sada souvisejících pluginů, které mají fungovat společně.
Životní cyklus zásuvného modulu zahrnuje načítání a uvolňování jeho zdrojů a jeho vkládání do ostatních jako schopnost nebo závislost, stejně jako možnost vložit do něj schopnosti a / nebo závislosti.[4]
Rozdělení
Rámec navrhuje koncept Virová distribuce kde lze výpočet transparentně distribuovat na libovolný počet uzlů tím, že každý uzel spustí instanci Colony. Koncept využívá výhody modularity tím, že používá zásuvný modul jako jednotku pro přenos mezi uzly. Koncept také vyžaduje dostupnost nástrojů pro rychlé objevování nových uzlů (např. Použití Nulová konfigurace techniky jako Bonjour prostřednictvím pluginu Colony Bonjour).
Virová distribuce podle interpretace Colony by znamenala, že nakonfigurovaná instance Colony by mohla zpřístupnit svůj výpočetní výkon výpočetní mřížce spravované Colony oznámením svých specifikací, po kterých obdrží pracovní jednotky ve formě pluginů, tj. Mobilní kód pro provedení v instanci.
Nastavení nové instance Colony a povolení podpory distribuce virů by vyžadovalo operační systém, základní závislosti Colony (např. virtuální stroj pro vybraný implementační jazyk Colony) a samotný správce rozhraní (např. pomocí instalačního programu).[5] Přidání základních balíčků požadovaných pro přístup a stahování ze vzdáleného úložiště pluginů do instance by završilo bootstrap. Uzel by pak oznámil svoji dostupnost pluginu distribučního serveru a mohl by začít přijímat a zpracovávat práce.
Pozoruhodné komponenty
Colony framework obsahuje sadu aplikačních komponent pro různé funkce, od dílčích rámců specifických pro doménu po poskytovatele běžných protokolů a služeb.
Pozoruhodné komponenty zahrnují kompletní rámec webových aplikací, založeno na MVC vzor architektury, podobný Ruby on Rails a Django Webový zásobník je podporován modulárně HTTP implementace serveru vyvinutá od základu na základě filozofie designu Colony. V praxi to znamená, že i základní součásti serveru HTTP, jako například souborový systém přístup a zásuvka rozhraní, jsou poskytovány jako moduly a mohou být hotswapped Modul používá také webový MVC plugin ORM plugin správce entit. Pro správu rozdělení, komponenta správce distribuce funguje jako rozbočovač pro různé distribuční doplňky, které implementují koncept virové distribuce Colony.
Mezi další dostupné komponenty patří a stavět automatizaci složka (funkčně srovnatelná s Maven ); rozšiřitelná revizní kontrolní fasáda s rozšířením dostupným pro Podvracení, Bazar a Mercurial; soběstačný Wiki aplikace s využitím Kontrola revizí pluginy. Pro integraci s jinými technologiemi poskytuje Colony servery a klienty pro běžné protokoly, jako je SMTP, BitTorrent, DNS, IRC, POP, Telnet, XMPP, LDAP stejně jako podpora pro Bonjour (Apple Inc. implementace Nulová konfigurace Zahrnuty jsou také některé specializované komponenty, například klienti pro Cvrlikání API a Služba oznámení Apple Push.
Postavení
Od roku 2011 je Colony považována za alfa ačkoli existují produkční nasazení.[6]
Viz také
- Zapojit
- Modulární programování
- Softwarové inženýrství založené na komponentách
- OSGi
- Managed Extensibility Framework
Reference
- ^ A b Specifikace kolonie Archivováno 17.08.2011 na Wayback Machine - Průvodce specifikací kolonie
- ^ Co mohu postavit s Colony? Archivováno 17.08.2011 na Wayback Machine - Průvodce aplikacemi, které by mohly těžit z této technologie
- ^ Proč kolonie? Archivováno 17.08.2011 na Wayback Machine - Průvodce motivující k potřebě rámce
- ^ Životní cyklus pluginu Archivováno 17.08.2011 na Wayback Machine - Část specifikace popisující životní cyklus pluginu
- ^ Jak založit svou kolonii ve 3 snadných krocích Archivováno 17.08.2011 na Wayback Machine - Průvodce popisující nastavení technologie
- ^ Oficiální webové stránky - Odkaz na aktuální stav Colony as brzy alfa od roku 2011
externí odkazy
- Web Colony Framework, getcolony.com