service discovery with the google android mobile platform - marco faiella.… · corso di studi in...

14
Service Discovery with the Google Android mobile platform Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea relatore Ch.mo prof. Stefano Russo correlatore Ing. Marcello Cinque candidato Marco Faiella Matr. 885/139 Service Discovery with the Google Android Mobile Platform Anno Accademico 2007/2008

Upload: others

Post on 14-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Service Discovery with the Google Android Mobile Platform - Marco Faiella.… · Corso di Studi in Ingegneria Informatica. The Google Android mobile platform. A software stack for

Service Discovery with the Google Android mobile platformFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

tesi di laurea

relatoreCh.mo prof. Stefano Russo

correlatoreIng. Marcello Cinque

candidatoMarco FaiellaMatr. 885/139

Service Discovery with the Google Android Mobile Platform

Anno Accademico 2007/2008

Page 2: Service Discovery with the Google Android Mobile Platform - Marco Faiella.… · Corso di Studi in Ingegneria Informatica. The Google Android mobile platform. A software stack for

Service Discovery with the Google Android mobile platformFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

BackgroundThe technological progresses in the last years have made the users able to dispose of several types of mobile devices.

The traditional distributed systems evolved in nomadic computing systems

Services Oriented Architectures

• The applications are developed as a collection of independent services, combined in order to obtain more complex functionalities.

• The services are not necessarily known a priori.

It is necessary a mechanism which would allow the user to know what services are provided in his physical location.

Page 3: Service Discovery with the Google Android Mobile Platform - Marco Faiella.… · Corso di Studi in Ingegneria Informatica. The Google Android mobile platform. A software stack for

Service Discovery with the Google Android mobile platformFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Objectives

Objective of this work is the development of a Discovery application running on the Google Android mobile platform and based on a services framework developed by the Università degliStudi di Napoli Federico II in partnership with the Wifi People company.

Why Android?

• Android is Open Source

• There are still few Discovery solutions available.

• Android has been our object of study at the University of Strathclyde during our permanence in Glasgow.

Page 4: Service Discovery with the Google Android Mobile Platform - Marco Faiella.… · Corso di Studi in Ingegneria Informatica. The Google Android mobile platform. A software stack for

Service Discovery with the Google Android mobile platformFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Service DiscoveryDefinition: a collection of protocols and mechanisms which help the device or the software to know which services are available.

Functional Requirements

• Mobility Support

• Dynamicity Support

• Completeness of the search mechanism

• Bounds definition

Non-functional Requirements

Scalability, Lightness, Heterogeneity, Reliability, Safety

Page 5: Service Discovery with the Google Android Mobile Platform - Marco Faiella.… · Corso di Studi in Ingegneria Informatica. The Google Android mobile platform. A software stack for

Service Discovery with the Google Android mobile platformFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

A Services FrameworkDesigned in the research project between CINI (Consorzio Interuniversitario Nazionale per l’Informatica) and the WiFi People company, called WiFi People – CRONOS

Fram

ewor

k

Appl

icat

ion

Serv

ices

Syst

em

Com

pone

nts

Operating System (Win Mobile, Symbian, Android)

Man

agem

ent

Serv

ices

Why this framework?

• Ad-hoc system, independent from any fixed infrastructure.

• Automatic configuration and distribution

• Transparence

The framework acts as a middleware, so a client application (implemented in any language) may easily access to the provided services through the Proxy pattern.

Page 6: Service Discovery with the Google Android Mobile Platform - Marco Faiella.… · Corso di Studi in Ingegneria Informatica. The Google Android mobile platform. A software stack for

Service Discovery with the Google Android mobile platformFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

The Google Android mobile platformA software stack for mobile devices including an operating system, middleware and key applications

Developed by Google Inc. and the Open Handset Alliance

Includes

• Applications

• Application Framework

• Java-based runtime

• Libraries

• Linux Kernel

Page 7: Service Discovery with the Google Android Mobile Platform - Marco Faiella.… · Corso di Studi in Ingegneria Informatica. The Google Android mobile platform. A software stack for

Service Discovery with the Google Android mobile platformFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Design of a Discovery Application

Technical Requirements

• Send request for the available services

• Show the available services as a list

• Select a service from the list and download it if not available on the device.

An Android-based Service Discovery application for the Core Framework. This application should make the user always able to keep up to date the services installed on his device and install new services when he needs.

Page 8: Service Discovery with the Google Android Mobile Platform - Marco Faiella.… · Corso di Studi in Ingegneria Informatica. The Google Android mobile platform. A software stack for

Service Discovery with the Google Android mobile platformFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Server Side (1/2) – The Repository

The Repository is structured as directory trees.

• A root directory for each OS supported by the framework’s services

• A directory for each service

• A directory for each version of the services

An XML file, called latest.xml, keeps track of the latest version of the services for each OS.

Page 9: Service Discovery with the Google Android Mobile Platform - Marco Faiella.… · Corso di Studi in Ingegneria Informatica. The Google Android mobile platform. A software stack for

Service Discovery with the Google Android mobile platformFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Server Side (2/2) – The Discovery ServiceMain Components:

• A service interface

• A proxy which handles the remote requests

• The service itself

The Skeleton receives the requests from the client application through a socket connection.

The request is composed of an instruction code and one or more parameters.

Depending on the received code, the Skeleton invokes a method on the DiscoveryService.

Page 10: Service Discovery with the Google Android Mobile Platform - Marco Faiella.… · Corso di Studi in Ingegneria Informatica. The Google Android mobile platform. A software stack for

Service Discovery with the Google Android mobile platformFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Client Side – The Client Application

Main Components:

• A service interface

• A proxy which handles the remote requests

• The application itself

When the Stub receives the response to its request, it notifies it to the main application through the Notify() method.

The main application invokes the methods on the Stub.

The Stub creates a request message, with an instruction code and one or more parameters, and sends it to the Skeleton.

Page 11: Service Discovery with the Google Android Mobile Platform - Marco Faiella.… · Corso di Studi in Ingegneria Informatica. The Google Android mobile platform. A software stack for

Service Discovery with the Google Android mobile platformFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Interaction Overview (2/2)Device Server

Page 12: Service Discovery with the Google Android Mobile Platform - Marco Faiella.… · Corso di Studi in Ingegneria Informatica. The Google Android mobile platform. A software stack for

Service Discovery with the Google Android mobile platformFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

An Example of Use

Page 13: Service Discovery with the Google Android Mobile Platform - Marco Faiella.… · Corso di Studi in Ingegneria Informatica. The Google Android mobile platform. A software stack for

Service Discovery with the Google Android mobile platformFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Conclusions and Future WorksIn the rapid and continuous spreading of the mobile technologies, the Services Oriented Architectures represent a natural evolution for the applications.

The mobile device is, for the user, a key to interact with the environment.

In this scenario the Service Discovery is quite an important tool.

In this work it has been developed a Discovery application provided with the basic functionalities for the Service Discovery.

Possible future upgrades:

• Implementation of a scanning function for the search of more discovery servers

• Implementation of other search mechanism (i.e.: by class or by specific name)

Page 14: Service Discovery with the Google Android Mobile Platform - Marco Faiella.… · Corso di Studi in Ingegneria Informatica. The Google Android mobile platform. A software stack for

Service Discovery with the Google Android mobile platformFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Any Questions?