Windows XP takes the "process" out of processing your digital photos. Just snap and go - it's that easy! You can decide which photos to keep, which ones to alter or enhance, and which ones to leave on the cutting-room floor. Windows XP contains all kinds of helpful and exciting features for viewing photos, as well as printing, storing, and sharing them.
Wednesday, September 21, 2011
Tuesday, May 17, 2011
Dynamic Host Configuration Protocol
The Dynamic Host Configuration Protocol (DHCP) is an automatic configuration protocol used on IP networks. Computers that are connected to IP networks must be configured before they can communicate with other computers on the network. DHCP allows a computer to be configured automatically, eliminating the need for intervention by a network administrator. It also provides a central database for keeping track of computers that have been connected to the network. This prevents two computers from accidentally being configured with the same IP address.
In the absence of DHCP, hosts may be manually configured with an IP address. Alternatively IPv6 hosts may use stateless address autoconfiguration to generate an IP address. IPv4 hosts may use link-local addressing to achieve limited local connectivity.
In addition to IP addresses, DHCP also provides other configuration information, particularly the IP addresses of local caching DNS resolvers. Hosts that do not use DHCP for address configuration may still use it to obtain other configuration information.
There are two versions of DHCP, one for IPv4 and one for IPv6. While both versions bear the same name and perform much the same purpose, the details of the protocol for IPv4 and IPv6 are sufficiently different that they can be considered separate protocols
In the absence of DHCP, hosts may be manually configured with an IP address. Alternatively IPv6 hosts may use stateless address autoconfiguration to generate an IP address. IPv4 hosts may use link-local addressing to achieve limited local connectivity.
In addition to IP addresses, DHCP also provides other configuration information, particularly the IP addresses of local caching DNS resolvers. Hosts that do not use DHCP for address configuration may still use it to obtain other configuration information.
There are two versions of DHCP, one for IPv4 and one for IPv6. While both versions bear the same name and perform much the same purpose, the details of the protocol for IPv4 and IPv6 are sufficiently different that they can be considered separate protocols
Thursday, April 28, 2011
Dynamic IP
For basic usage, such as surfing the web, uploading and downloading files, or checking email you can use a dynamic IP.
Static IP
For more involved usage, like running one or more servers, utilizing applications that require external access, or allowing a service to run incoming audio or video, you will need a static IP address. Depending how many of these you plan to use for your business will determine how many static IPs you will need.
What is wideband Internet?
The term "wideband" refers to Internet that delivers speeds 50Mbps and higher.
What is SiteBuilder?
SiteBuilder is a template-driven, online website development tool that allows you to create a rich, customized website without needing to have any knowledge of HTML code.
What is my domain pointer?
A domain pointer is a Web hosting feature that allows you to automatically send Web visitors from one or more of your domain names to your primary website. Domain pointers also give you the ability to point a domain to a subdirectory acting as a stand-alone website.
What are the data transfer limits for each Web hosting package?
Web hosting upgrade packages have unlimited data transfer, so no additional charges will be incurred for any overages. Only the Starter Package is limited to 100MB of data transfer. Contact a support representative for the overage rate for your location.
Tuesday, February 15, 2011
Friday, February 4, 2011
Application service provider
An application service provider (ASP) is a business that provides computer-based services to customers over a network. Software offered using an ASP model is also sometimes called On-demand software or software as a service (SaaS). The most limited sense of this business is that of providing access to a particular application program (such as customer relationship management) using a standard protocol such as HTTP.
The need for ASPs has evolved from the increasing costs of specialized software that have far exceeded the price range of small to medium sized businesses. As well, the growing complexities of software have led to huge costs in distributing the software to end-users. Through ASPs, the complexities and costs of such software can be cut down. In addition, the issues of upgrading have been eliminated from the end-firm by placing the onus on the ASP to maintain up-to-date services, 24 x 7 technical support, physical and electronic security and in-built support for business continuity and flexible working.
The importance of this marketplace is reflected by its size. As of early 2003, estimates of the United States market range from 1.5 to 4 billion dollars. Clients for ASP services include businesses, government organizations, non-profits, and membership organizations.
The need for ASPs has evolved from the increasing costs of specialized software that have far exceeded the price range of small to medium sized businesses. As well, the growing complexities of software have led to huge costs in distributing the software to end-users. Through ASPs, the complexities and costs of such software can be cut down. In addition, the issues of upgrading have been eliminated from the end-firm by placing the onus on the ASP to maintain up-to-date services, 24 x 7 technical support, physical and electronic security and in-built support for business continuity and flexible working.
The importance of this marketplace is reflected by its size. As of early 2003, estimates of the United States market range from 1.5 to 4 billion dollars. Clients for ASP services include businesses, government organizations, non-profits, and membership organizations.
Software User satisfaction
Gartner's 2008 survey of 333 enterprises in the US and UK found a low level of approval from customers, describing overall satisfaction levels as "lukewarm." Respondents who decided against SaaS cited high service cost, integration difficulty, and technical requirements.A recent report from Forrester, “The ROI of Software-As-A-Service,” examined a range of companies that chose SaaS solutions and found that SaaS does result in long-term value. Companies interviewed for the report cited several reasons for their ROI of SaaS:
Rapid deployment
Increased user adoption
Reduced support needs
Lower implementation and upgrade costs
Rapid deployment
Increased user adoption
Reduced support needs
Lower implementation and upgrade costs
Adoption
Drivers
A traditional rationale for outsourcing IT systems involves applying economies of scale to application operation, i.e., an outside service provider can offer better, cheaper, more reliable applications. SaaS-based application use has grown dramatically. A Gartner survey in July 2009 found that customers are "somewhat satisfied". Several important changes to the way people work have facilitated this rapid acceptance:
Fast, low-cost broadband is available.
Computers have become widespread—most information workers have at least basic computer skills.
Computing has become a commodity. In the past, corporate mainframes were jealously guarded as strategic advantages. More recently, applications were viewed as strategic. Today, people know it’s the business processes and the data itself (customer records, workflows, pricing information) that matters. Computing and application licenses are cost centers, and as such, they’re suitable for cost reduction and outsourcing. The adoption of SaaS could also drive Internet-scale to become a commodity.
Insourcing IT systems requires expensive overhead including salaries, health care, liability, and physical building space.
Applications have tended to standardize. With notable, industry-specific exceptions, most people spend most of their time using standardized applications.[citation needed] An expense-reporting page, an applicant screening tool, a spreadsheet, or an e-mail system are all sufficiently ubiquitous and well understood that most users can switch from one system to another easily. This is evident from the number of web-based calendaring, spreadsheet, and e-mail systems that have emerged in recent years.
Parametric applications are usable. In older applications, one could often only change a workflow by modifying the code. In more recent applications, particularly web-based ones, significantly new applications can be created from parameters and macros. This allows organizations to create different kinds of business logic on a common application platform. Many SaaS providers allow a wide range of customization within a basic set of functions.
A specialized software provider can target global markets. A company that made software for human resource management at boutique hotels might once have had a hard time finding enough of a market to sell its applications. But a hosted application can instantly reach the entire market, making specialization within a vertical market not only possible, but preferable. This in turn means SaaS providers can often deliver products that meet specific market needs better than traditional "shrinkwrap" applications.
Web systems demonstrate reliability. Despite sporadic outages and slow-downs, most people are willing to use the public Internet, the Hypertext Transfer Protocol and the TCP/IP stack to deliver business functions to end users.
Security is sufficiently well trusted and transparent. With the broad adoption of SSL, organizations have a way of reaching their applications without the complexity and burden of end-user configurations or VPNs.
Enablement technology (tools, libraries, etc,) is available. According to IDC, organizations developing enablement technology that allow other vendors to quickly build SaaS applications will play an important role in driving the adoption of SaaS. Because of SaaS' relative infancy, many companies have either built enablement tools or platforms or are in the process of engineering enablement tools or platforms. A Saugatuck study shows the industry will most likely converge to three or four enablers that will act as SaaS Integration Platforms (SIPs).
Wide-area network bandwidth has grown drastically, following Moore's Law (more than 100% increase each 24 months), and is about to reach slow local networks bandwidths. Added to network quality improvement, this has driven people and companies to trustfully access remote locations and applications with low latencies and acceptable speeds.
SaaS has "democratized" software, allowing small and medium businesses to access functionality formerly the domain of large enterprises. Many analytical software tools have been released as SaaS applications on a monthly subscription basis.
SaaS facilitates data aggregation. Instead of collecting data from multiple data sources with different database schemas, all data for all customers is stored in a single database schema (i.e., multi-tenant). This simplifies running queries across customers, mining data, and looking for trends.
The rise of third-party SaaS data escrow services has reduced some security concerns by allowing application data to be held with an independent third party.
A traditional rationale for outsourcing IT systems involves applying economies of scale to application operation, i.e., an outside service provider can offer better, cheaper, more reliable applications. SaaS-based application use has grown dramatically. A Gartner survey in July 2009 found that customers are "somewhat satisfied". Several important changes to the way people work have facilitated this rapid acceptance:
Fast, low-cost broadband is available.
Computers have become widespread—most information workers have at least basic computer skills.
Computing has become a commodity. In the past, corporate mainframes were jealously guarded as strategic advantages. More recently, applications were viewed as strategic. Today, people know it’s the business processes and the data itself (customer records, workflows, pricing information) that matters. Computing and application licenses are cost centers, and as such, they’re suitable for cost reduction and outsourcing. The adoption of SaaS could also drive Internet-scale to become a commodity.
Insourcing IT systems requires expensive overhead including salaries, health care, liability, and physical building space.
Applications have tended to standardize. With notable, industry-specific exceptions, most people spend most of their time using standardized applications.[citation needed] An expense-reporting page, an applicant screening tool, a spreadsheet, or an e-mail system are all sufficiently ubiquitous and well understood that most users can switch from one system to another easily. This is evident from the number of web-based calendaring, spreadsheet, and e-mail systems that have emerged in recent years.
Parametric applications are usable. In older applications, one could often only change a workflow by modifying the code. In more recent applications, particularly web-based ones, significantly new applications can be created from parameters and macros. This allows organizations to create different kinds of business logic on a common application platform. Many SaaS providers allow a wide range of customization within a basic set of functions.
A specialized software provider can target global markets. A company that made software for human resource management at boutique hotels might once have had a hard time finding enough of a market to sell its applications. But a hosted application can instantly reach the entire market, making specialization within a vertical market not only possible, but preferable. This in turn means SaaS providers can often deliver products that meet specific market needs better than traditional "shrinkwrap" applications.
Web systems demonstrate reliability. Despite sporadic outages and slow-downs, most people are willing to use the public Internet, the Hypertext Transfer Protocol and the TCP/IP stack to deliver business functions to end users.
Security is sufficiently well trusted and transparent. With the broad adoption of SSL, organizations have a way of reaching their applications without the complexity and burden of end-user configurations or VPNs.
Enablement technology (tools, libraries, etc,) is available. According to IDC, organizations developing enablement technology that allow other vendors to quickly build SaaS applications will play an important role in driving the adoption of SaaS. Because of SaaS' relative infancy, many companies have either built enablement tools or platforms or are in the process of engineering enablement tools or platforms. A Saugatuck study shows the industry will most likely converge to three or four enablers that will act as SaaS Integration Platforms (SIPs).
Wide-area network bandwidth has grown drastically, following Moore's Law (more than 100% increase each 24 months), and is about to reach slow local networks bandwidths. Added to network quality improvement, this has driven people and companies to trustfully access remote locations and applications with low latencies and acceptable speeds.
SaaS has "democratized" software, allowing small and medium businesses to access functionality formerly the domain of large enterprises. Many analytical software tools have been released as SaaS applications on a monthly subscription basis.
SaaS facilitates data aggregation. Instead of collecting data from multiple data sources with different database schemas, all data for all customers is stored in a single database schema (i.e., multi-tenant). This simplifies running queries across customers, mining data, and looking for trends.
The rise of third-party SaaS data escrow services has reduced some security concerns by allowing application data to be held with an independent third party.
Implementation Of Softwares
One of the companies that sells that kind of service classifies SaaS into four "maturity levels," whose key attributes are configurability, multi-tenant efficiency, and scalability.Each level is distinguished from the previous one by the addition of one of those three attributes:
Level 1 - Ad-hoc/custom: Each customer has a customized version of the hosted application that runs as its own instance on the host's servers. Migrating a traditional non-networked or client–server application to this level of SaaS typically requires the least development effort, and reduces operating costs by consolidating server hardware and administration.
Level 2 - Configurable: This adds greater program flexibility through configurable metadata, so many customers use separate instances of the same application code. This lets the vendor meet different customer needs through detailed configuration options, while simplifying common code base maintenance and updating.
Level 3 - Configurable, multi-tenant-efficient: This adds multi-tenancy to the second level, so a single program instance serves all customers. This enables more efficient server resource use without apparent difference to the end user, but ultimately faces scalability limits.
Level 4 - Scalable, configurable, multi-tenant-efficient: The fourth and final SaaS maturity level adds scalability through a multitier architecture that supports a load-balanced farm of identical application instances that run on a variable number of servers. The provider can adjust system capacity to match demand by adding or removing servers without further altering the software architecture.
SaaS architectures may also use virtualization, either in addition to multi-tenancy, or in place of it. A principal virtualization benefit is that it can increase system capacity without additional programming. On the other hand, much programming may be required to construct a more efficient multi-tenant application. Combining multi-tenancy and virtualization provides still greater flexibility to tune the system for optimal performance. In addition to full operating system-level virtualization, other virtualization techniques applied to SaaS include application virtualization and virtual appliances.
SaaS application development may use various types of software components and frameworks. These tools can reduce time-to-market and the cost of converting a traditional on-premise software product or building and deploying a new SaaS solution. Examples include components for subscription management, grid computing software, web application frameworks, and complete SaaS platform products
Level 1 - Ad-hoc/custom: Each customer has a customized version of the hosted application that runs as its own instance on the host's servers. Migrating a traditional non-networked or client–server application to this level of SaaS typically requires the least development effort, and reduces operating costs by consolidating server hardware and administration.
Level 2 - Configurable: This adds greater program flexibility through configurable metadata, so many customers use separate instances of the same application code. This lets the vendor meet different customer needs through detailed configuration options, while simplifying common code base maintenance and updating.
Level 3 - Configurable, multi-tenant-efficient: This adds multi-tenancy to the second level, so a single program instance serves all customers. This enables more efficient server resource use without apparent difference to the end user, but ultimately faces scalability limits.
Level 4 - Scalable, configurable, multi-tenant-efficient: The fourth and final SaaS maturity level adds scalability through a multitier architecture that supports a load-balanced farm of identical application instances that run on a variable number of servers. The provider can adjust system capacity to match demand by adding or removing servers without further altering the software architecture.
SaaS architectures may also use virtualization, either in addition to multi-tenancy, or in place of it. A principal virtualization benefit is that it can increase system capacity without additional programming. On the other hand, much programming may be required to construct a more efficient multi-tenant application. Combining multi-tenancy and virtualization provides still greater flexibility to tune the system for optimal performance. In addition to full operating system-level virtualization, other virtualization techniques applied to SaaS include application virtualization and virtual appliances.
SaaS application development may use various types of software components and frameworks. These tools can reduce time-to-market and the cost of converting a traditional on-premise software product or building and deploying a new SaaS solution. Examples include components for subscription management, grid computing software, web application frameworks, and complete SaaS platform products
Benefits Of Softwares
Some of the claimed benefits for SaaS are:
Capital expenditure is reduced by not having to purchase servers or full copies of software. This is counterbalanced by the increased revenue cost of paying for the use of the SaaS
Faster implementation. In some cases the customer can deploy SaaS more quickly as no local installation is required.
Depending on the user, it may remove a non-core activity (deployment and support of the software and its associated infrastructure) freeing up time to focus on core business activities
Reduced need to predict scale of demand and infrastructure investment up front
Possible improvements to reliability if the SaaS provider's infrastructure is more redundant or has higher availability than the user would otherwise have
Capital expenditure is reduced by not having to purchase servers or full copies of software. This is counterbalanced by the increased revenue cost of paying for the use of the SaaS
Faster implementation. In some cases the customer can deploy SaaS more quickly as no local installation is required.
Depending on the user, it may remove a non-core activity (deployment and support of the software and its associated infrastructure) freeing up time to focus on core business activities
Reduced need to predict scale of demand and infrastructure investment up front
Possible improvements to reliability if the SaaS provider's infrastructure is more redundant or has higher availability than the user would otherwise have
Key characteristics
SaaS characteristics include:
Network-based access to, and management of, commercially available software
Activities managed from central locations rather than at each customer's site, enabling customers to access applications remotely via the Web
Application delivery typically closer to a one-to-many model (single instance, multi-tenant architecture) than to a one-to-one model, including architecture, pricing, partnering, and management characteristics
Centralized feature updating, which obviates the need for end-users to download patches and upgrades.
Frequent integration into a larger network of communicating software—either as part of a mashup or a plugin to a platform as a service
(Service oriented architecture is naturally more complex than traditional models of software deployment.)
SaaS providers generally price applications on a per-user basis and/or per business basis, sometimes with a relatively small minimum number of users and often with additional fees for extra bandwidth and storage. SaaS revenue streams to the vendor are therefore lower initially than traditional software license fees, but are also recurring, and therefore viewed as more predictable, much like maintenance fees for licensed software.
Some SaaS applications are free to the user, with revenue being derived from alternate sources such as advertising, or upgrade fees for enhanced functionality (often referred to as "freemium"). Examples of free SaaS applications include large players such as Gmail and Google Docs, as well as smaller providers like Wave Accounting (free accounting) and Freshbooks (freemium time tracking and invoicing).
In addition to characteristics mentioned above, SaaS sometimes provides:
More feature requests from users, since there is frequently no marginal cost for requesting new features[citation needed]
Faster new feature releases, since the entire community of users benefits[citation needed]
Embodiment of recognized best practices, since the user community drives the software publisher to support best practice
Network-based access to, and management of, commercially available software
Activities managed from central locations rather than at each customer's site, enabling customers to access applications remotely via the Web
Application delivery typically closer to a one-to-many model (single instance, multi-tenant architecture) than to a one-to-one model, including architecture, pricing, partnering, and management characteristics
Centralized feature updating, which obviates the need for end-users to download patches and upgrades.
Frequent integration into a larger network of communicating software—either as part of a mashup or a plugin to a platform as a service
(Service oriented architecture is naturally more complex than traditional models of software deployment.)
SaaS providers generally price applications on a per-user basis and/or per business basis, sometimes with a relatively small minimum number of users and often with additional fees for extra bandwidth and storage. SaaS revenue streams to the vendor are therefore lower initially than traditional software license fees, but are also recurring, and therefore viewed as more predictable, much like maintenance fees for licensed software.
Some SaaS applications are free to the user, with revenue being derived from alternate sources such as advertising, or upgrade fees for enhanced functionality (often referred to as "freemium"). Examples of free SaaS applications include large players such as Gmail and Google Docs, as well as smaller providers like Wave Accounting (free accounting) and Freshbooks (freemium time tracking and invoicing).
In addition to characteristics mentioned above, SaaS sometimes provides:
More feature requests from users, since there is frequently no marginal cost for requesting new features[citation needed]
Faster new feature releases, since the entire community of users benefits[citation needed]
Embodiment of recognized best practices, since the user community drives the software publisher to support best practice
Philosophy
Software and business professionals generally associate the term SaaS with business software, and as a possibly lower-cost way for businesses to use software as needed rather than license every application on every device. With a well-designed implementation and properly priced licenses, on-demand SaaS provides license benefits without the associated complexity and the potential high cost to equip devices with applications they may not need.
Though many Unix applications already work using the SaaS model, EULA applications did not have this flexibility before SaaS. A licensed copy of a word processor, for example, had to reside on each machine in order to create a document on that machine. The equipped program has no intrinsic value loaded on a computer that is turned off for the night. The same employee would need another fully paid license to write or edit a report at home on their own computer, while the work license is inoperative
Though many Unix applications already work using the SaaS model, EULA applications did not have this flexibility before SaaS. A licensed copy of a word processor, for example, had to reside on each machine in order to create a document on that machine. The equipped program has no intrinsic value loaded on a computer that is turned off for the night. The same employee would need another fully paid license to write or edit a report at home on their own computer, while the work license is inoperative
History
oftware as a service's acronym, SaaS, first appears in an article called "Strategic Backgrounder: Software as a Service." It was published in February 2001 by the Software & Information Industry's (SIIA) eBusiness Division. This 18 page document is one of the most complete essays pertaining to SaaS available today. SIIA developed the backgrounder to analyze the current state of the SaaS market and its near term prospects, and to provide insight for its members who may be profoundly impacted by changes implied in the SaaS mode. Software as a service is essentially an extension of the idea of the Application Service Provider (ASP) model
Advantages
Accessible from anywhere with an internet connection
No local server installation
Pay per use or subscription based payment methods
Rapid scalability
System maintenance (backup, updates, security, etc) often included in service
Possible security improvements, although users with high security requirements (e.g., large corporations) may find SaaS a security concern
Reliability
SaaS has become a common model for many business applications including accounting, collaboration, customer relationship management (CRM), enterprise resource planning (ERP), invoicing, human resource management (HRM), content management (CM), and service desk management.
No local server installation
Pay per use or subscription based payment methods
Rapid scalability
System maintenance (backup, updates, security, etc) often included in service
Possible security improvements, although users with high security requirements (e.g., large corporations) may find SaaS a security concern
Reliability
SaaS has become a common model for many business applications including accounting, collaboration, customer relationship management (CRM), enterprise resource planning (ERP), invoicing, human resource management (HRM), content management (CM), and service desk management.
Software as a service
Software as a service (SaaS, typically pronounced [sæs]), sometimes referred to as "software on demand," is software that is deployed over the internet and/or is deployed to run behind a firewall on a local area network or personal computer. With SaaS, a provider licenses an application to customers either as a service on demand, through a subscription, in a "pay-as-you-go" model, or (increasingly) at no charge when there is opportunity to generate revenue from streams other than the user, such as from advertisement or user list sales. This approach to application delivery is part of the utility computing model where all of the technology is in the "cloud" accessed over the Internet as a service.
Sunday, January 23, 2011
The software's license
The software's license gives the user the right to use the software in the licensed environment. Some software comes with the license when purchased off the shelf, or an OEM license when bundled with hardware. Other software comes with a free software license, granting the recipient the rights to modify and redistribute the software. Software can also be in the form of freeware or shareware.
Application software
System software does not aim at a certain application fields. In contrast,different application software offers different functions based on users and the area it served.Application software is developed for some certain purpose,which either can be a certain program or a collection of some programmes,such as a graphic browser or the data base management system. Application software allows end users to accomplish one or more specific (not directly computer development related) tasks. Typical applications include:
industrial automation
business software
video games
quantum chemistry and solid state physics software
telecommunications (i.e., the Internet and everything that flows on it)
databases
educational software
Mathematical software
medical software
molecular modeling software
image editing
spreadsheet
simulation software
Word processing
Decision making software
Application software exists for and has impacted a wide variety of topics.
industrial automation
business software
video games
quantum chemistry and solid state physics software
telecommunications (i.e., the Internet and everything that flows on it)
databases
educational software
Mathematical software
medical software
molecular modeling software
image editing
spreadsheet
simulation software
Word processing
Decision making software
Application software exists for and has impacted a wide variety of topics.
Programming software
Programming software usually provides tools to assist a programmer in writing computer programs, and software using different programming languages in a more convenient way. The tools include:
compilers
debuggers
interpreters
linkers
text editors
An Integrated development environment (IDE) is a single application that attempts to manage all these functions.
compilers
debuggers
interpreters
linkers
text editors
An Integrated development environment (IDE) is a single application that attempts to manage all these functions.
System software
System software provides the basic functions for computer usage and helps run the computer hardware and system. It includes a combination of the following:
device drivers
operating systems
servers
utilities
window systems
System software is responsible for managing a variety of independent hardware components, so that they can work together harmoniously. Its purpose is to unburden the application software programmer from the often complex details of the particular computer being used, including such accessories as communications devices, printers, device readers, displays and keyboards, and also to partition the computer's resources such as memory and processor time in a safe and stable manner.
device drivers
operating systems
servers
utilities
window systems
System software is responsible for managing a variety of independent hardware components, so that they can work together harmoniously. Its purpose is to unburden the application software programmer from the often complex details of the particular computer being used, including such accessories as communications devices, printers, device readers, displays and keyboards, and also to partition the computer's resources such as memory and processor time in a safe and stable manner.
Types of software
Practical computer systems divide software systems into three major classes[citation needed]: system software, programming software and application software, although the distinction is arbitrary, and often blurred.
Overview
Software includes all the various forms and roles that digitally stored data may have and play in a computer (or similar system), regardless of whether the data is used as code for a CPU, or other interpreter, or whether it represents other kinds of information. Software thus encompasses a wide array of products that may be developed using different techniques such as ordinary programming languages, scripting languages, microcode, or an FPGA configuration.
The types of software include web pages developed in languages and frameworks like HTML, PHP, Perl, JSP, ASP.NET, XML, and desktop applications like OpenOffice.org, Microsoft Word developed in languages like C, C++, Java, C#, or Smalltalk. Application software usually runs on an underlying software operating systems such as Linux or Microsoft Windows. Software (or firmware) is also used in video games and for the configurable parts of the logic systems of automobiles, televisions, and other consumer electronics.
Computer software is so called to distinguish it from computer hardware, which encompasses the physical interconnections and devices required to store and execute (or run) the software. At the lowest level, executable code consists of machine language instructions specific to an individual processor. A machine language consists of groups of binary values signifying processor instructions that change the state of the computer from its preceding state. Programs are an ordered sequence of instructions for changing the state of the computer in a particular sequence. It 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 compiled or interpreted into machine language object code. Software may also be written in an assembly language, essentially, a mnemonic representation of a machine language using a natural language alphabet. Assembly language must be assembled into object code via an assembler.
The types of software include web pages developed in languages and frameworks like HTML, PHP, Perl, JSP, ASP.NET, XML, and desktop applications like OpenOffice.org, Microsoft Word developed in languages like C, C++, Java, C#, or Smalltalk. Application software usually runs on an underlying software operating systems such as Linux or Microsoft Windows. Software (or firmware) is also used in video games and for the configurable parts of the logic systems of automobiles, televisions, and other consumer electronics.
Computer software is so called to distinguish it from computer hardware, which encompasses the physical interconnections and devices required to store and execute (or run) the software. At the lowest level, executable code consists of machine language instructions specific to an individual processor. A machine language consists of groups of binary values signifying processor instructions that change the state of the computer from its preceding state. Programs are an ordered sequence of instructions for changing the state of the computer in a particular sequence. It 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 compiled or interpreted into machine language object code. Software may also be written in an assembly language, essentially, a mnemonic representation of a machine language using a natural language alphabet. Assembly language must be assembled into object code via an assembler.
History
The first theory about software was proposed by Alan Turing in his 1935 essay Computable numbers with an application to the Entscheidungsproblem (Decision problem).[3] The term "software" was first used in print by John W. Tukey in 1958. Colloquially, the term is often used to mean application software. In computer science and software engineering, software is all information processed by computer system, programs and data.[4] The academic fields studying software are computer science and software engineering.
The history of computer software is most often traced back to the first software bug in 1946[citation needed]. As more and more programs enter the realm of firmware, and the hardware itself becomes smaller, cheaper and faster as predicted by Moore's law, elements of computing first considered to be software, join the ranks of hardware. Most hardware companies today have more software programmers on the payroll than hardware designers[citation needed], since software tools have automated many tasks of Printed circuit board engineers. Just like the Auto industry, the Software industry has grown from a few visionaries operating out of their garage with prototypes. Steve Jobs and Bill Gates were the Henry Ford and Louis Chevrolet of their times[citation needed], who capitalized on ideas already commonly known before they started in the business. In the case of Software development, this moment is generally agreed to be the publication in the 1980s of the specifications for the IBM Personal Computer published by IBM employee Philip Don Estridge. Today his move would be seen as a type of crowd-sourcing.
Until that time, software was bundled with the hardware by Original equipment manufacturers (OEMs) such as Data General, Digital Equipment and IBM[citation needed]. When a customer bought a minicomputer, at that time the smallest computer on the market, the computer did not come with Pre-installed software, but needed to be installed by engineers employed by the OEM. Computer hardware companies not only bundled their software, they also placed demands on the location of the hardware in a refrigerated space called a computer room. Most companies had their software on the books for 0 dollars, unable to claim it as an asset (this is similar to financing of popular music in those days). When Data General introduced the Data General Nova, a company called Digidyne wanted to use its RDOS operating system on its own hardware clone. Data General refused to license their software (which was hard to do, since it was on the books as a free asset), and claimed their "bundling rights". The Supreme Court set a precedent called Digidyne v. Data General in 1985. The Supreme Court let a 9th circuit decision stand, and Data General was eventually forced into licensing the Operating System software because it was ruled that restricting the license to only DG hardware was an illegal tying arrangement.[5] Soon after, IBM 'published' its DOS source for free, and Microsoft was born. Unable to sustain the loss from lawyer's fees, Data General ended up being taken over by EMC Corporation. The Supreme Court decision made it possible to value software, and also purchase Software patents. The move by IBM was almost a protest at the time. Few in the industry believed that anyone would profit from it other than IBM (through free publicity). Microsoft and Apple were able to thus cash in on 'soft' products. It is hard to imagine today that people once felt that software was worthless without a machine. There are many successful companies today that sell only software products, though there are still many common software licensing problems due to the complexity of designs and poor documentation, leading to patent trolls.
With open software specifications and the possibility of software licensing, new opportunities arose for software tools that then became the de facto standard, such as DOS for operating systems, but also various proprietary word processing and spreadsheet programs. In a similar growth pattern, proprietary development methods became standard Software development methodology.
The history of computer software is most often traced back to the first software bug in 1946[citation needed]. As more and more programs enter the realm of firmware, and the hardware itself becomes smaller, cheaper and faster as predicted by Moore's law, elements of computing first considered to be software, join the ranks of hardware. Most hardware companies today have more software programmers on the payroll than hardware designers[citation needed], since software tools have automated many tasks of Printed circuit board engineers. Just like the Auto industry, the Software industry has grown from a few visionaries operating out of their garage with prototypes. Steve Jobs and Bill Gates were the Henry Ford and Louis Chevrolet of their times[citation needed], who capitalized on ideas already commonly known before they started in the business. In the case of Software development, this moment is generally agreed to be the publication in the 1980s of the specifications for the IBM Personal Computer published by IBM employee Philip Don Estridge. Today his move would be seen as a type of crowd-sourcing.
Until that time, software was bundled with the hardware by Original equipment manufacturers (OEMs) such as Data General, Digital Equipment and IBM[citation needed]. When a customer bought a minicomputer, at that time the smallest computer on the market, the computer did not come with Pre-installed software, but needed to be installed by engineers employed by the OEM. Computer hardware companies not only bundled their software, they also placed demands on the location of the hardware in a refrigerated space called a computer room. Most companies had their software on the books for 0 dollars, unable to claim it as an asset (this is similar to financing of popular music in those days). When Data General introduced the Data General Nova, a company called Digidyne wanted to use its RDOS operating system on its own hardware clone. Data General refused to license their software (which was hard to do, since it was on the books as a free asset), and claimed their "bundling rights". The Supreme Court set a precedent called Digidyne v. Data General in 1985. The Supreme Court let a 9th circuit decision stand, and Data General was eventually forced into licensing the Operating System software because it was ruled that restricting the license to only DG hardware was an illegal tying arrangement.[5] Soon after, IBM 'published' its DOS source for free, and Microsoft was born. Unable to sustain the loss from lawyer's fees, Data General ended up being taken over by EMC Corporation. The Supreme Court decision made it possible to value software, and also purchase Software patents. The move by IBM was almost a protest at the time. Few in the industry believed that anyone would profit from it other than IBM (through free publicity). Microsoft and Apple were able to thus cash in on 'soft' products. It is hard to imagine today that people once felt that software was worthless without a machine. There are many successful companies today that sell only software products, though there are still many common software licensing problems due to the complexity of designs and poor documentation, leading to patent trolls.
With open software specifications and the possibility of software licensing, new opportunities arose for software tools that then became the de facto standard, such as DOS for operating systems, but also various proprietary word processing and spreadsheet programs. In a similar growth pattern, proprietary development methods became standard Software development methodology.
Computer software
Computer software, or just software, is the collection of computer programs and related data that provide the instructions telling a computer what to do and how to do it. We can also say software refers to one or more computer programs and data held in the storage of the computer for some purposes. Program software performs the function of the program it implements, either by directly providing instructions to the computer hardware or by serving as input to another piece of software. The term was coined to contrast to the old term hardware (meaning physical devices). In contrast to hardware, software is intangible, meaning it "cannot be touched". Software is also sometimes used in a more narrow sense, meaning application software only. Sometimes the term includes data that has not traditionally been associated with computers, such as film, tapes, and records.
Examples of computer software include:
Application software includes end-user applications of computers such as word processors or video games, and ERP software for groups of users.
Middleware controls and co-ordinates distributed systems.
Programming languages define the syntax and semantics of computer programs. For example, many mature banking applications were written in the COBOL language, originally invented in 1959. Newer applications are often written in more modern programming languages.
System software includes operating systems, which govern computing resources. Today[when?] large[quantify] applications running on remote machines such as Websites are considered[by whom?] to be system software, because[citation needed] the end-user interface is generally through a graphical user interface, such as a web browser.
Testware is software for testing hardware or a software package.
Firmware is low-level software often stored on electrically programmable memory devices. Firmware is given its name because it is treated like hardware and run ("executed") by other software programs.
Shrinkware is the older name given to consumer-purchased software, because it was often sold in retail stores in a shrink-wrapped box.
Device drivers control parts of computers such as disk drives, printers, CD drives, or computer monitors.
Programming tools help conduct computing tasks in any category listed above. For programmers, these could be tools for debugging or reverse engineering older legacy systems in order to check source code compatibility.
Examples of computer software include:
Application software includes end-user applications of computers such as word processors or video games, and ERP software for groups of users.
Middleware controls and co-ordinates distributed systems.
Programming languages define the syntax and semantics of computer programs. For example, many mature banking applications were written in the COBOL language, originally invented in 1959. Newer applications are often written in more modern programming languages.
System software includes operating systems, which govern computing resources. Today[when?] large[quantify] applications running on remote machines such as Websites are considered[by whom?] to be system software, because[citation needed] the end-user interface is generally through a graphical user interface, such as a web browser.
Testware is software for testing hardware or a software package.
Firmware is low-level software often stored on electrically programmable memory devices. Firmware is given its name because it is treated like hardware and run ("executed") by other software programs.
Shrinkware is the older name given to consumer-purchased software, because it was often sold in retail stores in a shrink-wrapped box.
Device drivers control parts of computers such as disk drives, printers, CD drives, or computer monitors.
Programming tools help conduct computing tasks in any category listed above. For programmers, these could be tools for debugging or reverse engineering older legacy systems in order to check source code compatibility.
Subscribe to:
Posts (Atom)