Monday, 29 July 2013

WEB SERVERS

Apache HTTP Server

The Apache HTTP Server, commonly referred to as Apache (/əˈpætʃiː/ ə-pa-chee), is a web server software program notable for playing a key role in the initial growth of the World Wide Web.In 2009, it became the first web server software to surpass the 100 million website milestone.Apache has consistently been the most popular web server on the Internet since taking that spot from NCSA HTTPd back in 1996. Typically Apache is run on a Unix-like operating system, and was developed for use on Linux.
Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation. The application is available for a wide variety of operating systems, including Unix, FreeBSD, Linux, Solaris, Novell NetWare, OS X, Microsoft Windows, OS/2, TPF, and eComStation. Released under the Apache License, Apache is open-source software.
Apache was originally based on NCSA HTTPd code. The NCSA code has since been removed from Apache, due to a rewrite.
Since April 1996 Apache has been the most popular HTTP server software in use. As of June 2013, Apache was estimated to serve 54.2% of all active websites and 53.3% of the top servers across all domains

Features

Apache supports a variety of features, many implemented as compiled modules which extend the core functionality. These can range from server-side programming language support to authentication schemes. Some common language interfaces support Perl, Python, Tcl, and PHP. Popular authentication modules include mod_access, mod_auth, mod_digest, and mod_auth_digest, the successor to mod_digest. A sample of other features include Secure Sockets Layer and Transport Layer Security support (mod_ssl), a proxy module (mod_proxy), a URL rewriter (mod_rewrite), custom log files (mod_log_config), and filtering support (mod_include and mod_ext_filter).
Popular compression methods on Apache include the external extension module, mod_gzip, implemented to help with reduction of the size (weight) of web pages served over HTTP. ModSecurity is an open source intrusion detection and prevention engine for web applications. Apache logs can be analyzed through a web browser using free scripts such as AWStats/W3Perl or Visitors.
Virtual hosting allows one Apache installation to serve many different websites. For example, one machine with one Apache installation could simultaneously serve www.example.com, www.example.org, test47.test-server.example.edu, etc.
Apache features configurable error messages, DBMS-based authentication databases, and content negotiation. It is also supported by several graphical user interfaces (GUIs).
It supports password authentication and digital certificate authentication. Apache has a built in search engine and an HTML authorizing tool and supports FTP.
Because the source code is freely available, anyone can adapt the server for specific needs, and there is a large public library of Apache add-ons.
The open source software movement has received enormous attention in the last several years. It is often characterized as a fundamentally new way to develop software that poses a serious challenge to the commercial software businesses that dominate most software markets today.

Performance

Although the main design goal of Apache is not to be the "fastest" web server, Apache does have performance similar to other "high-performance" web servers. Instead of implementing a single architecture, Apache provides a variety of MultiProcessing Modules (MPMs) which allow Apache to run in a process-based, hybrid (process and thread) or event-hybrid mode, to better match the demands of each particular infrastructure. This implies that the choice of correct MPM and the correct configuration is important. Where compromises in performance need to be made, the design of Apache is to reduce latency and increase throughput, relative to simply handling more requests, thus ensuring consistent and reliable processing of requests within reasonable time-frames.
The Apache 2.2 series was considered significantly slower than nginx for delivering static pages, although remaining significantly faster for dynamic pages. To address this issue, the Apache version considered by the Apache Foundation as providing high-performance is the multi-threaded version which mixes the use of several processes and several threads per process.This architecture, and the way it was implemented in the Apache 2.4 series, provides for performance equivalent or slightly better than event-based webservers.

Licensing

The Apache HTTP Server codebase was relicensed to the Apache 2.0 License (from the previous 1.1 license) in January 2004, and Apache HTTP Server 1.3.31 and 2.0.49 were the first releases using the new license. Some Apache users did not like the change and continued the use of pre-2.0 Apache versions (typically 1.3.x). For example, the OpenBSD project effectively forked Apache 1.3.x for its purposes.

Apache HTTP Server Project

