ילירזה דבוא ה זהמ?

 ורבר לא יםב אה יםקרמב ןונד אנוחנ:  "ימנדיא טנטר נאיאתר "  חקוהל וא הדדפןפה  nE rdFontהלכו יהצקליפ האאו יימתק ציהקי פללא

2 ת הפ בשנככועת תרו מפחיתוvaaJ ידז ביורלהא תויטנוורל

 תוותבהה וםתח  םדטירנטס וםליכ בוירי  ש תחלותםתמיצ רויוותה(מאגדול :חת ובתריושרת)

ומדא ל יעפ וםתח  פםחיית למתקה  כם ליפחיית למתקה ם ג םיר האחית תכמםהליפ מקח יולתסר לבולגב יחתו הכ פלאית מפםחית(םי לצשמרתפיהק)

3 ת הפ בשנככועת תרו מפחיתוvaaJ ידז ביורלהא ostnoitaciplpA potk gsDeniProt b -e eWht ntoaitvoiM וםקמ כל מ תו ישנג  ותמואגד :או " בתדיתל  ותביטאנטרל :a to, Lm ppeo,ytiRneKoLegnDOiks

וף תיש  ותמואגד ות: נומ ת ימובלא ,פתותשמ יםכ מסמ בתיכת  ותביטאנטרל :רואבד יםבצק יחתשל

תו י תיל ה ק  ותמואגד :srmoWu iiF,k, ScornueepO stcjeoPr  ותביטאנטרל?

4 ת הפ בשנככועת תרו מפחיתוvaaJ ידז ביורלהא Porting Desktop Applications to the Web - Challenges  חו ו ית משתמש Right Click, Drag ‘n Drop   מגמות : new standards ,

 בטיח ות  HTTP is Firewall Breaker  http://video.google.com/videoplay?docid=2575564563 023304756&q=engedu+crime  http://video.google.com/videoplay?docid=5159636580 663884360&q=engedu%20crime&hl=en

5 פיתוח מערכות תוכנה בשפת אוהד ברזילי Porting Applications to the Web - trends  גרסת Web המח ליפ ה client שאינו HTTP  לדוגמא : MSN Messenger  לדוגמא : Skype vs. Jajah  לכולם יש כבר דפדפן מותקן וגלישה באינטרנט  הבעיה של תוכנות שיתוף

 גרסת Web המ ש לי מה גרסת Desktop  לדוגמא : Picasa + Picasa Web  הפרד ומשול

6 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי Web Technologies Trends

 Server Side  CGI, Servlets  ASP, JSP, PHP  Frameworks

 Client Side  JavaScript, Ajax  Google’s GWT  Adobe (Flash, ActionScript, Flex, AIR)  Microsoft’s Silverlight

7 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי seigolonhcTeb eW e dSrirSeve

ר נט ינט את ל רש תי ימנא דה ק י וג לתפ סו ה  תורש dGtoe תקלמ ח של ב lvrSteeתק נ תו מה EE 2J תי קס ע Cotnianreה ה ק י ג ו הל תמ אשממ תר ים וקתשוט , ולח ה י נ ,תורא ש ו ה ,ש מי מ וד עTHTP ,ו ה ר וצת ע י ם הל ומנ "ה י Coatninre קפסמ ארשvAaJ aPI ים ו בטהלאל

8 ת הפ בשנככועת תרו מפחיתוvaaJ ידז ביורלהא Servlet Life Cycle

9 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי Servlet API

 Parameter Handling

 Initialization and configuration

 Filters (aspects)  Authorization and Authentication  Profiling

 Session Management  Cookies  URL Rewriting

10 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי Hello World Servlet

11 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי LHTM a/vaJ

ב ה י ה י  תי כנ ות ה פל ושט נ יצ עאל רףש י ם צMHTL ו ר ו יננ א וד ק בבר על ד vaJaו קו MHTL riVtla/ioeaepnMSdw eo   עיםבתכנ יםמפעל"יםנוש יםנתכמת י

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

תי י וג קול ו י כנטבד וSJP ז המרט ג יהש לתר מי יתמ :  SJP ותי פתתשגי א ה(מ ה ולבד lmth ) כוהבת בשללש רתפמאה ימנאי ןדכות ץ הב ויצק ה רןמזב SJPץבויי הקללצפמ וק ברו עtlverSe

21 ת הפ בשנככועת תרו מפחיתוvaaJ ידז ביורלהא JSP הוא Servlet

