Connect Here. Go Anywhere.



Similar documents
Nokia 9210i/9290 Communicators and PersonalJava TM Application Development

1. Overview of the Java Language

Project: E290 - MOBILE COMMERCE APPLICATION DEVELOPMENT

Integrated and reliable the heart of your iseries system. i5/os the next generation iseries operating system

Social Media & Mobile Handheld Devices: The Platforms, Operating Systems, devices& Applications. The wireless last mile & User Interface choices

2 Selecting Operating System - Symbian OS

A Review of Different Comparative Studies on Mobile Operating System

Section 1.4. Java s Magic: Bytecode, Java Virtual Machine, JIT,

IT Research BYTE. Analysis. Packaged Solutions. MEAPs. Native SDK. Customization. Costs. Glossary (continued)

JAVA Technologies QUARTER 1 DESKTOP APPLICATIONS - ESSENTIALS QUARTER 2 NETWORKING AND OPERATING SYSTEMS ESSENTIALS. Module 1 - Office Applications

Only Athena provides complete command over these common enterprise mobility needs.

Mobile Development Discovery Document

Software: Systems and Application Software

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Open EMS Suite. O&M Agent. Functional Overview Version 1.2. Nokia Siemens Networks 1 (18)

RhoMobile Suite. Develop applications for the next generation of business mobility

Salutation Architectures and the newly defined service discovery protocols from Microsoft and Sun

Important Notice Baracoda products works with all Bluetooth devices accepting both SPP connection and sniff mode.

Mobile Devices and Systems Lesson 02 Handheld Pocket Computers and Mobile System Operating Systems

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

What Is the Java TM 2 Platform, Enterprise Edition?

Mobile Operating Systems. Week I

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE

Delivering a platform-independent based ESB for universal connectivity and transformation in heterogeneous IT environments.

Mobile Device Management and Security Glossary

Chapter 3 Operating-System Structures

The Mobile Device and Operating System Landscape

Mobile Operating Systems Lesson 07 Symbian OS

BarTender Integration Methods. Integrating BarTender s Printing and Design Functionality with Your Custom Application WHITE PAPER

CS3600 SYSTEMS AND NETWORKS

Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server

ORACLE FORMS APPLICATIONS?

Databases Lesson 04 Client Server Computing and Adaptation

Cambridge International AS and A Level Computer Science

Mobile Devices: Server and Management Lesson 02 Application Servers Part 1

Zebra Link-OS Environment Version 2.0

Lecture 26 Enterprise Internet Computing 1. Enterprise computing 2. Enterprise Internet computing 3. Natures of enterprise computing 4.

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.

RemoteTM LAN Server User Guide

BlackBerry Enterprise Solution

How To Use Softxpand (A Thin Client) On A Pc Or Laptop Or Mac Or Macbook Or Ipad (For A Powerbook)

CS420: Operating Systems OS Services & System Calls

How to Develop Accessible Linux Applications

Chapter 13 Computer Programs and Programming Languages. Discovering Computers Your Interactive Guide to the Digital World

Operating System Structures

Chapter 8 Objectives. Chapter 8 Operating Systems and Utility Programs. Operating Systems. Operating Systems. Operating Systems.

IBM WebSphere Enterprise Service Bus, Version 6.0.1

Study of SAP ERP Connection System Driven in Smartphone

FAQ CE 5.0 and WM 5.0 Application Development

Ahsay BackupBox v1.0. Deployment Guide. Ahsay TM Online Backup - Development Department

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

OPERATING SYSTEM SERVICES

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

GoToMyPC. Remote Access Technologies: A Comparison of GoToMyPC and Microsoft Windows XP Remote Desktop

The Windows Telephony Application Programming Interface Combining the Power of the Computer With the Functionality of the Telephone.

Heterogeneous Tools for Heterogeneous Network Management with WBEM

Click to view Web Link, click Chapter 8, Click Web Link from left navigation, then click BIOS below Chapter 8 p. 395 Fig. 8-4.

History of Mobile Applications

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

MD Link Integration MDI Solutions Limited

IT Infrastructure: Hardware and Software

Outline: Operating Systems

DESIGN AND IMPLEMENTATION OF A FILE SHARING APPLICATION FOR ANDROID

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming

Risks with web programming technologies. Steve Branigan Lucent Technologies

ipad, a revolutionary device - Apple

Some Future Challenges of Binary Translation. Kemal Ebcioglu IBM T.J. Watson Research Center

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

Mobile RFID solutions

C. Cross-Platform Java also presented a middleware threat to Microsoft s operating system monopoly

Application Servers - BEA WebLogic. Installing the Application Server

A Modular Approach to Teaching Mobile APPS Development

To Study and Design a Cross-Platform Mobile Application for Student Information System using PhoneGap Framework

Transition to SaaS. Ensuring the availability and accessibility of quality software services.

IBM System i Integrated Collaboration

International Engineering Journal For Research & Development

How To Understand Programming Languages And Programming Languages

