Sunday 28 December 2014

Software

PCBizness Technosoft Pvt. Ltd.


Computer software, or simply software is any set of machine-readable instructions that directs a computer's processor to perform specific operations. Computer software contrasts with computer hardware, which is the physical component of computers. Computer hardware and software require each other and neither can be realistically used without the other. Using a musical analogy, hardware is like a musical instrument and software is like the notes played on that instrument.

Computer software includes computer programs, libraries and their associated documentation. The word software is also sometimes used in a more narrow sense, meaning application software only. Software is stored in computer memory and is intangible, i.e. it cannot be touched.

At the lowest level, executable code consists of machine language instructions specific to an individual processor – typically a central processing unit (CPU). A machine language consists of groups of binary values signifying processor instructions that change the state of the computer from its preceding state. For example, an instruction may change the value stored in a particular storage location inside the computer – an effect that is not directly observable to the user. An instruction may also (indirectly) cause something to appear on a display of the computer system – a state change which should be visible to the user. The processor carries out the instructions in the order they are provided, unless it is instructed to "jump" to a different instruction, or interrupted.

Software written in a machine language is known as "machine code". However, in practice, software is usually written in high-level programming languages that are easier and more efficient for humans to use (closer to natural language) than machine language. High-level languages are translated, using compilation or interpretation or a combination of the two, into machine language. Software may also be written in a low-level assembly language, essentially, a vaguely mnemonic representation of a machine language using a natural language alphabet. Assembly language is translated into machine code using an assembler.

Software Development:


Software development is the computer programming, documenting, testing, and bug fixing involved in creating and maintaining applications and frameworks involved in a software release life cycle and resulting in a software product. The term refers to a process of writing and maintaining the source code, but in a broader sense of the term it includes all that is involved between the conception of the desired software through to the final manifestation of the software, ideally in a planned and structured process.Therefore, software development may include research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.

Software can be developed for a variety of purposes, the three most common being to meet specific needs of a specific client/business (the case with custom software), to meet a perceived need of some set of potential users (the case with commercial and open source software), or for personal use (e.g. a scientist may write software to automate a mundane task). Embedded software development, that is, the development of embedded software such as used for controlling consumer products, requires the development process to be integrated with the development of the controlled physical product. System software underlies applications and the programming process itself, and is often developed separately.

The need for better quality control of the software development process has given rise to the discipline of software engineering, which aims to apply the systematic approach exemplified in the engineering paradigm to the process of software development.

There are many approaches to software project management, known as software development life cycle models, methodologies, processes, or models. The waterfall model is a traditional version, contrasted with the more recent innovation of agile software development.

Types of Softwares:


Based on the goal, computer software can be divided into:

Application software, which uses the computer system to perform special functions or provide entertainment functions beyond the basic operation of the computer itself. There are many different types of application software, because the range of tasks that can be performed with a modern computer is so large - see list of software.
System software, which is designed to directly operate the computer hardware, to provide basic functionality needed by users and other software, and to provide a platform for running application software. System software includes:
Operating systems, which are essential collections of software that manage resources and provides common services for other software that runs "on top" of them. Supervisory programs, boot loaders, shells and window systems are core parts of operating systems. In practice, an operating system comes bundled with additional software (including application software) so that a user can potentially do some work with a computer that only has an operating system.
Device drivers, which operate or control a particular type of device that is attached to a computer. Each device needs at least one corresponding device driver; because a computer typically has at minimum at least one input device and at least one output device, a computer typically needs more than one device driver.
Utilities, which are computer programs designed to assist users in maintenance and care of their computers.
Malicious software or malware, which are computer programs developed to harm and disrupt computers. As such, malware is undesirable. Malware is closely associated with computer-related crimes, though some malicious programs may have been designed as practical jokes.

Programming tools:

