ג'אווה (Java ) בצד השרת

דרך חלופית נוספת לשימוש בטכנולוגיות  CGI או ב SSI/ASP היא ליצור שירותים אשר ירוצו על המכונה של שרת ה WEB ויהיו מסוגלים לטפל בקלט ה WEB , לעבד אותו ולהחזיר את תוצאות הקלט המעובד בחזרה דרך שרת ה WEB. אחת השפות המועדפות למימוש דבר זה היא ג'אווה (למרות שגם C++ או VB יכולים לעבוד גם כן עבור שרתים(.

 ישנן 2 דרכים עיקריות לעשות זאת: 1) שרתי ג'אווה (Java Servers) ו 2) Java Servlets.

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

 ברמה הפשטנית ביותר , יהיה לך משהו כזה:    

try {
	ServerSocket socket = new ServerSocket(1969);
	Socket s = server.accept;
	PrintStream ps = new printStream(s.getOutputStream());
	ps.println("Hello Cyberspace");
	ps.flush;
	}
catch (IOException e) {
	System.out.println(e);
	}

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

try {
	Socket s = new Socket("www.mydomain.com", 1969);
	DataInputStream dis = new DataInputStream(s.getInputStream());
	String serverResponse = dis.readLine();
	System.out.println(serverResponse);
	}
catch (IOException e) {
	System.out.println(e);
	}

בכל אופן , רוב האנשים מיישמים דווקא את צד השרת בעזרת Java Servlets. ה Servlets מאפשרים לך לשבץ שירות של שרת ג'אווה בתוך שרת ה WEB. אתה יכול לחשוב עליהם כעל יישום קטן (applet) בצד השרת. שרת ה WEB יטען ויריץ אותם באותו האופן בו דפדפן יריץ יישום קטן (applet).

מחזור חיי הרצת Servlet יראה כך:

  1. דפדפן ה WEB שולח בקשת HTTP ומציין את ה Servlet אשר בו יעשה השימוש לצורך הטיפול בבקשה.
  2. שרת ה WEB מעביר את הבקשה ל Servlet , אם ה  Servlet עדיין לא נטען לזכרון , שרת ה WEB טוען אותו (כך בקשות עתידיות יטופלו באופן מיידי).
  3. ה Servlet מגיב ע"י שליחת נתונים בחזרה ללקוח דרך שרת ה WEB.

כפי שאתה רואה , העסק עובד בצורה דומה מאוד ל CGI ו ASP. למעשה , בדומה ל ASP ול Perl משובץ CGI גם Servlets עובדים בצורה מהירה מאוד מכיון שהם נטענים לתוך שרת ה WEB.

יתרון נוסף שיש ל Servlets הינו בכך שהם משוחררים מהגבלות אבטחה ותקשורת האופיינים לתכנות עם Java applet מכיוון שהם רצים בצד השרת. ה servlets משוחררים מ Java Sandbox.

כמו כן , Servlets יכולים לשמור מצב והם בלתי תלויים בפלטפורמה וניתנים להרחבה מכיוון שנכתבים בג'אווה מונחית עצמים.

ה Catch היחידי הינו שעליך להשתמש בשרת WEB אשר מכיר את ה Servlets. שרתי ה WEB הנפוצים כוללים JWS(Java Web Server) , Apache(Jserv) . בכל אופן , גם אם אין לך שרת WEB הכולל תמיכה ישירה ב Servlets , שרתי WEB רבים כוללים אפשרות לתוספת Add-on אשר מטפל ב Servlets , כגון ServletExec ו Jrun.  

לראשהדף

ACTIVEX  ו  COM

DCOM , COBRA,RMI -משאבים מבוזרים