Wireless Mobile Workers

Comparative Study of Different Mobile Operating Systems

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

14.1. bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë

Mobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality,

IBM WebSphere MQ File Transfer Edition, Version 7.0

Web Services for Environmental Informatics

Enterprise Mobile Application Development: Native or Hybrid?

Lecture 6: Operating Systems and Utility Programs

Smartphone Operating Systems

Python for Series 60 Platform

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

IBM WebSphere application integration software: A faster way to respond to new business-driven opportunities.

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023

The Art of Virtualization with Free Software

Version Overview. Business value

Using Virtual PC 7.0 for Mac with GalleryPro

VMware Virtualization and Software Development

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

POINT-TO-POINT vs. MEAP THE RIGHT APPROACH FOR AN INTEGRATED MOBILITY SOLUTION

Chapter 5: System Software: Operating Systems and Utility Programs

Remote Desktop Services

Introduction to SunOne Development Tools by Mr. Mickey Fan, Java Architect, Sun Microsystems. Good morning. Ladies and Gentlemen.

Transcription:

The Epic Data toolkit for developing pervasive applications. Connect Here. Go Anywhere. Wireless Solutions for Supply Chain Integration. Copyright 2000 Epic Data International, Inc. All rights reserved.

INTRODUCTION expresso is a set of application programming interfaces (APIs), tools, and programming methodologies for developing pervasive computing solutions. expresso builds upon Java TM technology to provide facilities needed to create mobile applications. expresso provides a uniform Java API for mobile devices that allows you to write applications once and use them on many devices - see Figure 1. Figure 1 Document Layout This document contains the following sections: Introduction Issues and Choices in Developing Mobile Applications System Components Conclusion Further Information Glossary. Copyright 2000 Epic Data International, Inc. All rights reserved. 2

Issues and Choices in Developing Mobile Applications This section discusses some of the decisions you must make before developing mobile applications, these are: Move Forward or Wait? Choose Open Standard vs. Proprietary Technology? Device Variability? Move Forward or Wait? The year 2000 will be another big year for growth in the mobile device market place, presenting both opportunities and risks for the purveyors of business applications. Currently, there is no clear market winner in the mobile device operating system space. The market is fragmented with a number of potential winners such as Palm OS, Windows CE, Symbian/EPOC, and Linux, among others. This is similar to where the world stood in the 1980 s when trying to decide between Apple and Microsoft. Making the wrong choice leaves you with unsupported products and falling behind competitors. How can you move forward without getting caught? The answer: Pick a technology that inherently protects you. Choose Open Standard vs. Propriety Technology? What technology choices offer the most flexibility? Open standard technologies, those specifications that are available in the public domain, and portable technologies that can move from platform to platform are good places to start. expresso is based on the open standard, portable technologies of Java and XML. Epic Data believes the choice of open standard development tools over proprietary tools is a fundamental one. Choosing expresso protects developers and customers from the built-in obsolescence of proprietary system development tools and closed system architectures. The expresso technologies are explained in more detail below. Copyright 2000 Epic Data International, Inc. All rights reserved. 3

Java Java technology is a portable, object-oriented programming environment. A Java environment consists of the Java programming language, a Java language compiler, and a Java virtual machine. Java has a number of classes and interfaces that are used to write Java applications. Java language compilers compile the programming language into a platform independent executable called Java bytecode. Java bytecode is executed by a Java virtual machine (JVM). The JVM dynamically compiles or interprets the platform independent Java bytecode, translating it into platform specific instructions. Java is on a roll in the wireless industry. With numerous companies such as IBM, America Online, Bell South Wireless Data, Ericsson, Fujitsu, Panasonic, Motorola, NEC, Nokia, Palm Computing, Research In Motion, Symbian, and Samsung standardizing on Java for mobile applications. William F. Lenahan, president and chief executive officer of BellSouth Wireless Data said, "We will work with Sun and our partners to ensure a quick transition to a Java technology-based industry standard platform, which will enable developers to easily create wireless applications in a world that everyone understands." XML Extensible Mark up Language (XML) is the universal language for data communication over the web. Companies such as SAP-AG, Microsoft, and IBM have adopted the use of XML technology as the standard for business-to-business, application-to-application, and electronic commerce communication. Through the use of an open-standard application programming interface, software applications that use the XML standard are able to transfer complex data and structures seamlessly to and from mobile devices. Wireless Mark up Language (WML), which is rapidly gaining acceptance as the programming language of choice for mobile wireless devices such as cellular phones, is based on XML technology. Noboru Urano, director of XML product development, Fujitsu Limited says, "XML technology provides a cost-effective, cross-platform approach to improved data exchange which is becoming more and more critical to enterprise applications. We see XML as reality in the market today. He continued, We are pleased that Sun has been driving this effort; XML and the Java platform are a perfect match, fueling new generation web applications, such as e-commerce." Copyright 2000 Epic Data International, Inc. All rights reserved. 4