Programming tools are also software in the form of programs or applications that software developers (also known as programmers, coders, hackers or software engineers) use to create, debug, maintain (i.e. improve or fix), or otherwise support software. Software is written in one or more programming languages; there are many programming languages in existence, and each has at least one implementation, each of which consists of its own set of programming tools. These tools may be relatively self-contained programs such as compilers, debuggers, interpreters, linkers, and text editors, that can be combined together to accomplish a task; or they may form an integrated development environment (IDE), which combines much or all of the functionality of such self-contained tools. IDEs may do this by either invoking the relevant individual tools or by re-implementing their functionality in a new way. An IDE can make it easier to do specific tasks, such as searching in files in a particular project. Many programming language implementations provide the option of using both individual tools or an IDE.

Sunday 21 December 2014

Software Development Kit

PCBizness Technosoft Pvt. Ltd.


A programming tool or software development tool is a computer program that software developers use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to relatively simple programs, that can be combined together to accomplish a task, much as one might use multiple hand tools to fix a physical object. The ability to use a variety of tools productively is one hallmark of a skilled software engineer.

The most basic tools are a source code editor and a compiler or interpreter, which are used ubiquitously and continuously. Other tools are used more or less depending on the language, development methodology, and individual engineer, and are often used for a discrete task, like a debugger or profiler. Tools may be discrete programs, executed separately – often from the command line – or may be parts of a single large program, called an integrated development environment (IDE). In many cases, particularly for simpler use, simple ad hoc techniques are used instead of a tool, such as print debugging instead of using a debugger, manual timing (of overall program or section of code) instead of a profiler, or tracking bugs in a text file or spreadsheet instead of a bug tracking system.

The distinction between tools and applications is murky. For example, developers use simple databases (such as a file containing a list of important values) all the time as tools. However a full-blown database is usually thought of as an application or software in its own right. For many years, computer-assisted software engineering (CASE) tools were sought after. Successful tools have proven elusive.[citation needed] In one sense, CASE tools emphasized design and architecture support, such as for UML. But the most successful of these tools are IDEs.
A software development kit (SDK or "devkit") is typically a set of software development tools that allows the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar development platform.

It may be something as simple as the implementation of one or more application programming interfaces (APIs) in the form of some libraries to interface to a particular programming language or to include sophisticated hardware that can communicate with a particular embedded system. Common tools include debugging facilities and other utilities, often presented in an integrated Software development environment . SDKs also frequently include sample code and supporting technical notes or other supporting documentation to help clarify points made by the primary reference material.

SDKs may have attached licenses that make them unsuitable for building software intended to be developed under an incompatible license. For example, a proprietary SDK will probably be incompatible with free software development, while a GPL-licensed SDK could be incompatible with proprietary software development. LGPL SDKs are typically safe for proprietary  Software development.

A software engineer typically receives the SDK from the target system developer. Often the SDK can be downloaded directly via the Internet. Many SDKs are provided for free to encourage developers to use the system or language. Sometimes this is used as a marketing tool.

An SDK for an operating system add-on (for instance, QuickTime for Mac OS) may include the add-on software itself, to be used for development purposes if not necessarily for redistribution together with the developed product. An interesting situation arises here between platforms where it is possible to develop applications that can at least start up on a system configuration without the add-on installed, and use a Gestalt-style run-time environment query to determine whether the add-on is present, and ones where the application will simply fail to start. In other words, it is possible to build a single binary that will run on configurations with and without the add-on present, albeit operating with reduced functionality in the latter situation.

Providers of SDKs for specific systems or subsystems may sometimes substitute a more specific term instead of software. For instance, both Microsoft and Apple provide driver development kits (DDK) for developing device drivers.

Wednesday 17 December 2014

ERP Implementation life Cycle

PCBizness Technosoft Pvt. Ltd.


THE process of ERP implementation is referred as d as "ERP Implementation Life Cycle". The following are the steps involved in completing the lifecycle.

Shortlist on the basis of observation
Selecting an ERP package for the company can nevertheless be compared with the process of "Selecting the right Person for the Right Job". This exercise will involve choosing few applications suitable for the company from the whole many.

