זירה מס' 2: ג'אווה נגד אקטיב -איקס

התחרות בין סאן למיקרוסופט מחייבת מפתחים רבים להכריע בין עבודה בשפת ג'אווה לבין ההסתמכות של אקטיב-איקס של מיקרוסופט.

הדרך הנפוצה ביותר להצגת מידע ברשת האינטרנט בשנותיה הראשונות היתה באמצעות כתיבת טקסטים והצגת תמונות. אולם ככל שהרשת הפכה נפוצה יותר, גבר גם הצורך בטכנולוגיות מתוחכמות יותר שיאפשרו להכניס אלמנטים נוספים, המחייבים שימוש במשאבי מערכת המשתמש (למשל האנימציה).

טכנולוגיות אלו הן בעצם שפות תיכנות, המאפשרות לפתח אתרים המסוגלים להוריד תוכנה ישירות אל מחשבי המשתמשים, ולהפעיל בהם יישומים שונים. בכך, הרשת מקבלת צביון חדש: אלמנטים גרפיים דינמיים וצבעוניים, בלא המחיר הכבד הכרוך בהערה איטית של קבצים גרפיים כבדים.

מיקרוסופט נגד השעועית

הטכנולוגיה הראשונה בתחום זה היא ג'אווה ( Java , שפת תיכנות שפותחה על - ידי חברת סאן מיקרוסיסטמס. בעקבותיה הופיעה טכנולוגיית אקטיב - איקס Active - X ) המתחרה, שפותחה על - ידי חברת מיקרוסופט.

ג'אווה ואקטיב - איקס הן שתי טכנולוגיות המשלימות זו את זו בבחינת שפת תיכנות ואובייקטים. ג'אווה היא בראש ובראשונה שפת תיכנות, המאפשרת בין היתר הרצה תוכנה באופן בלתי תלוי במערכת ההפעלה (בין אם מדובר בחלונות, במקינטוש או ביוניקס). עובדה זו נכונה, בתנאי שמערכת ההפעלה תריץ את "המכונה הווירטואלית" של ג'אווה ( VM )

אקטיב - איקס היא טכנולוגיה ליצירת אובייקטים בכל שפה, ולכן התחרות האמיתית היא בעצם בין אקטיב - איקס לבין "שעועית ג'אווה" ( Java Beans ) , כאשר האחרונה היא טכנולוגיה הדומה לאקטיב - איקס במובן של יצירת אובייקטים.

"שעועית ג'אווה" ואקטיב - איקס משרתות את אותה מטרה בסיסית: לאפשר תקשורת בין חלקי תוכנה הנמצאים בדפדפן או בכל תוכנה אחרת, לצורך הצגת דפי Web . "שעועית ג'אווה" היא טכנולוגיית שילוב, המאפשרת תקשורת בין האובייקטים של השעועית ( Beans ) ובין הדפדפן.

תקשורת זו מתאפשרת כאשר אובייקטי השעועית משולבים בתוך דפי HTML , ומוצגים על - ידי הדפדפן. כלומר, אובייקטים אשר נכתבו ב"שעועית ג'אווה", יוכלו לתקשר עם הדפדפן או עם כל סביבה אחרת התומכת בטכנולוגיה זו.

יישומוני אקטיב - איקס ( Active - X Controls ) הם אובייקטים המשולבים בתוך מסמכי אקטיב - איקס, כגון דפי Web . יישומוני אקטיב - איקס משולבים באופן דומה לזה שבו משולבים אובייקטי השעועית בתוך מסמכי "שעועית ג'אווה", ומאפשרים את אותה טכנולוגיית התקשרות.

זמינות

כדי לעבוד עם "שעועית ג'אווה", יש צורך בהתקנת ערכת המפתחים של ג'אווה, שניתן להורידה מאתר האינטרנט של חברת סאן מיקרוסיסטמס. מבחינת זמינות, טכנולוגיית אקטיב - איקס מובילה, מאחר שהיא נתמכת על - ידי ערכות פיתוח רבות של חברת מיקרוסופט, כגון ויז'ואל בייסיק, ויז'ואל C , ועוד.

גם כלי הפיתוח של ג'אווה הכריזו על תמיכה באקטיב - איקס. בנוסף, קיימים אלפי יישומוני אקטיב - איקס מוכנים, הניתנים לרכישה. נקודה חשובה נוספת טמונה בסביבת ה - Developer של מיקרוסופט, הנותנת אפשרות מהירה למעבר בין Debugging Mode ובין אובייקטים בשפות שונות.

יכולת

ה - API של ג'אווה, שהוא המקשר בין התיכנות לבין הפעלת התוכנה, עדיין לוקה בחסר בכל הקשור למולטימדיה. כמו כן, יכולת הביצוע שלו נמוכה. לעומת ג'אווה, הרי לאקטיב - איקס יש את יכולות הביצוע של יישום טבעי ( Native) , שהינן פעולות בסיסיות ברמת מערכת ההפעלה. לפיכך, ניתן להשתמש ב - API טבעי, המציע מרחב גדול של יכולות וביצוע. מאידך, מחיר השימוש ב - API טבעי טמון בהגבלת התוכנה למערכת הפעלה אחת. לסיכום, ניתן לומר כי בג'אווה יש לנו API מוגבל, ואילו באקטיב - איקס קיימת יכולת עבודה בסביבת חלונות בלבד.

