Developing Wireless Applications using Java Technology. Computing Is Ubiquitous

Size: px
Start display at page:

Download "Developing Wireless Applications using Java Technology. Computing Is Ubiquitous"

Transcription

1 Developing Wireless Applications using Java Technology Bill Day Technology Evangelist Sun Microsystems Computing Is Ubiquitous Mainframe era: one computer, many people PC era: one person, one computer As computing becomes ubiquitous: one person uses many computers, and these computers are networked 1

2 Agenda Java 2 Platform and J2ME Platform J2ME Platform and Mobile Service Technologies CLDC Internals and Details MIDP Details Availability and Resources Java 2 Platform and J2ME Platform 2

3 Java 2 Platform Optional Packages Java 2 Enterprise Edition (J2EE) Core APIs Optional Packages Java 2 Standard Edition (J2SE) Core APIs Java 2 Platform, Micro Edition (J2ME ) encompasses VMs and core APIs specified via Configurations as well as vertical or market-specific APIs specified in Profiles Personal Profile RMI Profile Foundation Profile Other CDC Profiles... Mobile Information Device Profile Java 2 Micro Edition Core APIs Java Card APIs Java Programming Language Java HotSpot Java Virtual Machine (JVM) KVM Card VM What Is a Configuration? A configuration defines the minimum Java technology libraries and virtual machine capabilities that an application developer/content provider can expect to be available on implementing devices A J2ME platform configuration defines a minimum Java platform for a family of devices Broad range of devices in different areas Similar requirements of memory size and processing capabilities 3

4 Configurations May not contain any optional features Defined through the Java Community Process SM initiative (JCP) Subject to compatibility tests What Is a Profile? A collection of Java technology-based APIs that supplement a Configuration to provide capabilities for a specific vertical market or device type Defined through Java Community Process initiative Subject to compatibility tests 4

5 The J2ME Platform and Mobile Service Technologies J2ME Platform Connected, Limited Device Configuration (CLDC) Targeted at devices with 160KB to 512KB total memory available for Java technology Limited power (often battery) Limited, perhaps intermittent connectivity to a network (often wireless) Extremely constrained UIs, small screens CLDC 1.0 specification available for free download now Sun provides CLDC reference implementation built using the KVM 5

6 Mobile Information Device Profile (MIDP) Targets mobile two-way communication devices implementing J2ME CLDC Profile addresses Display toolkit, User input methods Persistent data storage using simple record-oriented database model HTTP-based networking using CLDC Generic Connection framework MIDP 1.0 spec and implementation available for download now Example J2ME Technology Wireless Device Stack CLDC = KVM + J2ME Core APIs in this example Mobile Information Device Profile KVM Your MIDlet J2ME core APIs DSP chip (e.g., ARM) Yellow Pages, train schedules and ticketing, games UI, HTTP networking... Threads, no Floats 32-bit RISC, 256K ROM, 256K Flash, 64K RAM 6

7 What About Web Content for Mobile Devices? Markup languages in use today to deliver Web content to device browsers: Compact HTML (C-HTML) is an HTML-based markup deployed to millions of users in NTT DoCoMo s i-mode network The WAP Forum s Wireless Markup Language (WML) is an emerging standard for content (data) delivered to mobile devices HTML dominates Web content worldwide WAP specifies its own protocols (Wireless Session Protocol, Wireless Transaction Protocol, etc.) Wireless Web Content Distribution Content Producers Carriers or Wireless Portals Client Devices Static Content Web Server or WAP Gateway Web or WML Browser Dynamic Content Java Applications Content Transcoding Applicati on Distribut ion Application Distribution Java Apps Java Application Manager MID Profile J2ME CLDC 7

8 Example Java Technology Application Loading Process Advertise App on Web Page User Selects App JAM Downloads App Web Page (Name, Version, Size, ) Descriptor File Network Transfer Java Application Manager Jar File The Future: Transcoding and XHTML Transcoders are becoming more capable and widely used WML, C-HTML, and HTML are converging towards XHTML XHTML is the re-writing of HTML as an XMLbased markup language XHTML Basic will be renderable everywhere WAP Forum and W3C collaborating on XHTML WML CHTML HTML XHTML The not too distant future... 8

9 CLDC Internals and Details Scope of the CLDC Specification Specifies VM features required of CLDC implementation in terms of additions to and deviations from The Java Virtual Machine Specification by Lindholm and Yellin Specifies requirements for interfaces and APIs for the following: Input/output, Networking Security model Internationalization features 9

10 Beyond the CLDC Scope Specified in Profiles to be implemented on top of the CLDC: User interface support Event handling High-level application model Persistence support One example specification of these remaining APIs: Mobile Information Device Profile (MIDP) CLDC Language and VM Compatibility General goal: Full Java programming language and Virtual Machine Specification compatibility Only language-level exception: Floating point not in CLDC 1.0 No hardware floating point support on most devices due to space limitations Manufacturers and/or developers may choose to include their own floating point, however 10