The Apache HTTP Server Project is a collaborative software development effort aimed at creating a robust, commercial-grade, feature-rich and freely-available source code implementation of an HTTP (Web) server. The project is jointly managed by a group of volunteers located around the world, using the Internet and the Web to communicate, plan, and develop the server and its related documentation. This project is part of the Apache Software Foundation. In addition, hundreds of users have contributed ideas, code, and documentation to the project

Oracle WebLogic Server

Owned by Oracle Corporation, Oracle WebLogic consists of a Java EE platform product-family that includes:
·        a Java EE application server, WebLogic Application Server
·        an enterprise portal, WebLogic Portal
·        an Enterprise Application Integration platform
·        a transaction server and infrastructure, WebLogic Tuxedo
·        a telecommunication platform, WebLogic Communication Platform
·        an HTTP web server

History:

Prior to co-founding WebLogic, Inc., in September 1995, Paul Ambrose and Carl Resnikoff had developed (pre-JDBC) Oracle, Sybase, and Microsoft SQL Server database-drivers for Java under the name dbKona, as well as a "three-tier" server to permit applets to connect to these databases.
This WebLogic 1.48 server had the name T3Server (a corruption of "3-Tier Server"[dubious – discuss]). Concurrently, Laurie Pitman and Bob Pasker had worked on network-management tools written in Java. Pasker had written an SNMP stack in Java and a W32 native method for ICMP ping,while Pitman had worked on applets to display the management data.
The 1.48 server version had (among other hidden features) the ability to extend itself by modifying a dispatcher and adding a handler for different types of messages. Pasker talked Ambrose into sending him the source code for the server, and Pasker extended it so that applets could make SNMP and PING requests on the network, and display the results.
At this point, the founders worked together to pursue what eventually became the "Application Server".
In 1998, WebLogic appointed board member and angel investor Ali Kutay as President and CEO. Shortly there after, BEA Systems acquired WebLogic, Inc. in 1998, following which it became BEA WebLogic. Oracle acquired BEA in 2008, following which it became Oracle WebLogic. WebLogic servers has been included in Oracle Technology Product family. WebLogic show various editions, such as WebLogic Server Standard Edition, WebLogic Server Enterprise Edition, WebLogic Suite, and is supplemented with five WebLogic Suite Options and Application Server Enterprise Management packs.

Application Server Versions:

·        WebLogic Server 12c Release 2 (12.1.2) - July 11, 2013
·        WebLogic Server 12c Release 1 (12.1.1) - Dec 1, 2011
·        WebLogic Server 11gR1 PS5 (10.3.6) - February 26, 2012
·        WebLogic Server 11gR1 PS4 (10.3.5) - May 16, 2011
·        WebLogic Server 11gR1 PS3 (10.3.4) - January 15, 2011
·        WebLogic Server 11gR1 PS2 (10.3.3) - April 2010
·        WebLogic Server 11gR1 PS1 (10.3.2) - November 2009
·        WebLogic Server 11g (10.3.1) - July 2009
·        WebLogic Server 9.0 - November 2006
·        WebLogic Server 8.1 - July 2003
·        WebLogic Server 7.0 - June 2002
·        WebLogic Server 6.1
·        WebLogic Server 6.0 - file date March 2001 on an old CD
·        WebLogic Server 5.1 (code name: Denali) First version supporting hot deployment for applications (via command line)
·        WebLogic Server 4.0
·        WebLogic Tengah 3.1 - June 1998
·        WebLogic Tengah - November 1997

Capabilities:

Oracle WebLogic Server forms part of Oracle Fusion Middleware portfolio and supports Oracle, DB2, Microsoft SQL Server, MySQL Enterprise and other JDBC-compliant databases. Oracle WebLogic Platform also includes:
·        JRockit, a custom JVM.
·        Korthal that includes Commerce Server and Personalization Server
·        WebLogic Integration
·        WebLogic Workshop, an Eclipse IDE for Java, SOA and Rich Internet Applications

WebLogic Server includes .NET interoperability and supports the following native integration capabilities:

·        CORBA connectivity
·        COM+ Connectivity
·        IBM WebSphere MQ connectivity
·        Java EE Connector Architecture
·        Native enterprise-grade JMS messaging
·        WebLogic/Tuxedo Connector

Oracle WebLogic Server Process Edition also includes Business Process Management and Data Mapping functionality. WebLogic supports security policies managed by security administrators. The Oracle WebLogic Server Security Model includes:

