Wednesday, May 22, 2019

Client-side development 2 - RiWAs



Distinguish the term "'Rich Internet Applications" (RIAs) from "Rich Web-based Applications"

Asynchronous means that you can make request to a server via Hypertext Transfer Protocol (HTTP), and process the other data while waiting for the response. It is not a new programming language but it is a group of interrelated web development techniques used on client side to create interactive web applications. It is a way of using existing standards such as JavaScript and XML to create interactive web applications. Browser based applications and platform independent applications use Ajax.
With AJAX, we can move data from web page to server and web applications can send data to and receive data from server without interfering with existing page and without making the user wait while reloading the whole page. This is accomplished through a kind of HTTP request. Web pages which do not use AJAX must reload the entire page to change the contents of the web page. There are many web applications running on Ajax technology such as Gmail, Yahoo, Facebook, Twitter and YouTube etc. Ajax uses XHTML for content, CSS for presentation and Document Object Model (DOM) for content display.


Key features of RiWAs


  • AJAX.
  • Adobe Flash, Flex and Adobe Integrated Runtime (AIR)
  • Microsoft Silverlight.
  • Curl (an object-oriented language with embedded HTML markup)
  • Google Gears.
  • OpenLaszlo and Webtop.
  • Oracle WebCenter



Technologies and techniques used to develop the client-side components of the RiWAs

J2EE (wiki)
Java Platform, Enterprise Edition (Java EE) is the industry standard for developing portable, robust, scalable and secure server-side Java applications. Building on the solid foundation of the Standard Edition, Java EE provides web services, component model, management, and communications APIs that make it the industry standard for implementing enterprise-class web applications.
JSP (wiki)
JavaServer Pages (JSP) technology enables Web developers and designers to rapidly develop and easily maintain, information-rich, dynamic Web pages that leverage existing business systems. As part of the Java technology family, JSP technology enables rapid development of Web-based applications that are platform independent. JSP technology separates the user interface from content generation, enabling designers to change the overall page layout without altering the underlying dynamic content.
Servlets (wiki)
Servlets are the Java platform technology of choice for extending and enhancing Web servers. Servlets provide a component-based, platform-independent method for building Web-based applications, without the performance limitations of CGI programs. And unlike proprietary server extension mechanisms (such as the Netscape Server API or Apache modules), servlets are server- and platform-independent. This leaves you free to select a “best of breed” strategy for your servers, platforms, and tools.
AJAX (wiki)
Ajax is a web development technique used for creating interactive web applications. The intent is to make web pages feel more responsive by exchanging small amounts of data with the server behind the scenes, so that the entire web page does not have to be reloaded each time the user requests a change. This is intended to increase the web page’s interactivity, speed, functionality, and usability.
Ajax is a cross-platform technique usable on many different operating systems, computer architectures, and Web browsers as it is based on open standards such as JavaScript and XML, together with open source implementations of other required technologies.
Adobe Flash (wiki)
Adobe Flash technology is used to create content for the web applications, games and movies, and content for mobile phones and other embedded devices. The Flash Player is a client application available in most common web browsers.
Since its introduction in 1996, Flash technology has become a popular method for adding animation and interactivity to web pages; several software products, systems, and devices are able to create or display Flash. Flash is commonly used to create animation, various web-page components, to integrate video into web pages, and more recently, to develop rich internet applications.
Model-view-controller (wiki)
Model-view-controller is an architectural pattern used in software engineering. In complex computer applications that present a large amount of data to the user, a developer often wishes to separate data (model) and user interface (view) concerns, so that changes to the user interface will not affect data handling, and that the data can be reorganized without changing the user interface. The model-view-controller solves this problem by decoupling data access and business logic from data presentation and user interaction.

Libraries

