System Analysis Existing System Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

As mentioned before, there are several approaches for accessing web services from mobile devices. One such approach employs the use of an intermediate server. This server is placed between the mobile device and the Web server.

As mobile devices are resource constrained and battery powered, several issues arise when it is interacting with the web server directly. To dynamically discover and invoke web services the mobile device has to communicate with the servers, parse the WSDL files to choose the appropriate services. All these consume lot of time and energy.

So in order to reduce the resource consumption all these tasks are moved to the intermediate server. To invoke a web service, the client needs to enter the search phrase in the mobile device and send it to the intermediate server. Now that server will compare the string with the cached short descriptions of web services. For this an algorithm called Boyer-Moore algorithm is used. This algorithm takes two strings and searches the occurrence of one string in the other.

At the end, a list of web services are generated that best matches the user's request. Then the WDSL files of the short listed services are downloaded to select the most appropriate service. Once the service is selected, a proxy object is generated and shipped to the mobile device. Using this, the mobile device can invoke the web service and obtain the desired results.


Boyer-Moore algorithm is an efficient string searching algorithm. This algorithm takes two strings and searches for the occurrence of one string in the other. It scans the characters of the pattern from right to left starting from the rightmost character. The major drawbacks of this algorithm is that it takes too much of iterations to compare strings that contains more than one keyword. Complexity increases as the number of keywords in the search string increases.

Also if the requested web service is not in the cached short descriptions, the intermediate server needs to search the UDDI registry to avail the service link of the requested web service. Then it has to download the WSDL files for that service from the web server. This will increase the time needed to discover that service.

Usually Clients mobile systems use http request headers to connect with known SOAP addresses. If addresses are not known that required service cannot be bound with. The proxy object is created statically and WSDL returned from the remote SOAP objects.


In the existing system, at the intermediate server text matching was performed using Boyer-Moore algorithm. This algorithm takes two strings and searches the existence of one string in the other. This algorithm works fastest when the alphabets are moderately sized and the pattern is relatively too long. It scans the pattern from right to left starting from the rightmost character.

In the implementation of the existing system, the measure of the correspondence between user supplied search string (P) and web service description (T) was the aggregate length of the found non-repeating matches between P and T. The output of the matching process is the short list of web services that most matches to the user supplied search string.

Now in the proposed system, the Boyer-Moore algorithm is replaced by the user defined algorithm for searching with the SQL Pattern matching syntax (i.e., using sub string manipulation of SQL). This is faster than Boyer-Moore algorithm.

Another thing is that the web service providers will publish their service descriptions in the UDDI registry. The service requestors will search this registry to find the descriptions of the services, and then only bind with the service provider to invoke the service. In the proposed system all the information will be stored in the SQL server when the Web services are hosted. So we don't need to go for searching UDDI for the services. So this reduces a second search. The main objective of this proposed system is to reduce the response time of the system.

Download WSDL File

Intermediate Server


Object creation


Web Server

Mobile Device

Text Matching

Search string searchstring

Request WSDL

Fig 3.2 System Architecture








Hard Disk

80 GB



2 GB



Intel Dual Core or Above Core Architecture

Table 4.1 Hardware Required







Microsoft Visual Studio 2010



ASP.NET 4.0, C# 3.5



Microsoft SQL Server 2008 R2



Microsoft .NET Framework 4.0, Web Services



Microsoft Device Emulator for Windows Mobile



Any HTML, XML enabled Mobile Browser

Table 4.2 Software Required


SQL Server was developed by Microsoft in the year 1989. It is a Relational Database Management System (RDBMS). It is based on the relational model that uses First Order predicate logic. In this model the data is represented as tuples and grouped into relations. This model uses a declarative programming to specify data and queries. This means it expresses the logic of computation without describing its control flow.

The primary function of a database is to store the data and retrieve it whenever a software application request that data. The data might be located on the same computer or on a different computer in the network.

The first version, Microsoft SQL Server 1.0 was released in the year 1989. Following this several versions are being released with an improvement in performance. The latest release is SQL Server 2012.