·        application business logic separated from security code
·        complete scope of security coverage for all Java EE and non-Java EE components

Components:

As of 2010, Oracle Corporation regards the following products as "core components" of Oracle WebLogic Server:
·        Enterprise Grid Messaging
·        JMS Messaging Standard
·        JRockit
·        Oracle Coherence, in-memory caching of frequently used data across multiple servers[19]
·        Oracle TopLink
·        Oracle WebLogic Server Web Services
·        Tuxedo


JBOSS


WildFly, formerly known as JavaBeans Open Source Software Application Server (JBoss AS, or simply JBoss) is an application server that implements the Java Platform, Enterprise Edition (Java EE).
JBoss is written in Java and as such is cross-platform: usable on any operating system that supports Java.
JBoss was developed by JBoss, now a division of Red Hat. Licensed under the terms of the GNU Lesser General Public License, JBoss is free and open source software.
The renaming to WildFly was done to reduce confusion. The renaming only affects the JBoss Application Server project. The JBoss Community or the Red Hat JBoss product line (with JBoss Enterprise Application Platform) all retain their names.


Versions:

JBoss AS 4.0, a Java EE 1.4 application server, features an embedded Apache Tomcat 5.5 servlet container. It supports any Java Virtual Machine (JVM) between versions 1.4 and 1.6. JBoss can run on numerous operating systems including many POSIX platforms (like GNU/Linux, FreeBSD and Mac OS X), Microsoft Windows and others, as long as a suitable JVM is present.
JBoss AS 4.2 also functions as a Java EE 1.4 application server, but deploys Enterprise JavaBeans 3.0 by default. It requires the Java Development Kit version 5, and includes Tomcat 5.5.
JBoss AS 5.1, released in 2009, operates as a Java EE 5 application server. It is a minor update of the major release JBoss AS 5.0, which was in development for at least three years and was built on top of a new JBoss microcontainer. JBoss AS 5.1 contains a preview of some elements from the Java EE 6 specification.
JBoss AS 6.0, an unofficial implementation of Java EE 6, was released on December 28, 2010. Although JBoss AS 6 does not support the full Java EE 6 stack,[8] it chose not to support this officially by obtaining an official certification from Oracle. It does, however, officially support the Java EE 6 Web Profile.
JBoss AS 7,[1] was released on July 12, 2011, only six months after the last major release, JBoss AS 6. Unlike previous increments of the major versioning number, JBoss AS 7 supports the same Java EE specification as the last major release, namely Java EE 6. The Java EE profile is only partially implemented in JBoss AS 7, e.g. it includes MDBs, but listening to JMS destinations (which is mandated by the full spec) is not supported.[11] It is, however, certified for the Web Profile. The software code has been completely rewritten for JBoss AS 7. Major changes visible to the user are the inability to define resources like JMS destinations and datasources inside archives (war/ear), the way datasources are defined, a much smaller size (less than half of JBoss AS 6) and a 10-fold reduction in startup time.
JBoss AS 7.1, the current stable version, was released in February 2012. The remaining parts of the EE spec were implemented, and this version was certified for the EE full profile.WildFly 8 is the direct continuation to the JBoss AS project.


Product Features:

·        Aspect-oriented programming (AOP) support
·        Clustering
·        Deployment API
·        Distributed caching (using JBoss Cache, a standalone product)
·        Distributed deployment (farming)
·        Enterprise JavaBeans versions 3 and 2.1
·        Failover (including sessions)
·        Hibernate integration (for persistence programming; Java Persistence API or JPA)
·        Java Authentication and Authorization Service (JAAS)
·        Java EE Connector Architecture (JCA) integration
·        Java Management Extensions
·        Java Message Service (JMS) integration
·        Java Naming and Directory Interface (JNDI)
·        Java Transaction API (JTA)
·        Java Authorization Contract for Containers (JACC) integration
·        JavaMail
·        Java Server Faces 1.2 (Mojarra)
·        Java Server Pages (JSP) / Java Servlet 2.1/2.5 (Tomcat)
·        JBossWS (JBoss Web Services) for Java EE web services like JAX-WS
·        JDBC


