Java Reference
In-Depth Information
1.12 Software Technologies
Figure 1.18 lists a number of buzzwords that you'll hear in the software development com-
munity. We've created Resource Centers on most of these topics, with more on the way.
Technology
Description
Agile software
development
Agile software development is a set of methodologies that try to get soft-
ware implemented faster and using fewer resources. Check out the Agile
Alliance ( www.agilealliance.org ) and the Agile Manifesto
( www.agilemanifesto.org ).
Refactoring
Refactoring involves reworking programs to make them clearer and easier to
maintain while preserving their correctness and functionality. It's widely
employed with agile development methodologies. Many IDEs contain
built-in refactoring tools to do major portions of the reworking automatically.
Design patterns
Design patterns are proven architectures for constructing flexible and
maintainable object-oriented software. The field of design patterns tries to
enumerate those recurring patterns, encouraging software designers to reuse
them to develop better-quality software using less time, money and effort.
We discuss Java design patterns in the online Appendix N.
LAMP
LAMP is an acronym for the open-source technologies that many develop-
ers use to build web applications—it stands for Linux , Apache , MySQL and
PHP (or Perl or Python —two other scripting languages). MySQL is an
open-source database management system. PHP is the most popular open-
source server-side “scripting” language for developing web applications.
Apache is the most popular web server software. The equivalent for Win-
dows development is WAMP— Windows , Apache, MySQL and PHP.
Software as a
Service (SaaS)
Software has generally been viewed as a product; most software still is
offered this way. If you want to run an application, you buy a software
package from a software vendor—often a CD, DVD or web download.
You then install that software on your computer and run it as needed. As
new versions appear, you upgrade your software, often at considerable cost
in time and money. This process can become cumbersome for organiza-
tions that must maintain tens of thousands of systems on a diverse array of
computer equipment. With Software as a Service (SaaS) , the software runs
on servers elsewhere on the Internet. When that server is updated, all cli-
ents worldwide see the new capabilities—no local installation is needed.
You access the service through a browser. Browsers are quite portable, so
you can run the same applications on a wide variety of computers from
anywhere in the world. Salesforce.com, Google, and Microsoft's Office Live
and Windows Live all offer SaaS.
Platform as a
Service (PaaS)
Platform as a Service (PaaS) provides a computing platform for developing
and running applications as a service over the web, rather than installing
the tools on your computer. Some PaaS providers are Google App Engine,
Amazon EC2 and Windows Azure™.
Fig. 1.18 | Software technologies. (Part 1 of 2.)
 
 
Search WWH ::




Custom Search