Assessing the chosen packages
A team of Experts with specialized knowledge in their respective field will be asked to make the study on the basis of various parameters. Each expert will not only test and certify if the package is apt for the range of application in their field but also confirm the level of coordination that the software will help to achieve in working with other departments. In simple terms they will verify if the synergy of the various departments due to the advent of ERP will lead to an increased output. A choice is to be made from ERP implementation models.

Preparing for the venture
This stage is aimed at defining the implementation of ERP in all measures. It will lay down the stipulations and criteria to be met. A team of officers will take care of this, who will report to the person of the highest hierarchy in the organization.

Gap Analysis
This stage helps the company to identify the gaps that has to be bridged, so that the company practice becomes akin to ERP environment. This has been reported as an expensive procedure but it is inevitable. The conglomerate will decide to restructure the business or make any other alterations as suggested by GAP analysis in order to make ERP user friendly. Click here for a detailed study on GAP analysis. A choice is to be made from ERP implementation models.

Business process reengineering
Changes in employee rolls, business process and technical details find place in this phase of restructuring most popularly referred as business process engineering. For more details on BPR click here.

Designing the System
This step requires lot of meticulous planning and deliberate action. This step helps to decide and conclude the areas where restructuring have to be carried on. A choice is to be made from ERP implementation models.

In-house Guidance
This is regarded as a very important step in ERP implementation. The employees in the company are trained to face crisis and make minor corrections as well because the company can neither be at liberty nor afford the bounty to avail the services of an ERP vendor at all times.

Checking
This stage observes and tests the authenticity of the use. The system is subjected to the wildest tests possible so that it ensures proper usage and justifies the costs incurred. This is seen as a test for ERP implementation.

Preparing the employees to use ERP
The employees in the organization will be taught to make use of the system in the day to day and regular basis so as to make sure that it becomes a part of the system in the organization.

Post Implementation
The process of implementation will find meaning only when there is regular follow up and proper instruction flow thereafter and through the lifetime of ERP. This will include all efforts and steps taken to update and attain better benefits once the system is implemented. Hence an organization has to perform ERP implementation safely and correctly.

Errors in ERP implementation
ERP implementation failure is a major concern for companies. ERP implementation needs to be done without allowing any scope for limitations and mistakes. If it is not done perfectly then the success of ERP system will remain a question mark. The first and foremost factor that discourages ERP in an organization is the exorbitant costs and investment. The second one is the drafting of an ERP implementation plan to ensure ERP implementation success.

Sunday 14 December 2014

Web and Software Development Tools

PCBizness Technosoft Pvt. Ltd.



Software development is the computer programming, documenting, testing, and bug fixing involved in creating and maintaining applications and frameworks involved in a software release life cycle and resulting in a software product.

A programming tool or software development tool is a computer program that software developers use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to relatively simple programs, that can be combined together to accomplish a task, much as one might use multiple hand tools to fix a physical object. The ability to use a variety of tools productively is one hallmark of a skilled software engineer.

The most basic tools are a source code editor and a compiler or interpreter, which are used ubiquitously and continuously. Other tools are used more or less depending on the language, development methodology, and individual engineer, and are often used for a discrete task, like a debugger or profiler. Tools may be discrete programs, executed separately – often from the command line – or may be parts of a single large program, called an integrated development environment (IDE). In many cases, particularly for simpler use, simple ad hoc techniques are used instead of a tool, such as print debugging instead of using a debugger, manual timing (of overall program or section of code) instead of a profiler, or tracking bugs in a text file or spreadsheet instead of a bug tracking system.

The distinction between tools and applications is murky. For example, developers use simple databases (such as a file containing a list of important values) all the time as tools.[dubious – discuss] However a full-blown database is usually thought of as an application or software in its own right. For many years, computer-assisted software engineering (CASE) tools were sought after. Successful tools have proven elusive.[citation needed] In one sense, CASE tools emphasized design and architecture support, such as for UML. But the most successful of these tools are IDEs.

