Application Development - eWeek


Application Development: 11 Apache Technologies that Have Changed Computing in the Last 10 Years

By Darryl K. Taft on 2009-09-02


The Apache Revolution

The Apache Software Foundation turns 10 this year and will be celebrating this landmark milestone with the largest ApacheCon event in November. Although a completely volunteer organization, the ASF has helped create some of the most important technologies underpinning the modern Internet.

Here, we look at some of the Apache technologies that have changed computing over the last decade, as well as those Apache technologies poised to change computing in the next 10 years.

  • of

11 Apache Technologies that Have Changed Computing in the Last 10 Years

by Darryl Taft

11 Apache Technologies that Have Changed Computing in the Last 10 Years

Apache Web Server—The Apache HTTP Server Project

The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems, including Unix and Windows NT. The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards.

Apache has been the most popular Web server on the Internet since April 1996.

Users: The Apache HTTP Server has been the No. 1 Web server worldwide for more than 13 consecutive years, serving more than 113 million Websites.

Apache Tomcat

Apache Tomcat is an open-source software implementation of the Java Servlet and JavaServer Pages technologies. The Java Servlet and JavaServer Pages specifications are developed under the Java Community Process. Apache Tomcat is developed in an open and participatory environment and released under the Apache Software License. Apache Tomcat is intended to be a collaboration of the best-of-breed developers from around the world, and all are invited to participate in this open development project.

Users: Tomcat helps power numerous large-scale, mission-critical Web applications across a diverse range of industries and organizations such as ETrade, Wal-Mart, the Weather Channel and EMC.

Apache Lucene

Apache Lucene is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform. Originally created in Java, Lucene has been ported to other programming languages including Delphi, Perl, C#, C++, Python, Ruby and PHP.

Users: Apple Online Store, CNET, Netflix, Wikipedia, Yelp, Comcast, LinkedIn, The Smithsonian, several government agencies (FDA, DOD, etc.), Technorati, the Internet Archive as well as products such as AOL Yellow Pages for contextual searches.

Apache Struts

Apache Struts is an open-source Web application framework for developing Java EE Web applications. It uses and extends the Java Servlet API to encourage developers to adopt a model-view-controller (MVC) architecture.

The Apache Struts Project offers two major versions of the Struts framework. Struts 1 is recognized as the most popular Web application framework for Java. It is the best choice for teams that value proven solutions to common problems. Struts 2 was originally known as WebWork 2. The 2.x framework is the best choice for teams that value elegant solutions to difficult problems.

Users: IRS, Boston Globe, Amnesty International, Sears, Alamo Car Rental, National Car Rental, Travelocity and others.

Apache Geronimo

The goal of the Geronimo project is to produce a server run-time framework that pulls together the best open-source alternatives to create run-times that meet the needs of developers and system administrators. The project's most popular distribution is a fully certified Java EE 5 application server run-time.

Users: AMD, Chariot Solutions, IBM, Virtuas and more.

Apache Ant

Apache Ant is a Java-based build tool for automating software build processes. It is similar to Make but is implemented using the Java language, requires the Java platform and is best suited to building Java projects.

The most immediately noticeable difference between Ant and Make is that Ant uses X M L to describe the build process and its dependencies, whereas Make has its Makefile format.

Users: Most major Java applications designed to manage a massive flow of information have been built using Ant. The state of New York uses Apache Ant to manage the largest youth program in the United States, serving real-time updates to more than 250,000 student records on a daily basis.

Apache Cocoon

Apache Cocoon is a Spring-based framework built around the concepts of separation of concerns and component-based development.

Cocoon implements these concepts around the notion of component pipelines, each component on the pipeline specializing on a particular operation. This makes it possible to use a Lego-like approach in building Web solutions, hooking together components into pipelines, often without any required programming.

Cocoon has been referred to as "Web glue for your Web application development needs."

Users: Apache Lenya, Daisy CMS, Hippo CMS, Mindquarry and more. Commonly used as a data warehousing ETL (extract-transform-load) tool or as middleware for transporting data between systems.

Apache SpamAssassin

SpamAssassin is an Apache project released under the Apache License 2.0 used for e-mail spam filtering based on content-matching rules.

SpamAssassin uses a variety of spam-detection techniques, including DNS-based and checksum-based spam detection, Bayesian filtering, external programs, blacklists, and online databases.

SpamAssassin uses a wide variety of local and network tests to identify spam signatures. This makes it harder for spammers to identify one aspect that they can craft their messages to work around.

Users: SpamAssassin has been used by thousands of individual developers and users, and has been the basis for several commercial products.

Apache Axis

Apache Axis is an implementation of the Simple Object Access Protocol (SOAP) submission to the World Wide Web Consortium (W3C). Axis is a follow-on to the Apache SOAP project.

Users: WSO2, MuleSource IBM, Progress Software.

Apache Logging Services



The Apache Logging Services Project creates and maintains open-source software related to the logging of application behavior.

The products of the Apache Logging Services Project included three logging frameworks: log4j for Java, log4cxx for C++ and log4net for the Microsoft .NET framework; and a log viewer and analysis tool: Chainsaw.

Apache Logging Services is also sponsoring the incubation of log4php.

Users: Apache Logging is ubiquitous in Java development.

Apache Commons