Device Variability? So you have decided to use Java to develop your mobile applications? This means that you can write your application once and use it anywhere? Wrong. Java is a powerful language. Although conceptually designed for any computing device, the recent success of Java has predominantly been on PCs and servers, which offer full graphics and processing capabilities. The difficulty for developers of mobile applications is that, when creating an application using the Java programming interface, developers may inadvertently use functions which simply are not supported on mobile hardware. Just think what would happen if you ran a PC application on your cellular phone. You wouldn t see the whole screen, there is no color, you don t have a mouse, and entering text is mind numbing with only 12 keys! Not to mention that the application would run at a snail s pace. The small electronic footprint of currently available mobile devices and the variability in device hardware means that even programs written in Java will not run on every device platform without additional work on the development side. Two of the major differences when developing applications in the mobile world are: Input Mechanisms Few mobile devices on the market have either a mouse or a QWERTY keyboard. There are many variations in keyboards, in fact Palm Pilots don t have a keyboard. Instead they may have other functionality, including laser scanners and RFID interrogators. Graphics Capabilities How do you write a program that doesn t have access to a screen? 64,000 colors. Not likely. Today s mobile devices vary from PC quality monitors to monochrome to no screen at all! Copyright 2000 Epic Data International, Inc. All rights reserved. 5

System Components As illustrated previously, building applications for a mobile environment introduces new complexities and reveals some of the challenges facing the use of Java on mobile devices. The answer: expresso. The expresso toolkit provides special Java classes and software APIs that make up the expresso device abstraction layer. This layer enables the developer to use only those functions that can be supported in their chosen mobile environment and access those special functions offered in mobile devices. expresso is a toolkit of technologies that make up the Epic Data Rapid Application Development Toolkit. The following components are explained in more detail: Device Abstraction Layer expresso Manager Java Development Environment Pre-built expresso Services. Copyright 2000 Epic Data International, Inc. All rights reserved. 6

Device Abstraction Layer The mobile world is very different from the PC world because there is so much variability in device functionality. expresso provides a device abstraction layer, see Figure 2, that enables you to use a single Java business application across various device-operating environments. The device abstraction layer consists of a number of individual device interfaces with a uniform device API. Citrix Devices Telnet Devices Web Devices Java Devices WAP Devices Device Layer Device Abstraction Logic Device Application Logic Business Layer Client and Server Pages XObjects Database XServices Components Scripts Host Interace Logic Host Layer Host Abstraction Logic Respository Respository Figure 2 Copyright 2000 Epic Data International, Inc. All rights reserved. 7

expresso Manager expresso Manager is a graphical configuration tool for mobile applications. expresso Manager configures how the actual Java code is executed, allowing non-developers, such as users, to customize their applications based on their personal preferences or the organization s needs. Some of the options in configuring the mobile application include: Editing the text displayed for any menu titles or menu options Adding, editing, and deleting menu items Adding or deleting transactions from the application menus Re-ordering the menus using drag and drop. Java Development Environment The Java development environment consists of the rapid application development tools software developers use to write, edit, compile, and debug the source code of a Java or expresso application. Numerous products are available to developers that adhere to the standards for a Java development environment. expresso s conformance with Java standards makes it easy to learn, and positions it to achieve rapid acceptance in the mobile application development community. Pre-built expresso Services expresso provides back end processing services for your applications including: Communications with an ERP or B2B interface Transaction processing services Data management services Mobile device management System monitoring and problem reporting. Copyright 2000 Epic Data International, Inc. All rights reserved. 8

Conclusion expresso speeds the development of pervasive applications harnessing the power of Java and XML using open and portable technologies. expresso provides the missing link Java developers need to make the leap to mobile computing application development and to exploit a whole new world of opportunities. For Additional Information: http://java.sun.com/ http://www.epicdata.com/ http://www.xml.org/ http://www.symbol.com/ http://www.wapforum.com Copyright 2000 Epic Data International, Inc. All rights reserved. 9

Glossary The following terms provide the basis for a discussion of expresso. HTTP (Hyper-Text Transfer Protocol) Java The protocol of the Internet used for communication between clients and servers. HTTP messages consist of requests from client to server and responses from server to client. Java is a programming language designed by Sun Microsystems. Java is different from most programming languages such as C++ because it is an interpreted language. The source code is first compiled into byte code. The byte code is then converted into machine code at run-time. This means Java programs are not dependent on any specific hardware and will run in any computer with a Java Virtual Machine. Java Virtual Machine (JVM) A Java Virtual Machine or JVM is a program that converts Java intermediate language or byte code, into machine language one line at a time and then executes the program. Pervasive Devices Pervasive devices are those devices that provide a user with the ability to receive and gather information at anytime, from anywhere. Wireless mobile computers are a prime example of a pervasive device. XML (Extensible Mark up Language) XML is a mark up language that enables you to define the tags (mark up) needed to identify the data and text in XML documents. Copyright 2000 Epic Data International, Inc. All rights reserved.