Divya's Blog

Archive for the ‘web applications’ Category


Apache HTTP Server configuration screen

Image via Wikipedia

Introduction

  • Apache is a web server, that has it’s roots in the CERN web server.
  •  It is the most widely used web server on the Internet today, it can be integrated with content technologies like Zope, databases like MySQL and PostgreSQL and others (including Oracle and DB2) and the speed and versatility offered by Web rapid application development (RAD) languages like Personal Home Page (PHP).
  •  It is highly configurable, flexible and most importantly,it is open. This had lead to a host of development support on and around Apache.

External modules such as mod_rewrite, mod_perl and mod_php have added fist-fulls of functionality as well as improved the speed with which these requests can be serviced. It has, in no small part, played a role in the acceptance of the Linux platform in corporate organizations.

Apache versions

  • Apache comes in two basic flavors: Apache version 1.3.x and version 2.x.
  •  The configuration of these two differ quite substantially in some places

Basic server design

  • The Apache web server has been designed to be used in either a modular or non-modular way.
  •  In the former, modules are compiled separately from the core Apache server, and loaded dynamically as they are needed. .
  • Generally though, when we unpack an Apache that has been pre-compiled (i.e. It’s already in a .deb or .rpm package format), it is compiled to be modular.

Basic configuration

  • The core Apache server is configured using one text configuration file – httpd.conf. This usually resides in /etc/httpd, but may be elsewhere depending on your distribution.
  • The httpd.conf file is fairly well documented, however there are additional documentation with Apache that is an excellent resource to keep handy.

The server has 3 sections to the configuration file:

1. The global configuration settings

2. The main server configuration settings

3. The virtual hosts

Global configuration settings

In this part of the configuration file, the settings affect the overall operation of the server. Setting such as the minimum number of servers to start, the maximum number of servers to start, the server root directory and what port to listen on for http requests (the default port is 80, although you may make this whatever you wish).

Main server configuration settings

The majority of the server configuration happens within this section of the file. This is where we specify the DocumentRoot, the place we put our web pages that we want served to the public. This is where permissions for accessing the directories are defined and where authentication is configured.

The virtual hosts section

  • Hosting of many sites does not require many servers. Apache has the ability to divide it’s time by offering web pages for different web sites. The web site www.QEDux.co.za, is hosted on the same web server as http://www.hamishwhittal.org.za.
  • Apache is operating as a virtual host – it’s offering two sites from a single server.
Advertisements

SOA is based on four important concepts:-

 

1.Boundaries are well defined

  • In SOA, everything is formalized.
  • The client who is consuming the service does need to know how the implementation of

the service is done.

  • In SOA the rule is if we do enhancement we do not need to change anything at

the client.

  • SOA based application only understands that there is an end point,

contract and bindings.

     

2.Services evolves

  • SOA service versioned and you can host those services in new end points.

For instance we have a service called as “SearchTickets (TicketNumber) “which

gives details based on TicketNumber and its exposed on end point “ep1”.

Tomorrow we want make our SearchTickets service more useful by also providing an

extra    option of  allowing to search by passenger name. Some just declare a

new end point “ep2” with service “SearchTickets (TicketNumber,Passenger Name)”.

So the client who is consuming the service at end point ep1 continues and at the

other end  we have also evolved our service by adding new end points ep2.

3. Services share only schemas and contracts

  • Services use Schemas to represent data and contracts to understand behavior.
  • They’re not use language dependent types or classes in order to understand data

and behavior.

  • XML is used to define schemas and contracts. Due to this there is not heavy coupling

between environments.

4. Service compatibility is policy based

  • Policy describes the capabilities of the system.
  • Depending on policies the services can degrade to match the service for the client.

For instance your service needs to be hosted for two types of client one which uses Remoting as the communication methodology while other client uses DCOM. An ideal SOA service can cater to both of them accordingto there communication policies.


IIS has three level of isolation:-

  1. LOW (IIS process)
  2. Medium pooled scenario
  3. High isolation scenario

LOW (IIS process):

  • In this main IIS process and ASP.NET application run in same process.
  •  So if any one crashes the other is also affected.

Example : It is possible to  host yahoo, hotmail .amazon and google on a single PC. So all application and the IIS process runs on the same process. In case any website crashes it affects every one.


Medium (Pooled):

  • In Medium pooled scenario the IIS and web application run in different process.
  • So in this case there are two processes process1 and process2.
  • In process1 the IIS process is running and in process2 we have all Web application running.

High (Isolated):

  • In high isolated scenario every process is running is there own process.
  • In given figure of high isolated scenario,there are five processes and every one   individual application.this requires heavy memory capacity with high fidelity.

                                       High isolation scenario


Medium pooled scenario

LOW IIS process scenario

                                                                  


