Colony Framework
Colony Framework ‒ bul ashıq kodlı plagin freymvork specifikaciyası. Bul specifikaciyanı ámelge asırıw programmanı toqtatpastan plaginlerdi ornatıw, isletiw, toqtatıw, jańalaw hám óshiriw múmkinshiligin beretuǵın orınlanıw waqtındaǵı komponent modelin usınadı. Specifikaciya programma komponentleriniń bir-birin tabıwı hám óz-ara tásir etiwin ańsatlastırıw ushın kóbinese "basqarıwdı inversiyalaw" principine tiykarlanadı[1].
Colony modulli programmalardı dúziwde ádette baylanıslı bolǵan qıyınshılıqlardı komponentlerdi rawajlandırıw ushın ápiwayılasqan birlesken model arqalı dúzetiwge umtıladı. Ámeliy qollanıwlar modulli kárxanalıq programma támiynatınan baslap, programmalardı birlestiriwge shekem bolıwı múmkin[2].
Ilhamlanıw
Colony Java programmalastırıw tili ushın OSGi hám .NET Framework ushın Managed Extensibility Framework (MEF) sıyaqlı basqa modullik sheshimlerinen ilham alǵan.
Colony platforma hám tilden ǵárezsiz specifikaciya bolıwǵa hám qollanıwdıń keń diapazonına xızmet etiwge umtıladı. Oǵan OSGi menen baylanıslı bolǵan tar yadro hám keń keńeytiw múmkinshilikleri bar modulli programma sıyaqlı qollanıw jaǵdayları kiredi. Oǵan MEF qamtıp alatuǵın, baǵdarlamashı óziniń plagin infrastrukturasın nólden baslap dúziwine tuwra kelmeytuǵın bar programmaǵa modullik qosıw sıyaqlı qollanıw jaǵdayları da kiredi[3].
Esaplaw torın jıynaw ushın konfiguraciya basqıshlarınıń sanın azaytıw, sonday-aq túyinlerdi qosıw hám olarǵa esaplawlardı múmkin bolǵanınsha tez tarqatıwdı qollaw zárúrligi de Colony Distributed baslamasın alǵa ilgerletpekte.
Tiykarǵı túsinikler
Colony konceptual modeli 6 tiykarǵı túsinik ústinde qurılǵan:
- Plagin menedjeri: plagin ómirlik ciklin hám ǵárezlilikti inekciyalawdı basqaratuǵın tiykarǵı sistema.
- Plagin: óz aldına yamasa basqa plaginler menen birge islegende mánili bolǵan izolyaciyalanǵan kod bólegi hám oǵan baylanıslı resurslar.
- Imkaniyat: plaginniń ne isey alatuǵının anıqlaydı, sonda onı óziniń qábiletlerin qáleytuǵın basqa plaginler menen sáykeslestiriwge boladı.
- Ǵárezlilik: plaginniń islewi ushın basqa plagindi talap etetuǵının hám olsız paydasız ekenin anıqlaydı.
- Waqıya: plagin tárepinen jiberiletuǵın hám onı alıwdı qáleytuǵın hár qanday plagin tárepinen tıńlanatuǵın xabar.
- Toplam: birge islewge arnalǵan baylanıslı plaginler toplamı.
Plagin ómirlik cikline onıń resursların júklew hám júklewden shıǵarıw, onı imkaniyat yamasa ǵárezlilik retinde basqalarǵa inekciyalaw, sonday-aq imkaniyatlardı hám/yamasa ǵárezliliklerdi oǵan inekciyalaw kiredi[4].
Tarqatıw
Freymvork "Virus tárizli tarqatıw" koncepciyasın usınadı, bunda hárbir túyin Colony danasın isletken jaǵdayda, esaplawlar hár qanday sandaǵı túyinlerge ashıq tarqatılıwı múmkin. Bul koncepciya plagindi túyinler arasında ótkiziletuǵın birlik retinde qollanıp, modullik kózqarastan paydalanadı. Koncepciya sonday-aq jańa túyinlerdi tez anıqlaw ushın qurallardı talap etedi (mısalı, Colony Bonjour Plugin arqalı Bonjour sıyaqlı Zeroconf texnikaların qollanıw).
Colony túsindirmesi boyınsha, virus tárizli tarqatıw, konfiguraciyalanǵan Colony danası óziniń specifikaciyaların járiyalaw arqalı Colony basqaratuǵın esaplaw torına óziniń esaplaw quwatın usına aladı, sonnan keyin ol plaginler formasında jumıs birliklerin aladı, yaǵnıy, danalarda orınlanatuǵın mobil kod.
Jańa Colony danasın ornatıw hám virus tárizli tarqatıw qollawın iske qosıw ushın operaciyalıq sisteması, tiykarǵı Colony ǵárezlilikleri (mısalı, tańlap alınǵan Colony ámelge asırıw tili ushın virtual mashina) hám freymvork menedjeriniń ózi (mısalı, ornatıwshını qollanıp) kerek boladı. Danaǵa aralıqtaǵı plagin repozitoriyine kiriw hám júklep alıw ushın talap etiletuǵın tiykarǵı toplamlardı qosıw avtomatik isletiw procesin tamamlaydı. Sonnan keyin túyin Tarqatıw Server Plaginine óziniń bar ekenligin járiyalaydı hám jumıstı alıw hám qayta islewdi baslawı múmkin.
Belgili komponentler
Colony freymvorki túrli funkciyalar ushın baǵdarlama komponentleriniń toplamın óz ishine aladı, taraw-specifikalıq sub-freymvorklerden baslap ádettegi protokollar hám xızmetler ushın provayderlerge shekem.
Belgili komponentlerge Ruby on Rails hám Django ǵa uqsas, MVC arxitektura úlgisine tiykarlanǵan tolıq veb-baǵdarlama freymvorki kiredi. Veb-stekti Colony dizayn filosofiyası astında nólden islengen modulli HTTP server ámelge asırıwı qollaydı. Ámelde bul hátteki fayl sistemasına kiriw hám soket interfeysleri sıyaqlı tiykarǵı HTTP server komponentleriniń de moduller sıpatında berilgenin hám ıssı almastırılıwı múmkin ekenin ańlatadı. Veb MVC plagini modulli ORM obekt menedjeri plaginin de qollanadı. Tarqatıwdı basqarıw ushın, tarqatıw menedjeri komponenti Colony dıń virus tárizli tarqatıw koncepciyasın ámelge asıratuǵın hár qıylı tarqatıw plaginleri ushın xab retinde xızmet etedi.
Basqa bar komponentler arasında qurılıs avtomatizaciya komponenti (funkcional jaqtan Maven ǵa teńlestiriliwi múmkin); Subversion, Bazaar hám Mercurial ushın keńeytpeleri bar keńeytiletuǵın versiya baqlaw fasadı; Versiya baqlaw plaginlerinen paydalanatuǵın ózin-ózi támiynleytuǵın Wiki qollanbası. Basqa texnologiyalar menen integraciyalaw ushın Colony SMTP, BitTorrent, DNS, IRC, POP, Telnet, XMPP, LDAP sıyaqlı ulıwma protokollar ushın serverler hám klientler, sonday-aq Bonjour (Apple Inc. tıń Zeroconf ámelge asırıwı) ushın qollaw usınadı. Twitter API hám Apple Push Notification Service ushın klientler sıyaqlı geybir tar tarawlı komponentler de kirgizilgen[5].
Status
2011-jıldan baslap, Colony alfa jaǵdayında dep esaplanadı, biraq óndiris jaylastırıwları bar.
Derekler
- ↑ Colony Specification 2011-08-17 sánesinde Wayback Machine saytında arxivlendi. - Guide on the Colony specification
- ↑ What can I build with Colony? 2011-08-17 sánesinde Wayback Machine saytında arxivlendi. - Guide with applications that could benefit from the technology
- ↑ Why Colony? 2011-08-17 sánesinde Wayback Machine saytında arxivlendi. - Guide motivating the need for the framework
- ↑ Plugin lifecycle 2011-08-17 sánesinde Wayback Machine saytında arxivlendi. - Section of the specification describing the plugin lifecycle
- ↑ Official website - Reference to the current status of Colony as early alpha as of 2011