שאלה על תכנות סרבר בג'אווה

Dwalker

New member
שאלה על תכנות סרבר בג'אווה

אני בתכנון לבנות אפליקצית Client-Server
את ה Client אני יודע לבנות , אבל בכל הקשור לאיך Server אמור להיבנות אני טיפה באפלה.
את ה-Server אני רוצה לבנות בג'אווה אז עשיתי בדיקה לראות איך בונים Server וראיתי שיש מספר טכנולוגיות שבעזרתם אפשר לבצע את העניין (לבנות Server עם Socket וכו' אני יודע אבל הבנתי שלא ככה בונים Server בימנו).
ה-Server שלי הולך להיות אחראי בעיקר על שליפה והכנסה של נתונים לבסיס
נתונים ודיבור עם ה Client ב-JSON. לפי מה שקראתי Spring זאת הטכנולוגיה בה אני אמור להשתמש.
השאלה שלי , אם אכן Spring זה מה שאני צריך ואם כן אז איך כל העניין הזה עובד , אני בונה את ה-Server ב-Eclipse ואז פשוט מעלה את הקבצים לשטח איחסון ?

-תודה מראש
 

nahsh

New member
תצטרך ללמוד כמה דברים

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

אח"כ, יש להכנס לכאן כדי להתחיל פרויקט: http://start.spring.io/ ולבחור את רכיבי התוכנה הרצויים. בגדול, המינימום זה spring boot and spring mvc, אבל יש עוד המון אפשרויות, כמו spring data שבשביל עבודה עם בסיסי נתונים שאמרת שאתה צריך.

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

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

Guy Yafe

New member
איזה סוג שרת אתה רוצה לפתח?

מודל שרת-לקוח הוא כל מודל שבו מספר תוכנות מתחברות לתוכנה מרכזית אחת (ובכן בערך, אבל לא ניכנס לדקויות).
לצורך העניין גם תוכנה שפותחת TCP Socket ומקשיבה לחיבורים אחרים היא תוכנת שרת לקוח.
&nbsp
מה אתה רוצה לבנות? האם שרת WEB שיגיש אתרי אינטרנט?
גם אם כן, לא הייתי רץ לעבוד עם SPRING.
היא מאוד מסובכת ואין לה ערך מוסף לעומת FW אחרות.
נסה לפרט יותר על הצרכים שלך.
 

Dwalker

New member
הServer מדבר עם אפליקצייה

ה Server שלי מיועד עבור אפליקציה ל Android,
האפליקציה תמשוך/תוסיף/תעדכן נתונים בבסיס נתונים שנמצא ב Server.
ומכיוון שזו פעם ראשונה שאני בונה אפליקציית Client-Server אז אני לא סגור על איזה עוד צרכים אני צריך לקחת בחשבון חוץ ממה שהזכרתי, אז במידה וזה לא מספיק מידע ותוכל להכווין אותי זה יהיה נהדר.
 

Guy Yafe

New member
זו התחלה טובה

אני מניח שהשרת שלך גם יפותח ב - JAVA, וזה רעיון לא רע בכלל.
אילו שירותים השרת שלך אמור לספק?
שליחת מידע?
קבלת מידע?
מה כמות המידע?
הזרמת מדיה?
&nbsp
היום מאוד מקובל להשתמש ב - REST בתקשורת בין שרת ללקוח.
אני מציע שבתור התחלה תקים שרת WEB שיספק שירותי REST: התחלה טובה היא להשתמש ב-TOMCAT. יש לו עקומת למידה די רצינית, אבל התבניות הבסיסיות ברשת אמורות לעזור.
בתור ספק REST אני ממליץ על מימוש של JAX-RX. דוגמה טובה לזה היא JERSEY. כם לו יש עקומת למידה אבל הוא מאוד חזק.
&nbsp
 

nahsh

New member
אני חושב שהרבה יותר פשוט מה שהצעתי למעלה

ללא צורך בהתקנה וקונפיגורציה של tomcat, מקבלים באופן די שקוף ופשוט שרת עצמאי שעובד יפה מאוד.

לגבי מימוש של REST, אפשר להשתמש בתקן של jax-rs, אבל כדאי לשקול את spring-mvc. היכולות דומות והמושגים דומים, וגם אופן המימוש. לדעתי יש יתרון קל לשני, בעיקר עם האפליקציה היא בspring.
 

Guy Yafe

New member
יכול להיות

אף פעם אין תשובה חד משמעית.
הניסיון שלי עם SPRING לא היה מוצלח ומאוד התאכזבתי ממנו.
החתלתול לעומת זאת עשה עבודה טובה בעיני.
 

Dwalker

New member
אחלה תודה , אני אחקור את הטכנולוגיות שהעלתם

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