לדלג לתוכן

Java Enterprise Edition

מתוך ויקיפדיה, האנציקלופדיה החופשית
גרסה מ־16:06, 4 ביולי 2012 מאת EranBot (שיחה | תרומות) (בוט החלפות)
יש לפשט ערך זה: הערך מנוסח באופן טכני מדי, וקשה להבנה לקהל הרחב.
יש להוסיף מבוא אינטואיטיבי שיסביר את הרעיונות והמושגים בצורה פשוטה יותר, רצוי בליווי דוגמאות ותוך שימוש באמצעים אינפוגרפיים. אם אתם סבורים כי הערך איננו ברור דיו או שיש נקודה שאינכם מבינים בו, ציינו זאת בדף השיחה שלו. יש לציין כי ערכים מדעיים רבים מצריכים רקע מוקדם.
יש לפשט ערך זה: הערך מנוסח באופן טכני מדי, וקשה להבנה לקהל הרחב.
יש להוסיף מבוא אינטואיטיבי שיסביר את הרעיונות והמושגים בצורה פשוטה יותר, רצוי בליווי דוגמאות ותוך שימוש באמצעים אינפוגרפיים. אם אתם סבורים כי הערך איננו ברור דיו או שיש נקודה שאינכם מבינים בו, ציינו זאת בדף השיחה שלו. יש לציין כי ערכים מדעיים רבים מצריכים רקע מוקדם.

Java Enterprise Edition (מוכרת גם כ Java EE או ג'אווה EE. עד גרסה 5 הייתה ידועה כ-J2EE) היא מכלול חוקים לכתיבת יישומים בעלי צרכים משותפים כגון אבטחת מידע, ריבוי משתמשים, שימוש בבסיס נתונים וכדומה. שימוש ב-JEE מאפשר מעבר פשוט בין שרתי יישומים שונים עליהם מורצת אפליקציית היישום.

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

שרת Java EE מורכב לרוב משרת אינטרנט (שרת כמו tomcat jakarta apache) המריץ יישומונים (servlets) ודפים דינמיים של HTML המשלבים HTML, JavaScript וקוד Java ונקראים Java Server Pages.

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

חברת אורקל (לאחר שרכשה את סאן מיקרוסיסטמס) מתחזקת ואחראית על התקן של Java EE, הגם שאינה המובילה במימוש שרתים.

שרת Java EE מורכב משרת אינטרנט ומשרת יישומיי EJB. על שרת Java EE קיים תהליך התקנה של תת-אפליקציות הנקרא deployment מסוגים שונים:

  • אפליקציות WEB המכילה דפי JSP ויישומונים וספריות עזר ארוזות כקובצי war.
  • מודולים של לוגיקה עסקית - קוד EJB - הארוזים בספריות jar.
  • אפליקציות שלמות המורכבות משכבת WEB ושכבת לוגיקה EJB הארוזות כקובצי ear.

כל הקבצים האלו הם קובצי ZIP, כאשר ה-ear הוא ZIP מקונן, אשר מכיל גם war וגם מספר jars. נוספים לכך קובצי XML המשמשים בתור הנחיות למיפוי ולקונפיגורציה.

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

שרתים מתקדמים מאפשרים CLUSTERING (הבקשות מפוזרות בין מספר שרתים להורדת עומס משרת בודד) וטיפול ב-FAILOVER (במקרה של נפילת שרת מסוים הבקשה תועבר לשרת אחר, כולל אפשרות שחזור המידע).

השרת מורכב מהרבה תת-מערכות או תת-שרתים הנקראים CONTAINERS.

תת שרת הלוגיקה מתחזק את הלוגיקה העסקית במספר אבני בניין הנקראים EJB:

  • Stateless Session Bean אבן בניין ללא זיכרון לאיתור רשומות, בה ניתן להשתמש ביעילות בזיכרון המטמון
  • Statefull Session Bean אבן בניין עם זיכרון הנשמר בלעדית למשתמש עד השחרור
  • Entity Bean אבן בניין המאותרת על פי מפתח ותומך ב-CACHE LRU (תהליך שאובייקטים שפחות השתמשו בהם מפונים מהזיכרון ראשית לטובת אובייקטים חדשים)
  • Message Bean אבן בניין המטפלת בהודעות (JMS) ומאפשרת הפעלת תהליכים ברקע - תהליכים הנקראים א-סינכרוניים.

לשרת גם תמיכה מוגבלת לשמירה ואיתור של מידע ללא צורך בכתיבה פקודות SQL לבסיסי נתונים על ידי CMP EJB, מודול המוחלף לאחרונה על ידי שכבה כללית יותר, בדומה ל-Hibernate על ידי פקודות הנחיה, שנקראים ANNOTATION ומפשטים את הקידוד.

בתחום JSP נוצרים סטנדרטים כמו JSF לתצוגה דינמית WEB 2, אשר מתחזקים תהליכי אינטגרציה בין שרתים עסקיים. נושא זה התחיל ב WEB SERVICES, וממשיך במנועי WORKFLOW מבוססי BPEL והם חלק מהותי משרתי אינטגרציה. במקביל מתפתחים מנועי BIZ RULES המגדירים חוקים הגורמים להפעלה אוטומטית של תהליכים בהשתנות המידע ומגדילים את יעילות השימוש בתשתיות IT. מצד שני יבמ דוחפת הוספת בקרת אדווה לטיפול בסדרה ארוכה של עדכונים לא מקוונים עם נקודות שמירה למקרה של נפילה בדרך.

במקביל, עקב הסיבוך שנוצר באי תאימות בין שרתים, נוצרו פתרונות אלטרנטיביות כמו SPRING FRAMEWORK שנותנים מכלול שלם של תמיכה בשירותים מעל TOMCAT, שבהכרזה האחרונה הוסיפה תמיכה גם בשירותי הודעות גם בLDAP וגם באצווה batch. לעתים קרובות, נהוג לחבר את ה SPRING לתמיכה בבסיסי נתונים Hibernate ובממשק משתמש STRUTS.

שרתים מבוססי Java EE

שרתים נפוצים המבוססים Java EE:

ראו גם

קישורים חיצוניים