Web development tools allow web developers to test and debug their code. They are different from website builders and IDEs in that they do not assist in the direct creation of a webpage, rather they are tools used for testing the user facing interface of a website or web application.

Web development tools come as browser add-ons or built in features in web browsers. The most popular web browsers today like, Google Chrome, Firefox, Opera, Internet Explorer, and Safari  have built in tools to help web developers, and many additional add-ons can be found in their respective plugin download centers.

Web development tools allow developers to work with a variety of web technologies, including HTML, CSS, the DOM, JavaScript, and other components that are handled by the web browser. Due to the increasing demand from web browsers to do more popular web browsers have included more features geared for developers.

The built-in web developer tools in the browser are commonly accessed by hovering over an item on a webpage and selecting the "Inspect Element" or similar option from the context menu. Alternatively the F12 key tends to be another common shortcut.

HTML and the DOM

HTML and DOM viewer and editor is commonly included in the built in web development tools. The difference between the HTML and DOM viewer, and the view source feature in web browsers is that the HTML and DOM viewer allow you to see the DOM as it was rendered in addition to allowing you to make changes to the HTML and DOM and see the change reflected in the page after the change is made.

In addition to selecting and editing, the HTML elements panels will usually also display properties of the DOM object, such as display dimension, and CSS properties.

Web Page Assets, Resources and Network Information

Web pages typically load and require additional content in the form of images, scripts, font and other external files. Web development tools also allow developers to inspect resources that are loaded and available on the web page in a tree-structure listing.

Web development tools also allow developers to view information about the network usage, such as viewing what the loading time and bandwidth usage are and which HTTP headers are being sent and received.

Profiling and Auditing

Profiling allows developers to capture information about the performance of a web page or web application. With this information developers can improve the performance of their scripts. Auditing features may provide developers suggestions, after analyzing a page, for optimizations to decrease page load time and increase responsiveness. Web development tools typically also provide a timeline features provides a record of the time it takes to render the page, memory usage, and the types of events which are taking place.

These features allow developers to optimize their web page or web application.

Javascript Debugging

JavaScript is commonly used in web browsers. Web development tools commonly include a panel to debug scripts by allowing developers to add watch expressions, breakpoints, view the call stack, and pause, step over, step into, and step out of functions while debugging JavaScript.

A JavaScript console is commonly included. The consoles allow developers to type in JavaScript commands and call functions, or view errors that may have been encountered during the execution of a script

Thursday 11 December 2014

Website

PCBizness Technosoft Pvt. Ltd.

Website:-

A website, also written as web site,or simply site,is a set of related web pages typically served from a single web domain. A website is hosted on at least one web server, accessible via a network such as the Internet or a private local area network through an Internet address known as a Uniform resource locator. All publicly accessible websites collectively constitute the World Wide Web.

A webpage is a document, typically written in plain text interspersed with formatting instructions of Hypertext Markup Language (HTML, XHTML). A webpage may incorporate elements from other websites with suitable markup anchors.

Webpages are accessed and transported with the Hypertext Transfer Protocol (HTTP), which may optionally employ encryption (HTTP Secure, HTTPS) to provide security and privacy for the user of the webpage content. The user's application, often a web browser, renders the page content according to its HTML markup instructions onto a display terminal.

The pages of a website can usually be accessed from a simple Uniform Resource Locator (URL) called the web address. The URLs of the pages organize them into a hierarchy, although hyperlinking between them conveys the reader's perceived site structure and guides the reader's navigation of the site which generally includes a home page with most of the links to the site's web content, and a supplementary about, contact and link page.

Some websites require a subscription to access some or all of their content. Examples of subscription websites include many business sites, parts of news websites, academic journal websites, gaming websites, file-sharing websites, message boards, web-based email, social networking websites, websites providing real-time stock market data, and websites providing various other services (e.g., websites offering storing and/or sharing of images, files and so forth).

Website Development:-

