Sahara WEB Server (Skeleton for WEB Technology) Managing Extension of Information
System Architecture Documentation 1.0.0
Presented By Rajendra Man Banepali Software Engineer BCA, MSCIT
System Architecture: HTTP Server (Sahara WEB Server 1.0.0) Software Engineering for better e-solution
1
Background ................................................................................................................ 3
2
Introduction................................................................................................................ 4
3
Objective ..................................................................................................................... 5
4
Main Features ............................................................................................................ 6 4.1
Web Server ................................................................................................................... 6
4.2
Creating new virtual WEB site ................................................................................... 6
4.3
PHP scripting supported server.................................................................................. 6
4.4
Database Connectivity ................................................................................................. 6
4.5
Implementation of Threads on WEB Server ............................................................. 6
4.6
Server log system for client URL and errors checking. ............................................ 7
4.7
Server command input for server control and configuration .................................. 7
4.8
Faster WEB System on demand of client because of Java platform ....................... 7
5
Recommended Computing Environment: Platform and Technology requirements 8 5.1
Hardware specification ................................................................................................ 8
5.2
Technical Requirements .............................................................................................. 8
5.3
Operating Systems (OS) .............................................................................................. 8
5.4
Database technology and platforms: .......................................................................... 8
5.5
Development Tools ....................................................................................................... 8
5.6
Programming Platform ............................................................................................... 8
6
System Architecture ................................................................................................... 9 6.1
Input thread .................................................................................................................. 9
6.2
WEB Engine ................................................................................................................. 9
6.2.1 6.2.2 6.2.3
Error Section ..........................................................................................................................10 Execution Section ..................................................................................................................10 File System Component (Inter Architecture of WEB Engine) ..............................................10
7
Quick Look (System Architecture) .......................................................................... 10
8
Working Modality .................................................................................................... 11
9
Module level Design ................................................................................................. 12
10
Design Methodology ............................................................................................ 13
10.1
Information System Design and Optimization System (ISDOS) :-........................ 13
10.2
Pseudo code: ............................................................................................................... 13
10.3
Structured Design (SD) .............................................................................................. 13
11
Conclusion............................................................................................................ 14
Page 2 of 14
System Architecture: HTTP Server (Sahara WEB Server 1.0.0) Software Engineering for better e-solution
1 Background Aiming to generate awareness and excitement among students, professionals and general public about the scope of IT and the potentiality of Nepali Software industries, Java Contest 2007 is conducted. Its goal is to determine IT skills of Nepal. This contest is organized by WAKHOK University Nepal in association with Kathmandu Engineering College and White House College of Science & Engineering. The competition might initiate the lift of quality of technological education in Nepal. Other events are supported by Nagarjuna International College, Malpi International College, and IT professional Forum, Nepal.
There are two category for competition, student category in which category I have participated and professional category. I am so much motivated with it idea to promote the IT skill in Nepali market and I am hungry for scholarship that competition has.
Page 3 of 14
System Architecture: HTTP Server (Sahara WEB Server 1.0.0) Software Engineering for better e-solution
2 Introduction Communication and information play a vital role in our daily life. We have lots of media to transfer state of information and communication. There is a facility for communication and information convey. That is WEB Server (WS). WS is a technology that implements web site. Web site is a URL of information. That consists of web pages. These web pages, read only for client, are accessed by clients. This web server is based on client2/server1 architecture. Completely, WS acts as server and web browser stands for client. Server always responses against the client’s request. Sahara WEB Server (SWS) is a skeleton of Server for WEB technology. It is Web Server (WS). It is developed from core. It does not use any build-in module for web server. It was started from own effort, from the very beginning. Well, It can create virtual web site and give service to workstation. It communicates with web browser and listens to web browser for request of Uniform Resource Link (URL). Its default port is 80 which is default internet port. It has also virtual root folder where all the virtual sites are consisted. SWS can be used as other WEB server like Internet Information Server (IIS), Apache Server, tomcat and others.
Note:- It is skeleton of WEB Server which has more flexibility to enhance it power to handle the web sites and information. So, please consider it project for initiative of innovation of Nepali WEB Server by student.
Page 4 of 14
System Architecture: HTTP Server (Sahara WEB Server 1.0.0) Software Engineering for better e-solution
3 Objective 1. Develop the skeleton for faster and powerful web server for www service. Sahara WEB Server, academic practice of bachelor student in university, has been introduced as way and framework of WEB technology as WEB server. It has conceptual background for new web server so that we can get most faster and reliable web server for public. It is not completed but it can show the way for best practice of WEB Server.
2. Promoting mobile and device programming for web touch. In addition, Sahara WEB Server has been developed in JAVA SDK 5. It is much secured in term of programming logic in memory and sharing data. It is small as 46.4 KB only and we can easily use this application in mobile device too. It will be touch for web technology in such a tiny device like mobile. We could be able to use this application in mobile for other purpose modifying some specific module.
Page 5 of 14
System Architecture: HTTP Server (Sahara WEB Server 1.0.0) Software Engineering for better e-solution
4 Main Features There are so many feature that we see in SWS server because its back bone is so good programming language like JAVA SDK 5. Some of features are:-
4.1 Web Server SWS is completely skeleton of web server. It is not web site but it can create virtual web site. It can acts as Microsoft Internet Information Server (IIS) and Apache Server. But, it has its own feature of fast execution of pages. SWS has dynamic configuration that it can be configured without restart.
4.2 Creating new virtual WEB site This web server basically creates the virtual web site for browsing. These settings are store in text file as some how XML format. We can directly change the setting of web server in the configuration file located in web site root director. It can be open in notepad too or in DOS mode too. Section 2 in configuration file denotes the web site settings and names. There are many sections for different proposes so that we can set every thing in a file. It is divided in section like the Linux kernel.
4.3 PHP scripting supported server We can implement PHP as server site scripting in SWS. PHP is very fast in SWS. Sahara WEB Server supports most of thing in PHP. It supports iteration, condition, session, database connection and more.
4.4 Database Connectivity There is facility of database connection with PHP scripting. We can connect any type of database with PHP. MYSQL, Microsoft SQL server, Oracle are easily connected with PHP.
4.5 Implementation of Threads on WEB Server SWS has such a architecture that it is run as multiple thread so that client can access pages simultaneously and administrator can manage the server simultaneously. There is very easy to configure without restarting the web server. It is the mail feature of SWS. Page 6 of 14
System Architecture: HTTP Server (Sahara WEB Server 1.0.0) Software Engineering for better e-solution
4.6 Server log system for client URL and errors checking. There is log file in www home directory which store latest error on SWS server. This is very useful for administrator to manger the server and fixing the errors.
4.7 Server command input for server control and configuration There is another thread which is running simultaneously with SWS server. That is input query thread which gives the input interface for administrator to set the parameters of the system.
4.8 Faster WEB System on demand of client because of Java platform Java is very powerful and faster in execution. We can get all of the facility of java platform because the SWS is developed in java SDK 5.
Page 7 of 14
System Architecture: HTTP Server (Sahara WEB Server 1.0.0) Software Engineering for better e-solution
5 Recommended Computing Environment: Platform and Technology requirements These software and hardware specification are mandatory requirement which help to perform the full effort of Sahara WEB Server. Software configuration is required for runtime environment whereas hardware is required for operation.
5.1 Hardware specification SN 1 2 3 4
Hardware Central Processing Unit (CPU) Random Access Memory (RAM) Hard Disk (HDD) Others
Specification Pentium 62 or Higher 10 GB or Higher
5.2 Technical Requirements SN 1
Requirement Java Installation (Java Runtime Environment, JRE with SDK 5)
Remarks Sahara WEB Server runs in Java Run Time
5.3 Operating Systems (OS) SN 1 2
OS Server OS Client OS
Remarks Microsoft 9x, 2000, XP, 2003, Windows Vista, Linux Microsoft 9x, 2000, XP, 2003, Windows Vista, Linux
5.4 Database technology and platforms: Sahara WEB Server uses Test file for log and configuration of the server.
5.5 Development Tools 1. Edit Plus 2.0.0, Notepad (Text Editor) 2. Eclipse 3.2
5.6 Programming Platform 1. SDK 5
Page 8 of 14
System Architecture: HTTP Server (Sahara WEB Server 1.0.0) Software Engineering for better e-solution
6 System Architecture There are two components in SWS server. These are input thread and server thread. These two threads works simultaneously in such a way we can see the both of two in one console and operate in the same console.
Sahara WEB Engine Error Collections
WEB Server WEB Engine
Thread Input Command
File System WEB Files Configuration Files
6.1 Input thread This is tool as interface for administrator which can be used to configure the web server. It is same like console in which we execute the command for our purpose. There are some commands are explained in operation manual or user manual annex 1.
6.2 WEB Engine Web engine component is main component to start the HTTP server as thread. It read all the configuration information stored in text file of web server. All the settings are changeable of web server. It stored all the setting in simple text file. It gets the request of client and response as client request. It has other internal two sections and one sub component which help to process the files and text.
Page 9 of 14
System Architecture: HTTP Server (Sahara WEB Server 1.0.0) Software Engineering for better e-solution
6.2.1 Error Section This section handles the exceptions while errors occurred in web server. It redirects the errors toward the client browser directly and one set error to server console. It is responsible for keeping recording of errors so that latter, administrator can see the log file and fix the error on the server.
6.2.2 Execution Section This section is responsible for creating instance of web server and creating connection to client computer with browser response. It handles http request and http header.
6.2.3 File System Component (Inter Architecture of WEB Engine) This is internal architecture of web engine. The file system component is responsible for handling file and folders. It handles reading file and writing files. It is responsible of PHP scripting too. It handles the directory processing and all the files. File system component responses for query string of the page and works for POST and GET verbs to. File system component reads configuration file named “config.web.txt” from www home directory of web server. Www home directory should be located in c:\ drive with configure file “config.web.txt”. You can set www root any way as configure into config.web.txt file. Please refer the annex 2 to see the file configuration of SWS server.
7 Quick Look (System Architecture) SN
Component
Functions
1
Error Collection
Error Raise and handling
2
WEB Server
Collection of Components (Engine + Input Command)
3
Thread
Run WEB Engine and Input Command Simultaneously.
4
WEB Engine
Create Instance of WEB Server
5
Input Command
Get input from server user console.
6
File System
Read web files (html, PHP) and Configuration File
7
Files
WEB Application files and Server Configuration files.
Page 10 of 14
System Architecture: HTTP Server (Sahara WEB Server 1.0.0) Software Engineering for better e-solution
8 Working Modality
Client Computer Operating System
Web Server
LAN/WAN/Internet
Browser..-->
This is a picture of working modality Sahara WEB Server. SWS can be run in windows 9x operating system. It does not need any specific operating system. Even Linux can be better operating system for java platform depended SWS server.
As mandatory
specification sahara web server is run in operating system with LAN, WAN and Internet. The client can be any operating system and any browser. Recommended browser is fire fox because SAHARA web server is tested in fire fox much. In practically, sahara web server is tested in dial up connection and virtual private network too. It is faster than other server and supportive in week connection too.
Page 11 of 14
System Architecture: HTTP Server (Sahara WEB Server 1.0.0) Software Engineering for better e-solution
9 Module level Design There are four modules into Sahara Web Server (SWS). There modules are lightly coupled in designing. They are opened and as far as dependencies. In most cases, they can be use independently. There is show module in hierarchy of module level design. :::| MODULE DESIGN |::: Module: Sahara_WEB_Sahara
Module: Input Thread
Module: WEB_Engine Thread
Module: File_System
Page 12 of 14
System Architecture: HTTP Server (Sahara WEB Server 1.0.0) Software Engineering for better e-solution
10 Design Methodology There are many ways to approach system design and many tools and techniques that contribute to the design process. In this part we will find a discussion of still other methodologies that are comely used by analysts.
10.1 Information System Design and Optimization System (ISDOS) :It will be able to generate system specifications from user requirements recorded in a machine-readable form, design an optimal system to meet these specifications, and construct code for operational system.
10.2 Pseudo code: Pseudo code can be used to describe an algorithm. Although pseudo code resembles structured English (SE) in using a restricted subset of English, it may be coded and more closely resemble a programming language.
10.3 Structured Design (SD) Nature of SD is achieved (implemented) by dividing the system in independent modules (separate pieces) that can be designed, implemented and modified with no (or little) effect on other modules of the system. This structure chart, which resembles an organization chart, shows relationships between units or modules, and how modules are combined to achieve systems (organization) and design goals.
Page 13 of 14
System Architecture: HTTP Server (Sahara WEB Server 1.0.0) Software Engineering for better e-solution
11 Conclusion In comparison with the other web server, it is very initial state that it is only skeleton of web server. It have just modality for web processing that is root of web server so we have to do lots of thing for this open source web server to enhance its facility and performance. About the issue of security, this project is built on Sun JAVA SDK 5 so, all the security and protection have been inherited automatically when we use this system. In additional we have implement module coupling approach which make more secured and abstraction in working modality and accessibility of processes.
Lastly, it is better system for Web system for device and small of unit of hardware which is built in small resource of hardware. It is useful for learner to learn the working principle of web server.
Page 14 of 14