The Commons is an Apache project focused on all aspects of reusable Java components.

The Apache Commons project comprises three parts:
   • The Commons Proper—a repository of reusable Java components.
   • The Commons Sandbox—a workspace for Java component development.
   • The Commons Dormant—a repository of Sandbox components that are currently inactive.

Users: Amazon Web Services, Google.

10 Apache Technologies that Will Change Computing in the Next 10 Years

Apache Hadoop

The Apache Hadoop project develops open-source software for reliable, scalable, distributed computing. Hadoop enables applications to work with thousands of nodes and petabytes of data. It was inspired by Google's MapReduce and Google File System (GFS) papers.

Hadoop is a top-level Apache project, being built and used by a community of contributors from all over the world. Yahoo has been the largest contributor to the project and uses Hadoop extensively in its Web search and advertising businesses. IBM and Google have announced a major initiative to use Hadoop to support university courses in distributed computer programming.

Users: Amazon A9, Adobe, NYTimes, Microsoft Bing, IBM, Hulu, Google, Facebook, Yahoo and Baidu (leading Chinese language search engine).

Apache CouchDB

Apache CouchDB is a document-oriented database that can be queried and indexed in a MapReduce fashion using JavaScript. CouchDB also offers incremental replication with bidirectional conflict detection and resolution.

CouchDB is written in Erlang , a robust functional programming language ideal for building concurrent distributed systems. Erlang allows for a flexible design that is easily scalable and readily extensible.

Users: Amazon Web Services, IBM.

Apache Directory Server

The Apache Directory Project provides directory solutions entirely written in Java. These include a directory server, which has been certified as Lightweight Directory Access Protocol (LDAP) v3 compliant by the Open Group (Apache Directory Server), and Eclipse-based directory tools (Apache Directory Studio).

Besides LDAP, the Apache Directory Server supports Kerberos 5 and the Change Password Protocol. It has been designed to introduce triggers, stored procedures, queues and views to the world of LDAP, which has lacked these rich constructs.

Users: Atlassian, IBM, Oracle, Polycom, Red Hat, Sun, several government applications and more.

Apache Maven

Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

Users: Sonatype.

Apache Jackrabbit

Apache Jackrabbit is a fully conforming implementation of the Content Repository for Java Technology API. A content repository is a hierarchical content store with support for structured and unstructured content, full text search, versioning, transactions, observation, and more.

Users: Magnolia CMS, Hippo CMS, Nuxeo, OpenKM and more.

Apache Harmony

Apache Harmony is the Java SE project of the Apache Software Foundation . The aim of the project is to produce a large and healthy community of those interested in run-time platforms tasked with creation of:
   • A compatible, independent implementation of the Java SE 5 JDK under the Apache License v2.
   • A community-developed modular run-time (VM and class library) architecture.

Users: IBM, Eclipse and Google's Android SDK, among others.

Apache ServiceMix

Apache ServiceMix is an open-source ESB (Enterprise Service Bus) that combines the functionality of a service-oriented architecture (SOA) and an event-driven architecture (EDA) to create an agile enterprise ESB.

Users: Go-to product for enterprise business integration, business process management (BPM), and Open Services Gateway initiative (OSGi) SOA infrastructure projects; used by Apache Geronimo, arctic.service.net, FUSE, Union Investment and more.

Apache MINA

Apache MINA, the Multipurpose Infrastructure for Network Application, helps users develop high-performance and high-scalability network applications easily.

Users: Use case examples and proof of implementation can be found at http://mina.apache.org/testimonials.html.

Apache Roller

Apache Roller is a full-featured, Java multiuser group blog server. Roller is a Java Web application that should be able to run on any Java EE server and any relational database. Currently, Roller is best supported on Tomcat and MySQL — but users have reported success running Roller on Glassfish, WebSphere, JBoss, Resin, Geronimo, Derby, PostgresSQL, Oracle, etc.

Users: Apache Roller powers internal and external employee blogs at Sun, IBM and other companies as well as the JRoller.com Java blogging community.

Apache Sling

Apache Sling is a Web framework that uses a Java Content Repository, such as Apache Jackrabbit, to store and manage content. Sling applications use either scripts or Java servlets, selected based on simple name conventions, to process HTTP requests in a RESTful way.

Users: Idium (Norwegian Web hosting provider) and Sakai 3 (supports teaching, learning and research collaboration in higher education and commercial training affiliates). Also, the University of Cambridge UK, University of Oxford UK, Stanford, UC Berkley, UC Davis, University of Michigan, Indiana University (100,000 users), University of Cape Town, Charles Stuart University and other organizations.

ASF Highlights:

The globally distributed, all-volunteer membership has grown to exceed 300 individuals who represent some of the world's greatest talent in open source. In collaboration with more than 2,000 committers from six continents, the ASF oversees the development of 65 leading open-source projects, including Apache HTTP Server—still the world's most popular Web server software since its inception 15 years ago.

  • More slideshows

Advertisement

FEATURED SPONSOR MESSAGE

Microsoft Sponsored Resource Center

Windows Azure is a public cloud platform for building, hosting and scaling applications. Try Windows Azure free for 90 days and get 20GB outbound and unlimited inbound data transfer.

Learn more

Brought to you by

 
eWEEK Quick LInks