13 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי avaJ SPJ /

 תבויע:  ודזק הם ל וםקמב כעת aJav ב ו MHTLדק ים מזמה ונ אSJP ב avaJ  ש לינט טדיררסהבתחל SJPותבל ג ומ ותולכיו (דק בוילש ר קיבע avaJ ו LMHT)  בקי הוג וחליתפ שרפאשתי הוגולנ כטב ורך שציvaJaוצ ה בישו יבצוק וךבתSJP ום היהזל אל PSJ

 ק ו י תויגתבד ו SPJז ה מרטי ג הש ל תו רמי יתמ ת– תכנ תמה תו י ג ת ה מצע ב ר י גד ה לה ול כ יSJP  פתשב וש מומי ותיהתג ד avaJר פנ ץבוקב  פך אתו ברההדPSJקרבה ינבמ עםבר דכל ותלנכ פתתש ל , ב שומישsnaB eavaJוד ע ו ...

41 ת הפ בשנככועת תרו מפחיתוvaaJ ידז ביורלהא sg TamotsuSPJ C

 תזרעבמתמששתויג ת ש מת ש ל הןתינ יעד לל א יםבצעמב תביתכ ורךצ ל תוכנתב יוד מעPJS

51 ת הפ בשנככועת תרו מפחיתוvaaJ ידז ביורלהא Job Roles

 ארכיטקטורת Web Applications מח ז קת את הצורך לחלק את מ שי מות ה פיתוח בין מתכנתים שונים

16 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי JSP vs. ASP

 JSP אינ ו ר ע י ו ן חדש  קדם ל ו ASP של מיי קר וס ו פט ( 1996 ) ש ה י ה מ בו סס על שפו ת תסר יט כ ג ו ן VBScript ( בע י קר ) -ו Jscript

<% = "Hello World!" %>

 החל מ - 2002 מחלי פ ה ASP.net את ASP עם תמי כ ה מלאה של כ ל שפות NET.

17 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי PHP