Web development is a broad term for the work involved in developing a web site for the Internet (World Wide Web) or an intranet (a private network). Web development can range from developing the simplest static single page of plain text to the most complex web-based internet applications, electronic businesses, and social network services. A more comprehensive list of tasks to which web development commonly refers, may include web design, web content development, client liaison, client-side/server-side scripting, web server and network security configuration, and e-commerce development. Among web professionals, "web development" usually refers to the main non-design aspects of building web sites: writing markup and coding. Most recently Web development has come to mean the creation of content management systems or CMS. These CMS can be made from scratch, proprietary (such as Open Text) or open source (such as Drupal). In broad terms the CMS acts as middle ware between the database and the user through the browser. A principle benefit of a CMS is that it allows non-technical people to make changes to their Web site without having technical knowledge.

For larger organizations and businesses, web development teams can consist of hundreds of people (web developers). Smaller organizations may only require a single permanent or contracting developer, or secondary assignment to related job positions such as a graphic designer and/or information systems technician. Web development may be a collaborative effort between departments rather than the domain of a designated department.

Web Development Tools:-


Web development tools allow web developers to test and debug their code. They are different from website builders and IDEs in that they do not assist in the direct creation of a webpage, rather they are tools used for testing the user facing interface of a website or web application.

Web development tools come as browser add-ons or built in features in web browsers. The most popular web browsers today like, Google Chrome, Firefox, Opera, Internet Explorer, and Safari have built in tools to help web developers, and many additional add-ons can be found in their respective plugin download centers.

Web development tools allow developers to work with a variety of web technologies, including HTML, CSS, the DOM, JavaScript, and other components that are handled by the web browser. Due to the increasing demand from web browsers to do more popular web browsers have included more features geared for developers.

Web Design:-

Web design encompasses many different skills and disciplines in the production and maintenance of websites. The different areas of web design include web graphic design; interface design; authoring, including standardized code and proprietary software; user experience design; and search engine optimization. Often many individuals will work in teams covering different aspects of the design process, although some designers will cover them all.The term web design is normally used to describe the design process relating to the front-end (client side) design of a website including writing mark up. Web design partially overlaps web engineering in the broader scope of web development. Web designers are expected to have an awareness of usability and if their role involves creating mark up then they are also expected to be up to date with web accessibility guidelines.

Web Developer:-

A web developer is a programmer who specializes in, or is specifically engaged in, the development of World Wide Web applications, or distributed network applications that are run over HTTP from a web server to a web browser.

Sunday 7 December 2014

ERP (Enterprise Resource Planning)

PCBizness Technosoft Pvt. Ltd.

Enterprise resource planning (ERP) is a business management software—usually a suite of integrated applications—that a company can use to collect, store, manage and interpret data from many business activities, including:

Product planning, cost
Manufacturing or service delivery
Marketing and sales
Inventory management
Shipping and payment
ERP provides an integrated view of core business processes, often in real-time, using common databases maintained by a database management system. ERP systems track business resources—cash, raw materials, production capacity—and the status of business commitments: orders, purchase orders, and payroll. The applications that make up the system share data across the various departments (manufacturing, purchasing, sales, accounting, etc.) that provide the data. ERP facilitates information flow between all business functions, and manages connections to outside stakeholders.

Enterprise system software is a multi-billion dollar industry that produces components that support a variety of business functions. IT investments have become the largest category of capital expenditure in United States-based businesses over the past decade. Though early ERP systems focused on large enterprises, smaller enterprises increasingly use ERP systems.

The ERP system is considered a vital organizational tool because it integrates varied organizational systems and facilitates error-free transactions and production. However, ERP system development is different from traditional systems development. ERP systems run on a variety of computer hardware and network configurations, typically using a database as an information repository.

Charactersitics:-

ERP (Enterprise Resource Planning) systems typically include the following characteristics:

1. An integrated system that operates in (or near) real time without relying on periodic   updates[citation needed]
2. A common database that supports all applications
3. A consistent look and feel across modules
4. Installation of the system with elaborate application/data integration by the Information       Technology (IT) department, provided the implementation is not done in small steps