Struts (wiki)
Apache Struts is a free open-source framework for creating Java web applications.
Web applications based on JavaServer Pages sometimes commingle database code, page design code, and control flow code. In practice, we find that unless these concerns are separated, larger applications become difficult to maintain. One way to separate concerns in a software application is to use a Model-View-Controller (MVC) architecture. The Model represents the business or database code, the View represents the page design code, and the Controller represents the navigational code. The Struts framework is designed to help developers create web applications that utilize a MVC architecture.
Apache Tiles
Apache Tiles is a templating framework built to simplify the development of web application user interfaces. Tiles allows authors to define page fragments which can be assembled into a complete page at runtime. These fragments, or tiles, can be used as simple includes in order to reduce the duplication of common page elements or embedded within other tiles to develop a series of reusable templates. These templates streamline the development of a consistent look and feel across an entire application. Tiles
Hibernate (wiki)
Hibernate is a powerful, high performance object/relational persistence and query service. Hibernate allows develop persistent classes following object-oriented idiom – including association, inheritance, polymorphism, composition, and collections.
WebORB
WebORB is a server technology enabling development, deployment and runtime execution of Rich Internet Applications. The product provides universal connectivity between rich clients and server-side applications created with .NET, Java or XML Web Services. Supported client-side technologies include Flex, Flash Remoting and AJAX
DWR (wiki)
DWR is a Java open source library which allows you to write Ajax web sites.
It allows code in a browser to use Java functions running on a web server just as if it was in the browser.
DisplayTag
The display tag library is an open source suite of custom tags that provide high-level web presentation patterns which will work in an MVC model. The library provides a significant amount of functionality while still being easy to use.
PD4ML
PD4ML is a powerful PDF generating tool that uses HTML and CSS (Cascading Style Sheets) as page layout and content definition format. Written in 100% pure Java, it allows users to easily add PDF generation functionality to end products
FCKEditor
This HTML text editor brings to the web much of the power of desktop editors like MS Word. It’s lightweight and doesn’t require any kind of installation on the client computer.
ANT (wiki)
Apache Ant is a Java-based build tool.

Software

Tomcat (wiki)
Apache Tomcat is the servlet container that is used in the official Reference Implementation for the Java Servlets and Java Server Pages technologies. Apache Tomcat is developed in an open and participatory environment and released under the Apache Software License.
Apache Tomcat powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations.
MySQL (wiki)
MySQL is a fast, stable and true multi-user, multi-threaded SQL database server. The main goals of MySQL are speed, robustness and ease of use.
MySQL runs on virtually all platforms, including Linux, Unix, and Windows. It is fully multi-threaded, and provides application program interfaces for many programming languages.
MySQL is used in a wide range of applications, including data warehousing, e-commerce, web databases, logging applications and distributed applications. It is also increasingly embedded in third-party software and other technologies.
Apache HTTP server (wiki)
Apache supports an optional module that configures the web server to act as a proxy server. This can be used to forward requests for a particular web application to a Tomcat instance, without having to configure a web connector.

 Delta-Communication is
Delta Communications, LLC, doing business as Clearwave Communications, provides local, long distance, data, and Internet telecommunications services to residences and businesses in Southern Illinois. It offers service plans, which include mobile, dial up and high speed Internet, and telephone systems
  1. Since, the delta modulation transmits only one bit for one sample, therefore the signaling rate and transmission channel bandwidth is quite small for delta modulation compared to PCM .
  2. The transmitter and receiver implementation is very much simple for delta modulation. There is no analog to digital converter required in delta modulation.

 Synchronous and asynchronous communication in the context of DC

In synchronous communication multiple parties are participating at the same time and wait for replies from each other. One way to visualize the concept of synchronous communications is to imagine a real-time online chat session in which you exchange messages with a live customer support specialist to get help for your broken toaster oven.
Before message exchange in this synchronous scenario can begin, the sender and receiver must establish a communications session and agree which party is going to be in control. Once the session is established, the two-way, give-and-take conversation occurs in actual time. When you type and send a chat message, the party at the other end is present and actively waiting to receive or hear your message and then immediately respond to it. Both parties are working together at the same time with their clocks in lockstep (time zone differences notwithstanding) -- in other words, synchronized.
Asynchronous communication is different. For example, it occurs when that toaster oven manufacturer doesn't offer real-time chat, forcing you instead to send an email message to a company's tech support department. The recipient is neither expecting nor waiting for an incoming message and therefore may not get to it right away.

 History and the evolution of the XHR and AJAX