WEB SERVERS

Apache HTTP Server

The Apache HTTP Server, commonly referred to as Apache (/əˈpætʃiː/ ə-pa-chee), is a web server software program notable for playing a key role in the initial growth of the World Wide Web.In 2009, it became the first web server software to surpass the 100 million website milestone.Apache has consistently been the most popular web server on the Internet since taking that spot from NCSA HTTPd back in 1996. Typically Apache is run on a Unix-like operating system, and was developed for use on Linux.
Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation. The application is available for a wide variety of operating systems, including Unix, FreeBSD, Linux, Solaris, Novell NetWare, OS X, Microsoft Windows, OS/2, TPF, and eComStation. Released under the Apache License, Apache is open-source software.
Apache was originally based on NCSA HTTPd code. The NCSA code has since been removed from Apache, due to a rewrite.
Since April 1996 Apache has been the most popular HTTP server software in use. As of June 2013, Apache was estimated to serve 54.2% of all active websites and 53.3% of the top servers across all domains

Features

Apache supports a variety of features, many implemented as compiled modules which extend the core functionality. These can range from server-side programming language support to authentication schemes. Some common language interfaces support Perl, Python, Tcl, and PHP. Popular authentication modules include mod_access, mod_auth, mod_digest, and mod_auth_digest, the successor to mod_digest. A sample of other features include Secure Sockets Layer and Transport Layer Security support (mod_ssl), a proxy module (mod_proxy), a URL rewriter (mod_rewrite), custom log files (mod_log_config), and filtering support (mod_include and mod_ext_filter).
Popular compression methods on Apache include the external extension module, mod_gzip, implemented to help with reduction of the size (weight) of web pages served over HTTP. ModSecurity is an open source intrusion detection and prevention engine for web applications. Apache logs can be analyzed through a web browser using free scripts such as AWStats/W3Perl or Visitors.
Virtual hosting allows one Apache installation to serve many different websites. For example, one machine with one Apache installation could simultaneously serve www.example.com, www.example.org, test47.test-server.example.edu, etc.
Apache features configurable error messages, DBMS-based authentication databases, and content negotiation. It is also supported by several graphical user interfaces (GUIs).
It supports password authentication and digital certificate authentication. Apache has a built in search engine and an HTML authorizing tool and supports FTP.
Because the source code is freely available, anyone can adapt the server for specific needs, and there is a large public library of Apache add-ons.
The open source software movement has received enormous attention in the last several years. It is often characterized as a fundamentally new way to develop software that poses a serious challenge to the commercial software businesses that dominate most software markets today.

Performance

Although the main design goal of Apache is not to be the "fastest" web server, Apache does have performance similar to other "high-performance" web servers. Instead of implementing a single architecture, Apache provides a variety of MultiProcessing Modules (MPMs) which allow Apache to run in a process-based, hybrid (process and thread) or event-hybrid mode, to better match the demands of each particular infrastructure. This implies that the choice of correct MPM and the correct configuration is important. Where compromises in performance need to be made, the design of Apache is to reduce latency and increase throughput, relative to simply handling more requests, thus ensuring consistent and reliable processing of requests within reasonable time-frames.
The Apache 2.2 series was considered significantly slower than nginx for delivering static pages, although remaining significantly faster for dynamic pages. To address this issue, the Apache version considered by the Apache Foundation as providing high-performance is the multi-threaded version which mixes the use of several processes and several threads per process.This architecture, and the way it was implemented in the Apache 2.4 series, provides for performance equivalent or slightly better than event-based webservers.

Licensing

The Apache HTTP Server codebase was relicensed to the Apache 2.0 License (from the previous 1.1 license) in January 2004, and Apache HTTP Server 1.3.31 and 2.0.49 were the first releases using the new license. Some Apache users did not like the change and continued the use of pre-2.0 Apache versions (typically 1.3.x). For example, the OpenBSD project effectively forked Apache 1.3.x for its purposes.

Apache HTTP Server Project

The Apache HTTP Server Project is a collaborative software development effort aimed at creating a robust, commercial-grade, feature-rich and freely-available source code implementation of an HTTP (Web) server. The project is jointly managed by a group of volunteers located around the world, using the Internet and the Web to communicate, plan, and develop the server and its related documentation. This project is part of the Apache Software Foundation. In addition, hundreds of users have contributed ideas, code, and documentation to the project

