4.web Applications Development
4.web Applications Development
DEVELOPMENT
1
Learning Outcome 1:
Evaluate the benefits of
web applications to an
organization
web applications.
internet access.
With web-based applications, users access the system via a uniform environment—the
web browser. While the user interaction with the application needs to be thoroughly
tested on different web browsers, the application itself needs only be developed for a
single operating system. There’s no need to develop and test it on all possible operating
system versions and configurations. This makes development and troubleshooting much
easier.
Accessible Anywhere
Unlike traditional applications, web systems are accessible anytime, anywhere, via a PC
with an Internet connection, putting the user in charge of where and when they access
the application.
Security
Most web-based applications are installed on dedicated web servers, which can be
monitored by an experienced IT professional. As a result, there is no need to maintain
multiple client computers. Secured connections can also be implemented, thus ensuring
the protection of your sensitive company data. Since the data is centralized, it is
extremely secure and very easy to backup.
Direct Access
Users have direct access to the latest information wherever they are located. This data is
always up to date
Confidentiality refers to the websites owner’s agreement to handle, store, and share
websites data to ensure that information obtained from and about web participants is
not improperly divulged.
e.g cybercrimes
Hacking
Spoofing
Spoofing is the act of disguising a communication from an unknown source as being from
a known, trusted source. Spoofing can apply to emails, phone calls, and websites, or can
be more technical, such as a computer spoofing an IP address, Address Resolution
Protocol (ARP), or Domain Name System (DNS) server.
Spoofing can be used to gain access to a target’s personal information, spread malware
through infected links or attachments, bypass network access controls, or redistribute
traffic to conduct a denial-of-service attack.
Malware
These are malicious software’s whose aim is to damage/ steal computer system files
i. viruses
ii. Worms
is a type of malicious code or software that looks legitimate but can take control of your
computer. A Trojan is designed to damage, disrupt, steal, or in general inflict some other
harmful action on your data or network. A Trojan acts like a bona fide application or file
to trick you. It seeks to deceive you into loading and executing the malware on your
device. Once installed, a Trojan can perform the action it was designed for.
iv. Spyware
Is unwanted software that infiltrates your computing device, stealing your internet usage
data and sensitive information. Spyware is classified as a type of malware — malicious
software designed to gain access to or damage your computer, often without your
knowledge
v. Adware
e. Ethical issues and organizational responsibilities associated with the storage and
processing of personal data
The physical material containing personal data must be kept under lock and
key when not in use.
Learning Outcome 2:
Analyse how to design
and implement a web
application
POSITIVE IMPACTS
3. Lower Costs
One of the most tangible positives of e-commerce is the lowered cost. A part of these
lowered costs could be passed on to customers in the form of discounted prices. Here
are some of the ways that costs can be reduced with e-commerce:
Advertising and marketing: Organic search engine traffic, pay-per-click, and social
media traffic are some of the advertising channels that can be cost-effective.
Real estate: An e-commerce merchant does not need a prominent physical location.
There are limitations to the amount of information that can be displayed in a physical
store. It is difficult to equip employees to respond to customers who require information
across product lines. E-commerce websites can make additional information easily
available to customers. Most of this information is provided by vendors and does not cost
anything to create or maintain.
NEGATIVE IMPACTS
1. Privacy
It is easy to collect a lot of personal information from a consumer using an e-commerce
website. Since all online transactions are recorded, it's relatively easy to create an online
profile of the buyer, and use that to send targeted advertisements. However, many will
agree that this is an intrusion on a consumer's right to privacy. This means small businesses
aiming to establish an online presence using e-commerce need to be aware of the
legislation that applies, as mistakes can be costly both in terms of fines and customer
trust.
2. Security
Another negative effect of e-commerce is its effect on consumers' security. Online
transactions are inherently more insecure than those conducted in person because
there's no way to guarantee that the person making the payment is the actual owner of
the credit card used. At the same time, when the customer inputs the payment
information they risk a third party intercepting it if the website doesn't comply with the
adequate security measures, giving rise to credit card fraud and identity theft. Merchants
need to be aware of the risks electronic transactions carry, and work towards securing
the systems to the highest standards.
3. Price Wars
Merchants used to selling at their shop may often find selling online an extremely
competitive marketplace. Their products are displayed alongside competitive offers,
often from different countries or bigger retailers with access to better wholesale prices.
This can affect the retailer negatively, as they cannot sell as much as they expected to
actually make a profit, or the consumer's when online stores cut corners in order to
become more competitive or products are purchased from illegitimate retailers because
they had the best price.
C2C e-commerce is a type of trade relations where both sellers and buyers are
consumers, not businesses. It presupposes interaction between parties through a
third one, mostly an online auction or trade website. Various internet resources
help sellers and buyers to find each other by charging a small fee or commission.
Outstanding example of C2C e-commerce sites is AmazonThe main advantage
of C2C business is that sellers and buyers are reachable. It is also effortless and
handy and does not take much time to use. Moreover, it is possible for one
customer to be a seller as well as a buyer. What is more, it provides a rich social
linking. Buyers benefit greatly from using C2C websites mostly because of the
reduced price. What is more, they can deal with different sellers. Besides this,
searches using criteria are available. For example, it is possible to select the best
sellers, most popular products or offers from your area and much more. One more
important thing is that users may choose the best proposal, contacting you directly
without intermediary assistance. The main pros of C2C for vendors are high
profitability due to direct sales. Sellers avail themselves mostly through overhead
cost reduction. For entrepreneurs, this means that there is no need to spend
money on facilities like rent, office supplies or salaries. Furthermore, this type of e-
commerce broadens the range of potential clients as it covers not only national
but also the international market. That the transaction cost is not high is definitely
a plus. Last, but not least, is efficiency in selling personal or unique goods, including
handmade products. E-commerce is not considered the safest place. It is
generally associated with fraud and deceit. Buyers and sellers may not be
confident in their counterparts. In addition, swindlers may use a famous brand on
their sites to mislead users. And there is always the danger of identity theft.
A consumer posts his project with a set budget online and within hours companies
review the consumer's requirements and bid on the project. The consumer reviews
the bids and selects the company that will complete the project. C2B empowers
consumers around the world by providing the meeting ground and platform for
such transactions.
C2B or Consumer- to- Business is a business model where the end consumers
create products and services which are consumed by businesses and
organizations. It is diametrically opposite to the popular concept of B2C or
Business- to- Consumer where the companies make goods and services available
to the end consumers.
In C2B, the companies typically pay for the product or service. However, it can
assume different forms like an idea generated by an individual (like an innovative
business practice) which may be used and implemented by an organization.
Another possible form of C2B is where a consumer specifies a need and the various
businesses compete or bid to fulfil that need.
E-COMMERCE EXAMPLES
2. Marketing
Using web and e-commerce, data collection about the following are possible
1. Preferences
2. Behavior
3. Needs
4. Buying patterns
Is a form of marketing and advertising which uses the internet to deliver promoting
marketing messages to consumers? The marketing activities like price fixing, product
feature, and its enhancement, negotiation, and the relationship with the customer can
be made using these. This refers to the gathering of data about consumer behaviors,
preferences, needs, buying patterns and so on. It helps marketing activities like fixing
price, negotiating, enhancing product features, and building strong customer
relationships as this data can be leveraged to provide customers a tailored and
enhanced purchase experience.
3. Finance
ECommerce is being used by the financial companies to a large extent. By the name
finance, we know that there will be customers and transactions. The customers can
check the balance in their savings account, as well as their loan account. There are
features like transferring of money from and to their own accounts, paying off bills online
and also e-banking. Online stock trading is also another feature of e-commerce. Banks
and other financial institutions are using e-commerce to a significant extent. Customers
can check account balances, transfer money to other accounts held by them or others,
pay bills through internet banking, pay insurance premiums, and so on. Individuals can
also carry out trading in stocks online, and get information about stocks to trade in from
websites that display news, charts, performance reports and analyst ratings of companies
Manufacturing
Ecommerce is included and used in the chain operations (supply) of a company. There
are companies that form the electronic exchange. This is by providing buying and selling
items together, trading market information and the information of runback office like
inventory control. This is a way that speeds up the flow of finished goods and the raw
materials among the business community members Supply chain operations also use
ecommerce; usually, a few companies form a group and create an electronic exchange
and facilitate purchase and sale of goods, exchange of market information, back office
information like inventory control, and so on. This enables the smooth flow of raw materials
and finished products among the member companies and also with other businesses.
Auctions
It involves ordering and delivering of goods or services using the internet, and the transfer
of money and data to execute transactions.
Payment systems,
It involves means of payment. E.g. paying for electricity or paying for a flight online. is a
way of making transactions or paying for goods and services through an electronic
medium, without the use of checks or cash
Ecommerce support system is commonly perceived as some technical system that helps
ecommerce business owner perform day to day operation with maximum efficiency and
with effectiveness
ADVANTAGES
DRIVE TRAFFIC
By analyzing the customer’s present site use and his previous browsing history, a
recommendation engine can deliver appropriate product suggestions as he stores. The
data is gathered in real-time so the software can respond as his shopping habits change.
ENGAGE CUSTOMERS
Consumers end up being more engaged in the website when individualized item
recommendations are made. They are able to dive even more deeply into the product
line without needing to carry out search after search.
In addition to the average order value rising, the number of products per order likewise
typically increases when a recommendation engine is used. When the customer is
revealed options that fulfill his interest, he is most likely to add choices to his purchase.
A recommendation engine can add your very own marketing and inventory control
directives to the customer’s profile to feature items that are promotionally prices, on
clearance or overstocked. It offers you’re the versatility to regulate exactly what items
are highlighted by the recommendation system.
The volume of data required to create an individual shopping experience for each
customer is typically far too huge to be handled manually. Utilizing an engine automates
this process, reducing the workload of your IT staff and your spending plan.
PROVIDE REPORTS
An experienced carrier can provide suggestions on ways to utilize the data gathered
and reported to
Disadvantage
E. Degree and nature of impact, challenges and benefits of common applications for
businesses, including implications for small and medium enterprises (SME)
Small and Medium-sized Enterprises, are defined as enterprises whose headcounts fall
below certain limits. Small and medium-sized enterprises (SMEs) are non-subsidiary,
independent firms which employ less than a given number of employees. This number
varies across countries. The most frequent upper limit designating an SME is 250
employees, as in the European Union. However, some countries set the limit at 200
employees, while the United States considers SMEs to include firms with fewer than 500
employees. Small firms are generally those with fewer than 50 employees, while micro-
enterprises have at most 10, or in some cases 5, workers. Financial assets are also used to
define SMEs.
Small and medium-sized enterprises (SMEs) are a very heterogeneous group of businesses
usually operating:
in the service,
trade
agri-business
Manufacturing sectors.
They include a wide variety of firms such as:
SMEs usually operate in the formal sector of the economy and employ mainly wage-
earning workers.
SMEs are often classified by the number of employees and/or by the value of their assets.
Advantages
10. SMEs are sometimes the only source of employment in poor regions and rural areas
12. SMEs play a particularly important role in developing countries where poverty is
most severe
Disadvantages
Normally, SMEs do not have the financial power that large companies have. For
this reason, they will usually need external financing, which will also be more limited
and in worse conditions, without the ability to access financial instruments
available to large corporations, such as listing on stock markets, capital increases,
etc.
It may be difficult to reach a large number of customers and earn their trust.
The task of reaching its customers can be very hard for an SME. The financial power
of large companies allows them to make themselves known through mass media
by advertising, but for small and medium companies, reaching a significant
number of customers can be a task that requires years of effort. In addition, being
less well-known than its larger competitors, SMEs may find it more difficult to
convey to their customers the security that a large company can offer them.
SMEs will have enormous impediments to benefit from the economy of scale,
which will cause costs to be higher in certain types of business, as well as creating
difficulties to adjust the prices offered to users.
Despite being more flexible in dealing with changes, the lack of financial
capability can cause major problems for an SME if it is forced to endure long
periods of crisis. For this reason, during economic depressions, small and medium-
sized enterprises often face enormous difficulties to survive, which causes the
closing of many of them.
Given the greater limitations that an SME usually offers to develop a career (there
will be fewer possibilities of advancement), it will be more difficult to attract
talented and well-prepared workers who will usually be more tempted to develop
their skills in a large enterprise. However, this does not mean that an SME cannot
attract talent, but will often have to offer other incentives.
Unfortunately, and again for financial reasons, an SME will have more difficulties
to adapt to technological changes, which could lead to obsolescence. However,
there are very interesting technological solutions that SMEs can access.
Learning Outcome 3:
Analyse the merits and
limitations of open-source
software
The GNU Manifesto was written by Richard Stallman in 1985 to ask for support in
developing the GNU operating system.
GNU, which stands for Gnu's Not Unix, is the name for the complete Unix-compatible
software system which I am writing so that I can give it away free to everyone who can
use it. Several other volunteers are helping me. Contributions of time, money, programs
and equipment are greatly needed.
GNU will be able to run UNIX programs, but will not be identical to UNIX. We will make all
improvements that are convenient, based on our experience with other operating
systems. In particular, we plan to have longer file names, file version numbers, a
crushproof file system, file name completion perhaps, terminal-independent display
support
GNU is aimed initially at machines in the 68000/16000 class with virtual memory, because
they are the easiest machines to make it run on. The extra effort to make it run on smaller
machines will be left to someone who wants to use it on them.
To avoid horrible confusion, please pronounce the g in the word “GNU” when it is the
name of this project.
I consider that the Golden Rule requires that if I like a program I must share it with other
people who like it. Software sellers want to divide the users and conquer them, making
each user agree not to share with others. I refuse to break solidarity with other users in this
way. I cannot in good conscience sign a nondisclosure agreement or a software license
agreement.
A system compatible with Unix would be convenient for many other people to adopt.
GNU is not in the public domain. Everyone will be permitted to modify and redistribute
GNU, but no distributor will be allowed to restrict its further redistribution. That is to
say, proprietary modifications will not be allowed..
I have found many other programmers who are excited about GNU and want to help.
Many programmers are unhappy about the commercialization of system software. It may
enable them to make more money, but it requires them to feel in conflict with other
programmers in general rather than feel as comrades. The fundamental act of friendship
among programmers is the sharing of programs; marketing arrangements now typically
used essentially forbid programmers to treat others as friends. The purchaser of software
must choose between friendship and obeying the law. Naturally, many decide that
friendship is more important. But those who believe in law often do not feel at ease with
either choice. They become cynical and think that programming is just a way of making
money.
By working on and using GNU rather than proprietary programs, we can be hospitable to
everyone and obey the law. In addition, GNU serves as an example to inspire and a
banner to rally others to join us in sharing. This can give us a feeling of harmony which is
impossible if we use software that is not free. For about half the programmers I talk to, this
is an important happiness that money cannot replace.
(Nowadays, for software tasks to work on, see the High Priority Projects list and the GNU
Help Wanted list, the general task list for GNU software packages. For other ways to help,
see the guide to helping the GNU operating system.)
I am asking computer manufacturers for donations of machines and money. I'm asking
individuals for donations of programs and work.
One consequence you can expect if you donate machines is that GNU will run on them
at an early date. The machines should be complete, ready to use systems, approved for
use in a residential area, and not in need of sophisticated cooling or power.
I have found very many programmers eager to contribute part-time work for GNU. For
most projects, such part-time distributed work would be very hard to coordinate; the
independently written parts would not work together. But for the particular task of
replacing Unix, this problem is absent. A complete Unix system contains hundreds of utility
programs, each of which is documented separately. Most interface specifications are
fixed by Unix compatibility. If each contributor can write a compatible replacement for
a single Unix utility, and make it work properly in place of the original on a Unix system,
then these utilities will work right when put together. Even allowing for Murphy to create
a few unexpected problems, assembling these components will be a feasible task. (The
kernel will require closer communication and will be worked on by a small, tight group.)
If I get donations of money, I may be able to hire a few people full or part time. The salary
won't be high by programmers' standards, but I'm looking for people for whom building
community spirit is as important as making money. I view this as a way of enabling
dedicated people to devote their full energies to working on GNU by sparing them the
need to make a living in another way.
Once GNU is written, everyone will be able to obtain good system software free, just like
air.(3)
This means much more than just saving everyone the price of a Unix license. It means that
much wasteful duplication of system programming effort will be avoided. This effort can
go instead into advancing the state of the art.
Complete system sources will be available to everyone. As a result, a user who needs
changes in the system will always be free to make them himself, or hire any available
programmer or company to make them for him. Users will no longer be at the mercy of
one programmer or company which owns the sources and is in sole position to make
changes.
the policy that no program could be installed on the system if its sources were not on
public display, and upheld it by actually refusing to install certain programs. I was very
much inspired by this.
Finally, the overhead of considering who owns the system software and what one is or is
not entitled to do with it will be lifted.
Arrangements to make people pay for using a program, including licensing of copies,
always incur a tremendous cost to society through the cumbersome mechanisms
necessary to figure out how much (that is, which programs) a person must pay for. And
only a police state can force everyone to obey them. Consider a space station where
air must be manufactured at great cost: charging each breather per liter of air may be
fair, but wearing the metered gas mask all day and all night is intolerable even if
everyone can afford to pay the air bill. And the TV cameras everywhere to see if you ever
take the mask off are outrageous. It's better to support the air plant with a head tax and
chuck the masks.
“Nobody will use it if it is free, because that means they can't rely on any support.”
“You have to charge for the program to pay for providing the support.”
If people would rather pay for GNU plus service than get GNU free without service, a
company to provide just service to people who have obtained GNU free ought to be
profitable.(4)
We must distinguish between support in the form of real programming work and mere
handholding. The former is something one cannot rely on from a software vendor. If your
problem is not shared by enough people, the vendor will tell you to get lost.
If your business needs to be able to rely on support, the only way is to have all the
necessary sources and tools. Then you can hire any available person to fix your problem;
you are not at the mercy of any individual. With Unix, the price of sources puts this out of
consideration for most businesses. With GNU this will be easy. It is still possible for there to
Meanwhile, the users who know nothing about computers need handholding: doing
things for them which they could easily do themselves but don't know how.
Such services could be provided by companies that sell just handholding and repair
service. If it is true that users would rather spend money and get a product with service,
they will also be willing to buy the service having got the product free. The service
companies will compete in quality and price; users will not be tied to any particular one.
Meanwhile, those of us who don't need the service should be able to use the program
without paying for the service.
“You cannot reach many people without advertising, and you must charge for the
program to support that.”
There are various forms of free or very cheap publicity that can be used to inform
numbers of computer users about something like GNU. But it may be true that one can
reach more microcomputer users with advertising. If this is really so, a business which
advertises the service of copying and mailing GNU for a fee ought to be successful
enough to pay for its advertising and more. This way, only the users who benefit from the
advertising pay for it.
On the other hand, if many people get GNU from their friends, and such companies don't
succeed, this will show that advertising was not really necessary to spread GNU. Why is it
that free market advocates don't want to let the free market decide this?(5)
GNU will remove operating system software from the realm of competition. You will not
be able to get an edge in this area, but neither will your competitors be able to get an
edge over you. You and they will compete in other areas, while benefiting mutually in
this one. If your business is selling an operating system, you will not like GNU, but that's
tough on you. If your business is something else, GNU can save you from being pushed
into the expensive business of selling operating systems.
I would like to see GNU development supported by gifts from many manufacturers and
users, reducing the cost to each.
There is nothing wrong with wanting pay for work, or seeking to maximize one's income,
as long as one does not use means that are destructive. But the means customary in the
field of software today are based on destruction.
The reason a good citizen does not use such destructive means to become wealthier is
that, if everyone did so, we would all become poorer from the mutual destructiveness.
This is Kantian ethics; or, the Golden Rule. Since I do not like the consequences that result
if everyone hoards information, I am required to consider it wrong for one to do so.
Specifically, the desire to be rewarded for one's creativity does not justify depriving the
world in general of all or part of that creativity.
But that is the wrong answer because it accepts the questioner's implicit assumption: that
without ownership of software, programmers cannot possibly be paid a cent. Supposedly
it is all or nothing.
The real reason programmers will not starve is that it will still be possible for them to get
paid for programming; just not paid as much as now.
Restricting copying is not the only basis for business in software. It is the most common
basis(7) because it brings in the most money. If it were prohibited, or rejected by the
customer, software business would move to other bases of organization which are now
used less often. There are always numerous ways to organize any kind of business.
Probably programming will not be as lucrative on the new basis as it is now. But that is not
an argument against the change. It is not considered an injustice that sales clerks make
the salaries that they now do. If programmers made the same, that would not be an
injustice either. (In practice they would still make considerably more than that.)
“Control over the use of one's ideas” really constitutes control over other people's lives;
and it is usually used to make their lives more difficult.
People who have studied the issue of intellectual property rights(8) carefully (such as
lawyers) say that there is no intrinsic right to intellectual property. The kinds of supposed
intellectual property rights that the government recognizes were created by specific acts
of legislation for specific purposes.
For example, the patent system was established to encourage inventors to disclose the
details of their inventions. Its purpose was to help society rather than to help inventors. At
the time, the life span of 17 years for a patent was short compared with the rate of
advance of the state of the art. Since patents are an issue only among manufacturers,
for whom the cost and effort of a license agreement are small compared with setting up
production, the patents often do not do much harm. They do not obstruct most
individuals who use patented products.
The idea of copyright did not exist in ancient times, when authors frequently copied other
authors at length in works of nonfiction. This practice was useful, and is the only way many
authors' works have survived even in part. The copyright system was created expressly for
the purpose of encouraging authorship. In the domain for which it was invented—books,
which could be copied economically only on a printing press—it did little harm, and did
not obstruct most of the individuals who read the books.
All intellectual property rights are just licenses granted by society because it was thought,
rightly or wrongly, that society as a whole would benefit by granting them. But in any
particular situation, we have to ask: are we really better off granting such license? What
kind of act are we licensing a person to do?
The case of programs today is very different from that of books a hundred years ago. The
fact that the easiest way to copy a program is from one neighbor to another, the fact
that a program has both source code and object code which are distinct, and the fact
that a program is used rather than read and enjoyed, combine to create a situation in
which a person who enforces a copyright is harming society as a whole both materially
and spiritually; in which a person should not do so regardless of whether the law enables
him to.
Proprietary and secret software is the moral equivalent of runners in a fist fight. Sad to say,
the only referee we've got does not seem to object to fights; he just regulates them (“For
every ten yards you run, you can fire one shot”). He really ought to break them up, and
penalize runners for even trying to fight.
Actually, many people will program with absolutely no monetary incentive. Programming
has an irresistible fascination for some people, usually the people who are best at it. There
is no shortage of professional musicians who keep at it even though they have no hope
of making a living that way.
But really this question, though commonly asked, is not appropriate to the situation. Pay
for programmers will not disappear, only become less. So the right question is, will anyone
program with a reduced monetary incentive? My experience shows that they will.
For more than ten years, many of the world's best programmers worked at the Artificial
Intelligence Lab for far less money than they could have had anywhere else. They got
many kinds of nonmonetary rewards: fame and appreciation, for example. And
creativity is also fun, a reward in itself.
Then most of them left when offered a chance to do the same interesting work for a lot
of money.
What the facts show is that people will program for reasons other than riches; but if given
a chance to make a lot of money as well, they will come to expect and demand it. Low-
paying organizations do poorly in competition with high-paying ones, but they do not
have to do badly if the high-paying ones are banned.
“We need the programmers desperately. If they demand that we stop helping our
neighbors, we have to obey.”
You're never so desperate that you have to obey this sort of demand. Remember: millions
for defense, but not a cent for tribute!
In the short run, this is true. However, there are plenty of ways that programmers could
make a living without selling the right to use a program. This way is customary now
because it brings programmers and businessmen the most money, not because it is the
only way to make a living. It is easy to find other ways if you want to find them. Here are
a number of examples.
A manufacturer introducing a new computer will pay for the porting of operating systems
onto the new hardware.
The sale of teaching, handholding and maintenance services could also employ
programmers.
People with new ideas could distribute programs as freeware(9), asking for donations
from satisfied users, or selling handholding services. I have met people who are already
working this way successfully.
Users with related needs can form users' groups, and pay dues. A group would contract
with programming companies to write programs that the group's members would like to
use.
Suppose everyone who buys a computer has to pay x percent of the price as a software
tax. The government gives this to an agency like the NSF to spend on software
development.
But if the computer buyer makes a donation to software development himself, he can
take a credit against the tax. He can donate to the project of his own choosing—often,
chosen because he hopes to use the results when it is done. He can take a credit for any
amount of donation up to the total tax he had to pay.
The total tax rate could be decided by a vote of the payers of the tax, weighted
according to the amount they will be taxed on.
The consequences:
Users who care which projects their share is spent on can choose this for
themselves.
In the long run, making programs free is a step toward the postscarcity world, where
nobody will have to work very hard just to make a living. People will be free to devote
themselves to activities that are fun, such as programming, after spending the necessary
ten hours a week on required tasks such as legislation, family counseling, robot repair and
asteroid prospecting. There will be no need to be able to make a living from
programming.
We have already greatly reduced the amount of work that the whole society must do
for its actual productivity, but only a little of this has translated itself into leisure for workers
because much nonproductive activity is required to accompany productive activity. The
main causes of this are bureaucracy and isometric struggles against competition. Free
software will greatly reduce these drains in the area of software production. We must do
this, in order for technical gains in productivity to translate into less work for us.
b. Software as a service
Because the applications delivered via SaaS are available over the internet, users
can usually access the software from any devices and locations that have internet
connectivity.
The ability to run on both mobile devices and computers contrasts with many
traditional enterprise applications’ computer-only availability. SaaS offerings also
tend to support MacOS, iOS, and Android, not just Windows—as well as run on all
of the major browsers.
Another benefit is easy scalability. Cloud services in general allow enterprises to
ramp services and/or features up or down as needed, and SaaS is no different.
That’s especially important for enterprises whose businesses are cyclical in nature,
as well as for organizations that are growing quickly.
SaaS customers also benefit from the fact that service providers can make
automatic updates in software—often on a weekly or monthly basis—so
enterprises don’t need to worry about buying new releases when they are
available or installing patches such as security updates. This can be especially
appealing to organizations with limited IT staff to handle these tasks.
Convenient, on-demand service with little or no installation of customer software
required.
Lower costs from:
the pass-along to the customer of cost savings from the networked distribution
and implementation of SaaS services at a lower cost than that of on-site
software distribution;
use-based or subscription services geared to the level of customer use; and
the avoidance of large upfront software license fees and capital expenditures
on computing infrastructure needed to run additional on-site software.
Better collection, storage and processing of large quantities and varieties of
customer data.
Greater elasticity, allowing the customer to rapidly expand and contract its use of
the service without incurring unnecessary hardware upgrade or expansion costs.
Multi-location and multi-deviceaccess to the SaaS service, allowing for more
productive and flexible use of the service software.
Availability of professional data management services, including security
scanning, regulatory and technical compliance checking, data backup and
disaster recovery, as an integral part of its SaaS services.
Availability of redundant SaaS processing and backup facilities that minimize the
risk of catastrophic failure or destruction of data.
c. Different open source licence agreements and their implications (e.g. GNU,
Apache, CC, MIT, etc.)
The Apache License is an open source software license released by the Apache
Software Foundation (ASF). The Apache License allows you to freely use, modify,
and distribute any Apache licensed product. However, while doing so, you’re
required to follow the terms of the Apache License.
CC (CREATIVE COMMONS)
A Creative Commons (CC) license is one of several public copyright licenses that
enable the free distribution of an otherwise copyrighted work. A CC license is used
when an author wants to give people the right to share, use, and build upon a
work that they have created. CC provides an author flexibility (for example, they
might choose to allow only non-commercial uses of their own work) and protects
the people who use or redistribute an author’s work from concerns of copyright
infringement as long as they abide by the conditions that are specified in the
license by which the author distributes the work
MIT LICENSE (Massachusetts Institute of Technology)
MIT is one of the most permissive free software licenses. Basically, you can do
whatever you want with software licensed under the MIT license - only if you add
a copy of the original MIT license and copyright notice to it. Its simplicity is the
reason behind its high adoption rate among developers.
Many people have access to the source code of open source software,
but not all of them have good intentions. While a lot of people utilize their
access to spot defects and make improvements to the program, others use
this privilege to exploit the product’s vulnerabilities and create bugs that
can infect hardware, steal
Might not be as user-friendly as commercial versions.
This is not true for all open source software since many of them (such as
LibreOffice, Mozilla Firefox and the Android operating system) are incredibly
easy to use. However, there are several programs which are created mainly
to cater to the developer’s wishes and bring his ideas to life. As a result, not
much attention is given to the software’s user interface, making it difficult
to use especially for those who aren’t really tech-savvy.
Adapt - remix, transform, and build upon the material for any purpose, even
commercially.
The licensor cannot revoke these freedoms as long as you follow the license terms.
Attribution - you must give appropriate credit, provide a link to the license,
and indicate if changes were made. You may do so in any reasonable manner,
but not in any way that suggests the licensor endorses you or your use.
ShareAlike - if you transform, or build upon the material, you must distribute your
contributions under the same license as the original.
Learning Outcome 4:
Analyse the methods of
hosting and deploying
web applications
Data Layer: The data is stored in this layer. Application layer communicates with
Database layer to retrieve the data. It contains methods that connects the database
and performs required action e.g.: insert, update, delete etc.
One tier architecture has all the layers such as Presentation, Business, and Data Access
layers in a single software package. 1 tier where the Client, Server, and Database all
reside on the same machine
Client system handles both Presentation and Application layers and Server system
handles Database layer. It is also known as client server application. The communication
takes place between the Client and the Server. Client system sends the request to the
Server system and the Server system processes the request and sends back the data to
the Client System
Three-Tier Architecture:
Client system handles Presentation layer, Application server handles Application layer
and Server system handles Database layer.
N-Tier application.
N-Tier application AKA Distributed application. It is similar to three tier architecture but
number of application servers are increased and represented in individual tiers in order
to distributed the business logic so that the logic will be distributed.
Cloud: storing and accessing data and programs over the Internet instead of your
computer's hard drive Cloud Computing provides us means of accessing the
applications as utilities over the Internet. It allows us to create, configure, and customize
the applications online. Applications such as e-mail, web conferencing
Non Cloud: storing and accessing data and programs without the use of Internet but with
computer's hard drive
Non Cloud/In-house
Pros Cons
Gives you physical control over Requires a capital investment in hardware and
Keeps critical data in-house. No Needs space in your office for a rack or server
information.
No need to rely on an Internet May be more susceptible to data loss during disaster
connection for access to data. situations due to its in-house location. How often you
take the data offsite will reflect how much data you’ll
lose in an emergency.
Cloud
Pros Cons
No need for onsite The costs of the data recovery could outweigh the benefits for
hardware or capital companies that are not as dependent on uptime and instant
quickly.
Storage can be added as Organization may have a limit to data that can be stored in the
needed. Solutions are often cloud due to storage availability and cost.
Backup and restore can be If the Internet goes down on your side or on your cloud provider’s
initiated from anywhere, side, you won’t have access to any of your information.
tablet, or smartphone.
Data can be backed up in Full data recovery could prove very time-consuming and
the cloud as regularly as 15- impactful on systems. However, if a Datto is used, recovery can
ADVANTAGES
1. It is free and open-source software that can be used on any operating system,
including Linux, UNIX, Windows and Mac OS.
2. Bug fixing and the development of new features is handled by the developer
community and managed by the Apache Software Foundation, a nonprofit
corporation which supports the Apache Web server.
3. Apache is a very feature-rich Web server. Features are introduced as modules that
extend the core functionality. Some of the modules come with Apache itself, while
others can be manually installed. Since the code is open, anyone can create and
publish a new module with additional functionalities.
DISADVANTAGES
1. Although Apache Web server has generally good performance, it consumes a lot
of CPU and memory because of the two main reasons. One reason is a big number
of included features which are not being used, while the other is the fact that it is
a process-based server. That means that each connection requires a separate
thread.
2. Sometimes a little hard to patch.
3. If you're not careful with the settings, you can easily provide too much information
about your server to people you don't want to.
Windows IIS
Stands for "Internet Information Services." IIS is a web server software package designed
for Windows Server. It is used for hosting websites and other content on the Web.
Microsoft’s Internet Information Services provides a graphical user interface (GUI) for
managing websites and the associated users. It provides a visual means of creating,
configuring, and publishing sites on the web. The IIS Manager tool allows web
administrators to modify website options, such as default pages, error pages, logging
settings, security settings, and performance optimizations.
IIS can serve both standard HTML webpages and dynamic webpages.
ADVANTAGES
1. The server itself is free, but it can run only on Windows operating systems, thus
incurring indirect licensing costs.
2. Microsoft IIS handles has a good number of features. Similar to Apache, features
are included as extensions. However, IIS extensions are developed only by
Microsoft.
DISADVANTAGES
1. IIS is a proprietary software, meaning that the code is closed and not available to
public. New features, bug fixes and support is provided by Microsoft.
2. Unlike Apache, IIS is installed on Windows operating systems.
1. Cloud
2. Non cloud (Read Note above)
SSL PuTTY interface is a free and open-source terminal emulator, serial console and
network file transfer application.
PuTTY is an SSH and telnet client, developed originally by Simon Tatham for the Windows
platform. PuTTY is open source software that is available with source code and is
developed and supported by a group of volunteers
PuTTY is a free implementation of SSH and Telnet for Windows and UNIX platforms. PuTTY
has no definitive meaning, though "tty" is the name for a terminal in the Unix tradition. It
assists in the establishment of a secure connection over the internet. It does not require
installation.
It is an open source software and is easily available with its source code. It provides a
range of customization options related to the display configurations
Learning Outcome 5:
Analyse the methods of
testing the accessibility of
web applications
The error severity levels provide a quick reference for you about the nature of
the error.
Fatal. A severe error that causes your system to crash, resulting in the loss
or corruption of unsaved data.
Error. A severe error that might cause the loss or corruption of unsaved
data. Immediate action must be taken to prevent losing data.
Warning. Action must be taken at some stage to prevent a severe error
from occurring in the future.
Info. An informative message, usually describing server activity. No
action is necessary.
Metrics
Web analytics is the measurement, collection, analysis and reporting of web data
for purposes of understanding and optimizing web usage. This metric measures the
average connect time for all pages in the transaction.
Analysis tools
Web analytics tools collect data to show you how visitors arrive at your website
and what they do once they’re there. These tools let you compare data over time
to see patterns. This data also lets you measure performance against benchmarks
and goals to see how your website is performing, where performance can be
improved, and the effects of the actions you take to improve it. E.g. Google
Analytics, Content Analytics Tools
User voice
User Voice creates simple customer engagement tools that help companies
understand and interact with their customers more positively and build customer
relationships that last
Concept feedback
Gives you a look inside your users’ minds, and you can use that information to
improve their experience, reduce drop-offs, and boost conversions. While
analytics tools show you what is happening, website feedback—feedback that
you collect directly on your website
Online questionnaires
an online questionnaire is a web-based survey that companies and other
organizations use to both deliver information and collect information from their
customers or another target audience (stakeholders, employees, potential
customers).
Email feedback
Email feedback is a process of collecting feedback through email. More often,
the email contains a link to the brief feedback survey questionnaire, or sometimes
it includes an embedded survey that is sent to the targeted audience.
Surveys
A data collection method where surveys or questionnaires are sent over the
internet to a sample of respondents and they can respond to this survey over the
World Wide Web. Respondents can be sent web surveys via various mediums such
as email, embedded over the website, social media, etc. In web surveys,
respondents answer the questionnaire with the help of a web browser and
the survey responses are stored in web-based databases.
Resources
Textbooks on ABMA Education eLibrary
Fowler, S. and Stanwick, V., 2004. Web Application Design Handbook: Best Practices
for WebBased Software. Morgan Kaufmann.
Gustafson, J.M., 2013. HTML5 Web Application Development by Example Beginner's
Guide:
Learn How to Build Rich, Interactive Web Applications From the Ground up Using
HTML5, CSS3,
and JQuery. Packt Publishing.
Jaiswal, S., Kumar, R., 2015. Learning Django Web Development. Packt Publishing.
Vora, P., 2009. Web Application Design Patterns. Burlington: Morgan Kaufmann.
Journals
ACM Transactions on the Web (TWEB)
International Journal of Web Applications, DLINE.
International Journal of Web Information Systems.
Websites
Shklar, L. and Rosen, R., 2009. Web Application Architecture: Principles, Protocols and
Practices.
2nd ed. John Wiley & Sons. [online] Available at:
<http://www.ce.uniroma2.it/courses/PRSI/WebApplication.pdf> [Accessed 7
November 2016]
Shinde, V., n.d. Software Testing Help, n.d. Web Testing: Complete Guide on Testing
Web
Applications. Software Testing Help. [online] Available at:
<www.softwaretestinghelp.com/webapplication-testing/> [Accessed 7 November
2016]
Stallman, R., 1985. The GNU Manifesto. [online] Available at:
<www.gnu.org/gnu/manifesto.en.html> [Accessed 7 November 2016]
DiFeterici, G., 2012. Chapter 1: Design Patterns: Tried and Trusted Solutions. In
DiFeterici, G., 2012.
The Web Designer’s Roadmap. Collingwood: SitePoint Pty, pp. 1-21.
Shawnhayden.[online]
Available at: <http://shawnhayden.com/wordpress/wp-
content/uploads/2012/09/process1- sample.pdf> [Accessed 7 November 2016]
Kohan, B., n.d. Guide to Web Application Development: Guides, Resources, and Best
Practices.