The key technology is used in AJAX is XMLHttpRequest(XHR), firstly invented by Microsoft and then use by other browsers. XHR has capabilities to retrieve data from server-side and populate on client-side with the help of existing technologies.
Explain the role of the DC-Bus
Using the DC bus as a discharge medium in the case of faster braking of load. A resister connected to DC bus can act as a brake resister which dissipates surge power generated by fast decelerating load. This protects the other parts of the VFD. Powering up VFDs directly using DC terminals bypassing rectifier section.

Tuesday, May 14, 2019

Client-side development 1 - jQuery

 JQuery a framework or a library


 J Query is a library.framework is something that usually forces a certain way of implementing a solution, whereas j Query is just a tool to make implementing what you want to do easier. j Query: The Write Less, Do More, JavaScript Library.


Explain the features provided by jQuery

j Query is a write less and do more java script library, it use of java script much easier and  simplifies the complicated things from java script like the AJAX calls.

Features of j Query are :

1. Effects and animations.
2. Ajax.
3. Extensible.
4. DOM element selections functions.
5. Events.
6. CSS manipulation.
7. Utilities - such as browser version and the each function.
8. JavaScript Plugins.
9. DOM traversal and modification.





 Advantages and disadvantages of using jQuery in different project scales

The main advantage of jQuery is that it is much easier than its competitors.IT can add plugins easily, translating this into a substantial saving of time and effort. jQuery community is active and hard work. Competitors such as Flash and pure CSS is its excellent integration with AJAX.


  1. jQuery is flexible and fast for web development
  2. It comes with an MIT license and is Open Source
  3. It has an excellent support community
  4. It has Plugins
  5. Bugs are resolved quickly
  6. Excellent integration with AJAX
Disadvantages
jQuery is easy to install and learn, initially. But it’s not that easy if we compare it with CSS. JQuery is improperly implemented as a Framework, the development environment can get out of control.


 How the jQuery handles the issues related to partial page loads to the browser

I'm recommended follow this link for easy to understand:


Discuss the selectors and their use in jQuery

jQuery Selector is a function which makes use of expressions to find out matching elements from a DOM based on the given criteria.Once an element is selected then we can perform various operations on that selected element.Simply you can say,selectors are used to select one or more HTML elements using jQuery.


The use of CSS advanced selectors in jQuery and jQuery’s DOM traversal API, indicating the pros and cons of them

jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers.


Explain the importance of DOM objects and DOM processing in jQuery

The functions associated with these objects determine how the objects may be manipulated, and they are part of the object model.The DOM is an object-oriented representation of the web page, which can be modified with a scripting language such as JavaScript.The Document Object Model currently consists of two parts, DOM Core and DOM HTML. The DOM Core represents the functionality used for XML documents, and also serves as the basis for DOM HTML.




JQuery event handling over HTML event attributes, providing a list of events supported by jQuery

  1. Mouse Events scroll, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, load, resize, scroll, unload, error
  2. Keyboard Events keydown, keypress
  3. Browser Events load, resize, scroll, unload, error.
  4. DOM Element Events. blur, focus, focusin, focusout, change, select, submit.

Identify a list of advanced features provided by jQuery and explain their use towards improving the user experience

Create an Empty jQuery Object

Creating a new jQuery object can bring significant overhead. Sometimes, you might need to create an empty object, and fill it in with the add() method later.
Use CSS Hooks
The CSS hooks API was introduced to give developers the ability to get and set particular CSS values. Using it, you can hide browser specific implementations and expose a unified interface for accessing particular properties