Service Discovery with the Google Android Mobile Platform

Similar documents
Developing Google Android Mobile Clients for Web Services: a Case Study

How To Write A Train Control System

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

Introduction to Android

RoverPal - A Mobile Payment Application

BLOOMBERG ANYWHERE FOR MOBILE CUSTOMERS

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Service-Oriented Architecture and Software Engineering

Lesson 18 Web Services and. Service Oriented Architectures

The Enterprise Service Bus

Lesson 4 Web Service Interface Definition (Part I)

Middleware Lou Somers

Five standard procedures for building the android system. Figure1. Procedures for building android embedded systems

Introduction into Web Services (WS)

Here to take you beyond Mobile Application development using Android Course details

Infrastructure that supports (distributed) componentbased application development

Example of Standard API

Figure 1: Illustration of service management conceptual framework

SysAid Remote Discovery Tool

Mobile Software Agents: an Overview

Introduction to Android

Infrastructure solution Options for

Copyright

A GUI Crawling-based technique for Android Mobile Application Testing

Service Governance and Virtualization For SOA

BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0 Service Pack: 2. Feature and Technical Overview

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

Feature List for Kaspersky Security for Mobile

Troubleshooting BlackBerry Enterprise Service 10 version Instructor Manual

Enterprise Mobility Management Migration Migrating from Legacy EMM to an epo Managed EMM Environment. Paul Luetje Enterprise Solutions Architect

A Data Centric Approach for Modular Assurance. Workshop on Real-time, Embedded and Enterprise-Scale Time-Critical Systems 23 March 2011

Development. SriSeshaa Technologies. Table of Contents

AllJoyn Android Environment Setup Guide

Installation & Upgrade Guide

Application Management A CFEngine Special Topics Handbook

Mobile Devices: Server and Management Lesson 05 Service Discovery

The Data Grid: Towards an Architecture for Distributed Management and Analysis of Large Scientific Datasets

Crawl Proxy Installation and Configuration Guide

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme. Middleware. Chapter 8: Middleware

Good for Enterprise Good Dynamics

How To Create A C++ Web Service

Enterprise Service Bus

BES10 Cloud architecture and data flows

Codeproof Mobile Security & SaaS MDM Platform

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

How To Develop An Open Play Context Framework For Android (For Android)

Socket = an interface connection between two (dissimilar) pipes. OS provides this API to connect applications to networks. home.comcast.

Client-Server Applications

MOBILE ARCHITECTURE FOR DYNAMIC GENERATION AND SCALABLE DISTRIBUTION OF SENSOR-BASED APPLICATIONS

Introduction to Service Oriented Architectures (SOA)

The following sections provide information on the features and tasks of Server Inventory:

System types. Distributed systems

Invocación remota (based on M. L. Liu Distributed Computing -- Concepts and Application

Computing Service Provision in P2P Clouds

Android Mobile App Building Tutorial

Administration Guide. BlackBerry Enterprise Service 12. Version 12.0

ENTERPRISE DOCUMENTS & RECORD MANAGEMENT

01. Introduction of Android

WIND RIVER SECURE ANDROID CAPABILITY

Bump In Host a Host-based IPv4 to IPv6 Translation

Device Lifecycle Management

Learn Oracle WebLogic Server 12c Administration For Middleware Administrators

Service Oriented Architecture

Oracle Database Security and Audit

Addressing the SAP Data Migration Challenges with SAP Netweaver XI

Review On Google Android a Mobile Platform

System Requirements - CommNet Server

The Virtualization Practice

Creating and Using Databases for Android Applications

ITG Software Engineering

Distributed Systems. Distributed Systems

Oracle: Database and Data Management Innovations with CERN Public Day

Answers to these questions will determine which mobile device types and operating systems can be allowed to access enterprise data.

Smartphone market share

Android Operating System

Android Application Development

ANDROID OPERATING SYSTEM

Microsoft BizTalk ESB Toolkit 2.1

OnCommand Performance Manager 1.1

HP OpenView Patch Manager using Radia Version 3.0

BENEFITS OF MOBILE DEVICE MANAGEMENT

Course: Information Security Management in e-governance. Day 1. Session 5: Securing Data and Operating systems

Linux Distributed Security Module 1

Research on the Model of Enterprise Application Integration with Web Services

Transcription:

tesi di laurea Service Discovery with the Google Android Mobile Platform Anno Accademico 2007/2008 relatore Ch.mo prof. Stefano Russo correlatore Ing. Marcello Cinque candidato Marco Faiella Matr. 885/139

Background The 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.

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à degli Studi 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.

Service Discovery Definition: 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

A Services Framework Designed in the research project between CINI (Consorzio Interuniversitario Nazionale per l Informatica) and the WiFi People company, called WiFi People CRONOS Why this framework? Ad-hoc system, independent from any fixed infrastructure. Framework Management Services Operating System (Win Mobile, Symbian, Android) Application Services System Components 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.

The Google Android mobile platform A 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

Design of a Discovery Application 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. 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.

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.

Server Side (2/2) The Discovery Service Main 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.

Client Side The Client Application Main Components: A service interface A proxy which handles the remote requests The application itself 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. When the Stub receives the response to its request, it notifies it to the main application through the Notify() method.

Device Interaction Overview (2/2) Server

An Example of Use

Conclusions and Future Works In 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)

Any Questions?