Microsoft SQL server architecture includes different layers. It has a protocol layer that implements an external interface to the SQL Server. The operations that are invoked on the SQL Server are communicated through Tabular Data Stream (TDS). TDS is a Microsoft defined format for transferring data between the Database Server and Client.

SQL Server 2008 R2 was released in 2010. This version includes Master Data Management (MDS) facility. As the name suggests, it is used to manage the master data of an organization. It removes duplicates, standardizes data, and includes rules to remove the incorrect data from entering the system. It helps the organization from not using inconsistent data.

SQL Server 2008 R2 includes several new services like PowerPivot, Master Data Services, StreamInSight, Report Builder 3.0, Reporting Services, Add-In for Sharepoint, DataTier function for Visual Studio that enables packaging of tiered database and SQL Utility to manage multiple SQL Servers.

PowerPivot allows end users to import, manipulate and export data using Excel Interface and Language.

StreamInSight is a new platform integrated with .NET to process streams in parallel enabling simultaneous querying.

DataTier functionality helps to create n-tier applications. It uses the database in the backend and package the entire application along with the database as a single unit.

SQL Utility allows management across multiple servers and databases.


.NET framework is developed as a Software framework by Microsoft to run on Windows OS. The first version of .NET Framework 1.0 was released on 13th February 2002. The current version of .NET Framework is 4.5 released on 15th August 2012 which has been implemented in Visual Studio 2012.Visual Studio is an Integrated Development Environment (IDE) created exclusively for .NET software. IDE allows for Rapid Application Development (RAD). All the future development including new and version upgrades of existing Microsoft's products are based on the .NET releases.

Applications developed using .NET framework is:



ASP.NET Web Applications

Browser based applications

Windows Form Based Applications

Rich client applications

Console Applications

DOS(Disk Operating System) kind of applications

Component Libraries

Encapsulating Business logic

Windows Custom Control

ActiveX controls, developing own windows controls

Web Custom Controls

Web application allowing code reuse & modularization

Web Services

"Web-Callable" Functionality available via HTTP, XML, SOAP

Windows Services

Applications that run as Services in the background

Table 4.3 .NET Applications

.NET Redistributable:

Applications developed using .NET framework requires 'Run-Time' files to run the applications. The runtime files are collectively called as .NET Redistributable. The target system should have these files to execute the applications. Without these files the application won't run. The .NET Redistributable consists of Common Language Runtime (CLR) and other components to run applications.

.NET and Mobile Development:

Mobile devices are generally resource limited.

Mobile Devices are grouped into:

1. Mobile devices with some client-side resources. Examples of such devices are PDA's, Smart Phones and Hand-Held devices. They have rich user interface to run standalone applications.

2. Mobile Devices which lack client-side resources such as Mobile Phones. They cannot able to run standalone applications.

Microsoft has developed 2 different technologies namely

Microsoft .NET Compact framework (.NET CF)

Microsoft Mobile Internet Toolkit (MMIT)

.NET Compact Framework:

The .NET CF are used mainly for mobile devices having client side resources. It provides support for Managed Codes and XML web services. It runs primarily on devices having Windows CE/Windows CE .NET Operating System.

Microsoft Mobile Internet Toolkit:

MMIT developed to create Server-side applications. ASP .NET technology used to create and deliver markup to various Mobile devices. 'Uniform Code' for any device is its main feature.

4.2.3 ASP .NET

ASP .NET was developed by Microsoft and released in the year 2002 with .NET framework 1.0. It is a web application framework that is used to create dynamic web services, websites and web applications. ASP .NET is built on Common Language Runtime (CLR) that enables programmers to write ASP .NET coding using any supported .NET language. All programs written for .NET framework, whatever the programming language used are executed by the CLR. It includes exception handling, garbage collection and thread management.

ASP .NET web pages are the basic building blocks for an application development. These pages are contained in a file with ".aspx" extension and contain HTML mark up. In ASP .NET 2.0, a code behind model is introduced in which static text remains on the .aspx page and the dynamic code remain in an aspx.vb or aspx.cs or aspx.fs depending on the language used.

