Wednesday, May 22, 2019

Client-side development 2 - RiWAs


Distinguish the term “Rich Internet Applications” (RIAs) from “Rich Web-based Applications”.
Rich Internet applications (RIA) are Web-based applications that have some characteristics of graphical desktop applications. Built with powerful development tools, RIAs can run faster and be more engaging.
A number of key features differentiate RIAs from traditional Web applications.

Rich Internet applications: The tools
  • AJAX.
  • Adobe Flash, Flex and Adobe Integrated Runtime (AIR)
  • Microsoft Silverlight.
  • Curl (an object-oriented language with embedded HTML markup)
  • Google Gears.

Rich Web-based applications
•Use advanced GUIs
•Use Delta-Communication
•Provide rich user experience
Most of the web-based applications nowadays are RiWAs

Rich GUIs in RiWAs use Delta-Communication to communicate with the server components
•DC happens behind the GUI
Eliminates page refreshes
•DC can process asynchronously
Eliminates page freezing
•DC works faster
Eliminates the work-wait pattern
Delta-Communication
Simple-Pull-Delta-Communication (SPDC) can be seen as the simplest form of DC
•Used in AJAX
•Single XHR request to the server
•Client-side: Native JS support
•Server-side: special technology is not needed

Compare and contrast synchronous and asynchronous communication in the context of DC.
Synchronous Communication is based on synchronization between the sender and the receiver. Both must be synchronized before actual communication takes place.
Both of these forms of communication are a means of transmitting data. The difference is in the format that the data is transmitted.
Asynchronous communications is the method of communications most widely used for PC communication and is commonly used for e-mail applications, Internet access, and asynchronous PC-to-PC communications. Through asynchronous communications, data is transmitted one byte at a time with each byte containing one start bit, eight data bits, and one stop bit, thus yielding a total of ten bits. With asynchronous communications, there is a high amount of overhead because every byte sent contains two extra bits (the start and stop bits) and therefore a substantial loss of performance.
Synchronous communications is the more efficient method of communications. CQ's connectivity solutions communicate through the synchronous method of communications.
Through synchronous communications, data is transmitted as frames of large data blocks rather than bulky individual bytes. One advantage of synchronous is that control information is easily inserted at the beginning and end of each block to ensure constant timing, or synchronization. Another advantage of synchronous is that it is more efficient than asynchronous.

Polling is used to simulate data-push
•Send XHR requests periodically to the server
•Client-side: Native JS support
•Server-side: special technology is not needed
 •Blank responses can waste resources
Comet is used to simulate data-push
•Long-lived XHR requests
•Client-side: Native JS support
•Reduce network traffic than polling (more scalable)
•Blank responses are eliminated
Server-Sent-Events (SSE) is used (only) for true data-push
•Similar to Comet, but no client requests
•Client-side: HTML5 provides native JS support
•Server-side: Need a streaming server. Special technology is not needed, can be implemented with standard web technologies
•Reduce network traffic than polling/Comet (more scalable)
•Blank responses and requests are totally eliminated
WebSocket (WS)is bi-directional
 •Supports both data-pull and true data-push
•Reduce network traffic than polling/Comet/SSE




The history and the evolution of the XHR

XHR is short for XMLHTTP Request. While developed by Microsoft’s Outlook Web Access, some of the earliest instances of this type of request were used in your Gmail inbox. It was pretty revolutionary to see your inbox update without having to refresh your page. The way it worked was every 20–30 seconds, a new request was sent to see whether or not you had new mail.
XMLHttpRequest (XHR) is an API in the form of an object whose methods transfer data between a web browser and a web server. The object is provided by the browser's JavaScript environment.

The history and the evolution of the AJAX
New technology quickly becomes so pervasive that it’s sometimes hard to remember what things were like before it. The latest example of this in miniature is the technique known as Ajax, which has become so widespread that it’s often thought that the technique has been around practically forever.
In some ways it has. During the first big stretch of browser innovation, Netscape added a feature known as LiveScript, which allowed people to put small scripts in web pages so that they could continue to do things after you’d downloaded them..
The role of the DC-engine in RiWAs

The role of the DC-Bus
The DC bus in a VFD has found its usage as the technology has evolved. Some of the applications of DC bus, Common DC applications where a single rectifier unit acts a source of power to many inverter units through common DC bus. These inverters units can be connected to many motors.
The DC bus in a VFD has found its usage as the technology has evolved. Some of the applications of DC bus,
  • Common DC applications where a single rectifier unit acts a source of power to many inverter units through common DC bus. These inverters units can be connected to many motors.
  • Powering up VFDs directly using DC terminals bypassing rectifier section. This is similar to first one but the power source could be from a battery, a solar panel or any other DC source.

The algorithms for the request and response processing of DC



AJAX
Traditionally webpages required reloading to update their content. For web-based email this meant that users had to manually reload their inbox to check and see if they had new mail. This had huge drawbacks: it was slow and it required user input. When the user reloaded their inbox, the server had to reconstruct the entire web page and resend all of the HTML, CSS, JavaScript, as well as the user's email. This was hugely inefficient. Ideally, the server should only have to send the user's new messages, not the entire page. By 2003, all the major browsers solved this issue by adopting the XMLHttpRequest (XHR) object, allowing browsers to communicate with the server without requiring a page reload.
The XMLHttpRequest object is part of a technology called Ajax (Asynchronous JavaScript and XML). Using Ajax, data could then be passed between the browser and the server, using the XMLHttpRequest API, without having to reload the web page. With the widespread adoption of the XMLHttpRequest object it quickly became possible to build web applications like Google Maps, and Gmail that used XMLHttpRequest to get new map tiles, or new email without having to reload the entire page.
Ajax requests are triggered by JavaScript code; your code sends a request to a URL, and when it receives a response, a callback function can be triggered to handle the response. Because the request is asynchronous, the rest of your code continues to execute while the request is being processed, so it's imperative that a callback be used to handle the response.
The variation of the jQuery ajax() function
The ajax() method is used to perform an AJAX (asynchronous HTTP) request.
All jQuery AJAX methods use the ajax() method. This method is mostly used for requests where the other methods cannot be used.
$("button").click(function(){
  $.ajax({url: "demo_test.txt", success: function(result){
    $("#div1").html(result);
  }});
});

No comments:

Post a Comment