11 CLDC Language and VM Compatibility VM Implementation differences: No Java Native Interface (JNI) No reflection No thread groups No weak references No finalization New implementation of bytecode verification using preverifier and bytecode annotations CLDC Libraries Classes inherited from Java 2 Platform, Standard Edition (J2SE version 1.3) are in packages: java.lang.* java.util.* java.io.* New classes introduced by CLDC are in package: javax.microedition.* 11

12 CLDC Libraries: java.lang.* java.lang.object java.lang.class java.lang.runtime java.lang.system java.lang.thread java.lang.runnable java.lang.string java.lang.stringbuffer java.lang.math java.lang.throwable java.lang.byte java.lang. Long java.lang.integer java.lang.boolean java.lang.character java.lang.short CLDC Libraries: java.util.* java.util.vector java.util.stack java.util.hashtable java.util.enumeration java.util.random java.util.calendar 12

13 CLDC Libraries: java.io.* java.io.inputstream java.io.reader java.io.datainput java.io.inputstreamreader java.io.outputstreamreader java.io.bytearrayinputstream java.io.bytearrayoutputstream java.io.printstream java.io.outputstream java.io.writer java.io.dataoutput Comments on CLDC Libraries Internationalization Limited support for the translation of Unicode characters to and from a sequence of bytes Implemented using Readers and Writers By default, the only character encoding for which a converter is provided in ISO-LATIN1 Localization implemented by manufacturer Property support No java.util.properties class Properties read using System.getProperty(String key) Limited set of CLDC-specific properties supported 13

14 Networking, I/O and Storage Libraries Standard Java technology networking, I/O and storage libraries are too large for CLDC devices More than 100 classes Total static size of classfiles more than 200 KB Original classes were never designed for small devices Networking, I/O and Storage Libraries CLDC specifies an alternative Generic Connection framework More coherence in supporting different types of I/O Consistent way of supporting different protocols Improved portability of applications Smaller footprint 14

