introduction to
play

Introduction to www.icefaces.org ICESOFT TECHNOLOGIES INC. - PowerPoint PPT Presentation

Introduction to www.icefaces.org ICESOFT TECHNOLOGIES INC. Introduction to ICEfaces What is ICEfaces? An Internet technology that will allow you to easily build rich highly interactive web applications An AJAX Framework A


  1. Introduction to… www.icefaces.org ICESOFT TECHNOLOGIES INC.

  2. Introduction to ICEfaces • What is ICEfaces? – An Internet technology that will allow you to easily build rich highly interactive web applications – An AJAX Framework – A server-side AJAX Framework – A JSF extension – A JSF extension • Why should I use ICEfaces? – Your boss wants you to build a more ‘ajaxy’ web application – You want to stick to your server-side Java Enterprise skills – You want to maintain productivity – You want to build a collaborative web application with AJAX Push www.icefaces.org ICESOFT TECHNOLOGIES INC.

  3. Why not Javascript? – Cross-browser compatibility issues – Hard to find highly skilled JS developers – Challenging to maintain a large Javascript codebase www.icefaces.org ICESOFT TECHNOLOGIES INC.

  4. Major Benefits of ICEfaces • An Enterprise AJAX Solution – AJAX for server-side developers! • A Standards-based AJAX Solution – Server-side standards: JSF – Client-side standards: Javascript & CSS • Application or Page-level AJAX • Application or Page-level AJAX – AJAX functionality is built into the framework , not the components • Secure AJAX • Large Component Library www.icefaces.org ICESOFT TECHNOLOGIES INC.

  5. Major Benefits of ICEfaces, cont. • Compatiblity – Java App Servers – Web Browsers www.icefaces.org ICESOFT TECHNOLOGIES INC.

  6. Major Benefits of ICEfaces, cont. • Strong integration with other Java frameworks – Spring • Spring Core SEAM • Spring Security • Spring WebFlow – JBoss Seam Porta l – Portlets • Liferay • WebLogic • JBoss Portal – Myfaces Tomahawk www.icefaces.org ICESOFT TECHNOLOGIES INC.

  7. Major Benefits of ICEfaces, cont. • Strong “tooling” integration with popular Java IDEs: • Eclipse • MyEclipse • NetBeans www.icefaces.org ICESOFT TECHNOLOGIES INC.

  8. Major Benefits of ICEfaces, cont. • Automatic AJAX – Automatic AJAX submits – Automatic AJAX updates – Automatic inter-component communication and collaboration • Transparent AJAX www.icefaces.org ICESOFT TECHNOLOGIES INC.

  9. Major Benefits of ICEfaces, cont. • Direct-to-DOM (D2D) Rendering DOM (Client) Ajax Bridge DOM DOM Incremental DOM Updates Incremental DOM Updates (Server) Direct-to-DOM isolates Java developers from JavaScript and more… www.icefaces.org ICESOFT TECHNOLOGIES INC.

  10. Major Benefits of ICEfaces, cont. • AJAX Push – Asynchronous application driven browser updates – Server-initiated rendering updates to the client • No more constraint of the “don’t speak until spoken to” mode of traditional web development – Integral to ICEfaces, not an afterthought • Components are Ajax Push Ready – True server-side, “data-push” – Collaborative Web Applications • Enables next generation web 2.0 collaboration – (Forums, Chat, Auctions …) – Real-time updates www.icefaces.org ICESOFT TECHNOLOGIES INC.

  11. ICEfaces Demos • Component Showcase • Auction Monitor www.icefaces.org ICESOFT TECHNOLOGIES INC.

  12. JSF and ICEfaces • JSF is component-centric, meaning views are assembled from UI components • JSF is an official Java EE Standard: – JSR 127 (JSF 1.1) – JSR 252 (JSF 1.2) – JSR 314 (JSF 2.0) • ICEfaces is based on JSF -- this means ICEfaces • ICEfaces is based on JSF -- this means ICEfaces applications are JSF applications www.icefaces.org ICESOFT TECHNOLOGIES INC.

  13. JSF and ICEfaces (Cont.) • The JSF specification defines a number of extension points: – ICEfaces implements its rich UI and AJAX functionality as a set of JSF extensions – ICEfaces is primarily a JSF render kit extension – ICEfaces is also a component library • JSF has a pluggable render-kit architecture which • JSF has a pluggable render-kit architecture which allows for new innovations in the presentation layer (ICEfaces) www.icefaces.org ICESOFT TECHNOLOGIES INC.

  14. ICEfaces Architecture (Overview) • Understanding ICEfaces Architecture • Direct-to-DOM (D2D) Rendering • Partial Submit • ICEfaces Request Scope • Incremental Page Updates • The AJAX Bridge • The AJAX Bridge • AJAX Push www.icefaces.org ICESOFT TECHNOLOGIES INC.

  15. ICEfaces - Understanding ICEfaces Architecture • Standard J2EE architecture diagram www.icefaces.org ICESOFT TECHNOLOGIES INC.

  16. ICEfaces - Understanding ICEfaces Architecture • The ICEfaces framework www.icefaces.org ICESOFT TECHNOLOGIES INC.

  17. ICEfaces - Understanding ICEfaces • Understanding ICEfaces Architecture • With ICEfaces an application is entirely server-based. – How the page is constructed on the server: – When the page is first requested, all of the presentation is sent to the client, including a JavaScript bridge.The JavaScript bridge is the communication mechanism between the server and the client – When the user interacts with the client, events are sent back – When the user interacts with the client, events are sent back to the server that may alter application state and change the page on the server – When the page changes on the server, we deliver only those incremental changes back to the client www.icefaces.org ICESOFT TECHNOLOGIES INC.

  18. ICEfaces - Understanding ICEfaces • In a nutshell, this is what we call the Direct-to-DOM (D2D) approach. All client-server communication consists of presentation state updates, and events. This is a very-thin client approach. – No application logic on the client. No business logic on the client – Very small JavaScript footprint on the client • No need to care about the client-server communication channel • Write your applications as if they were traditional desktop applications • Your developers don't need to worry about the plumbing, they can focus on the application logic, what they know best www.icefaces.org ICESOFT TECHNOLOGIES INC.

  19. ICEfaces - Direct-to-DOM (D2D) Rendering • Ability to render a JSF component tree directly into a W3C standard DOM data structure • ICEfaces provides a Direct-to-DOM RenderKit for the standard HTML basic components available in JSF • The basic Sun JSF components render themselves by generating plain HTML text • ICEfaces JSF components do not render through HTML text, but • ICEfaces JSF components do not render through HTML text, but through DOM updates www.icefaces.org ICESOFT TECHNOLOGIES INC.

  20. ICEfaces - Direct-to-DOM (D2D) Rendering • In ICEfaces, the JSF component tree renders directly to the server-side DOM. • The JSF component tree is just a collection of JSF components. Thus, ICEfaces components render directly to DOM: Element divElement = dom.createElement("div"); divElement.appendChild(dom.createTextNode("My Component")); • What you need to know about D2D rendering: • What you need to know about D2D rendering: – D2D rendering happens mostly under the cover – Its purpose is to enable the AJAX bridge to do DOM diff’ing between the server and the client – If you create your own ICEfaces components or renderers – If you use non-ICEfaces 3rd party components on an ICEfaces page www.icefaces.org ICESOFT TECHNOLOGIES INC.

  21. ICEfaces - Partial Submit • Introduces a fine-grained user interaction model for intelligent form processing • Submit is partial in the sense that only partial validation of the form will occur. • The standard JSF validator mechanism can be leveraged, or any other arbitrarily complex or simple evaluation logic can be applied. www.icefaces.org ICESOFT TECHNOLOGIES INC.

  22. ICEfaces - ICEfaces Request Scope • ICEfaces request scope is longer lived than the request scope for non dynamic applications • A request begins with the initial page request and remains active through user interactions with that page • One consideration is that new browser windows and page reloads of the same browser window are both regarded as new requests. • To cause request scope to last only for the duration of a single user event, "standard request scope" • must be enabled. This is set through the ICEfaces context parameter: <context-param> <param-name> com.icesoft.faces.standardRequestScope </param-name> <param-value>true</param-value> </context-param> www.icefaces.org ICESOFT TECHNOLOGIES INC.

  23. ICEfaces - The AJAX Bridge • Lightweight AJAX bridge to deliver presentation changes to the client browser and to communicate user interaction events back to the server-resident JSF application. • Application-level Ajax • ICEfaces restricts Ajax to – Incremental presentation updates – User event capture and transmission • Enables thin client scalability • Handle browser idiosyncrasies • Handle browser idiosyncrasies • Eliminate the need for JavaScript development www.icefaces.org ICESOFT TECHNOLOGIES INC.

  24. ICEfaces Configuration • Runtime Dependencies • JSF Implementations • Http Connection Timeout • Concurrent DOM Views • Synchronous Update www.icefaces.org ICESOFT TECHNOLOGIES INC.

  25. Runtime Dependencies • For each dependency, the versions-licenses.html file records • JAR filename • Project website • Open source license • Link to open source license terms www.icefaces.org ICESOFT TECHNOLOGIES INC.

Recommend


More recommend