רשומת החלטה ארכיטקטונית: שפת התכנות Java
כותרת: בחירת שפת התכנות Java לפרויקט
החלטה: לאחר הערכת מספר שפות תכנות, החלטנו להשתמש ב-Java לפרויקט שלנו.
רקע
התכוונו לבנות יישום מבוסס ווב שיוכל לרוץ על מערכות הפעלה רבות. הפרויקט שלנו דרש שפה שתספק יכולות אבטחה חזקות, תטפל במקביליות, תתמוך בבסיסי קוד גדולים ותהיה רב-גונית מספיק כדי לעמוד בדרישות הצמיחה העתידיות שלנו. הערכנו כמה שפות, ושקלנו את החוזקות והמגבלות שלהן, לפני שהחלטנו על Java.
שיקולים
אבטחה: Java מספקת יכולות אבטחה מצוינות באמצעות מדיניות אבטחה מוגדרת היטב ובקרת גישה. היא כוללת גם יכולות כמו אימות bytecode, שעוזר למנוע הרצת תוכנה זדונית במערכת.
מקביליות: ל-Java יש תמיכה מובנית בריבוי תהליכונים (multithreading), שמאפשרת ליישומים לבצע כמה משימות בו-זמנית. היכולת הזו הופכת את Java לבחירה מצוינת לפיתוח יישומים גדולים ומורכבים עם יכולות ופונקציונליות רבות.
בסיסי קוד גדולים: Java תומכת בתכנות מונחה עצמים, מה שהופך אותה לבחירה מתאימה לפיתוח בסיסי קוד גדולים. אופייה המודולרי והשימוש בתבניות כימוס והפשטה מוסיפים עוד לקלות תהליך פיתוח התוכנה.
רב-גוניות: Java רב-גונית ומאפשרת להשתמש במגוון רחב של ספריות ומסגרות, מה שהופך אותה לבחירה מצוינת הן ליישומים מבוססי ווב והן ליישומים ברמה ארגונית.
תוצאת ההחלטה
החלטנו להשתמש בשפת התכנות Java לפרויקט שלנו, בהתחשב ביכולות האבטחה שלה, בתמיכתה במקביליות, ביכולתה לטפל בבסיסי קוד גדולים וברב-גוניותה. ההחלטה הזו מתיישבת עם דרישות הפרויקט שלנו, ואנו מאמינים שבחירה ב-Java תבטיח את הצלחתו.
השלכות
נצטרך מפתחים בעלי ניסיון ב-Java שיכולים להשתמש בה בצורה מיומנת.
כל קוד שנכתב בשפה חייב להיות תואם למכונה הווירטואלית של Java (JVM).
שילוב יכולות, פונקציונליות או מסגרות חדשות עשוי להציב כמה אתגרים.
פרויקטים גדולים ומורכבים ב-Java עשויים לדרוש יותר זמן ומשאבים לפיתוח.