SOAP is the XML-based communication protocol and it is the encoding format of the inter-application communication. In earlier it was invented by Microsoft and User land software and it is applied through several generations.
SOAP is backbone of the new generation of cross-platform cross-language and distributed computing applications and it is termed as Web Services.
Axis:
Axis stands for Apache Extensible interaction system and it is the fancy way of implementing the SOAP engine. It is the open source effort. Axis is the engine of SOAP and it is the framework for constructing several SOAP processors such as clients, servers and gateways etc. The current using version of Axis is written in java but the client side of Axis is written in C++ and it is being developed.
It is not just SOAP engine and it also includes so many features.
There are.
It is the stand-alone server.
It can be plugged into the servlet engines such as Tomcat.
It gives the extensive support for Web Service Description Language (WSDL).
It generates the java classes from WSDL
It monitors the TCP/IP packets as a tool.
It is the third generation of Apache SOAP in late 2000, the Apache SOAP committers began to discuss how to make the engine more flexible, configurable and how to able handle both SOAP and upcoming protocol.
After that it becomes very clear to require the ground-up architecture. Several committers of v2 proposed the various designs all are configurable "chains" and "handlers" which would implement in very flexible and composable manner.
After several months they continue to discuss the coding effort and it delivers the following key features.
Speed:
It uses SAX and it is the event-based parsing to achieve the greater speed in earlier versions of Apache SOAP.
Flexibility:
It gives the complete freedom to the developer to insert the extensions into the engine for custom header processing, system management or else anything.
Stability:
It defines the set of published interfaces to change slowly to the rest of the Axis.
Component-oriented deployment:
It easily defines the reusable networks of handlers to implement the common patterns of applications or it distribute to the partners.
Transport framework:
It has designing transports to clean and simple abstraction i.e. senders and listeners of the SOAP through various protocols such as SMTP, FTP and core of the engine and these are completely transport-independent.
WSDL support:
It supports the web service description language and it allows easily build the stubs to access remote services and these automatically exports the machine-readable descriptions of services from the Axis.
Custom deployment:
JWS files are the earlier way to get the classes in web services but these are not the best choice. If we need the source code there might be expose the pre-existing class on the system without source. The amount of configuration can do how the service gets access and it can't specify the custom type mappings or control to invoke when the service can be used by the people.
Deploying via descriptors:
The flexibility available in the Axis then you should get the Axis Web Service Deployment Descriptor. The deployment descriptor contains a bunch of things to "deploy" into the Axis i.e. it makes to available to the Axis engine.
Advanced WSDD:
It contains information about services and pieces of Axis are called "Handlers" and these will cover in later section.
Scoped Services:
It supports the scope service objects in three ways. There is "Request" scope, the default and SOAP request comes from your service and all requests are serviced by the singleton shared object and these will create by the "Application Scope" and session scope creates the new object for session and this is enabled by the client to get the service. The scope session adds the parameter to get the services like "value" is request, session or application.
Apache server:
Apache started its life in 1995 and it is the enhanced version of the NCSA Web Server through a series of "patches" and the result is APATCHY server. The importance of configuration files is to keep the backward compatibility with the NCSA web server.
It ports for Windows 95 and NT platforms were announced in 1998 and IBM announce to support the Apache project and Apache version is planned in its internet commerce servers.
Apache User-Base:
The benchmark comparisons provided by the net craft Surveys and it will shows the use of Apache has grown steadily and it is the most popular web servers in use today. It can run over 1.2 million internet servers.
Advantages of Apache:
It offers various advantages to the users, developers and web administrators.
Features:
It has various features and it includes the protocol implementation.
Customizable:
Apache's architecture allows building the server and it is made of measure.
Administration:
These files are in ASCII, it has simple format and it can be edited using text editor. These are transferable and it can be effective by a
Server. The server can be control from command line which makes to convenient the remote administration.
Extensible:
The open to the public is Apache server and API source code. If there is any feature and that is not exist in the Apache that can write your own server model and ready to implement it.
Portability:
Apache runs the wide variety of operating systems and it includes the variants of UNIX, Windows 9x/NT and various others.
Stability/Reliability
It is an open source to the public .When any bugs are found, these are very quickly communicated and rapidly fixed. Updates are made and announced later. The result in Apache server being more stable and reliable and server over the time.
Support:
Apache is supported by the Apache group and it has a large number of dedicated users and many often can be found in the newsgroup.
Obtaining Apache:
It is available as source and binary formats for various operating systems. These sites are the current release as well as recent beta releases.
Binary VS Source:
There is inherent trade-off between the installation of source and binary. A binary can be installed easily and it is not necessary for optimizing the system. The source is very difficult to install and it is time consuming and it follows the series of steps and it make sure that the different versions of compilers are available on the system.
Apache on Specific Operating Systems:
In this section we will give the details of compiling and running Apache on UNIX and Windows.
UNIX:
In UNIX we will mean UNIX and its variants and it includes the Linux. All Apache administrations are UNIX command-line based.
Configuring Apache on UNIX:
There are three central configuration files which contain various directives that are used for the setup. By default these files can be located in the conf directory and they are srm.conf, access.conf and Httpd.conf. The names of these files are relative to the server root which is set by the Server Root directive and the registry.
Httpd.conf:
It contains the directives that can be used for the controlling the operation of the server daemon. It setup the general attributes about the server i.e. port number and it can be used for running the Httpd.conf.
Srm.conf:
It contains the directives that can be used for controls specification of the documents that the server can provide the clients.
Access.conf:
It contains the directives that can be used for control to access the documents.
Starting the Server:
By using httpd the server can start and run. So we will look the httpd.conf location that can be compiled by the code. In this file we can give the real location with the -f option.
/usr/local/apache/httpd -f /usr/local/apache/conf/httpd.conf.
If all goes well it will return to the command prompt which indicates that server is running. If anything goes wrong the initialization of the server send the error message on the screen.
If the server started properly the server can connect the browser in proper manner. Once the Apache starts running it listens the 80 ports. If the server can connect the browser can enter the URL.
Stopping the Server:
The command for stopping the server is:
kill -TERM `cat /usr/local/apache/logs/httpd.pid
Restarting the server:
The HUP signal can be send to the parent process it kills the children like TERM but the parent doesn't exit. The scripts are src/support/apachect1 which can be used for start, stop and restart the Apache.