Windows authentication and IIS

 windows authentication for ASP.NET application, need to configure authentication within IIS. This is because IIS provides Windows authentication.

IIS provides four different authentication methods:

  1. Anonymous
  2. Basic
  3. Digest and
  4. Windows integrated
  • IIS doesn’t perform any authentication for  the anonymous authentication ie it allows any one to access the ASP.NET application.
  • In the  basic authentication, users must provide a windows username and password to connect. How ever this information is sent over the network in clear text, which makes basic authentication very much insecure over the internet.
  • In the digest authentication, users must still provide a windows user name and password to connect. However the password is hashed before it is sent across the network.
  • Digest authentication requires that all users be running Internet Explorer 5 or later and that windows accounts to stored in active directory.

Windows integrated authentication:

  • In windows integrated authentication, passwords never cross the network.
  • Users must still have a username and password, but the application uses either the Kerberos or challenge/response protocols authenticate the user.
  • Windows-integrated authentication requires that all users be running internet explorer 3.01 or later Kerberos is a network authentication protocol.
  • It is designed to provide strong authentication for client/server applications by using secret-key cryptography.
  • Kerberos is a solution to network security problems. It provides the tools of authentication and strong cryptography over the network to help to secure information in systems across entire enterprise

Passport authentication

  • Passport authentication  make  use  of Microsoft’s passport service to authenticate users of your application.
  • If  users have signed up with passport and we configure the authentication mode of the application to the passport authentication, all authentication duties are off-loaded to the passport servers.
  •  Passport uses an encrypted cookie mechanism to indicate authenticated users. If users have already signed into passport when they visit our site, they’ll be considered authenticated by ASP.NET. Otherwise they’ll be redirected to the passport servers to log in. When they are successfully log in, they’ll be redirected back to your site
  • To use passport authentication we have to download the Passport Software Development Kit (SDK) and install it on our server.

The SDK can be found at http://msdn.microsoft.com/library/default.asp?url=/downloads/list/websrvpass.aps. It includes full details of implementing passport authentication in your own applications.

Forms authentication

  • Forms authentication provides us with a way to handle authentication using our own custom logic with in an ASP.NET application.

The following applies if we choose forms authentication.

  •  When a user requests a page for the application, ASP.NET checks for the presence of a special session cookie. If the cookie is present, ASP.NET assumes the user is authenticated and processes the request.
  • If the cookie isn’t present, ASP.NET redirects the user to a web form you provider and we may choose any authentication method to check the form
  •  When the user is authenticated, you indicate this to ASP.NET by setting a property, which creates the special cookie to handle subsequent requests.

  • The Windows Distributed interNet Applications Architecture (DNA) is a Microsoft blueprint for robust, scalable, distributed business software.
  • It gives all combined advantages of Centralized mainframe, application servers, internet technologies and Personal computers.

Evolution of Windows DNA

Windows DNA is an evolution which started from mainframes (where all logic was centralized), Fox pro ages ( where we talked in terms of two tier systems), VB6 / SQL SERVER (three tier where we talked in terms of having one more tier which was mainly COM where business logic resided), COM+ ( looking in terms of transactions and fulfilling ACID rules) and finally the DNA.

Principal technologies comprising DNA

  1.  ActiveX,
  2. Dynamic HTML (DHTML) and
  3. COM.

To support web based application Microsoft has tried to add internet features into the OS using COM.

cons:

But developing a web based application using COM based Windows DNA is quite complex. The complexity is due to the simple fact that Windows DNA requires the use of numerous technologies and languages. These technologies are completely unrelated from a syntatic point of view.


  A webapplication is a type of client/server application, which means that the functions of the application are split between a client computer and a server computer. The client and server computers are connected to one another via the Internet, and they communicate with each other using HTTP(Hypertext Transfer Protocol).

  • To access a web application, you use a web browser that runs on a client computer
  • The web application itself is stored on the server computer. This computer runs web server software that enables it to send web pages to web browsers.

Popular  web servers

  1. Microsoft’s Internet Information Services (or IIS) for ASP.NET
  2. Apache HTTP Server.

DBMS:

  • The web applications work with data that’s stored in a database, most server computers also run a database management system (or DBMS).
  • The DBMS provides access to information stored in a database. To improve performance on larger applications, the DBMS can be run on a separate server computer.

Popular database management systems for ASP.NET development

  1.  Microsoft SQL Server
  2.  Oracle.

HTML:

The user interface for a web application is implemented as a series of web pages that are displayed in the web browser. Each web page is defined by a web form using HTML, or Hypertext Mark up Language, which is a standardized set of mark up tags.


Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 6 other followers

Subscribe our Blog

Subscribe
CLUSTER MAPS Locations of visitors to this page

Tweets

Error: Please make sure the Twitter account is public.