chapter 3 Methodology

Chapter 3 Methodology 3.1 Introduction Software system as a whole developed in four steps , beginning with planning, designing, implementing and ending with testing, and to avoid loss of money and effort every step must be studied carefully putting in mind the time scope given for system completion. This chapter presents methodology followed in the development of the project and the software and hardware tools used. Section 3.2 and 3.3 introduces overview to general architecture and functionality of the system from a high level view. Section 3.4 describes the development methodology. Section 3.5 present details of software and hardware tools used.

3.2 System architecture The system was developed as 3- tier architecture containing: 

Client front end.



Proxy server as middle tier with an administrator database.



Application server at the back end.

Figure 3.1: System architecture 15

chapter 3 Methodology

3.3 System Functionality The client requests web application from the proxy server, the proxy server will decide if the client is authorized or no (referring to the administrator database) if the client is authorized proxy server will seek requested application from application server to the client, if the client is unauthorized proxy server will block the access.

Figure 3.2: System functionality

3.4 MOTHODLOGY Software methodologies are concerned with the process of creating organizational aspects of system. it must be wisely selected to avoid time and effort loss.  in planning system was divided it into sequences of phases, each phase was designed ,implemented and tested individually before moving to the next phase .  In designing UML diagrams is used as it an effective method for modeling software systems and simple to learn, it demonstrates System’s users functionalities, system modules and interaction between these modules.  For implementing object oriented technology is used because it has many fractures as flexibility, less source code, Inheritance, Polymorphism and Encapsulation. 16

chapter 3 Methodology Java technology was used as programming language, because it support web based development platform independent i.e. can be used in any operating system in addition to that most of java technology is free. To ensure security of data, server side technology is used in the other hand client side programming was also used for presentation purposes.

3.5 Tools In system development software and hardware tools are

3.5.1 Software tools 1. Java technology Java is a simple, object-oriented, distributed, interpreted, robust, secure, architectureneutral, portable, high-performance, multithreaded and dynamic language. Java becomes the predominant language for web based programming as it can support dynamic pages (application) not just information (files) beside multithread handling and security. In the project java technology was used for web application design and other standard functionalities, standard API is used with another jar files.  External jars used 

Mail.jar is used to provide JavaMail API provides a platform-independent and protocol-independent framework to build mail and messaging applications.



Httpclient.jar and httpcore.jar are used to provide a virtual client.



Jna.jar is used to access native libraries with Java code.



Sqljdbc.jar is used to access database from java.

 For connecting web applications to SQL server, DataSource technique was used as

it has several features including  Generate simple and portable code.  Support Synchronized blocks in which only a single thread can access database at a time.

17

chapter 3 Methodology  Support connection pooling which helps applications to run significantly faster and provide parallel connections. DataSource object was created and registered with a JNDI naming service, web applications use JNDI API to access DataSource object.

Figure 3.3: DataSource pooling  Servlet Java Servlet are a key component of server-side Java development. A Servlet is a small, pluggable extension to a server that enhances the server’s functionality. It consists of two packages javax.servlet package and javax.servlet.Http package Servlet are suitable for business logic and performing complicated operation.  Java Server Pages JSP are another way for writing Servlet, it was developed as Servlet requires high level of understanding of many concepts and much overhead in its development cycle. JSP are more suitable for presentation purposes. Both of Servlet and JSP can handle threads i.e. a single instance of Servlet or JSP will generate new thread for each user request.

18

chapter 3 Methodology

Figure 3.4 handling threads 2. Apache Tomcat server Apache Tomcat is an open source software implementation of the Java Servlet and Java Server Pages technologies, it provides a java virtual machine and associated elements to give complete run time environment, it also provides web server software to make that environment accessible on the web. Two tomcat servers were used in this project one as a proxy server and the other as an application server.

3. SQL Server 2008 Is a database server in which data can be stored and updated and retrieved by users, this version provides a number of enhancements and new functionality, building on previous versions such as IntelliSense for query editing, multi server query, query editor regions, object explorer enhancements and activity monitors .these features makes it preferred choice for enhancing the performance of the system. SQL server is used to store data required for implementing system.

19

chapter 3 Methodology 4. Now SMS/MMS Gateway The Now SMS & MMS Gateway is a server software product that provides an SMS and MMS Content Delivery Solution. NowSMS is an easy-to-install SMS server, high performance SMS Gateway, 2-way SMS and/or MMS application enabler .all these features encourages using it. In this system NowSMS is used to send SMSs for system users.

3.5.2 Hardware tools 1. GSM device A GSM modem is a specialized type of modem which accepts a SIM card, and operates over a subscription to a mobile operator, just like a mobile phone. When a GSM modem is connected to a computer, this allows the computer to use the GSM modem to communicate over the mobile network. While these GSM modems are most frequently used to provide mobile internet connectivity, many of them can also be used for sending and receiving SMS and MMS messages. GSM device is used for sending SMS to users. 2. AET60 BioCARDKey The BioAPI Consortium is a group of over 90 organizations work together to Encourage biometric technology,they develop an industry-wide API. The consortiums API defines how a software application interacts with a biometric verification device. The AET60 device consists of a fingerprint scanner and a smart card reader. The AET60 complies with the specifications defined by the BioAPI consortium. ACS provides a Windows DLL layer that will make it easier for programmers to develop AET60 applications, while still conforming to the BioAPI standards. Using this layer, programmers need not use the complicated data structures and APIs defined in the BioAPI specifications. This device was used in biometric authentication.

20