Oracle WebLogic Server

Owned by Oracle Corporation, Oracle WebLogic consists of a Java EE platform product-family that includes:
·        a Java EE application server, WebLogic Application Server
·        an enterprise portal, WebLogic Portal
·        an Enterprise Application Integration platform
·        a transaction server and infrastructure, WebLogic Tuxedo
·        a telecommunication platform, WebLogic Communication Platform
·        an HTTP web server

History:

Prior to co-founding WebLogic, Inc., in September 1995, Paul Ambrose and Carl Resnikoff had developed (pre-JDBC) Oracle, Sybase, and Microsoft SQL Server database-drivers for Java under the name dbKona, as well as a "three-tier" server to permit applets to connect to these databases.
This WebLogic 1.48 server had the name T3Server (a corruption of "3-Tier Server"[dubious – discuss]). Concurrently, Laurie Pitman and Bob Pasker had worked on network-management tools written in Java. Pasker had written an SNMP stack in Java and a W32 native method for ICMP ping,while Pitman had worked on applets to display the management data.
The 1.48 server version had (among other hidden features) the ability to extend itself by modifying a dispatcher and adding a handler for different types of messages. Pasker talked Ambrose into sending him the source code for the server, and Pasker extended it so that applets could make SNMP and PING requests on the network, and display the results.
At this point, the founders worked together to pursue what eventually became the "Application Server".
In 1998, WebLogic appointed board member and angel investor Ali Kutay as President and CEO. Shortly there after, BEA Systems acquired WebLogic, Inc. in 1998, following which it became BEA WebLogic. Oracle acquired BEA in 2008, following which it became Oracle WebLogic. WebLogic servers has been included in Oracle Technology Product family. WebLogic show various editions, such as WebLogic Server Standard Edition, WebLogic Server Enterprise Edition, WebLogic Suite, and is supplemented with five WebLogic Suite Options and Application Server Enterprise Management packs.

Application Server Versions:

·        WebLogic Server 12c Release 2 (12.1.2) - July 11, 2013
·        WebLogic Server 12c Release 1 (12.1.1) - Dec 1, 2011
·        WebLogic Server 11gR1 PS5 (10.3.6) - February 26, 2012
·        WebLogic Server 11gR1 PS4 (10.3.5) - May 16, 2011
·        WebLogic Server 11gR1 PS3 (10.3.4) - January 15, 2011
·        WebLogic Server 11gR1 PS2 (10.3.3) - April 2010
·        WebLogic Server 11gR1 PS1 (10.3.2) - November 2009
·        WebLogic Server 11g (10.3.1) - July 2009
·        WebLogic Server 9.0 - November 2006
·        WebLogic Server 8.1 - July 2003
·        WebLogic Server 7.0 - June 2002
·        WebLogic Server 6.1
·        WebLogic Server 6.0 - file date March 2001 on an old CD
·        WebLogic Server 5.1 (code name: Denali) First version supporting hot deployment for applications (via command line)
·        WebLogic Server 4.0
·        WebLogic Tengah 3.1 - June 1998
·        WebLogic Tengah - November 1997

Capabilities:

Oracle WebLogic Server forms part of Oracle Fusion Middleware portfolio and supports Oracle, DB2, Microsoft SQL Server, MySQL Enterprise and other JDBC-compliant databases. Oracle WebLogic Platform also includes:
·        JRockit, a custom JVM.
·        Korthal that includes Commerce Server and Personalization Server
·        WebLogic Integration
·        WebLogic Workshop, an Eclipse IDE for Java, SOA and Rich Internet Applications

WebLogic Server includes .NET interoperability and supports the following native integration capabilities:

·        CORBA connectivity
·        COM+ Connectivity
·        IBM WebSphere MQ connectivity
·        Java EE Connector Architecture
·        Native enterprise-grade JMS messaging
·        WebLogic/Tuxedo Connector

Oracle WebLogic Server Process Edition also includes Business Process Management and Data Mapping functionality. WebLogic supports security policies managed by security administrators. The Oracle WebLogic Server Security Model includes:

·        application business logic separated from security code
·        complete scope of security coverage for all Java EE and non-Java EE components

Components:

As of 2010, Oracle Corporation regards the following products as "core components" of Oracle WebLogic Server:
·        Enterprise Grid Messaging
·        JMS Messaging Standard
·        JRockit
·        Oracle Coherence, in-memory caching of frequently used data across multiple servers[19]
·        Oracle TopLink
·        Oracle WebLogic Server Web Services
·        Tuxedo


JBOSS


WildFly, formerly known as JavaBeans Open Source Software Application Server (JBoss AS, or simply JBoss) is an application server that implements the Java Platform, Enterprise Edition (Java EE).
JBoss is written in Java and as such is cross-platform: usable on any operating system that supports Java.
JBoss was developed by JBoss, now a division of Red Hat. Licensed under the terms of the GNU Lesser General Public License, JBoss is free and open source software.
The renaming to WildFly was done to reduce confusion. The renaming only affects the JBoss Application Server project. The JBoss Community or the Red Hat JBoss product line (with JBoss Enterprise Application Platform) all retain their names.


Versions:

JBoss AS 4.0, a Java EE 1.4 application server, features an embedded Apache Tomcat 5.5 servlet container. It supports any Java Virtual Machine (JVM) between versions 1.4 and 1.6. JBoss can run on numerous operating systems including many POSIX platforms (like GNU/Linux, FreeBSD and Mac OS X), Microsoft Windows and others, as long as a suitable JVM is present.
JBoss AS 4.2 also functions as a Java EE 1.4 application server, but deploys Enterprise JavaBeans 3.0 by default. It requires the Java Development Kit version 5, and includes Tomcat 5.5.
JBoss AS 5.1, released in 2009, operates as a Java EE 5 application server. It is a minor update of the major release JBoss AS 5.0, which was in development for at least three years and was built on top of a new JBoss microcontainer. JBoss AS 5.1 contains a preview of some elements from the Java EE 6 specification.
JBoss AS 6.0, an unofficial implementation of Java EE 6, was released on December 28, 2010. Although JBoss AS 6 does not support the full Java EE 6 stack,[8] it chose not to support this officially by obtaining an official certification from Oracle. It does, however, officially support the Java EE 6 Web Profile.
JBoss AS 7,[1] was released on July 12, 2011, only six months after the last major release, JBoss AS 6. Unlike previous increments of the major versioning number, JBoss AS 7 supports the same Java EE specification as the last major release, namely Java EE 6. The Java EE profile is only partially implemented in JBoss AS 7, e.g. it includes MDBs, but listening to JMS destinations (which is mandated by the full spec) is not supported.[11] It is, however, certified for the Web Profile. The software code has been completely rewritten for JBoss AS 7. Major changes visible to the user are the inability to define resources like JMS destinations and datasources inside archives (war/ear), the way datasources are defined, a much smaller size (less than half of JBoss AS 6) and a 10-fold reduction in startup time.
JBoss AS 7.1, the current stable version, was released in February 2012. The remaining parts of the EE spec were implemented, and this version was certified for the EE full profile.WildFly 8 is the direct continuation to the JBoss AS project.


Product Features:

·        Aspect-oriented programming (AOP) support
·        Clustering
·        Deployment API
·        Distributed caching (using JBoss Cache, a standalone product)
·        Distributed deployment (farming)
·        Enterprise JavaBeans versions 3 and 2.1
·        Failover (including sessions)
·        Hibernate integration (for persistence programming; Java Persistence API or JPA)
·        Java Authentication and Authorization Service (JAAS)
·        Java EE Connector Architecture (JCA) integration
·        Java Management Extensions
·        Java Message Service (JMS) integration
·        Java Naming and Directory Interface (JNDI)
·        Java Transaction API (JTA)
·        Java Authorization Contract for Containers (JACC) integration
·        JavaMail
·        Java Server Faces 1.2 (Mojarra)
·        Java Server Pages (JSP) / Java Servlet 2.1/2.5 (Tomcat)
·        JBossWS (JBoss Web Services) for Java EE web services like JAX-WS
·        JDBC