Components:-

1. Transactional database
2. Management portal/dashboard
3. Business intelligence system
4. Customizable reporting
5. Resource planning and scheduling
6. Analysing the product
7. External access via technology such as web services
8. Search
9. Document management
10.Messaging/chat/wiki
11.Workflow management

Implementation:-

ERP's scope usually implies significant changes to staff work processes and practices.Generally, three types of services are available to help implement such changes—consulting, customization, and support. Implementation time depends on business size, number of modules, customization, the scope of process changes, and the readiness of the customer to take ownership for the project. Modular ERP systems can be implemented in stages. The typical project for a large enterprise takes about 14 months and requires around 150 consultants. Small projects can require months; multinational and other large implementations can take years.[citation needed] Customization can substantially increase implementation times.

Besides that, information processing influences various business functions e.g. some large corporations like Wal-Mart use a just in time inventory system. This reduces inventory storage and increases delivery efficiency, and requires up-to-date-data. Before 2014, Walmart used a system called Inforem developed by IBM to manage replenishment.

Process preparation:-

Implementing Enterprise Resource Planning typically requires changes in existing business processes.Poor understanding of needed process changes prior to starting implementation is a main reason for project failure. The problems could be related to the system, business process, infrastructure, training, or lack of motivation.

It is therefore crucial that organizations thoroughly analyze business processes before they implement ERP software. Analysis can identify opportunities for process modernization. It also enables an assessment of the alignment of current processes with those provided by the ERP system. Research indicates that risk of business process mismatch is decreased by:

Linking current processes to the organization's strategy
Analyzing the effectiveness of each process
Understanding existing automated solutions
ERP implementation is considerably more difficult (and politically charged) in decentralized organizations, because they often have different processes, business rules, data semantics, authorization hierarchies, and decision centers.This may require migrating some business units before others, delaying implementation to work through the necessary changes for each unit, possibly reducing integration (e.g., linking via Master data management) or customizing the system to meet specific needs.

A potential disadvantage is that adopting "standard" processes can lead to a loss of competitive advantage. While this has happened, losses in one area are often offset by gains in other areas, increasing overall competitive advantage.

Configuration:-

Configuring an ERP system is largely a matter of balancing the way the organization wants the system to work with the way it was designed to work. ERP systems typically include many settings that modify system operations. For example, an organization can select the type of inventory accounting—FIFO or LIFO—to use; whether to recognize revenue by geographical unit, product line, or distribution channel; and whether to pay for shipping costs on customer returns.

Tuesday 2 December 2014

Website Development

PCBizness Technosoft Pvt. Ltd.

Web development is a broad term for the work involved in developing a web site for the Internet (World Wide Web) or an intranet (a private network). Web development can range from developing the simplest static single page of plain text to the most complex web-based internet applications, electronic businesses, and social network services. A more comprehensive list of tasks to which web development commonly refers, may include web design, web content development, client liaison, client-side/server-side scripting, web server and network security configuration, and e-commerce development. Among web professionals, "web development" usually refers to the main non-design aspects of building web sites: writing markup and coding. Most recently Web development has come to mean the creation of content management systems or CMS. These CMS can be made from scratch, proprietary (such as Open Text) or open source (such as Drupal). In broad terms the CMS acts as middleware between the database and the user through the browser. A principle benefit of a CMS is that it allows non-technical people to make changes to their Web site without having technical knowledge.

For larger organizations and businesses, web development teams can consist of hundreds of people (web developers). Smaller organizations may only require a single permanent or contracting developer, or secondary assignment to related job positions such as a graphic designer and/or information systems technician. Web development may be a collaborative effort between departments rather than the domain of a designated department.

