Osgish הוא פגז OSGi מבוסס על פרל להפגיז בצד הלקוח שמתקשר דרך HTTP / JSON לסוכן מיוחד ארוזים פרוסים על פלטפורמת היעד & nbsp;. לצד תכונות סטנדרטיים המסופקות על ידי פגזי OSGi קיימים השונים מחוצה לה מספקת כמה תכונות ייחודיות כדי להפוך את easiers חיים בעת התמודדות עם הרבה חבילות OSGi:
* GNU readline תמיכה ב
- ההיסטוריה הצילה מפגשי accross
- השלמת שורת הפקודה בהקשר רגישה
- קישורי מקשי Emacs
* הדגשת תחביר עקבית (החלפה) עם תמיכה בנושא הצבע
* הפעלה מרחוק באמצעות HTTP (S) כולל מתקן להעלאת חבילות להתקנה / עדכון
* להגדרה באמצעות קובץ תצורה כמו קיצורי דרך לכתובות אתרי שרת ידועים.
* תמיכה בתווים כלליות לפעילות שאילתא ומחזור החיים
* תמיכה עבור פעולות בנפחים גדולות (למשל מתחיל צרורות מרובות בבת אחת)
* קבוצות פיקוד שניתן לעבור כמו ספריות
* Extensible על ידי תוספי הפקודה
איך זה עובד
Osgish מורכב בעיקר משני חלקים: תסריט שורת פקודת פרל (יחד עם כמה מודולים Perl) המתחבר למכל OSGi באמצעות חבילה מיוחדת סוכן OSGi (osgish-agent.jar). חבילה זו כוללת את jmx4perl למידע JMX יצוא דרך OSGi HttpService נתונים JSON. MBeans JMX משמש אלה מסופקים על ידי טלה (http://incubator.apache.org/aries/) אשר הופך יישום המפרט (עדיין לא סיים) של OSGi Alliance קבוצת מומחי Enterprise (EEG), במיוחד . "ניהול JMX דגם מפרט" & nbsp;
למרות שהגדרה זו נשמעת קצת מעורבת, ההתקנה היא לא הרבה יותר מהתקנת חבילת CPAN וצרור סיפק OSGi (זהה לjmx4perl).
התקנה
חלק פרל מתקין כמו כל מודול אחר באמצעות הבנייה :: מודול, שבו אתה צריך להתקין. שימוש ב
& Nbsp; פרל Build.PL
& Nbsp; ./Build
& Nbsp; מבחן ./Build
& Nbsp; ./Build להתקין
יתקין את המודולים. אם יש לך Java ומייבן (כלי לבנות Java) מותקן, חבילת הסוכן תהיה מלוקט וארוזה, כמו גם בעת השימוש "dist ./Build '. עם זאת, זה אינו נדרש כחבילה ארוזה מראש כלולה בתוך ספריית הסוכן.
Osgish תלוי ב'Term :: ReadLine 'מודול פרל (בעקיפין באמצעות Term :: ShellUI), אשר ניתן להשתמש בי עם יישומי readline backend שונים. היישום החזק ביותר (ומכאן מומלץ) הוא ספריית GNU readline / ההיסטוריה אשר תשמש במידה ומותקנת. זה באמת שווה ללכת בדרך נוספת להתקין readline של גנו, אפילו על OS X או Windows (שאינו טריוויאלי). לדוגמה: לX OS אתה יכול להשתמש בחבילה "P5-טווח readline-גנה" מיציאות Mac להתקין readline יחד עם מודול הצורך. לדביאן, הדרך הקלה ביותר היא להתקין את החבילה 'libterm-readline-גנה-פרל' באמצעות apt. עם זאת, לטווח יישום ברירת מחדל :: ReadLine :: פרל משתלב יפה, מדי.
למודול לעבוד, אתה צריך מתן "OSGi-סוכן-צנצנת" לכל מכולת OSGi אתה רוצה להתחבר אליו. עיין במסגרת OSGi כיצד להתקין חבילה (למשל על ידי קוראים "להתקין" בקליפת OSGi או מתן שם הצרור במהלך אתחול). יש חבילה זו תלות בHttpService OSGi, אשר צריך להיות זמין. מיכל כמה OSGi (כמו GlassFish v3) כבר מגיע עם HttpService כאפשרות התקנה, עבור אחרים אתה צריך להתקין אחד באופן ידני. בחירה טובה היא אינטרנט Pax (http://wiki.ops4j.org/display/paxweb/Pax+Web) HttpService. בחר-אינטרנט המזח-צרור פאקס בעת ההורדה, הוא מכיל את כל מה שאתה צריך.
נחשב התקין את HttpService ביציאת ברירת המחדל שלה 8080, & nbsp; אתה יכול להתחבר אליו דרך
& Nbsp; osgish --server http: // localhost: 8080 / j4p
(זאת בהנחה, שיש לו את HttpService הקשר שורש '/' מה שנכון לאינטרנט Pax v3 של GlassFish HttpService להשתמש הקשר שורש '/ OSGi' שתוצאת URL חיבור של http:. // Localhost: 8080 / OSGi / j4p)
PLAFORMS OSGi הנתמך
& Nbsp;
פלטפורמת OSGi הבאה אושרה לעבודה עד כה ב:
& Nbsp; * 2.0.1 פליקס
& Nbsp; * 3.5.1 Equinox
& Nbsp; * GlassFish v3
& Nbsp; * שרת dm אביב 2.0
מאז חבילות OSGi הן ניידים מאוד, צפוי כי בכל שרת SGI עם & nbsp מותקנים HttpService צריך לעבוד מחוץ לקופסא.; אנא פתח באג בhttp://rt.cpan.org/Public/Bug/Report.html?Queue=osgish אם אתה נתקלת בבעיות כלשהן.
& ldquo;? על פני כדור הארץ למה אתה משתמש בפרל לגישור לטכנולוגיית Java טהור מבוססת כמו OSGi & rdquo;
ובכן, כהגדרה אולי נראה מורכב למדי (למעשה, זה confessly יותר עבודה מאשר התקנת חבורה של חבילות OSGi) יש לו כמה יתרונות ייחודיים. פרל ידוע ביכולות שלה ברמת הפרמיה מניפולציה טקסט והאינטגרציה של המערכות ההדוקה שלה. העושר של מודולים CPAN עדיין שאין כמוהו בעולם Java עד כה. דברים טובים כמו Term :: ProgressBar או Term :: ShellUI כנראה חסרים בצד Java די הרבה זמן לבוא. הודות לתקשורת HTTP הטהורה זה עובד יפה מעבר לגבולות חומת אש. ודון & rsquo; לא לשכוח פרל & rsquo; s מתכונותיו ביצועים מצוינות לסוג זה של יישומים. האחרון חביב, זה מקרה מושלם לשימוש jmx4perl, שבו יש סיפור בפני עצמו;-). IMO זה שילוב המושלם, שבו כל אחת משפות משחקות את כוחה.
טוב, מספיק שבחים, גם שם הם כמובן כמה חסרונות,: התקנת מודולים Perl יכול להיות כאב במיוחד אם אחד הוא לא בנוח עם CPAN או Perl בכללותו. במיוחד התקנת Term :: ReadLine :: Gnu על Windows או OS X יכולה לתת כאבי ראש גדולים (אם כי אפשרית, ויש נסיגה, מדי). זה קל לירות את עצמך ברגל כאשר מניפולציה מחזור החיים של חבילת הסוכן או שזה & rsquo; s תלות עם osgish. השהיית רשת ותנועה יכולות להיות בעיה מכיוון שכל התקשורת היא מרחוק כשלעצמה.
בסוף זה תלוי בך כדי לשפוט wheter osgish מתאים בשבילך. אני יהיה יותר שמח אם היית נותן לו לנסות. בשבילי זה עוזר לי במשימות הפיתוח וניהול OSGi שלי כל יום.
גם אם אתם לא מתכננים להשתמש osgish, אני & rsquo; מ 'סקרן לגבי דעתך על הגדרה זו. תגובות מוערכים מאוד
מה חדש במהדורה זו:!
- עדכון לטלה 0.3
מה חדש בגרסת 0.1.0 :
- חבילות העלאה לשרת ולנהל אותו
- גמר בהקשר רגיש Tuned, הוסיף אפשרויות ל'ls 'של שירותים / חבילות (השמות סמלי תכנית' -s ',' -u & lt; הצעה & gt; 'רק שירותים בשימוש על ידי חבילה & lt; & gt ;, הצעה' -B השירותים 'בבעלות חבילה & lt;; & lt; & gt הצעת הצעה & gt;
- התחל להוסיף עזרה מקוונת
דרישות :
- Java 2 Standard Edition Runtime Environment
- Perl
- JMX :: Jmx4Perl :: Config
- כללי :: Config
- OSGi :: Osgish
תגובות לא נמצא