neighborhood search via wap - tuhh neighborhood search via wap a project by vanda lehel kathrin...

Post on 20-Apr-2018

226 Views

Category:

Documents

8 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Neighborhood search via WAP

A project by Vanda Lehel Kathrin Lehmann

Francesco Morelli Youssef Tikerouine

Project care by Holm Wegner Helmut Adler

In cooperation with theMikroelektronik Anwendungszentrum Hamburg GmbH

(MAZ)

The neighborhood searchproject

• The situation: A person wants to know where e.g. the nearest busstop, railway station

or restaurant is.

• The solution: The person dials a service number and sends his/her request to the

WML-Server. The WML-Server processes the inquiry by searching a database and

returns the wanted information.

• Prerequisites: X-,Y-coordinates of the person inquiring are known to the server.

2

Architectural Considerations

• Parallel processing• Multiuser capability• Distributed computing• Very thin client• 4-tier Architecture

Client-Server 4-tier Architecture

User Interface

Presentation

Application

Client

Server

Data BasesDB

3

WAP Client

WAPProxy

CustomerDB

(EmulatedMobile Phone)

WMLClient

Web Server

NSService

(Servlet)

GeoDB

(Relational DB)

NS

Engine

Deployment Diagram

HTTPWAP

NS

Coordinate

Location Server

JDBC

Technological Considerations

• JDK 1.2, Java Servlet Extension (javax)• Web Server: IIS with JRun• Relational Database (Oracle 8)• JDBC• Ericsson Development Toolkit (WAP-WML)

4

WAP Client

WAPProxy

CustomerDB

(EmulatedMobile Phone)

WMLClient

Web Server

NSService

(Servlet)

GeoDB

(Relational DB)

NS

Engine

Deployment Diagram (A)

HTTPWAP

NS

Coordinate

Location Server

JDBC

State Machine

goBack( ) select( )

goBack( ) select( )

CoordinatesOptions Menu list

Result list

Service Info

Active

Exit / after 30 min inactivity

Select „Restaurant“( )/ When „Restaurant“not already selected

Start( )

5

Example of a WML document

Source: WapIDE Service Development Kit @1998 Ericsson Wireless Internet

Mobile Phone Display

21 3

54 6

6

Mobile Phone Display (2)

87

9 10

WAP Client

WAPProxy

CustomerDB

(EmulatedMobile Phone)

WMLClient

Web Server

NSService

(Servlet)

GeoDB

(Relational DB)

NS

Engine

Deployment Diagram (B)

HTTPWAP

NS

Coordinate

Location Server

JDBC

7

Package DiagramPackage Diagramjavax.servlet.http

GenericServlet<<abstract>>

ServletRequest<<interface>>

ServletResponse<<interface>>

HttpServlet<<abstract>>

HttpServletRequest<<interface>>

HttpServletResponse<<interface>>

javax.servlet

HttpSession<<interface>>

Class diagram of NSServiceHttpServlet

+doGet(request : HttpServletRequest, response : HttpServletResponse)+service(request : HttpServletRequest, response : HttpServletResponse)

HttpServletResponse

<<abstract>> +setContentType(type : String)<<abstract>> +setContentLength(len : int)<<abstract>> +getWriter() : PrintWriter

<<Interface>>HttpServletRequest

<<abstract>> +getSession(create : boolean) : HttpSess ion

<<Interface>>

Multiplicity 1

NSCoordinate

phoneCoordinate() : Coordinate

NSEngine

+searchService(loc : Coordinate, typeID : short) : NSSProviderList+searchMenu() : NSSTypeList

HttpSession

+getID() : String+getCreationTime() : long+getValue(name : String) : Object+putValue(name : String, value : Object)

<<Interface>>

PrintWriter

+println(s : String)

Response

11 11NSServlet

+getProvider(typeID : short) : NSSProviderList+getMenu() : NSSTypeList

*1

*1

NSSession Request*

1*

1

1 *1 *

8

WAP Client

WAPProxy

CustomerDB

(EmulatedMobile Phone)

WMLClient

Web Server

NSService

(Servlet)

GeoDB

(Relational DB)

NS

Engine

Deployment Diagram (C)