PHP: Hypertext Preprocessor   התח יל ה כש פת סק ר יפט פשטנית ב שנת 1995  כ רג ע פ ע יל ו ת גרסא ות 4 ו - 5 אשר מוס י פ ות לשפ ה י כ ו ל ות OO ( כמ עט מלאות ) , תמי כ ה ב XML , ב web services ו ע וד ...

 ניתנת ל ה ו ר ד ה כחלק מ חביל ת xAMP (Apache, MySQL and PHP) 

 כנ רא ה השפ ה ה פו פ ול רי ת בי ות ר לצ ד השר ת ( 40% משרתי (http :// www .appideas .com /technology .html : Apache

18 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי PHP, ASP, JSP and Web Servers

19 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי r ev rSed nsaegaugnal gnitprSic edSi י רקד מ מה לה מב וטפש חקל י ימנא הד תר הש השל ק י וג הל י ם ים ונת תנ מכסי סב ךתסמו ותמ ע ד ימ השל צג ה ו ה פי של ב

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

תו מא ג וד: lrPe  ybRu  htnyop 

02 ת הפ בשנככועת תרו מפחיתוvaaJ ידז ביורלהא Frameworks Model 2 Framework

22 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי Types of View Components

23 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי Types of Controller Components

24 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי strStu gniUs VCM

ה ן ו י ע רו ש מימ VCMתבי בסב תו bWeoatninreל ו Cע פ יל כמ ום ש יי כל ב ן מצע על תו רזושח: ה -  rrtllenoCoיםנו ונתתהני קקתיתבבד צע אתמ ה -  rrtllenoCoודקימ הלעבד ותהוצאש תעםהנקב ה אתה פמ םיתאצמגה ההה

ו אל ע תו מ וול ינ עפי השל ה יצ זימטו ט ו אע צ בי לם ינ י הונ , ו ז ךר בד ן י ב ה ד ר פ הר Cortlnolre ה תיו תי ק סע ה ה ק י וג ל ב קר זכ View ן י בוCortnoller ע ה כףתא ב" יב סה י

 sateumwSrtkro ה rFק מחהל ת את קפסמ Aiotcn ארש ה תו ק מח לת ל וע פ ת אתפוט - ע Cortlnoler  ו הזב דרךtllenoCorr אתו דעיל א וילפ אהק לחמה םש ישהא ל יתקי הקסהעוגהל ועיצבל אחרדע הו יתהה נפומ

52 ת הפ בשנככועת תרו מפחיתוvaaJ ידז ביורלהא rwoskeFmrb aeW avaJ

ה מ תכ ו מ י יק ת oerFkwramsו פ סק מה ל עמ ט נרט ני א י מ ו יש י וח ת י פ ל ת י תתש eSrvlets

 ה ת ו ע י י oerFkwramsמס ת ו נ והש ים נ ו כנה וד ב עי לרהג ף ו כלאן( וכג ה וג תצ ו ל וד מ ן י בה רפדה)

 רפ הס rtA of J Waevbee nvaDptmelo , tyiocel Vs,onmoCm y,rsteapT s,uttSr , sneatBernent In,oooc Csx,i, AnitJU kWroWbe eaNl Ford

ת ו נ ו הש ת ו בי ב הס ולרמקק ח ס, מד ו ע ים ל בדה וד ה ןק ל עהנן יי בבה ו ו מ ש ו ן י "תרזעב ניד" ב ת כנש וד הק ן י ב ו

62 ת הפ בשנככועת תרו מפחיתוvaaJ ידז ביורלהא Web Frameworks Struts 2 (Struts + Webwork)

 Build!  Easy startup - Jumpstart new projects with our bootstrap tutorial and template application or Maven archetype.  Improved Design - Code clean against HTTP-independant framework interfaces.  Enhanced Tags - Code less with stylesheet-driven form tags that provide their own markup.  Stateful Checkboxes - Avoid special handling with smart checkboxes that know when they are toggled.  Flexible Cancel Buttons - Go directly to a different action on cancel.  First-class AJAX support - Add interactivity and flexibility with AJAX tags that look and feel just like standard Struts tags.  Easy Spring integration - Inject dependencies into Actions using Spring without glue code or red tape. (Plexus support also available.)  Enhanced Results - Do more with speciality results for JasperReports, JFreeChart, Action chaining, and file downloading.  POJO forms - No more ActionForms! Use any JavaBean to capture form input or put properties directly on an Action class. Use both binary and String properties!  POJO Actions - Use any class as an Action class -- even the interface is optional!  Deploy!  Easy plugins - Add framework extensions by dropping in a JAR. No manual configuration required! Bundled plugins add support for JavaServer Faces, JasperReports, JFreeChart, Tiles, and more ...  Integrated profiling - Peek inside Struts2 to find where the cycles are going!  Precise Error Reporting - Flip directly to the location and line of an error.  Maintain!  Easy-to-test Actions - Test Struts2 Actions directly, without resorting to mock HTTP objects.  Intelligent Defaults - Skip obvious and redundant settings. Most framework configuration elements have a default value that we can set and forget. Say it once!  Easy-to-customize controller - Customize the request handling per action, if desired. Struts2 only does what you want it to do!  Integrating Debugging - Research problem reports with built-in debugging tools.  Easy-to-tweak tags - Customize tag markup by editing a FreeMarker template. No need to the taglib API! 27 פיתוח מערכות .tedתוכנה fully suppor בשפת JSP, FreeMarker, and VelocityJava tags are http://struts.apache.org/2.x/index.htmlאוהד ברזילי Battle of the Frameworks!

 A good framework makes web development easier, faster, and more consistent, but which one should you choose?  Seam or Struts 2 ?  Zend Framework or CakePHP ?  Laszlo or Flex 3 ?  jQuery or Prototype ?  Wicket or GWT ?  Rails 2 or Merb ?  Adobe AIR or Silverlight ?  Maybe you're even considering Second Life

 Not only you should choose a framework you should choose the underlying technology

 (http://phillyemergingtech.com/abstracts.php#frameworks )

28 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי תוביבוס םיכל

תכ פ ו ה ה י וג ול כנ תי רכארטש ול תו פו וח כפל ר פסמי ם ל ע ופ :  ך כחי ןצרמ וימ ותפחא םדם יכמות םילכ ץממאב בתל ישלכה ד וחיתפה  ם ישיםמתגל דח ם ישו מיש בטיב הה יםכמ שר נתאל איהוגולנ כטל הליבתח ןובשבח ושנ לן קחאלו ויכמ

ים ל כ י ם תחפתמ ה יש רד ה ל ע תו ענ לי ד תו כ ,פוש ת וב י בס וח ת י פה יתומימש ת ש אט פ י לםמס נר אתשו י וד ע י

ג ום ו י ול הי כ ם ש נוט י זילאםחד כל של ו ח תי פו שר ד ה ול ע ה י? קפס י לם כל ה על תו ול כ י ו ילא?

92 ת הפ בשנככועת תרו מפחיתוvaaJ ידז ביורלהא Higher Level Frameworks and tools  http://wordpress.org/  http://www.joomla.org/  http://drupal.org/

30 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי Client Side LHTM

 י תגות שתפ(aiuslv,iacglo )ןפדפדבנ טרטניא ידומע תגלצה  LMXHT הניבש רגו הוהמ (LMHT 10.4 ) ןיבוLXM

 ומדעLMHTואה םינייפאמ תויהל םילכ ויויאצלצ ארש אדיח ירשוש םע עץ (setuibrtta ,עםירוא לכלו)

 דומע היבכימר atem ,liett ,tiprcs ,esab ,klin: daeh   doby :תורתכו ,תאוקפס ,טס קטבצעוי ,מתוישר ,תואלטב ,תנוומת , םריושיק ,םסיפט

 תרוגס מםעד הועב  םעד הועבCSS  םעד הועבtipSrcavaJ

23 ת הפ בשנככועת תרו מפחיתוvaaJ ידז ביורלהא Dynamic Client

 שפת JavaScript ( אי ן קשר ל Java ) היא שפת ת סרי טים מ וטמעת בקוד HTML אשר רצה בדפדפן

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

 מחלקות ספרי יה : Object  String , RegExp , Number , Function, Math , Date , Boolean , Array , Arguments  Error  EvalError,RangeError,URIError, ReferenceError,SyntaxError,TypeError 

 התחביר שלה פשוט ו מתירני י ותר מ שפות עיל ו יות . למ של אין צורך להצהיר ב JavaScript על טיפ ו ס המשתנ ים

 בגלל המאבק בין הדפדפנים השונים קיימ ות מ ספר גרסאות של השפה:  Javascript 1.0, 1.1, ... (/Mozilla)  JScript 1.0, 2.0, ... (Microsoft)  ECMAScript v1, v2, ... (International Standard)

33 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי Hello World

34 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי שימושי JavaScript

 אימות טפ סים Dynamic GUI 

 האתגר : כאשר המ י דע נמצא בשרת

35 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי XMLHttpRequest

36 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי A surhonocnysAJptricsav dna XLM  העתווהדPTHT ל לשומדב תודבע תויוטרדנסטה esnopseeru-tsqer

 יתגיולנוכ טתזרעבAxjaס ףיוהל ןתני "עתווהד תת " מטרופבLXM ןניא רשא דומע הןוענר ת תאשורוד

 נ י הושבאמנידה רתשהמ( תימאניד הורצ הבבשות לחלושמ ח) ו קלהומ י אמנידה( וקדtipSrcavaJןפדפדבש רץ )Axja ל שדמימ דועס ףיומ יתמואנידהיצקארט ניאב תשר יבן חקולו

 הבט ואגמדו :  w//:pwtthnrw.tvealile./oc.bisali/fgs/tch

 בהוט לא אגמדו:  smt/t/:dmh.pnircs/ofmooec.-t/fsneuda.ltsuaxp

73 ת הפ בשנככועת תרו מפחיתוvaaJ ידז ביורלהא Ajax Fundamentals

38 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי /http://www.sitepoint.com (GWT)

 Google Web Toolkit makes it easier to write high- performance AJAX applications

 You write your front end in the Java programming language and GWT compiles your source into highly optimized JavaScript.

 Writing web apps today is a tedious and error-prone process. You spend 90% of your time working around browser quirks , and JavaScript's lack of modularity makes sharing, testing, and reusing AJAX components difficult and fragile

(http :// code.google.com/webtoolkit/ ) 39 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי Google Web Toolkit (GWT)

 High performance JavaScript. GWT produces AJAX apps that:  Load faster than hand-written JavaScript apps  Use smaller, more compact, cacheable code  Automatically support IE, Firefox, Mozilla, Safari, and Opera  Use the browser's "back" button correctly

 Better development tools. Since you're writing in Java, you can use:  IDEs that you love like Eclipse, IntelliJ, and NetBeans  Full-featured debugging, with variable watches and breakpoints  Unit tests (based on JUnit) both in a debugger and in a browser

 Google and reusable UI components. GWT comes equipped with useful libraries:  Built-in UI components serve as cross-browser building blocks for your app  RPC helps with client-server interaction  JavaScript Native Interface (JSNI) simplifies integrating GWT code with existing JavaScript code 40 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי steplpA avaJ

 תתיג ppatelוד מעב ץ בוקHLMT ל ש ת ור דהתמ ז וי ח וק Jvaaלהל ש ןפפבדד ות וצהר תשר מה

 תוונתרי:  דדפ ןצופבתבשמ הירהשע קהיגלו שויממ

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

14 ת הפ בשנככועת תרו מפחיתוvaaJ ידז ביורלהא Adobe Technologies

 חברת Adobe מצי ע ה מבחר טכנולוגיות פרטיות ( proprietary ) מבוס סות Flash לצד הל קוח  מאוד פופ לרית  הורחבה במספר כיוו נים:  הוספת לוגיקה תכנותית : ActionScript  פיתוח יישומים : Flex

 ס פריות , כלי פיתוח  דואליות AIR : Web/Desktop

42 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי Google ’s Dual Mode

 Applications: Picasa + Picasa Web

 Infrastructure Technology: Google Gears  LocalServer Cache and serve application resources (HTML, JavaScript, images, etc.) locally  Database Store data locally in a fully-searchable relational database  WorkerPool Make your web applications more responsive by performing resource-intensive operations asynchronously

 http://code.google.com/apis/gears/

43 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי Microsoft Silverlight

 Microsoft Silverlight is a cross-browser, cross- platform, and cross-device plug-in for delivering the next generation of .NET based media experiences and rich interactive applications for the Web. (http:// silverlight.net/ )

44 פיתוח מערכות תוכנה בשפת Java אוהד ברזילי