Java Enterprise Edition
![]() |
יש לפשט ערך זה: הערך מנוסח באופן טכני מדי, וקשה להבנה לקהל הרחב.
| |
יש לפשט ערך זה: הערך מנוסח באופן טכני מדי, וקשה להבנה לקהל הרחב. | |
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:
- שרת ג'רונימו שמפותח על ידי קרן התוכנה אפאצ'י.
- שרת JBoss, שמפותח על ידי JBoss וכיום על ידי Red Hat
- שרת WebSphere של חברת IBM
- שרת WebLogic של חברת BEA אשר כיום בבעלותה של אורקל (חברה)
- שרת Oracle AS9 של חברת אורקל.
- שרת GlasshFish - תוכנה חופשית שפותחה במקור על ידי חברת סאן מיקרוסיסטמס וכיום מתוחזקת על ידי אורקל.
ראו גם
קישורים חיצוניים
- http://java.sun.com/j2ee
- http://www.theserverside.com
- http://www.bea.com
- http://www.jboss.org
- http://www7b.software.ibm.com/wsdd
Java (פלטפורמת תוכנה) | ||
---|---|---|
פלטפורמה | Java (שפת תכנות) • Java Card • Java ME • Java EE • Java SE • Java Virtual Machine | ![]() |
טכנולוגיות | Java applet • Java Web Start • Java Servlet • JavaServer Pages • JavaFX • JavaServer Faces | |
מושגים | איסוף זבל • Cross-platform • Java Bytecode • Java Development Kit • Javadoc • Java Classloader • Java Class Library JIT Compiler • HotSpot • JavaBeans • Enterprise JavaBeans • JNI • JAR • POJO • Web container • Java annotation | |
ממשקי תכנות יישומים | Swing • AWT • SWT • Java 3D • Java 2D • JMS • JDBC • JAXP • JPA • RMI • JNDI | |
שפות ל-JVM | Scala • Clojure • Groovy • JRuby • Jython | |
תשתיות תוכנה וכלים של חברות צד שלישי |
אפאצ'י טומקט • Apache Maven • Apache Ant • Apache Struts JUnit • Hibernate • Spring Framework • JBoss • Google Web Toolkit • BEA WebLogic • IBM WebSphere | |
סביבות פיתוח משולבות | Eclipse • NetBeans • IntelliJ | |
חברות | סאן מיקרוסיסטמס • אורקל | |
אישים | ג'יימס גוסלינג • ביל ג'וי • אריק שמידט |