Programming help home

Sunday 22 May 2016

XML-based Applications Assignment Help

XML is a standard defined for writing data generating by an application such that it is both machine readable and human readable.
Before the advent of XML data was saved in binary formats which were highly format and programming language dependent. One example is Java serialization: which must be read by Java, reading & writing the data from a different language is cumbersome at best. It also poses problems when schema of the data changes its form. Binary data cannot also be easily edited without a hex editor and appears as a stream of strange looking ASCII characters in most editors.
XML overcomes these problems by defining a standard for exchanging data. The specification highlights:
1. Data must be represented using tags eg. <author> </author>
2. additional attributes may be represented as : <author name=”john”></author>
3. Every tag must have a corresponding closing tag.


XML Based applications:


Today XML is being used to store a very wide variety of data expect for where binary formats are more efficient
eg. SVG : it is a image storage format in which we use the mathematical equations and the parameters of those equations to store the drawing rather than the pixels, this allows us to zoom in the image at any level we want.
ODF, ODS, ODP: Open Documents format supported by open office are based on XML which do not allows vendor locking and any software can read them.
Web services: Popular services like Google maps, Google finance, Google docs all have XML based web service using which mash up application can be developed which utilize this XML and present it in a different format as required by the application.
Configuration files: Most complex software store their configuration and state in XML files which can later be read from and written to easily. The main advantage here is that users can also easily edit these files with a simple text editor. Read about Programming in Java.

Advantages:


1. Standards based data interchange format allows any compliant software to use the file.
2. Standard based tools can be developed which allow easy modification of XML
3. Both machine and human readable.
4. Data schema modification is very easy.

Disadvantages:


1. They are usually much less efficient in storage space than binary files.
2. They require a lot of CPU power to parse and write when the data to be serialized and de serialized is large.


Rich Interface Application tools (Ajax, JQuery, HTML5..)


Traditionally interface design was done in programming languages like Java, C++ etc. which were not really meant for user interface design and UI design was difficult in such languages.
Hence for the web they chose a markup language which was easy to write, understand and edit. Since it was designed for the purpose of page layout it was easy to understand by most people and hence the Internet grew to the size it is today.

But for a long time the pages designed using HTML were static and the internet was a large number of web pages linked to each other by links called hyperlinks. Some interactivity was possible using animated images but that was just about it. To address this problem scripting languages were introduced which would download and run on the client side and could modify the HTML elements on the fly. A further evolution brought a technology which allowed the script to fetch content from the server and dynamically change the appearance of the web page without refreshing the content. Very prominent examples which really allowed everybody to realize the potential of this new technology called ajax were: the Gmail interface and Google maps.

The next generation of evolution is HTML5. In the earlier generation Java script allows modification of the page but the language was fraught with cross browser issues. HTML5 is designed to address the cross browsers issue by inviting stake holders and then agreeing upon a common standard which all browsers will implement. HTML5 add a lot of features which will further make the Internet experience very fluid and interactive. Read about Website Designing and Testing Assignment.


Some major enhancements:


1. Provision for a standard video tag, videos can now be inserted without the need for flash, silverlight or any other third party plug in. eg. <video src=”file.ogg”/>
2. Allows for client side database stores which can allows for querying using standard SQL, a big improvement over cookies.
3. New tag enhancements, for eg to add captions to image tags in a semantic way, we can now use the figure tag : <figure><img/> <caption>some caption</caption</figure>
4. Plans for 3D graphics and sound directly into HTML code. 

Advantages:


1. Standards based: Since it an open standard made by a board comprising of major stakeholder of this technology, it ensures that there is no vendor lock in and that there is consistent implementation of the standard across all browser so that developers can confidently release their applications.
2. Portable: Since all browsers must conform to the standard, the application written for HTML5 will be portable
3. Easy : RIA technologies like JQuery are much easier to implement than traditional statically typed languages allowing for easy deployment
4. Fluid UI experience: the user get the feeling of using a desktop application since the page is never refreshed and all the data is fetched dynamically from the server.

Disadvantages:


1. Since the technology is still in the transition stages all browsers do not support the entire feature set.
2. The UI experience depends on the bandwidth : there may be a considerable delay between the user action and results to appear due to latency.
3. Require a constant Internet connection : These technology must have a Internet connection to operate, offline support is still in infancy.

Open Source software:


Open source was a phenomenon started by a group of hacker at MIT, Artificial Intelligence labs when they were forced to use and write software under restrictive licenses with Richard Stallman as their clear leader. It was he who started the movement by forming an organization called FSF(free software foundation) which started by writing a free Unix clone, which is today known as GNU/Linux. Slowly the idea of Linux spread across the globe primarily through the advent of the Internet which allows thousands of developer to collaborate together:

Open Source, today in the business sense of the word stands for software which has its source open for modification by anybody and the organization earn profit by providing services for the software

Key Ideas:
OSS grants users right by providing them with a license. Commercial closed source vendors provide a license in the form of EULA, or the end user license agreement which the user has to buy. The EULA basically states that any modification, or sharing of software after modification is illegal and the software is the sole proprietorship of the company which developed it. The license given to an end user is non transferable.
An open source license however states that:
1. The user has the freedom to use the software in any way he chooses.
2. The user has the right to modify the source code of the software and analyse it for any purpose.
3. The user has the right to distribute the software with any modifications he has made.

Many OSS licenses require that the end user must release the software again under the same OSS license so that the software can continue to be free.

Examples of Open Source Licences: GNU GPL, BSD License, Apache Public License, MIT License.

Revenue Model:   Since open source software give away their source code for free and is open for modification it definitely has to follow a different business model than selling software as intellectual property. Most companies which are in this business use the service model to generate revenue. They provide customized software solutions to enterprise and make modifications to the software for fees. They also provide technical support services, the prominent examples of this model are businesses like : Canonical , which makes Ubuntu and Redhat Inc, which makes the Redhat Enterprise server series.


Advantages:


1. OSS provides clear advantages as being cost effective, since the source is available for anybody to download there is no need to pay to any vendor for the software.
2. Availability of the source code allows easy modification of software for specific needs.
3. It creates a truly competitive market since companies can now compete on the better services rather than on the basis of monopoly.
4. No vendor lock in : e.g if you use .NET to develop your application your entire development tool chain must be from Microsoft and you cannot move to a different vendor if you do not like their serivces. This problem does not exist in open source.
5. Collective skills of thousands of programs can be used to allows rapid modification of the source code.

Disadvantages:


1. Since there is nobody who ‘owns’ the software in the business sense some times due to lack of money backing the project there may be issues like less market acceptance. For some projects it also means a loss of clear direction in which the project is going.

The technology should be evaluated on the contention that it:
1. Saves cost due to code availability
2. Allows for easy modification
3. disallows vendor locking

Programming Assignment Help provides plagiarism free assignments i.e. all our solutions are genuine and written by best technical assignment writers who have years of experience. 


No comments:

Post a Comment