Web design encompasses many different skills and disciplines in the production and maintenance of websites. The different areas of web design include web graphic design; interface design; authoring, including standardised code and proprietary software; user experience design; and search engine optimization. Often many individuals will work in teams covering different aspects of the design process, although some designers will cover them all.The term web design is normally used to describe the design process relating to the front-end (client side) design of a website including writing mark up. Web design partially overlaps web engineering in the broader scope of web development. Web designers are expected to have an awareness of usability and if their role involves creating mark up then they are also expected to be up to date with web accessibility guidelines.

Web Development can be split into many areas and a typical and basic web development hierarchy might consist of:

Client side coding

1. Ajax Asynchronous JavaScript provides new methods of using JavaScript, and other languages to improve the user experience.
2. Flash Adobe Flash Player is a ubiquitous browser plugin ready for RIAs. Flex 2 is also deployed to the Flash Player (version 9+).
3. JavaScript JavaScript is a ubiquitous client side platform for creating and delivering rich web applications that can also run across a wide variety of devices. It is a dialect of the scripting language ECMAScript.
4. jQuery Cross-browser JavaScript library designed to simplify and speed up the client-side scripting of HTML.
5. AngularJS, BackboneJS, EmberJS and ReactJS are client-side MVC technologies introduced for building single page application and offline applications for both desktop and mobile. They make the application more modular and also help dramatically increase development speed.
6. Microsoft Silverlight Microsoft's browser plugin that enables animation, vector graphics and high-definition video playback, programmed using XAML and .NET programming languages.
7. HTML5 and CSS3 Latest HTML proposed standard combined with the latest proposed standard for CSS natively supports much of the client-side functionality provided by other frameworks such as Flash and Silverlight
8. Scalable Vector Graphics (SVG), WebGL and Canvas deliver 2D and 3D capabilities, often used through JavaScript libraries; D3js (2D datavisualisations) and threeJS (3D) are popular examples.

Looking at these items from an "umbrella approach", client side coding such as XHTML is executed and stored on a local client (in a web browser) whereas server side code is not available to a client and is executed on a web server which generates the appropriate XHTML which is then sent to the client. The nature of client side coding allows one to alter the HTML on a local client and refresh the pages with updated content (locally), web designers must bear in mind the importance and relevance to security with their server side scripts. If a server side script accepts content from a locally modified client side script, the web development of that page is poorly sanitized with relation to security.

Server side coding

1. ASP (Microsoft proprietary)
2. ColdFusion (Adobe proprietary, formerly Macromedia, formerly Allaire)
3. CGI
4. Erlang, with Linux, Yaws, Mnesia, Erlang (LYME) solution stack
5. Groovy, using the Grails framework
6. Java, e.g. Java Servlets, JSP or WebObjects
7. Lotus Domino
8. Node.js
9. Perl, e.g. Catalyst, Dancer or Mojolicious (all open source)
10.PHP (open source)
11.Python, e.g. Django (web framework) (open source)
12.Ruby, e.g. Ruby on Rails (open source)
13.Scala, e.g. Play Framework, Lift Framework (open source)
14. SSJS Server-Side JavaScript, e.g. Aptana Jaxer, Mozilla Rhino
15.ASP.NET and ASP.NET MVC Frameworks (Microsoft proprietary)

Client side + server side

1. Google Web Toolkit provides tools to create and maintain complex JavaScript front-end applications in Java.
2. Dart provides tools to create and maintain complex JavaScript front-end applications as well as supporting server-side code in Dart (programming language).
3. Opa is a high-level language in which both the client and the server parts are implemented. The compiler then decides which parts run on the client (and are translated automatically to JavaScript) and which parts run on the server. The developer can tune those decisions with simple directives. (open source)
4.Pyjamas is a tool and framework for developing Ajax applications and Rich Internet Applications in Python.
5. Tersus is a platform for the development of rich web applications by visually defining user interface, client side behavior and server side processing. (open source)

However languages like Ruby and Python are often paired with database servers other than MySQL (the M in LAMP). Below are example of other databases currently in wide use on the web. For instance some developers prefer a LAPR (Linux/Apache/PostgreSQL/Ruby on Rails) setup for development.