Directives include instructions that are needed to assist how ASP .NET has to process the page. ASP .NET applications are hosted by web server and are accessed by stateless HTTP protocol. Stateless means each request posted to the server will be considered independent and are unrelated to the previous requests. The server did not maintain the state of the session. For this purpose ASP .NET has built in State Management facility. ASP .NET has a directory structure that can be determined by the developer.

When a client request a page for the first time, the .NET framework parses and the files the request into a .NET assembly and sends response. Subsequent requests are served from DLL files.

Some extension framework are released that can be used along with ASP .NET. ASP .NET AJAX incorporates AJAX functionality.

ASP .NET MVC uses Model-View-Controller architecture.

ASP .Net 4.0 focuses on improving the performance and Search Engine Optimization.

4.2.4 C#

C# is a multipurpose computer programming language suitable for development needs. C# was designed by Anders Hejlsberg, a lead architect at Microsoft in 1999. C# was developed to write .NET's base class libraries and ASP .NET runtime. First version of C# was released as C# 1.0 in January 2002. The current version of C# is 5.0 released in August 2012.

C# language is developed as a mixture of C++, Java and Visual Basic. It borrows the Java's type safety concepts such as type checking and garbage collection and they are combined with the power and flexibility of C++'s Operator overloading and low level operations.

In addition to that it uses the features of Component based Programming's properties and functions, function pointer concepts namely delegates, reference parameters stack objects and many other features. It also combines the concepts of functional programming languages and SQL-like queries on stored data or XML (LINQ).

According to MSDN, C# is a simple, modern, object-oriented and type safe programming language. C# and other .NET languages rely on the implementation of Virtual Machine that is specified by the Common Language Runtime. The virtual machine manages the memory and makes C# code safer than those must manage their own memory. That is why .NET language code is called Managed Code.




Intermediate Server Modules

Web services registration module

Web services indexing module

Web Services search module

Dynamic Proxy object Creation module

Client Modules

Web service submission module

Web Services request module

Proxy object interaction module


Intermediate Server Modules

Web services registration module

This is the module which is responsible for adding entries to the web service repository database. This module gets link to the web services and description of the web service for easier indexing and faster retrieval of web services. Only the registered web services can be retrieved dynamically so this is very crucial module in this implementation.

Web services indexing module

This module indexes and creates search tags for the web services submitted. Based on the tags the web services search module will work. It creates and presents automatic tags for the web services so web service submission clients can modify or edit or alter the tags according to their functionality.

Web Services search module

This module uses SQL server substring pattern matching queries to retrieve the list of web services that meets the search criteria of the client. It presents a list of web services that matches their search to the clients. So the clients can accurately select a web service or search with new search phrases for accurate matching of web services.

Dynamic Proxy object Creation module

Once the client correctly identifies the web service and requesting for the proxy object, this module creates a proxy object for the web service based on its WSDL and it sends the object over the network to the client using SOAP.

Client Modules

Web service submission module

The clients who are willing to allow their services to be indexed for searching and dynamic invocation have to submit the web service to the intermediate server. This is called web service submission. For this, the client has to submit a qualified web link of the web service and descriptive phrase for the web services. Once the web service submitted the client have the option to modify the tag for the submitted web service. Otherwise the whole description will be taken as tags.

Web Services request module

In this module the client sends a search phrase which is containing tags for the requested web services to the intermediate server. This includes a partial or full length of search tags for easier and finer search of indexed web services. The request further strengthened after receiving the short-listed web services list and rephrases it for accurate finding of web services until their request matches a web service.

Proxy object interaction module

In this module, the client interacts with the server side proxy object through WSDL and SOAP. This object has been sent over the network by the intermediate server for the interaction with the web service. WSDL defines XSD and XSLD for the communication of proxy object with the web service.



The system proposed in this paper aims at taking less time to return the search results to the user. Thus it reduces the response time. The proposed system also consumes less amount of battery power from the mobile devices.

By using LINQ technique in C#, the response time is reduced between the application and the database. When the number of interactions with the internet web servers reduces, the battery power of the mobile devices is conserved.

So far in the first phase, the works related to this proposed system were surveyed and the design specifications for the proposed system were also determined. The second phase of this project will include the implementation of this system.