15 Generic Connection Possibilities General form: Connector.open("<protocol>://<address>:<parameters>"); Files: Connector.open("file://billday.txt"); HTTP: Connector.open(" Sockets: Connector.open("socket:// :9000"); Communication ports: Connector.open("comm://9600:18N"); MIDP Details 15

16 Scope of the MIDP Specification Primary goals: Size: MIDP implementation must fit in small footprint (128KB ROM) Efficiency: must run on low-end microprocessors must run in with limited heap size (32 200KB RAM) minimal creation of garbage Time to market is critical for manufacturers of Mobile Information Devices Beyond the MIDP Scope To be implemented by device manufacturers, operators, or third party developers: How an application actually gets on the device The end-to-end security model System- or OEM-specific technologies 16

17 MIDP Application Lifecycle MIDP applications are known as MIDlets MIDlets move from state to state in the lifecycle, as indicated. Start acquire resources and start executing Pause release resources and become quiescent (wait) Destroy release all resources, destroy threads, and end all activity MIDlet Packaging MIDlets are packaged in a JAR file including Class files of the MIDlet(s) Resource files Manifest with application properties Application Descriptors accompany MIDlet JARs and provide information including Configuration properties Pre-download properties Size, version, storage requirements 17

18 MIDP Libraries The MIDP specifies APIs for: Persistent Storage Networking Timers User Interface MIDP Persistent Storage Lightweight record oriented database Device independent API Unique record ID for each record within a store Records are arrays of bytes Shared within MIDlet suite Atomic update for single records Support for enumeration, sorting and filtering Device platform is responsible for: Integrity of data across reboots, battery changes Storage in flash or other device memory 18

19 MIDP Persistent Storage: RMS Methods Record Store openrecordstore, closerecordstore, listrecordstore, deleterecordstore, getrecordsize, getnumrecords Record Data addrecord, deleterecord, getrecord, setrecord, getrecordsize Record Selection RecordEnumeration, RecordFilter, RecordCompare MIDP Networking MIDP devices must implement HTTP protocol, though this may or may not use IP-based transport underneath 19

20 MIDP Networking Methods MIDP networking extends from CLDC Generic Connection Framework HttpConnection includes methods: get/setrequestproperty get/setrequestmethod getresponsecode, getresponsemessage getheaderfield geturl, gethost, getport, getfile, getquery, getref (Parsed URL components) MIDP Timer Methods Timer handles queuing and delivery Timer Task Multiple Tasks per Timer Periodic Fixed interval One shots 20

21 MIDP UI Design Principles MIDP must be usable in all devices Majority of wireless devices are one-hand operated Small screen (tens of pixels by tens of pixels) Not all devices have a pointing device Must constantly think of end users: Mobile Information Devices are consumer products, not desktop computers Unified user interface between MIDP applications and native apps on the device MIDP applications should behave consistently with resident functionality MIDP UI: A Tale of Two Layers MIDP UIs may be created using one of two layers of APIs Use the high-level APIs for portability Applications using these APIs should be runnable and usable in all MIDP devices No direct access to native device features Low-level APIs Provide access to native drawing primitives, device key events, native input devices, etc. Allow developers to choose to compromise portability for user experience, if needed 21

22 MIDP Screen-based Design Principles MIDlet UIs are built using simple screens Screens should contain minimum amount of information required Usually only one "thing" Screens should require only simple interactions from user No complex traversing, scrolling, or selection metaphors MIDP UI Class Hierarchy (major classes only) Canvas Displayable Screen 0-n Command Choice TextBox ChoiceGroup List Alert Form 1-n Item DateField TextField Gauge ImageItem TextItem 22

23 MIDP Input Handling High-level API input is handled using abstract commands instead of direct access to soft buttons Each MIDP implementation maps these commands to appropriate soft buttons or menu items for the particular device MIDlets can provide semantic hints (like back) Low-level API gives developers access to key press events MIDP Input Commands Example MIDP input commands: new Command("Buy", Command.SCREEN); new Command("Info", Command.SCREEN); new Command("Back", Command.BACK); Ford Opel BMW Options Back Pressing "options" opens a menu Buy Info Back 23

24 Availability and Resources Java Technology in Mobile Devices: Where Are We Today? Sun s CLDC implementation supports development using Solaris, Win32, PalmOS KVM ports to Linux, Motorola devices, Nokia phones, RIM handhelds, and more Symbian continues support for Java technology in current and upcoming releases of EPOC LG deployed J2ME technology in Korean mobile network beginning summer 2000 NTT DoCoMo deployed Java technology in i-mode service January 2001 Agreements and projects with Vodaphone AirTouch, One 2 One, Sprint PCS, Telefonica, and many others 24

25 The J2ME Platform and Mobile Phone Standards Special Mobile Group (SMG) Working group of European Telecommunications Standards Institute (ETSI) Specifies Mobile Station Application Execution Environment (MExE) for GSM mobile phone handsets SMG has adopted PersonalJava technologies as part of the MExE Release 98, classmark 2 spec for GSM handsets 3GPP has announced adoption of J2ME CLDC and MIDP technologies for worldwide third generation (3G) mobile standards J2ME Platform Mobile Tech Availability (as of 6 February 2001) Technology Type Spec FAQ Reference Impl. Mailing list K Virtual Machine J2ME core Yes, part of CLDC Yes Yes, 1.0 Yes Connected, Limited Device Configuration Mobile Information Device Profile tech J2ME Config. J2ME Profile JSR-30, 1.0 JSR-37, 1.0 Yes Yes, 1.0 Yes via KVM list Yes Yes, 1.0 Yes via KVM list 25

26 J2ME Platform CLDC and MIDP Development Tools Sun J2ME Wireless Toolkit (optionally plugs into free Forte for Java IDE) MIDP reference, CLDC/KVM Software Development Kit (SDK), with support for Win32, Solaris platform, and PalmOS RIM BlackBerry IDE, Motorola J2ME SDK, KVM for Linux Any IDE or standard Java tool, including J2SE SDK (aka JDK or 1.3) Tools from the J2ME Archive (Spotter utility, WBXML package, etc.) Other PalmOS tools (Beam Box, RsrcEdit, etc.) Sun J2ME Wireless Toolkit 26

27 Other J2ME Tools Example 1: Zentek i-jade as P503i Example 2: Zucotto WHITEboard Emulator Other J2ME Tools Example 3: PalmOS Emulator Example 4: Sun MIDP Reference Example 5: RIM BlackBerry Java Development Environment 27

28 J2ME Development Tools They are available NOW. They are FREE. They are all you need to start writing great Java applications for mobile devices TODAY. Discuss the J2ME Platform The kvm-interest mailing list is a free J2ME development list hosted by Sun To subscribe, send to: [email protected] In the body of the message, type: subscribe kvm-interest For digest mode, include the following line: set kvm-interest digest The kvm-interest archive is searchable online at: archives.java.sun.com/archives/kvm-interest.html 28

29 J2ME Platform CLDC and MIDP Resources J2ME: java.sun.com/j2me Connected, Limited Device Configuration specification and SDK: java.sun.com/products/cldc Mobile Information Device Profile specification and reference implementation: java.sun.com/products/midp Download the Sun J2ME Wireless Toolkit: java.sun.com/products/j2mewtoolkit J2ME Webcast: java.sun.com/jdc/onlinetraining/webcasts Additional Resources J2ME Archive: jguru J2ME FAQ: J2ME tutorial articles: java.sun.com/jdc/technicalarticles/wireless AnywhereYouGo developer portal: WirelessDevNet developer portal: J2ME tools CD, available now as part of Java Jumpstart from Sun Developer Connection (SDC) 29

30 For more, please visit SDC at: Copyright 2001 Sun Microsystems, Inc., All rights reserved. Sun, Sun Microsystems, the Sun logo, Solaris, Java, PersonalJava, Java TV, EmbeddedJava, Java Card, Java Hotspot, JavaOne, JavaScript, iplanet, JDBC, JDK, JavaCheck, Enterprise JavaBeans, Java Embedded Server, Java Community Process, The Java Coffee Cup Logo, Java Virtual Machine, Java Native Interface, JVM, J2ME, J2SE, and The Network Is The Computer are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. Speaker Bio Bill Day is a Technology Evangelist at Sun Microsystems. Bill writes about software development for JavaWorld magazine, Dr. Dobb s Journal Software Careers, and numerous other publications. He manages jguru s J2ME FAQ. Bill also speaks frequently on consumer device programming and teaches Java and Wireless development as an extension instructor for the University of California Berkeley. More information is available from Bill s web site: 30

31 31

Mobile Information Device Profile - Java Programs in the Phone

Mobile Information Device Profile - Java Programs in the Phone Mobile Information Device Profile - Java Programs in the Phone Kari Systä Nokia Research Center 1 NOKIA 2000 FILENAM s.ppt/date KSy Content Background Java for devices why what are the issues development

More information

Nokia 9210i/9290 Communicators and PersonalJava TM Application Development

Nokia 9210i/9290 Communicators and PersonalJava TM Application Development Nokia 9210i/9290 Communicators and Personal TM Application Development 05-03-2002 Nokia 9210i/9290 Communicators and PersonalTM Application Development Table of contents 1. DIFFERENT JAVA TECHNOLOGIES...

More information

Mobile application development J2ME U N I T I I

Mobile application development J2ME U N I T I I Mobile application development J2ME U N I T I I Overview J2Me Layered Architecture Small Computing Device requirements Run Time Environment Java Application Descriptor File Java Archive File MIDlet Programming

More information

Java Platform, Micro Edition (Java ME) Mokoena F.R. The 7046 Team

Java Platform, Micro Edition (Java ME) Mokoena F.R. The 7046 Team Java Platform, Micro Edition (Java ME) Mokoena F.R The 7046 Team 1. Introduction Java Platform, Micro Edition (Java ME) technology is one of the popular mobile application runtime. It provides developers

More information

Mobile Operating Systems. Week I

Mobile Operating Systems. Week I Mobile Operating Systems Week I Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone

More information

Mobile Development Discovery Document

Mobile Development Discovery Document Mobile Development Discovery Document Prepared By: Abdul Wadood, Atifa Nadeem, Naima Khan and Haris Khan All Rights Reserved No part of this publication may be reproduced, reformatted or transmitted in

More information

MIDlet development with J2ME and MIDP

MIDlet development with J2ME and MIDP MIDlet development with J2ME and MIDP ibm.com/developerworks Table of Contents If you're viewing this document online, you can click any of the topics below to link directly to that section. 1. Introduction...

More information

Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert

Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert Ubiquitous Computing Ubiquitous Computing The Sensor Network System Sun SPOT: The Sun Small Programmable Object Technology Technology-Based Wireless Sensor Networks a Java Platform for Developing Applications

More information

Development of Java ME

Development of Java ME Y39PDA Development of Java ME application České vysoké učení technické v Praze Fakulta Elektrotechnická Content What is Java ME Low Level a High Level API What is JSR LBS Java ME app. life-cycle 2/29 Is

More information

DESIGNING SHIFT CALENDAR FOR MOBILE PHONE

DESIGNING SHIFT CALENDAR FOR MOBILE PHONE Bachelor's thesis Degree program Information technology 2010 Maamar zeddek DESIGNING SHIFT CALENDAR FOR MOBILE PHONE BACHELOR S THESIS ABSTRACT TURKU UNIVERSITY OF APPLIED SCIENCES Degree programme Infomation

More information

Tutorial: Development of Interactive Applications for Mobile Devices

Tutorial: Development of Interactive Applications for Mobile Devices Tutorial: Development of Interactive Applications for Mobile Devices 7th International Conference on Human Computer Interaction with Mobile Devices and Services (Mobile HCI 2005) (Media Informatics Group,

More information

Wireless Java Programming for Enterprise Applications

Wireless Java Programming for Enterprise Applications Wireless Java Programming for Enterprise Applications Mobile Devices Go Corporate Dan Harkey Shan Appajodu Mike Urkin WILEY PUBLISHING, INC. Jl. ^E^.^l.^ Contents Foreword Preface v vii Part 1. Technologies

More information

Computer and Set of Robots

Computer and Set of Robots Lesson 11:DESIGN PROCESS EXAMPLES Mobile-Phone, Mobile- Computer and Set of Robots 1 Mobile Phone 2 Mobile phone SoC (System-on-Chip) Hardware units Microcontroller or ASIP (Application Specific Instruction

More information

Technical Note. Micron Flash Data Integrator (FDI) Support for Java Applications. Introduction. Definition

Technical Note. Micron Flash Data Integrator (FDI) Support for Java Applications. Introduction. Definition Technical Note TN-13-09: FDI Support for Java Applications Introduction Micron Flash Data Integrator (FDI) Support for Java Applications Introduction This document provides an instructional reference to

More information

An Overview of Java. overview-1

An Overview of Java. overview-1 An Overview of Java overview-1 Contents What is Java Major Java features Java virtual machine Java programming language Java class libraries (API) GUI Support in Java Networking and Threads in Java overview-2

More information

Java ME & NetBeans Mobility. Petr Suchomel Architect, NetBeans Mobility Sun Microsystems

Java ME & NetBeans Mobility. Petr Suchomel Architect, NetBeans Mobility Sun Microsystems Java ME & NetBeans Mobility Petr Suchomel Architect, NetBeans Mobility Sun Microsystems Agenda Java ME introduction Java ME applications NetBeans Mobility Edition Power of advanced features Demos, demos,

More information

Java Card. Smartcards. Demos. . p.1/30

Java Card. Smartcards. Demos. . p.1/30 . p.1/30 Java Card Smartcards Java Card Demos Smart Cards. p.2/30 . p.3/30 Smartcards Credit-card size piece of plastic with embedded chip, for storing & processing data Standard applications bank cards

More information

Extreme Java G22.3033-006. Session 3 Main Theme Java Core Technologies (Part I) Dr. Jean-Claude Franchitti

Extreme Java G22.3033-006. Session 3 Main Theme Java Core Technologies (Part I) Dr. Jean-Claude Franchitti Extreme Java G22.3033-006 Session 3 Main Theme Java Core Technologies (Part I) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences Agenda

More information

Mobile Application Development

Mobile Application Development Mobile Application Development Development Process and Portability Christoph Denzler University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Learning Target

More information

Mobile-PC Suite: Using Mobile Phone as Remote to Control PC Operations

Mobile-PC Suite: Using Mobile Phone as Remote to Control PC Operations Mobile-PC Suite: Using Mobile Phone as Remote to Control PC Operations R.S.S.Vishnu Priya, P.Panini Sai, K.Ruth Ramya, N.Chandra Sekhar, K.Venkata Prasad, P.D.Nageswara Rao Dept. of CSE, KLCE Vaddeswaram,

More information

EFFECTIVE QUERY RETRIEVAL SYSTEM IN MOBILE BUSINESS ENVIRONMENT

EFFECTIVE QUERY RETRIEVAL SYSTEM IN MOBILE BUSINESS ENVIRONMENT EFFECTIVE QUERY RETRIEVAL SYSTEM IN MOBILE BUSINESS ENVIRONMENT 1 R.Sivaraman, 2 RM.Chandrasekaran 1 Dy.Director, Center for Convergence of Technologies (CCT), Anna University Tiruchirappalli, Tiruchirappalli,

More information

Overview focus on breadth understanding not depth (that s what the labs are for )

Overview focus on breadth understanding not depth (that s what the labs are for ) Mobile Application Development Platforms: The Options Wilfred M. Mworia Mobile BootCamp 2009 Objectives Overview focus on breadth understanding not depth (that s what the labs are for ) Hopefully, help

More information

J2ME Building Blocks for Mobile Devices

J2ME Building Blocks for Mobile Devices J2ME Building Blocks for Mobile Devices White Paper on KVM and the Connected, Limited Device Configuration (CLDC) Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 USA 650 960-1300 fax 650

More information

Mobile Operating Systems Lesson 07 Symbian OS

Mobile Operating Systems Lesson 07 Symbian OS Mobile Operating Systems Lesson 07 Symbian OS Oxford University Press 2007. All rights reserved. 1 Oxford University Press 2007. All rights reserved. 2 Symbian OS multi-modal communication support OS for

More information

Project: E290 - MOBILE COMMERCE APPLICATION DEVELOPMENT

Project: E290 - MOBILE COMMERCE APPLICATION DEVELOPMENT Undergraduate Research Opportunity Programme (UROP) Project: E290 - MOBILE COMMERCE APPLICATION DEVELOPMENT Supervisor Professor Kong Pe Hin Hinny Nanyang Technological University Email: [email protected]

More information

Review of J2ME and J2ME-based Mobile Applications

Review of J2ME and J2ME-based Mobile Applications IJCSNS International Journal of Computer Science and Network Security, VOL.8 No.2, February 2008 189 Review of J2ME and J2ME-based Mobile Applications Anna Isakow and Hao Shi School of Computer Science

More information

STM32JAVA. Embedded Java Solutions for STM32

STM32JAVA. Embedded Java Solutions for STM32 STM32JAVA Embedded Java Solutions for STM32 What is STM32Java? Solution to develop and to deploy software applications on STM32F0 to STM32F7 microcontrollers using Java Help to reduce the total cost of

More information

rich mobile applications made easy

rich mobile applications made easy rich mobile applications made easy Streamezzo MObile Open Development platform Streamezzo MOOD Platform is a complete development and runtime framework to easily create and deploy Rich Internet Applications

More information

Real time vehicle tracking and driver behaviour monitoring using cellular handset based accelerometer and GPS data

Real time vehicle tracking and driver behaviour monitoring using cellular handset based accelerometer and GPS data Real time vehicle tracking and driver behaviour monitoring using cellular handset based accelerometer and GPS data 4 th Year Electronic and Computing Project Report 05416361 Supervisor: Mr Liam Kilmartin

More information

Java and Real Time Storage Applications

Java and Real Time Storage Applications Java and Real Time Storage Applications Gary Mueller Janet Borzuchowski 1 Flavors of Java for Embedded Systems Software Java Virtual Machine(JVM) Compiled Java Hardware Java Virtual Machine Java Virtual

More information

Mobile Operating Systems Lesson 03 PalmOS Part 1

Mobile Operating Systems Lesson 03 PalmOS Part 1 Mobile Operating Systems Lesson 03 PalmOS Part 1 Oxford University Press 2007. All rights reserved. 1 PalmOS An OS for handheld devices Designed for highly efficient running of small productivity programs

More information

Wireless Solutions Beyond Email

Wireless Solutions Beyond Email Wireless Solutions Beyond Email Wireless Solutions Beyond Email Agenda Wireless Beyond Email in the Enterprise Key Success Factors for Wireless Enterprise Applications Understanding ROI & TCO for Wireless

More information

2sms SMS API Overview

2sms SMS API Overview 2sms SMS API Overview Do you, or your customers, use any of the following software solutions in your business? If the answer is Yes, then 2sms provides the extensive SMS API Library that gives your software

More information

2 Selecting Operating System - Symbian OS

2 Selecting Operating System - Symbian OS 1 Introduction One of the very first steps of this project, is to choose the device on which we are going to develop and test the application, that will enable interaction with the RFID Guardian. Some

More information

Mobile Software Application Development. Tutorial. Caesar Ogole. April 2006

Mobile Software Application Development. Tutorial. Caesar Ogole. April 2006 Mobile Software Application Development Tutorial By Caesar Ogole April 2006 About the Tutorial: In this tutorial, you will learn how to build a cross-platform mobile software application that runs on the

More information

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,

More information

Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java

Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java Oxford University Press 2007. All rights reserved. 1 C and C++ C and C++ with in-line-assembly, Visual Basic, and Visual C++ the

More information

JavaFX Session Agenda

JavaFX Session Agenda JavaFX Session Agenda 1 Introduction RIA, JavaFX and why JavaFX 2 JavaFX Architecture and Framework 3 Getting Started with JavaFX 4 Examples for Layout, Control, FXML etc Current day users expect web user

More information

Location-Based Information Systems

Location-Based Information Systems Location-Based Information Systems Developing Real-Time Tracking Applications Miguel A Labrador Alfredo J Perez Pedro M Wightman CRC Press Taylor & Francis Group Boca Raton London New York CRC Press Is

More information

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY Suhas Holla #1, Mahima M Katti #2 # Department of Information Science & Engg, R V College of Engineering Bangalore, India Abstract In the advancing

More information

Introduction to Mobile Phone. Programming in Java Me

Introduction to Mobile Phone. Programming in Java Me Introduction to Mobile Phone Programming in Java Me (prepared for CS/ECE 707, UW-Madison) Author: Leszek Wiland and Suman Banerjee 1 Content 1. Introduction 2. Setting up programming environment 3. Hello

More information

Introduction to BlackBerry Smartphone Web Development Widgets

Introduction to BlackBerry Smartphone Web Development Widgets Introduction to BlackBerry Smartphone Web Development Widgets Trainer name Date 2009 Research In Motion Limited V1.00 are stand-alone BlackBerry applications that consist of standard web components, including

More information

The Java Virtual Machine and Mobile Devices. John Buford, Ph.D. [email protected] Oct 2003 Presented to Gordon College CS 311

The Java Virtual Machine and Mobile Devices. John Buford, Ph.D. buford@alum.mit.edu Oct 2003 Presented to Gordon College CS 311 The Java Virtual Machine and Mobile Devices John Buford, Ph.D. [email protected] Oct 2003 Presented to Gordon College CS 311 Objectives Review virtual machine concept Introduce stack machine architecture

More information

<Insert Picture Here> Java, the language for the future

<Insert Picture Here> Java, the language for the future 1 Java, the language for the future Adam Messinger Vice President of Development The following is intended to outline our general product direction. It is intended for information

More information

Security Evaluation of J2ME CLDC Embedded Java Platform

Security Evaluation of J2ME CLDC Embedded Java Platform Vol. 5, No. 2, March April 2006 Security Evaluation of J2ME CLDC Embedded Java Platform Mourad Debbabi, Mohamed Saleh, Chamseddine Talhi and Sami Zhioua Computer Security Laboratory Concordia Institute

More information

Fundamentals of Java Programming

Fundamentals of Java Programming Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors

More information

CS 209 Programming in Java #1

CS 209 Programming in Java #1 CS 209 Programming in Java #1 Introduction Spring, 2006 Instructor: J.G. Neal 1 Topics CS 209 Target Audience CS 209 Course Goals CS 209 Syllabus - See handout Java Features, History, Environment Java

More information

Java ME Clients for XML Web Services

Java ME Clients for XML Web Services 66 Java ME Clients for XML Web Services Paul POCATILU Academy of Economic Studies, Bucharest Using Web services in developing applications has many advantages like the existence of standards, multiple

More information

Glassfish, JAVA EE, Servlets, JSP, EJB

Glassfish, JAVA EE, Servlets, JSP, EJB Glassfish, JAVA EE, Servlets, JSP, EJB Java platform A Java platform comprises the JVM together with supporting class libraries. Java 2 Standard Edition (J2SE) (1999) provides core libraries for data structures,

More information

Mobile Phones Operating Systems

Mobile Phones Operating Systems Mobile Phones Operating Systems José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2015-05-28 José Costa (DEI/IST) Mobile Phones Operating

More information

Using jvmstat and visualgc to Solve Memory Management Problems

Using jvmstat and visualgc to Solve Memory Management Problems Using jvmstat and visualgc to Solve Memory Management Problems java.sun.com/javaone/sf 1 Wally Wedel Sun Software Services Brian Doherty Sun Microsystems, Inc. Analyze JVM Machine Memory Management Problems

More information

Project SailFin: Building and Hosting Your Own Communication Server.

Project SailFin: Building and Hosting Your Own Communication Server. FSFS Conference: Dec 9-11, Thiruvananthapuram Project SailFin: Building and Hosting Your Own Communication Server. Binod PG Senior Staff Engineer Sun Microsystems, Inc. 1 Agenda SailFin: Open Source Java

More information

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE INTRODUCTION TO JAVA PROGRAMMING LANGUAGE Today Java programming language is one of the most popular programming language which is used in critical applications like stock market trading system on BSE,

More information

An Adaptive Mobile Application Development Framework

An Adaptive Mobile Application Development Framework An Adaptive Mobile Application Development Framework Ming-Chun Cheng 1, Shyan-Ming Yuan 1 1 Department of Computer and Information Science, National Chiao Tung University, 1001 Ta Hsueh Rd, Hsinchu 300,

More information

Write. Once. Deploy. Anywhere. Anatole Wilson. Writing Applications for mobile devices and reducing device fragmentation with NetBeans Mobility Pack

Write. Once. Deploy. Anywhere. Anatole Wilson. Writing Applications for mobile devices and reducing device fragmentation with NetBeans Mobility Pack Write Once Deploy nywhere Writing pplications for mobile devices and reducing device fragmentation with NetBeans Mobility Pack natole Wilson Write Once, Deploy nywhere Take a look around you in just about

More information

Integrating Mobile Devices into the Computer Science Curriculum

Integrating Mobile Devices into the Computer Science Curriculum Integrating Mobile Devices into the Computer Science Curriculum Qusay H. Mahmoud Centre for Mobile Education Research Department of Computing and Information Science University of Guelph, Guelph, ON, N1G

More information

Python for Series 60 Platform

Python for Series 60 Platform F O R U M N O K I A Getting Started with Python for Series 60 Platform Version 1.2; September 28, 2005 Python for Series 60 Platform Copyright 2005 Nokia Corporation. All rights reserved. Nokia and Nokia

More information

Heterogeneous Tools for Heterogeneous Network Management with WBEM

Heterogeneous Tools for Heterogeneous Network Management with WBEM Heterogeneous Tools for Heterogeneous Network Management with WBEM Kenneth Carey & Fergus O Reilly Adaptive Wireless Systems Group Department of Electronic Engineering Cork Institute of Technology, Cork,

More information

SavaJe OS: Solving the problem of the Java Virtual Machine on Wireless Devices

SavaJe OS: Solving the problem of the Java Virtual Machine on Wireless Devices SavaJe OS: Solving the problem of the Java Virtual Machine on Wireless Devices Summary Since the arrival several years ago of Sun Microsystems Java technology with its concept of write once, run anywhere

More information

Lecture 1 Introduction to Android

Lecture 1 Introduction to Android These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy

More information

Java Programming Fundamentals

Java Programming Fundamentals Lecture 1 Part I Java Programming Fundamentals Topics in Quantitative Finance: Numerical Solutions of Partial Differential Equations Instructor: Iraj Kani Introduction to Java We start by making a few

More information

VOL. 2, NO. 1, January 2012 ISSN 2225-7217 ARPN Journal of Science and Technology 2010-2012 ARPN Journals. All rights reserved

VOL. 2, NO. 1, January 2012 ISSN 2225-7217 ARPN Journal of Science and Technology 2010-2012 ARPN Journals. All rights reserved Mobile Application for News and Interactive Services L. Ashwin Kumar Department of Information Technology, JNTU, Hyderabad, India [email protected] ABSTRACT In this paper, we describe the design and

More information

The Study on Mobile Phone-oriented Application Integration Technology of Web Services 1

The Study on Mobile Phone-oriented Application Integration Technology of Web Services 1 The Study on Mobile Phone-oriented Application Integration Technology of Web Services 1 Li Luqun 1, 2 Li Minglu 1 Cui Xianguo 2 1. Department of Computer Science of Shanghai Jiaotong University, 1954 Huashan

More information

The Sun Certified Associate for the Java Platform, Standard Edition, Exam Version 1.0

The Sun Certified Associate for the Java Platform, Standard Edition, Exam Version 1.0 The following applies to all exams: Once exam vouchers are purchased you have up to one year from the date of purchase to use it. Each voucher is valid for one exam and may only be used at an Authorized

More information

Chapter 3 Operating-System Structures

Chapter 3 Operating-System Structures Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual

More information

Mobile Application Marketplace 2015: Market Analysis and Assessment of Future Evolution and Opportunities

Mobile Application Marketplace 2015: Market Analysis and Assessment of Future Evolution and Opportunities Brochure More information from http://www.researchandmarkets.com/reports/3245389/ Mobile Application Marketplace 2015: Market Analysis and Assessment of Future Evolution and Opportunities Description:

More information

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010 Introducing Apache Pivot Greg Brown, Todd Volkert 6/10/2010 Speaker Bios Greg Brown Senior Software Architect 15 years experience developing client and server applications in both services and R&D Apache

More information

12. Introduction to Virtual Machines

12. Introduction to Virtual Machines 12. Introduction to Virtual Machines 12. Introduction to Virtual Machines Modern Applications Challenges of Virtual Machine Monitors Historical Perspective Classification 332 / 352 12. Introduction to

More information

Implementing Mobile Thin client Architecture For Enterprise Application

Implementing Mobile Thin client Architecture For Enterprise Application Research Paper Implementing Mobile Thin client Architecture For Enterprise Paper ID IJIFR/ V2/ E1/ 037 Page No 131-136 Subject Area Information Technology Key Words JQuery Mobile, JQuery Ajax, REST, JSON

More information

JBoss Seam Performance and Scalability on Dell PowerEdge 1855 Blade Servers

JBoss Seam Performance and Scalability on Dell PowerEdge 1855 Blade Servers JBoss Seam Performance and Scalability on Dell PowerEdge 1855 Blade Servers Dave Jaffe, PhD, Dell Inc. Michael Yuan, PhD, JBoss / RedHat June 14th, 2006 JBoss Inc. 2006 About us Dave Jaffe Works for Dell

More information

Armed E-Bunny: A Selective Dynamic Compiler for Embedded Java Virtual Machine Targeting ARM Processors

Armed E-Bunny: A Selective Dynamic Compiler for Embedded Java Virtual Machine Targeting ARM Processors 2005 ACM Symposium on Applied Computing Armed E-Bunny: A Selective Dynamic Compiler for Embedded Java Virtual Machine Targeting ARM Processors Mourad Debbabi Computer Security Research Group CIISE, Concordia

More information

Praktikum Entwicklung Mediensysteme (für Master)

Praktikum Entwicklung Mediensysteme (für Master) Praktikum Entwicklung Mediensysteme (für Master) An Introduction to Android An Introduction to Android What is Android? Installation Getting Started Anatomy of an Android Application Life Cycle of an Android

More information

TAMZ I. (Design of Applications for Mobile Devices I) Lecture 1. Introducing Mobile Platforms. http://goo.gl/pze5o8

TAMZ I. (Design of Applications for Mobile Devices I) Lecture 1. Introducing Mobile Platforms. http://goo.gl/pze5o8 TAMZ I (Design of Applications for Mobile Devices I) Lecture 1 Introducing Mobile Platforms http://goo.gl/pze5o8 Contact Information Office: Address: EA-409 Dept. of Computer Science, FEECS VSB-TU Ostrava

More information

Introduction to Android

Introduction to Android Introduction to Android Poll How many have an Android phone? How many have downloaded & installed the Android SDK? How many have developed an Android application? How many have deployed an Android application

More information

Ciphermail Gateway PDF Encryption Setup Guide

Ciphermail Gateway PDF Encryption Setup Guide CIPHERMAIL EMAIL ENCRYPTION Ciphermail Gateway PDF Encryption Setup Guide March 6, 2014, Rev: 5454 Copyright c 2008-2014, ciphermail.com. CONTENTS CONTENTS Contents 1 Introduction 4 2 Portal 4 3 PDF encryption

More information

Sophos Mobile Control Technical guide

Sophos Mobile Control Technical guide Sophos Mobile Control Technical guide Product version: 2 Document date: December 2011 Contents 1. About Sophos Mobile Control... 3 2. Integration... 4 3. Architecture... 6 4. Workflow... 12 5. Directory

More information

History of Mobile Applications

History of Mobile Applications History of Mobile Applications MAS 490: Theory and Practice of Mobile Applications Professor John F. Clark Overview Mobile communication is so integrated into our lives that many people feel uncomfortable

More information

Oracle Communications WebRTC Session Controller: Basic Admin. Student Guide

Oracle Communications WebRTC Session Controller: Basic Admin. Student Guide Oracle Communications WebRTC Session Controller: Basic Admin Student Guide Edition 1.0 April 2015 Copyright 2015, Oracle and/or its affiliates. All rights reserved. Disclaimer This document contains proprietary

More information

Introduction to BlackBerry Development using Java ME. Presented by: Sean Fenton Technical Channel Manager RIM (Research in Motion )

Introduction to BlackBerry Development using Java ME. Presented by: Sean Fenton Technical Channel Manager RIM (Research in Motion ) Introduction to BlackBerry Development using Java ME Presented by: Sean Fenton Technical Channel Manager RIM (Research in Motion ) 2 Introduction to BlackBerry MDS BlackBerry Mobile Data System (BlackBerry

More information

NetBeans IDE Field Guide

NetBeans IDE Field Guide NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Introduction to J2EE Development in NetBeans IDE...1 Configuring the IDE for J2EE Development...2 Getting

More information

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013 Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone

More information

A Beginners Guide to Fusion Middleware

A Beginners Guide to Fusion Middleware A Beginners Guide to Fusion Middleware Hans Forbrich Forbrich Computer Consulting Ltd. Congratulations of Brazil for your OTN Tour! Thank you to our interpreter And Thank You for inviting me A Beginners

More information

CS378 -Mobile Computing. Android Overview and Android Development Environment

CS378 -Mobile Computing. Android Overview and Android Development Environment CS378 -Mobile Computing Android Overview and Android Development Environment What is Android? A software stack for mobile devices that includes An operating system Middleware Key Applications Uses Linux

More information