אבטחה

"שעועית ג'אווה" מושתתת על ג'אווה עצמה, וכן על יכולת האבטחה שלה. האבטחה בג'אווה הינה עצמית, כלומר בשפה עצמה, בכל הנוגע לבעיות תיכנות הכוללות זיכרון או המרה של פרמטרים. כמו כן קיים "מנהל אבטחה" בג'אווה, הדואג לאבטחה בכל הנוגע לגישה לדיסק הקשיח או לרשת.

כיום, יישומוני ג'אווה מוגבלים מאוד מבחינת גישה למשאבים במערכת. יחד עם זאת, בערכת הפיתוח החדשה של חברת סאן, יש אפשרות לשחרר במעט הגבלה זו, באמצעות שימוש ב"יישומון מאושר". טכנולוגיה זו מאפשרת מעין "החתמה" של יישומונים, כך שהמשתמש יוכל להחליט אם הוא יכול לסמוך על יישומון מסוים או לא, לפי שם יוצר היישומון הספציפי. בכל מקרה, האבטחה מבחינת השפה נשארת בעינה: האבטחה הבסיסית קיימת אך לוקה בחסר.

לעומת ג'אווה, הרי אקטיב - איקס מחוסרת כל טכנולוגיית אבטחה עצמית, ולכן אינה בטוחה לשימוש ב - Web . האבטחה היחידה הקיימת באקטיב - איקס הינה "חתימה דיגיטלית", הדומה ל"יישומון מאושר" מבחינת המידע על היוצר, כאשר בנוסף ניתן לדעת אם נעשו שינויים באובייקט המקורי.

לסיכום, ליכולות תיכנות גבוהות ולטכנולוגיות מסוג זה, יש מחיר, המתבטא בירידה ברמת האבטחה. בג'אווה קיימת רמת אבטחה בסיסית הלוקה בחסר, ואילו באקטיב - איקס כמעט לא קיימת אבטחה. לדעת מומחים רבים, זו סיבה המקשה ביותר על חברת מיקרוסופט להפיץ את הטכנולוגיה.

תמיכה

טכנולוגיית אקטיב - איקס נתמכת כיום על ידי שלוש שפות לפחות. כמו כן, ניתן לפתח באמצעותה יישומים בסביבה אחת ולהשתמש בהם בסביבה אחרת, אך עדיין לא בצורה מושלמת. לגבי ג'אווה נעשו תכנונים לשם כך אך עדיין לא נמסרו עליהם פרטים.

מבחינת התמיכה במערכות ההפעלה, ג'אווה מובילה בלא ספק. "המכונה הווירטואלית" שלה נתמכת על ידי כמעט כל מערכות ההפעלה המקובלות, וגם במערכות הפעלה קצת פחות ידועות ונפוצות. המחיר של יכולת זו הוא הוויתור על מאפיינים המייחדים את מערכות ההפעלה השונות. באקטיב - איקס ניתן לפתח תמיכה לרוב המערכות, אלא שכל אובייקט מפותח בצורה שונה עבור כל מערכת הפעלה.

סיכום

בבחירה בין שתי הטכנולוגיות, יש להתחשב גם בסביבה או בסביבות המיועדות למוצר. אם המוצר שמפתחים מיועד לאינטרנט, כדאי לקחת בחשבון את האבטחה. מבחינה זו, ג'אווה היא הבחירה הטובה יותר ובבחינת הרע במיעוטו. אם המוצר מיועד לרשת האינטראנט הפנים - ארגונית, ואבטחה אינה מהווה שיקול, אזי ניקח בחשבון את הביצועים והתמיכה במערכות ההפעלה.

כאשר היעד הסופי הוא סביבת חלונות, אזי אקטיב - איקס תהיה הבחירה המועדפת עבור מוצרים רבים. בטכנולוגיה זו ניתן להשתמש בתוכנות מוכנות וברמת ביצועים גבוהה ביותר (בין השאר, ניתן גם לשלב את אקטיב - איקס עם ג'אווה). עם זאת, אם ניתן להשלים עם שימוש אך ורק בג'אווה, ועם הגבלות השפה, אזי לטווח הרחוק "שעועית ג'אווה" תהיה הבחירה המוצלחת יותר מבחינת פיתוח, מכיוון שהיא תתמוך ברוב מערכות ההפעלה המקובלות.

**

הכותב הוא מנכ"ל חברת סקיוריטי 7

* * * * * * *« דורון אלגרסי « זירה מס' 2: ג'אווה נגד אקטיב -איקס *** * * * * * *« התחרות בין סאן למיקרוסופט מחייבת מפתחים רבים להכריע בין עבודה בשפת ג'אווה לבין ההסתמכות של אקטיב-איקס של מיקרוסופט.