Use of Web Applications allows digitized data to be stored, transferred and observed according to the software programs designed for special tasks. The database servers keep the data save and available to the clients accessing these database through web applications from around the world at any given time. This also requires having this transfer of data through a secure and reliable transport channel. So security measures at each level become a necessity. There are some of the following basic tools that drive the implementation phase of any web based application. It will help the readers know the basic stuff before moving into the development field.
1)- PHP
PHP or “Personal Home Page” now called as “Hypertext Preprocessor” was first created by Rasmus Lerdorf in 1995 for solving his own programming problems is a server side scripting language designed for web development. PHP group is responsible for the reference implementation of PHP.1)- PHP
PHP web pages are generated by PHP processor module with a web server which interprets PHP code. PHP commands are directly embedded into HTML source document instead of calling any external file for data processing. PHP now used in standalone graphical applications has evolved to include command line interface. It can be deployed on almost every operating system and platform and most of web servers, free of charge.[1]
According to Netcarft web server survey which began in 1995 to track deployment of a wide range of scripting technologies across the web since 2001, PHP is well over 200 million websites.[27]
Rasmus employed at a Brazilian company when first saw MOSAIC Web Browser, found that internet would be the platform of choice in 1993. So, he went to Canada for consulting work. During six months period he observed himself writing CGI programs in C repetitively. In order to avoid this repetition, made calls to C routines by parsing HTML through his own designed template parser which was added with C programs library. This was the first version of PHP.
Rasmus who calls himself among the class of programmers and is pragmatic one who is just after solving his own problems, says that he created PHP just to solve his own programming problems but made this source available public to solve their problems following his experience. Today, PHP runs a considerable number of some of the largest websites on the planet. PHP started as a purely procedural language now it is full- fledged object oriented language.[28]
PHP is used for server side web development, creating dynamic web pages and dynamic images on websites, command line scripting and relational database management systems. Free availability of PHP to developers with complete source codes to build, customize and extend for their requirements and focus on server side scripting as ASP.NET, Sun Microsystem, JavaServer Pages and Mod Perl are playing vital role for PHP growth and development.[26]
From 1995 to 2006 PHP did not find considerable developments but in late 2006 to 2011 in version 5.2, it included enabled filter extension and native JSON support. From 2009 to 2014 in version 5.3, it had inclusion of namespace support, late static building, jump label, native dosures, native PHP archives, garbage collection for circular performance, improved Windows support, sqlite3, mysqlnd as a replacement for libmysql as underlying library for the extensions that work with MySQL, fileinfo as a replacement for mime_magic for better MIME support, the Internationalization extension, and deprecation of ereg extension.[29]
Version 5.4 released in 2012, included trait support, short array syntax support, built-in web servers and improvement in performance and reduced memory requirements.[30]
In 2013, released the version 5.5 of PHP, was furnished with support for generators, block for exception handling and OpCache bundled in official distributions.[31]
The latest version 5.6, constant scalar expressions, variadic functions, argument unpacking were added.[32]
2)- MySQL
“My Structured Query Language”, worlds second most widely used open source relational database management system (RDBMS) is the most popular Open Source SQL database management system, developed, distributed and supported by Oracle Corporation.[33]
Oracle Corporation is a multinational computer technology corporation based in California, United States. By revenue it is second largest software maker after Microsoft, is known for development and marketing of computer hardware systems and enterprise software products, specially database management systems. MySQL front-end tools called “MySQL Workbench” is actively developed by Oracle.[34]
MySQL is a fast, reliable, scalable and easy to use database management system with relational database in the form of open source software and works in client-server mode or embedded systems.
GNU, General Public License and some other proprietary agreements are responsible for source code development of MySQL according to their terms. It is popular for open source web development software project LAMP (Linux, Apache, MySQL and Perl/PHP/Python). With additional functionality requirements MySQL has made some of the commercial and paid editions like TYPO3, MODx, Joomla, WordPress, phpBB, MyBB, Drupal and other software. Usage of MySQL in most popular and large scale web applications and websites includes Wikipedia, Google, Facebook, Twitter, Flickr and YouTube.[33]
Since MySQL is RDBMS command line tools or front-end desktop software for web applications available with, are used to create and manage databases, build database structures, backup data, inspect status and work with data records.[35]
MySQL works on many system platforms, including AIX, BSDi, FreeBSD, HP-UX, eComStation, i5/OS, IRIX, Linux, OS X, Microsoft Windows, NetBSD, Novell NetWare, OpenBSD, Open Solaris, OS/2 Warp, QNX, Solaris, Symbian, SunOS, SCO OpenServer, SCO UnixWare, Sanos and Tru64. A port of MySQL to OpenVMS also exists.[36]
MySQL also supports could platforms and cloud computing systems. Users can use the virtual machine image of their own MySQL as is the case of Amazon EC2.[37]. It can also be used as MySQL as a service or managed MySQL cloud hosting, where database service provider will take care of MySQL installations and maintenance and in the other case cloud provider hosts the database and manages it on the application owner's behalf.[38]
There are many variants and versions released for MySQL since its start from May, 1995 when first version released. Windows version was announced in Jan, 1998, that supported Window 95 and Windows NT. Since then there are enormous developments made in terms of features and quality for MySQL. Version 3.23 in 2000, version 4.0 in 2002 and version 4.01 in 2003 are beta versions of the product, latest of which added a feature, database tracking. Version 4.1 releases in 2004 and includes R-Trees, B-Trees, Sub-queries and prepared statements. Version 5.0 in 2005 had cursor, stored procedures, triggers, views and XA transactions.[33]
The most general and openly available version of MySQL is 5.5 released in Dec, 2010 has many features over earlier versions. It has improved DB I/O subsystems, semisynchronous replication, signal and resignal statements in compliance with SQL standards, supplementary Unicode character set utf16, utf32 and utf8mb4 supports and user defined partitioning options. Alpha version 6.0.11 of MySQL announced on May, 2009 was the last release of 6.0 line.[33]
In February 2013 MySQL 5.6 was announced with improved performance over previous versions and improvement of query optimizer, high transactional throughput, new NoSQL style of memchached APIs, managing very large tables, improvements to replication and better performance monitoring by expanding the data available. InnoDB storage engine supports full text search and better group commit performance.
Milestone 3 for MySQL released in December 2013 in form of MySQL 5.7.[33]
3)- JSON
JSON stands for “Java Script Object Notation”, is one of best data interchange language used as an alternate to XML to transmit data between a web server and a web application and between clients and servers. It is an open format text which is human readable. In order to transmit data objects consisting of attribute-value pairs. JSON is derived from Java Script standard ECMA- 262 3rd editions released in December 1999, and support a large list of programming languages including family of C, C++, C#, Java, JavaScript, Perl, Python and many others. Recent Web Browsers like Mozilla Firefox 3.5, Microsoft Internet Explorer 8, Opera 10.5 and Chrome are working on native JSON coding and decoding.[39]
The format is easy to read with minimum formatting and just a few characters in addition to original data. This makes JSON increasing popular over XML which requires more characters, more space and time. JSON takes much less space and data, this is the reason that largest web application developing companies “Twitter” for example are shifting from XML to JSON. Google Data Protocols and Yahoo Web Services are also using JSON.
Douglas Crockford designed specifications and format of JSON. RFC 7159 and ECMA 404 now represent JSON, represented as media type “application/json” and extension “.json”. Started in April 2001 economic drives for discovery of JSON were the requirements for stateful, real time, server to browser communication without browser plug-in like Flash or Java Applets which are considered domain designs. JSON website JSON.org was launched in 2002 when the system was sold to Sun Microsystems, Amazon.com and EDS by Douglas when he realized that JavaScript could be used as an object based messaging format. In December 2005, Yahoo had started to offer some of its services over JSON, whereas Google started JSON feed for GData web protocol in December 2006.[40]
JSON Schema, for validation, documentation and interaction control specifies format and structure of JSON. It provides a contract for the JSON data which is required by given application and how the specific data can be modified. It can be considered as an internet draft as there are several validators for different programming languages and each with a varying level of conformance.
XML-RPC or SOAP are replaces by JSON-RPC as an RPC protocol which defines a handful of data types and commands. Notifications and multiple calls to be send to the server that may be answered out of order are allowed by this RPC.
The ability of a web server to request new data after it is loaded into web browser in response to user actions on the displayed web page is termed as “Ajax”. In mid 2000s, Ajax used XML as the data interchange format. Today JSON is used by many of the developers around the world to pass Ajax updates between the server and client.
JSON has got popularity to replace XML, YAML, OGDL, CVS and non data interchange language Google Product Buffers due to its offering for low overhead and widespread support for creation, reading and decoding in real world situations.[41]
4)- Cloud computing
Cloud Computing deals with accessibility of software application and data storage over the internet, where hardware and servers are located at some remote location. These devices, servers and hardware or software applications are accessed through internet connection.
In order to meet ever changing business needs organization need to invest time and budget to scale up their IT infrastructure. This change requires scaling up software, hardware and services. But this scaling process can be slow, time consuming and organizations are unable to achieve frequent optimal use of their infrastructure.
Cloud computing is a paradigm shift for enabling businesses have the computing over internet. But it must consist of highly optimized virtual data servers. It allows companies to use various hardware, software and information resources available only when they are needed. Organizations simply connect to the cloud when they need to, and pay to the hosting company on pay per use basis. This allows the cloud service providers to use same set of infrastructure and resources to multiple of companies as per their requirements and companies don’t need to have expansive server rooms and IT infrastructure. This is the financial, cost saving and profitability drive from both ends that is making cloud computing more popular around the world. Scaling up and scaling down IT resources as per needs was never possible in the past before the availability of cloud computing services.[42]
Cloud service can be divided into three types, Public Cloud, Private Cloud and Hybrid Cloud.
Private Cloud is dedicated is dedicated for a single organization and connects the resources through a private network. It is reliable and secure to vulnerabilities and external threats that are common to public networks. But the service would be most costly as compared to other two categories. It requires and organization to arrange for IT resources and teams and no part of it is from external resource.
Public Cloud is a cloud service provided by service provider to multiple of organizations in shared manner. It creates better efficiency and cost effectiveness for companies who are clients of cloud service providers.
Hybrid Cloud is a combination of both the Public Cloud and Private Cloud services. Some of resources by a company are taken care of by their internal human capital and IT teams and some of their resources are at Public Clouds. This provides increased efficiency in the systems. Some owners of larger organizations are fearful in delivering their IT infrastructure over Cloud, this model suits them best as they can decide about making which part of IT to be on cloud based on rapid scaling and requirements.
The service model of Cloud Computing is divided into three major categories. It will make better understand what Cloud Computing is about.[43]
4.1)- IAAS:
“Infrastructure as a Service” is deployed when organizations get infrastructure components such as computing power and storage capacity at cloud. The organization has control over the entire infrastructures including hosting services and applications. It makes to shift the entire infrastructure of IT to suppliers and run it over internet or other network connection. This will require organizations to have more staff for IT department to maintain and manage services and applications.
4.2)- PAAS:
“Platform as a Service” is provides organization with platform or runtime environment to create and deploy applications. Organizations are responsible for only the development, maintenance and management of the applications. PAAS gives rapid development at very low cost with both private and public deployments. Hence it facilitates creative and collaborative working environment.
Examples of PAAS offerings are as follows:
4.3)- SAAS:
“Software as a Service” provides organization with ready to use applications. It makes uses combination of cloud based computing and storage service. In other words, off the shelf applications are accessed over the internet.
SAAS offer all applications for free or paid via subscriptions. These apps are accessible from any computer connected to internet in the world. Thus facilitates collaborative working environment.
Examples of SAAS include:
5)- Responsive Web development
Responsive Web Development/Design is about designing web sites or web pages in such an optimal fashion that they adapt themselves according to the size of browsers in the viewing device. This enables a single web page and its contents easy viewing and reading and navigation with minimum resizing, panning and scrolling.RWD is achieved by using fluids, proportion based grids, flexible images and CSS3 (Cascading Style Sheet) media queries. The fluid grid will allow page element sizes to in relevant units like percentage, but not in absolute units like pixels or points. Similarly the images are also sized within their relevant units in order to prevent from displaying outside of their containing elements. The width of browser and characteristics of device on which the site is displayed is done through different CSS styles allowed by media queries which are also important part of RWD.[44]
The changing spectrum of screen sizes and resolutions observe rapid change with changing device technologies and this result in creation of websites that target each individual device is practically not suitable. This problem is resolved by RWD, which is not a single piece of technology but a collection of technologies and ideas that combine to result in responsive web developments.[45]
Ethan Marcotte invented in May 2010, the term “Responsive Web Design” idea in his article “A List Apart” published in CSS, Layout & Grids, Mobile/Multidevice, Responsive Design and Interaction Design.[21]. He described the theory and practice of responsive web designing in his book published in 2011 titled “Responsive Web Design”. The same RWD by Ethan was listed as number two in top web design trends for 2012 by “.net magazine” where progressive enhancement was placed first. After this announcement responsive web design was recommended by many of the sources as a cost effective alternative to mobile applications. Mashable rated 2013 as the year of responsive web development. It is said truly on the basis of rapid development in smart devices and latest form of cell phones rising from a competition in iPhones and other similar vendors. Users of these devices prefer to reading news on mobile phones. This also lets publishers an easy and simple way to reach their readers across multiple devices. On the other hand for users it gives great experience on each screen they have. As Ethan Marcotte, the author of “Responsive Web Design”, explains, “Now more than ever, we’re designing work meant to be viewed along a gradient of different experiences. Responsive web design offers us a way forward, finally allowing us to 'design for the ebb and flow of things.”[47]
Biblography:
[1] Half of Americans Distrust Privacy of EHRs: CDW , by Brain T Horowtiz News & Analysis, posted 2011-03-16.[26]- Wikipedia, (2002-02-01), “PHP”, can be foud at:http://en.wikipedia.org/wiki/PHP#cite_note-about_PHP-5
[27]- Ide, Andy (2013-01-31). "PHP just grows & grows". Retrieved 2013-04-01
[28]- “PHP on Harmones”, (2007-04-26), Rasmus Lerdorf, “The conversation network”, retrieved 2009-06-22.
[29]- "News Archive - 2013". PHP. Retrieved 2013-08-16. can be found at:http://php.net/archive/2013.php#id2013-07-11-1
[30]- "Built-in web server". Retrieved March 26, 2012. can be found at:http://php.net/manual/en/features.commandline.webserver.php
[31]- "PHP 5.5.0 changes". Retrieved 2013-06-20. can be found at: http://mildcoder.com/what-is-new-in-php-5-5-0/
[32]- "PHP 5.6.0 changes", can be found at: http://www.php.net/manual/en/migration56.new-features.php
[33]- MySQL, Wikipedia, 2002-02-01, can be found at: http://en.wikipedia.org/wiki/MySQL
[34]- Oracle Corporation, Wikipedia, 2002-02-25
[35]- MySQL Tools Family, SQLMaestro Group, can be found at:http://www.sqlmaestro.com/products/mysql/
[36]- "MySQL for OpenVMS". vmsmysql.org. 2011-03-30. Retrieved 2014-01-16.
[37]- "Running MySQL on Amazon EC2 with EBS (Elastic Block Store)". Amazon Web Services. Retrieved 5 February 2013.
[38]- Finley, Klint. "7 Cloud-Based Database Services". ReadWriteWeb. Retrieved 9 November 2011.
[39]- JSON, Wikipedia, 2005-03-06, can be found at: http://en.wikipedia.org/wiki/JSON
[40]- Crockford, Douglas (May 28, 2009). "Introducing JSON". json.org. Retrieved July 3, 2009
[41]- "JSON: The Fat-Free Alternative to XML". json.org. Retrieved 14 March 2011
[42]- "The NIST Definition of Cloud Computing". National Institute of Standards and Technology. Retrieved 24 July 2011.
[43]- Voorsluys, William; Broberg, James; Buyya, Rajkumar (February 2011). "Introduction to Cloud Computing". In R. Buyya, J. Broberg, A.Goscinski. Cloud Computing: Principles and Paradigms. New York, USA
[44]- “Wikipedia”, “Responsive Web Design”, 2012-01-06.
[45]- Pettit, Nick (Aug 8, 2012). "Beginner’s Guide to Responsive Web Design". TeamTreehouse.com blog.
[46]- Ethan Marcotte, May 2010, “A List Apart”, can be found at: http://alistapart.com/article/responsive-web-design
[47]- Cashmore, Pete (Dec 11, 2012). "Why 2013 Is the Year of Responsive Web Design"can be found at:http://mashable.com/2012/12/11/responsive-web-design/
Written by: Mr. Qazi Muhammad Imran
''All rights reserved.''



No comments:
Post a Comment