HTTPWAP

NS

Coordinate

Location Server

JDBC

Class diagram of NSEngine

Multiplicity1..15

Coordinate-x : double-y : double

+convert(z1 : double, z2 : double) : Coordinate+getXCoordinate() : double+getYCoordinate() : double

Address-street : String-zipcode : int-state : String-country : String

+getStreet() : String+getZipcode() : int+getState() : String+getCountry() : String

NSSProvider-name : String-phoneNumber : String-openingHours : String

+getName() : String+getPhoneNumber() : String+getOpeningHours() : String

1

1

1

1 1

*

1

*

NSSType-description : String-serviceTypeID : short

+getDescription() : St ring+getServiceTypeID() : short+add(t : Type)+remove(t : Type)

1..*1

1..*1

SuperType

+add(t : Type)+remove(t : Type)

Type

<<abstract>> +add(t:Type)<<abstract>> +remove(t:Type)

0..1

*

0..1

*

NSSTypeList

+getSize() : int+getType(i : int) : NSSType 0..1 *0..1 *

NSEngine

+searchService(loc : Coordinate, typeID : short) : NSSProviderList+searchMenu() : NSSTypeList

1 *

NSSProviderList-size : int

+getSize() : int+getProvider(i : int) : NSSProvider+destroy()

0..1

*

0..1

*

1*

*1

*1

Thread

9

: NSServletclient : MobilePhoneUser

: ServletEngine

Http request

: NSEngine

getMenu()

L=searchMenu()

Interaction diagram (1)

service(req,res)

L

Http response

: NSServletclient : MobilePhoneUser

: ServletEngine

Http request

: NSCoordinate : NSEngine

getProvider(typeID)

loc=phoneCoordinate( )

L =searchService(loc,typeID)

Interaction diagram (2)

service(req,res)

loc

L

Http response

10

WAP Client

WAPProxy

CustomerDB

(EmulatedMobile Phone)

WMLClient

Web Server

NSService

(Servlet)

GeoDB

(Relational DB)

NS

Engine

Deployment Diagram (D)

HTTPWAP

NS

Coordinate

Location Server

JDBC

The GeoDB ER Diagram

ServiceProvider

Place

AddressName

ZIPCode

EmailAdress

ServiceProvider-ID

ServiceTypeDescription

ServiceType-Nr

ServiceType

SuperService

n1n 1

Phone-Nr

Fax-Nr

OpeningTime

XCoordinate

YCoordinate

ClosureDay

possesses

11

The GeoDB Tables Diagram

Category NumberClassificatio Weight Sum rowInput information 1 simple 3 3Inquiries 1 simple 3 3

1 complex 6 6Output 1 simple 4 4

2 medium 5 101 complex 7 7

Database 1 simple 7 7Reference data 1 simple 5 5Sum of E1 45influence coeff.

1 Transaction rate (0-5) 42 processing logica arithm. operations (0-10) 2b method f. control/ check(0-5) 1c Exception handling (0-10) 53 Reusability (0-5) 34 Adaptability (0-5) 5

Sum 7 influencesE2 20E3 = E2 / 100 +0,7evaluated Fct.- 0,90Points: E1*E3 40,00

Function Point Method

12

Function Point Method

• 40 Fct. Points correspond to about 2 MM which is approx.44 working days.

• Working assumption:- we will work 2 days a week- being 4 people this makes 8 days a week- having 5 weeks for the implementation, we will finish in

40 work days.• Conclusion:

- we will finish in time, if everybody works 2,2 days a week.

Project Plan• Fr. 12/03 - Th. 12/09 -testing Interface WAPClient/ NSS-

servlet / -filling database with test data• Fr. 12/10 - Th. 12/16 -preparing communication NSS-servlet /

NSEngine / -implementing Database connection / -writing NSCoordinate- Component

• Fr. 12/17 - Th. 01/06 -Implementation NSS-servlet / NSEngine

• Fr. 01/07 - Th. 01/14 -Implementation NSS-servlet / NSEngine

• Fr. 01/15 - Th. 01/22 -Implementation, testing• Fr. 01/23 - Th. 01/29 -Preparing presentation (slides, demo)

top related