Client Side Development 2- RIWAs
A rich Internet application (RIA) is a Web application designed to deliver the same features and functions normally associated with deskop applications. RIAs generally split the processing across the Internet/network divide by locating the user interface and related activity and capability on the client side, and the data manipulation and operation on the application server side.
An RIA normally runs inside a Web browser and usually does not require software installation on the client side to work. However, some RIAs may only work properly with one or more specific browsers. For security purposes, most RIAs run their client portions within a special isolated area of the client desktop called a sandbox. The sandbox limits visibility and access to the file and operating system on the client to the application server on the other side of the connection.
This approach allows the client system to handle local activities, calculations, reformatting and so forth, thereby lowering the amount and frequency of client-server traffic, especially as compared to the client-server implementations built around so-called thin clients.
One distinguishing feature of an RIA (in contrast to other Web-based applications) is the client engine that intermediates between the user and the application server. The client engine downloads when the RIA launches. The engine can be augmented during subsequent operation with additional downloads in which the engine acts as a browser extension to handle the user interface and server communications.
Key Features of Rich Web based Application are;
- Google Gears.
- Open Laszlo and WebTop,
- Oracle Web Center
- Adobe Flash, Flex and Adobe Integrated Runtime (AIR)
- Microsoft Silverlight.
- Curl (an object-oriented language with embedded HTML markup)
Different technologies used to develop the client side components of Rich Web based Application are;
o Node.js web development frameworks
Node.js is an open source server environment Node.js is free Node.js runs on various platforms (Windows, Linux, UNIX, Mac OS X, etc.) Node.js uses JavaScript on the server
o Tensor flow
Tensor Flow is an end-to-end open source platform for machine learning. It has a comprehensive, flexible ecosystem of tools, libraries and community resources that lets researchers push the state-of-the-art in ML and developers easily build and deploy ML powered applications.
o Symphony web application framework
Symphony is an open-source PHP web application framework, designed for developers who need a simple and elegant toolkit to create full-featured web applications. Symphony is sponsored by SensioLabs.
Delta Communication- Rich Communication model of the Rich Web based Application. It is used to communicate with the server-components, to exchange only the needful dataset – for a particular feature executed at the time. Once a page is loaded to the browser, all the communications with the server, for all the features implemented on that page, can be done using DC, eliminating page refreshes until the page is refreshed or redirected to another page, explicitly by the user or by an internal component.
Rich Internet Applications (RIAs) have become popular with their increased user experience delivered through rich GUIs and faster responses. The key concept behind the fast responses is the Delta-Communication (DC), which enables the communication of necessary data between the client and the server components, in either synchronous or asynchronous modes, supporting both data-pull and push modes There are various Technologies and Techniques (TTs) available for developing the DC in RIAs. These TTs have been already discussed in different forums, and also many tutorials are available to demonstrate the development of them.
However, proper comparisons of these TTs are not available towards supporting decision making in selecting these TTs for the RIA development.
- Synchronous Transmission
Synchronous transmission is a data transfer method which is characterized by a continuous stream of data in the form of signals which are accompanied by regular timing signals which are generated by some external clocking mechanism meant to ensure that both the sender and receiver are synchronized with each other.
Data are sent as frames or packets in fixed intervals.
Synchronous transmission is transmission of signals in a fixed interval based on a predefined clocking signal and is meant for constant and reliable transmission of time-sensitive data such as VoIP and audio/video streaming.
This method of transmission is used when large amounts of data need to be transferred quickly since data is transferred in large blocks instead of individual characters. The data blocks are spaced and grouped in regular intervals and preceded by synchronous characters that a remote device decode and use to synchronize the connection between the end points.
After synchronization is complete, the transmission can begin.
Pro
Technology Can Streamline Tedious Tasks
Taking attendance, tracking grades and even answering common student questions can take up a lot of a teacher’s time. Adding technology to the classroom can help eliminate some of these tasks, freeing the teacher to focus on delivering quality lessons to the class. Programs like Top Hat, for instance, allow a teacher to manage tests securely in a digital environment that automatically grades and tracks them, while also allowing greater interaction with students and collaboration in the classroom.
Technology Is a Part of Modern Life
A teacher’s goal is to develop students who are prepared for life as an adult, and today’s adult world is one that utilizes technology. The more opportunities a student has to work with technology in school, the less intimidation the student will feel when entering the workforce and trying to embrace technology in their occupation.
Technology Can Increase Student Engagement
When used well and woven through a lesson by a skilled teacher, technology can increase student engagement. One way to do this is through comprehension checks. Teachers can use tools to check students’ understanding during the lesson, allowing them to make adjustments if students are struggling to grasp a concept. Some tools that allow for this include:
Padlet ― This free tool allows students to add their responses to a classroom display that allows for comprehension checks and collaboration.
Socrative ― This free tool allows teachers to track student progress, while also providing options for using questions to check for understanding during a lesson.
Plickers ― This tool uses QR codes on cards held by students, which means it can be used even in classrooms that do not offer student devices.
In addition, teachers who use technology to present lessons can engage students more easily, because technology is a format most students are drawn to naturally.
Con
Teachers Fear Adding More Screen Time
Today’s students are getting far more screen time then they should have. According to the Common Sense Census: Media Use by Tweens and Teens study, students ages 8 through 12 spend an average of six hours of time daily on screens for entertainment. This increases to almost nine hours for high school and upper middle school students. Adding technology in the classroom may add more screen time to that statistic. While the screens are used educationally, the overall impact of screen time on the brain is going to increase.
Technology May Not Be Utilized to the Fullest
Adding a computer to the classroom that students can play on when done with their work, use to search Google and access for word processing purposes is not using technology to the fullest in the classroom. In order for technology to be used effectively in the classroom, teachers must be trained on how to incorporate it into their lesson planning well, weaving their instruction around the use of technology.
Technology Can Be a Distraction
Students who have a tablet or computer in front of them during a lesson are going to be tempted to play instead of listening. Teachers must set clear expectations for the appropriate use of technology in order to ensure that this is not a problem.
Technology clearly has both pros and cons when used in the classroom, but the bottom line is this: We are living in a digital world, and students are interacting with technology, and possibly even bringing it with them to school, on a daily basis. The benefits of using technology in the classroom are far-reaching and need to be embraced by modern educators who seek to prepare students for adult life.
AJAX technique uses the data-pull mode, and supports both synchronous and asynchronous modes by API. Through experiments we have noted that the DC technique implemented by AJAX is the simplest form of the DC. Furthermore, the underlying concept used to implement the AJAX technique can be developed in other environments – Like desktop applications – using other TTs like WS or C#, even without JS and/or XHR object. We have successfully developed and tested the technique using C#.Net, to develop a desktop application component, which communicates with server components using datapull DC, asynchronously. Moreover, the same DC technique is utilized in other Advanced DC technologies like WS, for the data-pull mode. To denote the abstract concept of this simplest implementation of the DC model, we propose the term “Simple Pull Delta-Communication” (SPDC). Since the SPCD concept is abstract, it is TTs independent and can be developed for both browser-based and non-browser-based clients.
One of JavaScript’s greatest strengths is its ability to make asynchronous requests. AJAX. Microsoft invented Ajax in 1999.AJAX can be seen as the beginning of the JS based RIA development approach, and it became a major breakthrough in the web development area (Salva & Laurencot, 2009). After its introduction, developers were learning how to use AJAX to create desktop-like GUIs in the web applications such as Google Maps; and later they subsequently used AJAX even to create entire enterprise RIAs (Lawton, 2008). Using the JS’s ability to manipulate the Document Object Model (DOM) in HTML documents, AJAX achieves and enhances the interoperability capability of the web applications (Salva & Laurencot, 2009). It should be noted that the AJAX itself is not a technology, it is a technique; and the technology behind AJAX is the XHR object with its JS API. The AJAX is a data-pull technique, employing the traditional request-response model. Combining HTML and CSS with JS, AJAX has become a powerful tool in RIA development, providing the fundamental implementation of the DC.
XHR is also known as XMLHttpRequest. The XMLHttpRequest object was initially dened as part of the WHATWG’s HTML effort. (Based on Microsoft’s implementation many years prior.) It moved to the W3C in 2006. Extensions (e.g. progress events and cross-origin requests) to XMLHttpRequest were developed in a separate draft (XMLHttpRequest Level 2) until end of 2011, at which point the two drafts were merged and XMLHttpRequest became a single entity again from a standards perspective. End of 2012 it moved back to the WHATWG.On Chrome or other browsers, if you were to inspect any page, you could head over to the Network tab, then notice a sub-tab called XHR. Within this tab, you could see the status of requests, how long requests take, and plenty more. Microsoft was working on a technology named XMLHTTP in their Exchange 2000 project [18], and it was rst introduced to the world as an ActiveX control in Internet Explorer 5.0 in March 1999 [19], [20]; and later it was called the XMLHttpRequest (XHR) object, which has an Application Programmer Interface (API) in JS. The XMLHttpRequest object can be used to request data from a web server.
The XMLHttpRequest object is a developers dream, because you can:
- Update a web page without reloading the page
- Request data from a server - after the page has loaded
- Receive data from a server - after the page has loaded
- Send data to a server - in the background
Simple Pull Delta- Communication is the basic abstract of Delta-Communication technique, based on the data-pull mode. It describes the simplest form of data-pull DeltaCommunication, based on the request-response model and this technique is technology independent. AJAX technique as a JS implementation of the SPDC, which is limited to the browser based applications. XHR object has the ability to develop the rich communication not only in asynchronous mode, but also in synchronous mode, since the XHR API contains a setting to configure the synchronous/asynchronous mode. However, even using the asynchronous setting of the XHR object, still AJAX features can be developed and presented to the users to perform DC in synchronous manner, and the mode of the DC is determined by the way the feature is designed. In later rich communication development technologies like WS, a similar setting is not included, and the developers are given the flexibility to determine, in which mode the DC should be developed. Based on these facts, considering the outdated and limited impression of the term “AJAX”, we propose the term (JS-SPCD), in place of the term “AJAX”. The term JSSPCS indicates that it utilizes the SPDC technique, and developed using JS.
The jQuery $.ajax() function is used to perform an asynchronous HTTP request. It was added to the library a long time ago, existing since version 1.0. The $.ajax()function is what every function discussed in the previously mentioned article calls behind the scene using a preset configuration. The signatures of this function are shown below:
$.ajax(url[, options])
$.ajax([options])
The url parameter is a string containing the URL you want to reach with the Ajax call, while options is an object literal containing the configuration for the Ajax request.
- accepts: The content type sent in the request header that tells the server what kind of response it will accept in return
- async: Set this options to false to perform a synchronous request
- beforeSend: A pre-request callback function that can be used to modify the jqXHRobject before it is sent
- cache: Set this options to false to force requested pages not to be cached by the browser
- complete: A function to be called when the request finishes (after success and error callbacks are executed)
- contents: An object that determines how the library will parse the response
- contentType: The content type of the data sent to the server
- context: An object to use as the context (this) of all Ajax-related callbacks
- converters: An object containing dataType-to-dataType converters
- crossDomain: Set this property to true to force a cross-domain request (such as JSONP) on the same domain
- data: The data to send to the server when performing the Ajax request
- dataFilter: A function to be used to handle the raw response data of XMLHttpRequest
- dataType: The type of data expected back from the server
- error: A function to be called if the request fails
- global: Whether to trigger global Ajax event handlers for this request
- headers: An object of additional headers to send to the server
- ifModified: Set this option to true if you want to force the request to be successful only if the response has changed since the last request
- isLocal: Set this option to true if you want to force jQuery to recognize the current environment as “local”
A rich Internet application (RIA) is a Web application designed to deliver the same features and functions normally associated with deskop applications. RIAs generally split the processing across the Internet/network divide by locating the user interface and related activity and capability on the client side, and the data manipulation and operation on the application server side.
An RIA normally runs inside a Web browser and usually does not require software installation on the client side to work. However, some RIAs may only work properly with one or more specific browsers. For security purposes, most RIAs run their client portions within a special isolated area of the client desktop called a sandbox. The sandbox limits visibility and access to the file and operating system on the client to the application server on the other side of the connection.
This approach allows the client system to handle local activities, calculations, reformatting and so forth, thereby lowering the amount and frequency of client-server traffic, especially as compared to the client-server implementations built around so-called thin clients.
One distinguishing feature of an RIA (in contrast to other Web-based applications) is the client engine that intermediates between the user and the application server. The client engine downloads when the RIA launches. The engine can be augmented during subsequent operation with additional downloads in which the engine acts as a browser extension to handle the user interface and server communications.
Key Features of Rich Web based Application are;
- Google Gears.
- Open Laszlo and WebTop,
- Oracle Web Center
- Adobe Flash, Flex and Adobe Integrated Runtime (AIR)
- Microsoft Silverlight.
- Curl (an object-oriented language with embedded HTML markup)
Different technologies used to develop the client side components of Rich Web based Application are;
o Node.js web development frameworks
Node.js is an open source server environment Node.js is free Node.js runs on various platforms (Windows, Linux, UNIX, Mac OS X, etc.) Node.js uses JavaScript on the server
o Tensor flow
Tensor Flow is an end-to-end open source platform for machine learning. It has a comprehensive, flexible ecosystem of tools, libraries and community resources that lets researchers push the state-of-the-art in ML and developers easily build and deploy ML powered applications.
o Symphony web application framework
Symphony is an open-source PHP web application framework, designed for developers who need a simple and elegant toolkit to create full-featured web applications. Symphony is sponsored by SensioLabs.
Delta Communication- Rich Communication model of the Rich Web based Application. It is used to communicate with the server-components, to exchange only the needful dataset – for a particular feature executed at the time. Once a page is loaded to the browser, all the communications with the server, for all the features implemented on that page, can be done using DC, eliminating page refreshes until the page is refreshed or redirected to another page, explicitly by the user or by an internal component.
Rich Internet Applications (RIAs) have become popular with their increased user experience delivered through rich GUIs and faster responses. The key concept behind the fast responses is the Delta-Communication (DC), which enables the communication of necessary data between the client and the server components, in either synchronous or asynchronous modes, supporting both data-pull and push modes There are various Technologies and Techniques (TTs) available for developing the DC in RIAs. These TTs have been already discussed in different forums, and also many tutorials are available to demonstrate the development of them.
However, proper comparisons of these TTs are not available towards supporting decision making in selecting these TTs for the RIA development.
- Synchronous Transmission
Synchronous transmission is a data transfer method which is characterized by a continuous stream of data in the form of signals which are accompanied by regular timing signals which are generated by some external clocking mechanism meant to ensure that both the sender and receiver are synchronized with each other.
Data are sent as frames or packets in fixed intervals.
Synchronous transmission is transmission of signals in a fixed interval based on a predefined clocking signal and is meant for constant and reliable transmission of time-sensitive data such as VoIP and audio/video streaming.
This method of transmission is used when large amounts of data need to be transferred quickly since data is transferred in large blocks instead of individual characters. The data blocks are spaced and grouped in regular intervals and preceded by synchronous characters that a remote device decode and use to synchronize the connection between the end points.
After synchronization is complete, the transmission can begin.
Technology Can Streamline Tedious Tasks
Taking attendance, tracking grades and even answering common student questions can take up a lot of a teacher’s time. Adding technology to the classroom can help eliminate some of these tasks, freeing the teacher to focus on delivering quality lessons to the class. Programs like Top Hat, for instance, allow a teacher to manage tests securely in a digital environment that automatically grades and tracks them, while also allowing greater interaction with students and collaboration in the classroom.
Technology Is a Part of Modern Life
A teacher’s goal is to develop students who are prepared for life as an adult, and today’s adult world is one that utilizes technology. The more opportunities a student has to work with technology in school, the less intimidation the student will feel when entering the workforce and trying to embrace technology in their occupation.
Technology Can Increase Student Engagement
When used well and woven through a lesson by a skilled teacher, technology can increase student engagement. One way to do this is through comprehension checks. Teachers can use tools to check students’ understanding during the lesson, allowing them to make adjustments if students are struggling to grasp a concept. Some tools that allow for this include:
Padlet ― This free tool allows students to add their responses to a classroom display that allows for comprehension checks and collaboration.
Socrative ― This free tool allows teachers to track student progress, while also providing options for using questions to check for understanding during a lesson.
Plickers ― This tool uses QR codes on cards held by students, which means it can be used even in classrooms that do not offer student devices.
In addition, teachers who use technology to present lessons can engage students more easily, because technology is a format most students are drawn to naturally.
Con
Teachers Fear Adding More Screen Time
Today’s students are getting far more screen time then they should have. According to the Common Sense Census: Media Use by Tweens and Teens study, students ages 8 through 12 spend an average of six hours of time daily on screens for entertainment. This increases to almost nine hours for high school and upper middle school students. Adding technology in the classroom may add more screen time to that statistic. While the screens are used educationally, the overall impact of screen time on the brain is going to increase.
Technology May Not Be Utilized to the Fullest
Adding a computer to the classroom that students can play on when done with their work, use to search Google and access for word processing purposes is not using technology to the fullest in the classroom. In order for technology to be used effectively in the classroom, teachers must be trained on how to incorporate it into their lesson planning well, weaving their instruction around the use of technology.
Technology Can Be a Distraction
Students who have a tablet or computer in front of them during a lesson are going to be tempted to play instead of listening. Teachers must set clear expectations for the appropriate use of technology in order to ensure that this is not a problem.
Technology clearly has both pros and cons when used in the classroom, but the bottom line is this: We are living in a digital world, and students are interacting with technology, and possibly even bringing it with them to school, on a daily basis. The benefits of using technology in the classroom are far-reaching and need to be embraced by modern educators who seek to prepare students for adult life.
AJAX technique uses the data-pull mode, and supports both synchronous and asynchronous modes by API. Through experiments we have noted that the DC technique implemented by AJAX is the simplest form of the DC. Furthermore, the underlying concept used to implement the AJAX technique can be developed in other environments – Like desktop applications – using other TTs like WS or C#, even without JS and/or XHR object. We have successfully developed and tested the technique using C#.Net, to develop a desktop application component, which communicates with server components using datapull DC, asynchronously. Moreover, the same DC technique is utilized in other Advanced DC technologies like WS, for the data-pull mode. To denote the abstract concept of this simplest implementation of the DC model, we propose the term “Simple Pull Delta-Communication” (SPDC). Since the SPCD concept is abstract, it is TTs independent and can be developed for both browser-based and non-browser-based clients.
One of JavaScript’s greatest strengths is its ability to make asynchronous requests. AJAX. Microsoft invented Ajax in 1999.AJAX can be seen as the beginning of the JS based RIA development approach, and it became a major breakthrough in the web development area (Salva & Laurencot, 2009). After its introduction, developers were learning how to use AJAX to create desktop-like GUIs in the web applications such as Google Maps; and later they subsequently used AJAX even to create entire enterprise RIAs (Lawton, 2008). Using the JS’s ability to manipulate the Document Object Model (DOM) in HTML documents, AJAX achieves and enhances the interoperability capability of the web applications (Salva & Laurencot, 2009). It should be noted that the AJAX itself is not a technology, it is a technique; and the technology behind AJAX is the XHR object with its JS API. The AJAX is a data-pull technique, employing the traditional request-response model. Combining HTML and CSS with JS, AJAX has become a powerful tool in RIA development, providing the fundamental implementation of the DC.
XHR is also known as XMLHttpRequest. The XMLHttpRequest object was initially dened as part of the WHATWG’s HTML effort. (Based on Microsoft’s implementation many years prior.) It moved to the W3C in 2006. Extensions (e.g. progress events and cross-origin requests) to XMLHttpRequest were developed in a separate draft (XMLHttpRequest Level 2) until end of 2011, at which point the two drafts were merged and XMLHttpRequest became a single entity again from a standards perspective. End of 2012 it moved back to the WHATWG.On Chrome or other browsers, if you were to inspect any page, you could head over to the Network tab, then notice a sub-tab called XHR. Within this tab, you could see the status of requests, how long requests take, and plenty more. Microsoft was working on a technology named XMLHTTP in their Exchange 2000 project [18], and it was rst introduced to the world as an ActiveX control in Internet Explorer 5.0 in March 1999 [19], [20]; and later it was called the XMLHttpRequest (XHR) object, which has an Application Programmer Interface (API) in JS. The XMLHttpRequest object can be used to request data from a web server.
The XMLHttpRequest object is a developers dream, because you can:
- Update a web page without reloading the page
- Request data from a server - after the page has loaded
- Receive data from a server - after the page has loaded
- Send data to a server - in the background
Simple Pull Delta- Communication is the basic abstract of Delta-Communication technique, based on the data-pull mode. It describes the simplest form of data-pull DeltaCommunication, based on the request-response model and this technique is technology independent. AJAX technique as a JS implementation of the SPDC, which is limited to the browser based applications. XHR object has the ability to develop the rich communication not only in asynchronous mode, but also in synchronous mode, since the XHR API contains a setting to configure the synchronous/asynchronous mode. However, even using the asynchronous setting of the XHR object, still AJAX features can be developed and presented to the users to perform DC in synchronous manner, and the mode of the DC is determined by the way the feature is designed. In later rich communication development technologies like WS, a similar setting is not included, and the developers are given the flexibility to determine, in which mode the DC should be developed. Based on these facts, considering the outdated and limited impression of the term “AJAX”, we propose the term (JS-SPCD), in place of the term “AJAX”. The term JSSPCS indicates that it utilizes the SPDC technique, and developed using JS.
The jQuery $.ajax() function is used to perform an asynchronous HTTP request. It was added to the library a long time ago, existing since version 1.0. The $.ajax()function is what every function discussed in the previously mentioned article calls behind the scene using a preset configuration. The signatures of this function are shown below:
$.ajax(url[, options])
$.ajax([options])
The url parameter is a string containing the URL you want to reach with the Ajax call, while options is an object literal containing the configuration for the Ajax request.
- accepts: The content type sent in the request header that tells the server what kind of response it will accept in return
- async: Set this options to false to perform a synchronous request
- beforeSend: A pre-request callback function that can be used to modify the jqXHRobject before it is sent
- cache: Set this options to false to force requested pages not to be cached by the browser
- complete: A function to be called when the request finishes (after success and error callbacks are executed)
- contents: An object that determines how the library will parse the response
- contentType: The content type of the data sent to the server
- context: An object to use as the context (this) of all Ajax-related callbacks
- converters: An object containing dataType-to-dataType converters
- crossDomain: Set this property to true to force a cross-domain request (such as JSONP) on the same domain
- data: The data to send to the server when performing the Ajax request
- dataFilter: A function to be used to handle the raw response data of XMLHttpRequest
- dataType: The type of data expected back from the server
- error: A function to be called if the request fails
- global: Whether to trigger global Ajax event handlers for this request
- headers: An object of additional headers to send to the server
- ifModified: Set this option to true if you want to force the request to be successful only if the response has changed since the last request
- isLocal: Set this option to true if you want to force jQuery to recognize the current environment as “local”




Comments
Post a Comment