J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES

Size: px
Start display at page:

Download "J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES"

Transcription

1 J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES Pradip Lamsal Abstract: Java 2 Platform Micro Edition (J2ME ), a flavour of Java architecture, is aimed at low memory consumer devices, typically less that 2 Mbytes. The architecture consists of three layers: Java virtual machine, configuration and profiles. The virtual machine sits on top of the host operating system. Configuration sits on top of the virtual machine and defines the java language and virtual machine features. Profile, which is the topmost layer, addresses the specific demands of a certain vertical market segment or device family. This paper is an investigation on J2ME specifications and it summarises J2ME architecture and different technologies that are aimed to work with it. 1 INTRODUCTION On the 15 th of June 1999, Sun Microsystems announced a redefined architecture for the Java platform at the JavaOne conference in San Francisco [12]. The architecture was targeted to a wide variety of markets and at the same time expected to provide developers, service providers and device manufacturers extra benefits by making it simpler and specific to the market. The new architecture consists of three editions of Java platforms, each specific for a group of consumers. These are Java 2 Platform, Standard Edition (J2SE); Java 2 Platform, Enterprise Edition (J2EE) and Java 2 Platform, Micro Edition (J2ME). J2SE is targeted for standard desktop and workstation applications and contains all the Java functionality. J2EE is targeted for server side of the network and contains all the functionality required for heavy-duty server systems. J2ME is for small and 1

2 2 memory constrained devices such as Personal Digital Assistants (PDAs) and mobile phones. It has limited Java functionality. Each of the editions comes with a Java Virtual Machine (JVM), Java programming language, core packages and optional packages [12], [6]. The type of the virtual machine and the constraints on the language and the packages depend on the type of the edition. The rest of the paper is organised as follows: Section 2 presents an overview of J2SE and J2EE before J2ME is described in detail. Section 3 describes the J2ME building blocks followed by detail description of configurations and profiles in section 4 and 5 respectively. Section 6 contains other Java embedded technologies and finally section 7 contains some concluding remarks. 2 OVERVIEW OF J2SE & J2EE J2SE is a feature complete development and deployment foundation for building client side enterprise applications [14]. These applications include both web applications such as applets and standalone desktop applications. In addition to standard components of Java platform (JVM, Java programming language, Java packages) J2SE includes java applet viewer, java debugger and other tools. One of such tools found in version 1.3 of J2SE is Java plug-ins. J2SE platform consists of two binary deliverables: Java 2 Standard Development Kit (JDK) and Java 2 Runtime Environment (JRE). JDK consists of Java compiler and is used for application development whereas JRE consists of only those components, which are mandatory in running a Java application or a Java applet. J2EE is a foundation for server side of enterprise application development. Traditionally, enterprise applications are based on two-tier model, generally the client and the server. As the complexity of the applications grow tremendously and the customers demand flexibility, the two-tier applications model started to migrate to a multi-tier application model. In a multi-tier model, the business logic is kept separate from both the client side user interface and the server side system services and it occupies the middle tier(s). The server side system services can be either new services or some existing Enterprise Information Systems (EIS). These middle tiers take the role of middleware and provide services to both the client-tier and EIS-tier without them knowing the details of how these services are implemented.

3 3 Figure 1: Two-tier (a) and multi-tier (b) models [14] J2EE architecture is based on multi-tier model. The client user interface is implemented as the first tier, the EIS tier stores business critical data and the middle tier implements enterprise services such as database access, Common Gateway Interface (CGI) behaviour and implementation of easily configurable and reusable components as multi-tier applications. These multi-tier applications are expected to provide scalability, accessibility and manageability. In order to achieve this model, the J2EE platform provides a lot of standard system services whereas the developers are responsible for implementing business and presentation logic. 3 J2ME ARCHITECTURE 3.1 J2ME devices Increasing demand and use of the consumer electronics are the primary driving forces behind J2ME. This edition of Java platform provides common services from small personal devices such as mobile phones, pagers, PDAs to more traditional consumer electronics such as televisions, VCRs, CD players and game machines. These devices are characterised by the following: They have limited memory, typically 128Kbytes to 2Mbytes. They have limited computational power. They are 16 bit or 32 bit devices. They can be either mobile devices or plug in devices. Mobile devices are most likely to be powered by batteries. Taking these characteristics into consideration, it can be easily imagined that the functionality provided by this flavour of Java platform should be limited and should form the common base across the range of devices. At the same time, it should maintain the core Java technology qualities such as:

4 4 Built-in consistency across products in terms of running anywhere, any time and on any device. Power of high-level object-oriented programming language. Portability of code. Safe network delivery Upward scalability with J2SE and J2EE technology. 3.2 Building blocks J2ME is modular and scalable. It consists of two main building blocks: configuration and profile as shown in Figure 2. Figure 2: Building blocks of J2ME [7], [2] Configuration: A J2ME configuration defines minimum platform required for a group of devices having similar memory and processing capability. A configuration is comprised of a virtual machine, Java language feature and minimum class libraries to support that group of devices. Profile: A profile extends a configuration and addresses the specific needs of a certain device family. It guarantees interoperability within the given vertical device family. A profile comes with domain specific Java class libraries. Both configuration and profile are explained in detail in the following sections.

5 4 CONFIGURATIONS As mentioned in the previous section, a configuration defines a Java platform for a horizontal category or group of devices with similar memory requirement and processing capability. A configuration specifies the following: Supported Java programming language features. Supported JVM features. Supported basic Java libraries and Application Programming Interfaces (APIs). Currently, there are two J2ME configurations. These configurations have different flavours of virtual machines as shown in Figure 3. 5 Figure 3: CLDC and CDC building blocks 4.1 Connected, Limited Device Configuration (CLDC) CLDC is a J2ME configuration. It defines a standard minimum-footprint Java platform for small and resource constrained devices. The devices targeted by CLDC have the following characteristics: 160 Kbytes to 512 Kbytes of total memory available. 16-bit or 32-bit processor. Low power consumption and often operating with battery power. Connectivity to some kind of networked, often with a wireless, intermittent connection and with limited bandwidth.

6 6 CLDC also intends to allow dynamic delivery of Java applications and contents to those devices and enable 3 rd party application developers to easily create applications and contents that can be deployed to those devices. As shown in Figure 3, the CLDC configuration consists of CLDC library, Kilobyte Virtual Machine (KVM) and Java programming language Java language The Java language for CLDC has limited or no support for a set of Java language features that is available in J2SE platform. Nonetheless, it is still complaint with the full Java language specification. The primary features Java language for CLDC does not support are listed below: No floating point support: Java language supporting CLDC does not have floating point support. This is mainly because the cost of support floating point is high and the hardware implementing CLDC does not have floating point support. No finalization: finalize() method is not supported in this version of Java language so that an object cannot be cleaned up before being garbage collected. The CLDC libraries do not have Object.finalize() method and therefore any application built on top of CLDC configuration must not expect finalize(). Error handling limitations: There is full support for exceptions but limited support for error handling in Java language for CLDC. Exceptions represent mild errors, which can be caught and possibly fixed. Errors, on the other hand, represent serious errors and they should not be caught in the program. The main reasons for not supporting full error handling are: recovery from error conditions is very device specific and ordinary programs are not expected to recover from exceptions very easily. For these reasons implementing error handling capabilities according to full Java specification can be expensive and demanding in terms of overhead requirements JVM As with Java language support, the JVM for CLDC devices is also compliant to JVM as specified in J2SE specification but has limited features. The main differences are listed below: Eliminated features: Due to various reasons such as cost of implementing features, library changes or security concerns, the following features have been removed from the virtual machine supporting CLDC. o o No support for Java Native Interface (JNI). JNI allows Java language to use a class library written in other native languages such as C++, visual basic etc. No support for user defined, Java-level class loaders.

7 7 o o o o No support for reflection features. Reflection features allow a Java program to inspect the number and the contents of classes, objects, methods, fields, threads, execution stack and other runtime structures inside the virtual machine. No support for thread groups and daemon threads. Thread operation such as starting and stopping of thread can only be applied to individual thread objects. No support for weak references. An application build on top of the virtual machine supporting CLDC must not expect weak references. Features not supported by Java language (floating point support, finalize method, error handling etc) as mentioned in the previous section. Changes in classfile verification: Like the conventional virtual machine, JVM supporting CLDC is expected to identify and reject invalid classfiles. This operation is very expensive for CLDC devices in terms of memory and computation power. CLDC defines a different mechanism to implement classfile verification. This includes a pre-verifier tool that inserts a special attribute called the stackmap attribute into normal class files. Preverification takes place off-device, e.g., on a server or workstation. Once pre-verification is complete, the classfile is downloaded onto the target device, where in-device verification occurs. This is illustrated in Figure 4. Figure 4: Classfile verification in CLDC/KVM [6] Changes in classfile format and class loading: In order to allow dynamic downloading of Java applications and 3 rd party content CLDC requires the

8 8 distribution of Java applications via compressed Java Archive (JAR) files [6]. These classfiles within these JAR files are expected to have stackmap attributes. This is applicable only to Java applications classified as distributed publicly or represented publicly. If the application is closed or private then the vendor is free to specify any classfile format. The virtual machine that is specified in CLDC configuration is KVM. KVM is a very compact and portable JVM intended for CLDC devices (with 128Kbytes of memory and 16 to 32 bit processors). KVM is a key feature of the J2ME architecture and is the smallest possible complete JVM Java libraries Both J2SE and J2EE contain an extensive collection of libraries that are of great use to developers. These libraries require a lot of memory, which is not available in resource constrained small devices that use CLDC configuration. CLDC contains only a minimum useful set of libraries to support practical application development and profile definition. Selection of libraries is influenced by the fact that CLDC puts a lot of emphasis on connectivity. Therefore, CLDC has some extra libraries on top of the standard libraries to support networking. The libraries for CLDC also provide upward compatibility and portability of applications to other Java platform editions. However, this is not easy because a lot of libraries in J2SE and J2EE have interdependencies on one another and it is therefore not possible to take one part of the libraries and ignore others. To overcome this issue, CLDC libraries are divided into two categories: classes that are a subset of standard J2SE libraries and classes that are specific to CLDC but can be mapped onto J2SE. For instance, packages such as java.lang.*, java.util.* and java.io.* are from J2SE libraries whereas package such as javax.microedition.* is specific to CLDC. 4.2 Connected Device Configuration (CDC) CDC is the other J2ME configuration aimed at devices that have bigger memory footprint and more computational power than CLDC devices. The devices that use CDC typically have the following characteristics: 2Mbytes or more memory for Java platform 32-bit processor High bandwidth network connection, most often using TCP/IP Like CLDC, CDC also consists of Java language, Java virtual machine and Java libraries. As shown in Figure 5, CLDC is a subset of CDC, which is again a subset of J2SE. Both CDC and CLDC have some features that are not inherited from J2SE such as connection framework. This connection framework, defined in javax.microedition.io is customised for handheld devices with lower memory footprint because networking features defined in java.io.* or java.net.* are too expensive for the CDC or CLDC devices.

9 9 Figure 5: Relationship between J2ME configurations and J2SE [6] Java language Although CDC devices have limited memory, it is expected that the memory footprint is big enough to support full Java language features as defined in J2SE Java virtual machine The virtual machine specified in CDC is called Compact Virtual Machine (CVM). The CVM virtual machine is a Java 2 virtual machine designed for devices needing the functionality of the Java 2 virtual machine feature set, but with a smaller footprint [3], [1]. The reduction in memory footprint for classes is approximately 40% compared to JDK classic [1]. This smaller footprint makes it suitable for embedded devices. In addition to this, CVM supports some other features, which are listed below: Memory system: CVM supports advanced memory system featuring exactness, small average garbage collection pause times, full separation of virtual machine from the memory system, pluggable garbage collectors and generational garbage collection. Portability: Most of CVM is implemented in C language, which makes it easier to port to other devices assuming that most of the target devices support C implementation. CVM also contains a real time aware porting layer, supports multiple porting options for areas that are difficult to implement by a porter.

10 10 Fast synchronization: CVM performs most synchronization operations with just a few machine instructions and most without consuming additional lock resources from the underlying operations system. ROMable classes: CVM can run with preloaded, mostly read-only classes along with dynamically loaded classes. This gives better startup time, less fragmentation, more data sharing and ability to execute bytecodes out of Read Only Memory (ROM). Native thread support: CVM has support for JNI. Latest JVM support: CVM supports full Java 2 platform, version 1.3 virtual machine specification and libraries. This new version include support for weak references, reflection, serialization, JNI, Remote Method Invocation (RMI) and Java Virtual Machine Debugging Interface (JVMDI). Stack usage: CVM is cable of static analysis of the virtual machine code. It also features deterministic and reduced footprint native stack usage. Startup and shutdown: CVM is capable of cleanly shutdown and restart in a single address space operating system. It does not require any help from the process and can free up all allocated memory and stop the threads. In order to provide smaller footprint CVM supports only a subset of JVM, although it is capable of supporting full JVM features. Features like desktop user interface, native interface support, debugging support etc. are not mandatory in CVM. If CVM supports them then it becomes equivalent to JVM Java libraries The CDC class library is the minimal set of APIs needed to support a virtual machine. It contains the minimum Java packages from J2SE platform to build and run the virtual machine. CDC forms a superset of CLDC and therefore contains all the libraries such as javax.microedition.*, supported by CLDC. The basic packages supported by CDC are: java.lang, lava.util, java.net, java.io, java.text, java.security etc. 5 PROFILES As mentioned earlier, a profile addresses a market segment or a consumer device group or an application domain. This is primarily because of the fact that consumer devices range from mobile phones to washing machines or electronic toys. These devices have different requirements, different functionalities and different expected behaviours. For instance, a washing machine does not need to have feature like a mobile phone; a mobile phone does not require any pre-programmed start and stop functions like a washing machine; an electronic toy does not require an address book or a capacity to provide real time stock updates. To come up with a feature-rich platform to cover the requirements of all these devices is not only impractical and but is also business-wise or financially infeasible. J2ME framework provides a concept of profile to make it possible to define a platform for a specific group of devices. What this means is that there can be one profile for mobile phones like devices, one profile for washing machine like devices,

11 one profile for electronic toy like devices and so on. These profiles can be either device specific or application specific. It is also possible for one device to support more than one profile. Profiles sit on top of the appropriate configuration (see Figure 2 & Figure 3) and use the services provided by that configuration. Different configurations support different profiles. 5.1 CLDC profile CLDC has only one profile at this stage Mobile information device profile (MIDP) This profile covers a vertical market for mobile information devices. The MIDP specification [10] defines the architecture and APIs needed for third party application development. All of the mobile information devices share some common requirements such as limited memory, small screen size and bandwidth limited networking features. In an ideal environment, MIDP features can be implemented in a brand new set of devices and they will have only MIDP features. However, in reality, existing devices will be the first ones to use these features. These existing devices cannot simply get rid of all the existing features and take on MIDP features. Therefore, the MIDP architecture addresses these issues and tries to incorporate them so that the transition from the native system to MIDP is seamless. Since MIDP extends CLDC for mobile information devices, it introduces some extra properties and sometimes overwrites some CLDC properties. The properties introduced by MIDP can be summarised as follows: MIDP defines some additional system properties that must be made available to the applications through java.lang.system.getproperty. These properties are microedition.locale and microedition.profiles. lava.lang.system.exit and java.lang.runtime.exit must throw java.lang.securityexception when invoked by a MIDlet. A MIDlet is an MIDP application that uses only the APIs defined by MIDP and CLDC. MIDP adds functions that allow the applications to set and be notified of timers. MIDP extends GenericConnection framework available in CLDC to support a subset of HTTP protocol that can be implemented by using both IP based protocols such as TCP/IP and non-ip based protocols such as Wireless Application Protocol (WAP). This framework provides the base stream and content interfaces. The interface HttpConnection provides the additional functionalities to set request headers and other http specific functions. MIDP provides a mechanism to allow MIDlets to persistently store data and retrieve it later. This storage mechanism is called Record Management 11

12 12 System (RMS). Records are arrays of bytes that are uniquely identified by recordid. MIDP defines an application model, which specifies how the applications or MIDlets are packaged together and how they share resources within the same virtual machine. For applications, MIDP has a MIDlet suit that consists of a runtime execution environment, MIDlet suite packaging, application descriptor and application lifecycle. MIDP defines two levels of user interface APIs: high level and low level. The high level API is designed for business application, where portability of the application across devices is important. To achieve portability, it employs a high level of abstraction and little control. Low-level API, on the other hand, is for applications, which require precise placement and control of graphic elements and do not have much abstraction. 5.2 CDC profile Currently, CDC has only one profile the foundation profile. However, in the future more profiles can be added to this configuration Foundation profile The foundation profile sits on top of CDC configuration and provides a complete implementation of JVM as in standard J2SE platform. This profile can therefore be used by any embedded devices with limited resource but still require full Java platform features. The foundation profile contains the complete basic Java packages from J2SE technology except some Graphical User Interface (GUI) related features. Due to the nature of the screen size of CDC devices, the GUI dependencies on java.awt are removed. This profile also modifies some of the packages from CDC libraries and obviously this modification is not seen by any other profiles, which may sit on top of CDC configuration in the future. This modification of the CDC libraries is primarily to make the combination of this profile and CDC equivalent to J2SE. Some of the additions made by foundation profile are full java.lang.*, support, full zip support, addition of TCP/IP socket and HTTP connections, full java.io.*, extra security support such as code signing and certificates etc. 6 RELATED EMBEDDED TECHNOLOGIES This section consists of a set of Java based embedded technologies. This set of technologies is not related to J2ME but both of them are aimed towards to consumer devices they both have similar restrictions on memory and computational power. 6.1 Java card Java card technology allows programs written in Java programming language to run on smart cards. Smart cards typically have 1Kbytes of Read Access Memory (RAM), 16Kbytes of Electrically Erasable Programmable ROM (EEPROM) and 24Kbytes of

13 ROM. These figures are a lot less than the smallest of the J2ME technology. Java card technology consists of three components: Java Card Virtual Machine (JCVM), Java Card Runtime Environment (JCRE) and Java Card API. The Java language itself is a very customized subset of the standard Java language. The JCVM consists of two different virtual machines: a converter, an off-card virtual machine and an interpreter, an on-card virtual machine. The converter stays in desktops or workstations and it converts class files into Converted APplet (CAP) files that are executed by the interpreter residing on the smart cards. JCRE acts as the operating system for the smart card. It houses the JCVM (or the interpreter), native methods, installer (which installs the CAP files onto the card), system classes, industry specific extensions etc. The Java Card API consists of a set of customised classes for programming smart card applications, also called Java Card applets. The API consists of three core packages: java.lang, javacard.framework and javacard.security and one extension package: javacardx.crypto. 13 Figure 6: Java Card installation process [15] 6.2 Java TV Java TV is a J2SE based technology aimed at digital TV receivers [8], [9]. It consists of standard JVM and several reusable libraries belonging to Java programming language. The virtual machine resides on the TV receiver and executes byte code from there. The libraries consist of core class libraries from the Java platform and a set of application specific libraries. The technology provides a key benefit in the sense that applications and applets can be brought to the receiver only when they are needed and they can be removed from the receiver when they are not needed. Figure 7 shows a typical software stack on a digital TV receiver.

14 14 Figure 7: Typical software stack on digital TV receiver [9] 6.3 Java embedded server software The Java embedded server software is targeted to service driven network applications. This technology enables dynamic delivery of services on demand. To achieve this a Java embedded server product has to be embedded in any network device such as home gateway, vending machine, automobile or gas station and the services can be deployed on those devices over the network. This embedded server has a very small memory footprint, around 500Kbytes and therefore does not need a bit chunk of the available memory. Figure 8: Java embedded server architecture [16]

15 As shown in Figure 8 Java embedded server technology consists of two components: framework or service space and the services themselves. The framework consists of APIs for lifecycle management of services and applications. It manages things like installation, versioning, content management, monitoring etc. The services are modular services that can be deployed on the devices through the network, primarily the Internet. Some examples of services are http, login, thread management, remote administration etc. 6.4 Personal java application environment Personal Java Application Environment (PJAE) is a Java application environment that executes software written in Java programming language [11]. It is an old version of Java platform for embedded devices and therefore is aimed at software for consumer devices rather than desktop computers. However, the virtual machine this environment relies on is the standard JVM specified for J2SE. Therefore, this environment uses most of the standard JDK APIs and also some PJAE specific APIs. The latest PJAE, version 1.2 uses JDK Currently a new CDC profile called the personal profile is being developed in the Java Community Process (JCP) [14]. This profile is expected to be backward compatible with personal java. In the long run, it is very likely that personal java will be replaced by personal profile for CDC. 7 CONCLUDING REMARKS Although Java came out as an object-oriented programming language it has now established itself as a platform. The concept of configurations and profiles makes J2ME platform very modular, scalable and customisable. The developers have the flexibility of using the platform for their needs without inheriting unnecessary features and consequently making their applications very slim. Also, the APIs provided by the platform help developers concentrate only on the application specific issues. Development of configurations and profiles is attracting industry cooperation and involvement. This cooperation will help standardize the technology, make the participants commit to the technology and eventually make the development time shorter. 15

16 16 References [1] Connected Device Configuration (CDC) and the Foundation Profile, Sun Microsystems, [2] Connected, Limited Device Configuration, Sun Microsystems, [3] The CVM Virtual Machine, Sun Microsystems, May [4] Java 2 Platform, Micro Edition, Frequently Asked Questions, January [5] Simplified guide to the Java 2 Platform, Enterprise Edition, Sun Microsystems, [6] Java Platform Micro Edition (J2ME ) Technology for Creating Mobile Devices, Sun Microsystems, [7] Java 2 Platform, Micro Edition Data Sheet, Sun Microsystems, [8] Java Technologies for Interactive TV Technical White Paper, Sun Microsystems, [9] The Java TV TM API Overview: Setting the Standard for a Digital Future, Sun Microsystems, [10] Mobile Information Device Profile (JSR 37), Java Community Process, Java 2 Platform Micro Edition, Sun Microsystems, [11] PersonalJava Application Environment Specification, Sun Microsystems, [12] Sun Outlines Three Editions of Java 2 Platform, Press Release, June 15, 1999

17 17 [13] Java 2 Platform Micro Edition, Wireless Toolkit, Sun Microsystems, [14] Personal Profile Specification, JSR 62, Java Community Process, [14] J2SE 1.3 Datasheet, Sun Microsystems, [15] Java Card Technology Overview [16] Java Embedded Server Technology Data Sheet

Overview of Java 2 Platform, Micro Edition (J2ME )

Overview of Java 2 Platform, Micro Edition (J2ME ) CHAPTER2 Overview of Java 2 Platform, Micro Edition (J2ME ) 2.1 Java 2 Platform Recognizing that one size does not fit all, Sun Microsystems has grouped Java technologies into three editions, each aimed

More information

Who am I? Wireless Online Game Development for Mobile Device. What games can you make after this course? Are you take the right course?

Who am I? Wireless Online Game Development for Mobile Device. What games can you make after this course? Are you take the right course? Who am I? Wireless Online Game Development for Mobile Device Lo Chi Wing, Peter Lesson 1 Email: Peter@Peter-Lo.com I123-1-A@Peter Lo 2007 1 I123-1-A@Peter Lo 2007 2 Are you take the right course? This

More information

DAY 3 J2ME March 2007 Aalborg University, Mobile Device Group Mobile Phone Programming

DAY 3 J2ME March 2007 Aalborg University, Mobile Device Group Mobile Phone Programming DAY 3 J2ME Mobile Phone Programming Module 2 Micro (J2ME) Overview Introduction J2ME architecture Introduction 1 J2ME Key Factors Portability: Write once run anywhere Security: Code runs within the confines

More information

Mobile Application Development. Introduction. Dr. Christelle Scharff Pace University, USA

Mobile Application Development. Introduction. Dr. Christelle Scharff Pace University, USA Mobile Application Development Introduction Dr. Christelle Scharff cscharff@pace.edu Pace University, USA Objectives Getting an overview of the mobile phone market, its possibilities and weaknesses Providing

More information

CM0256 Pervasive Computing

CM0256 Pervasive Computing CM0256 Pervasive Computing Lecture 17 Software Development Approaches Tom Goodale t.r.goodale@cs.cardiff.ac.uk Lecture Outline In this lecture we: J2ME applications Palm. Device Limitations Limited Power

More information

DAY 3 J2ME Aalborg University, Mobile Device Group. Mobile. Mobile Phone Programming

DAY 3 J2ME Aalborg University, Mobile Device Group. Mobile. Mobile Phone Programming DAY 3 J2ME Mobile Phone Programming Java 2 Micro Edition (J2ME) Overview Introduction J2ME architecture MIDlets Application development Introduction J2ME Key Factors Portability: Write once run anywhere

More information

Mobile Station Execution Environment (MExE( MExE) Developing web applications for PDAs and Cellphones. WAP (Wireless Application Protocol)

Mobile Station Execution Environment (MExE( MExE) Developing web applications for PDAs and Cellphones. WAP (Wireless Application Protocol) Developing web applications for PDAs and Cellphones Mobile Station Execution Environment (MExE( MExE) MExE is a standard for defining various levels of wireless communication These levels are called classmarks

More information

Requirements and Issues of V**s for Mobile Terminals

Requirements and Issues of V**s for Mobile Terminals Requirements and Issues of V**s for Mobile Terminals Workshop on the Future of Virtual Execution Environments Armonk, NY, USA 15-17.09.2004 Kari Systä Nokia Research Center 1 NOKIA Presentation_Name.PPT

More information

JAVA ON HANDHELD DEVICES COMPARING J2ME CDC TO JAVA 1.1 AND JAVA 2

JAVA ON HANDHELD DEVICES COMPARING J2ME CDC TO JAVA 1.1 AND JAVA 2 JAVA ON HANDHELD DEVICES COMPARING J2ME CDC TO JAVA 1.1 AND JAVA 2 Mikko Laukkanen Abstract: The current trend is towards having Java applications run on handheld mobile devices. Sun Microsystems, Inc.

More information

PennBench: A Benchmark Suite for Embedded Java

PennBench: A Benchmark Suite for Embedded Java WWC5 Austin, TX. Nov. 2002 PennBench: A Benchmark Suite for Embedded Java G. Chen, M. Kandemir, N. Vijaykrishnan, And M. J. Irwin Penn State University http://www.cse.psu.edu/~mdl Outline Introduction

More information

JUGAT meeting. Roman Waitz Development. MATERNA Information & Communications

JUGAT meeting. Roman Waitz Development. MATERNA Information & Communications JUGAT meeting Roman Waitz Development MATERNA Information & Communications 22/04/2002 Agenda +What the J2ME Platform is +How to build and deploy J2MEbased wireless applications +J2ME programming techniques

More information

History Introduction to Java Characteristics of Java Data types

History Introduction to Java Characteristics of Java Data types Course Name: Advanced Java Lecture 1 Topics to be covered History Introduction to Java Characteristics of Java Data types What is Java? An Object-Oriented Programming Language developed at Sun Microsystems

More information

PLATFORM TECHNOLOGY UNIT-5

PLATFORM TECHNOLOGY UNIT-5 1. Write in brief about the J2EE enterprise edition? Java is one of the most commonly used and mature programming languages for building enterprise applications. Java development has evolved from small

More information

Java 2 Platform, Micro Edition

Java 2 Platform, Micro Edition Java 2 Platform, Micro Edition ArchitectureOverview Jon Courtney Senior Staff Engineer Sun Microsystems JavaOne203 Sesion316 Overall Presentation Goal Learnaboutthearchitectural features ofthejava 2Platform,MicroEdition(J2ME

More information

ESPRIT Project N Work Package H User Access. Survey

ESPRIT Project N Work Package H User Access. Survey ESPRIT Project N. 25 338 Work Package H User Access Survey ID: User Access V. 1.0 Date: 28.11.97 Author(s): A. Sinderman/ E. Triep, Status: Fast e.v. Reviewer(s): Distribution: Change History Document

More information

Introduction to Java. Lecture 1 COP 3252 Summer May 16, 2017

Introduction to Java. Lecture 1 COP 3252 Summer May 16, 2017 Introduction to Java Lecture 1 COP 3252 Summer 2017 May 16, 2017 The Java Language Java is a programming language that evolved from C++ Both are object-oriented They both have much of the same syntax Began

More information

Java Card Technology Overview

Java Card Technology Overview CHAPTER3 Java Card Technology Overview Java Card technology enables programs written in the Java programming language to run on smart cards and other resource-constrained devices. This chapter gives an

More information

JXTA for J2ME Extending the Reach of Wireless With JXTA Technology

JXTA for J2ME Extending the Reach of Wireless With JXTA Technology JXTA for J2ME Extending the Reach of Wireless With JXTA Technology Akhil Arora Carl Haywood Kuldip Singh Pabla Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 USA 650 960-1300 The Wireless

More information

Device Technologies I J2ME & WinCE

Device Technologies I J2ME & WinCE Device Technologies I J2ME & WinCE Patrick J. Stockreisser p.j.stockreisser@cs.cardiff.ac.uk Lecture Outline In the lecture we will: Look at considerations needed to run applications on mobile or pervasive

More information

Developing Mobile Applications

Developing Mobile Applications Developing Mobile Applications J2ME Java 2 Micro Edition 1 Virtual machines portable apps virtual machine native apps operating system hardware 2 Java - important issues Symbolic language not a random

More information

Outline. Introduction to Java. What Is Java? History. Java 2 Platform. Java 2 Platform Standard Edition. Introduction Java 2 Platform

Outline. Introduction to Java. What Is Java? History. Java 2 Platform. Java 2 Platform Standard Edition. Introduction Java 2 Platform Outline Introduction to Java Introduction Java 2 Platform CS 3300 Object-Oriented Concepts Introduction to Java 2 What Is Java? History Characteristics of Java History James Gosling at Sun Microsystems

More information

Acknowledgments Introduction p. 1 The Wireless Internet Revolution p. 1 Why Java Technology for Wireless Devices? p. 2 A Bit of History p.

Acknowledgments Introduction p. 1 The Wireless Internet Revolution p. 1 Why Java Technology for Wireless Devices? p. 2 A Bit of History p. Figures p. xiii Foreword p. xv Preface p. xvii Acknowledgments p. xxi Introduction p. 1 The Wireless Internet Revolution p. 1 Why Java Technology for Wireless Devices? p. 2 A Bit of History p. 3 J2ME Standardization

More information

J2EE Interview Questions

J2EE Interview Questions 1) What is J2EE? J2EE Interview Questions J2EE is an environment for developing and deploying enterprise applications. The J2EE platform consists of a set of services, application programming interfaces

More information

Towards Introducing Code Mobility on J2ME. Laurentiu Lucian Petrea and Dan Grigoras Computer Science Department UCC Cork, Ireland

Towards Introducing Code Mobility on J2ME. Laurentiu Lucian Petrea and Dan Grigoras Computer Science Department UCC Cork, Ireland Towards Introducing Code Mobility on J2ME Laurentiu Lucian Petrea and Dan Grigoras Computer Science Department UCC Cork, Ireland www.mccg.ucc.ie Mobile Ad Hoc Networks Heterogeneous mobile devices No fixed

More information

Minne menet, Mobiili-Java?

Minne menet, Mobiili-Java? Minne menet, Mobiili-Java? Java Platform, Micro Edition Status and Future Directions Antero Taivalsaari Sun Microsystems, Inc. December 2005 Growth Continues (2005 vs. 2003) 1 Billion Installed Base as

More information

Software Development & Education Center. Java Platform, Micro Edition. (Mobile Java)

Software Development & Education Center. Java Platform, Micro Edition. (Mobile Java) Software Development & Education Center Java Platform, Micro Edition (Mobile Java) Detailed Curriculum UNIT 1: Introduction Understanding J2ME Configurations Connected Device Configuration Connected, Limited

More information

Introduction to Visual Basic and Visual C++ Introduction to Java. JDK Editions. Overview. Lesson 13. Overview

Introduction to Visual Basic and Visual C++ Introduction to Java. JDK Editions. Overview. Lesson 13. Overview Introduction to Visual Basic and Visual C++ Introduction to Java Lesson 13 Overview I154-1-A A @ Peter Lo 2010 1 I154-1-A A @ Peter Lo 2010 2 Overview JDK Editions Before you can write and run the simple

More information

Building a Java ME Test Suite in 15 Minutes

Building a Java ME Test Suite in 15 Minutes Building a Java ME Test Suite in 15 Minutes Mikhail Gorshenev, Senior Staff Engineer Roman Zelov, Member of Technical Staff Alexander Glasman, Member of Technical Staff Sun Microsystems, Inc. http://www.sun.com/

More information

Introduction to Java Programming CPIT 202. WEWwwbvxnvbxmnhsgfkdjfcn

Introduction to Java Programming CPIT 202. WEWwwbvxnvbxmnhsgfkdjfcn Introduction to Java Programming CPIT 202 WEWwwbvxnvbxmnhsgfkdjfcn b 1 WEEK 1 LECTURE 1 What is Java? 2 Background on Java First appear in 1995 Developed by Sun Microsystems Corp. Cross platform = platform

More information

Improved Mechanism for Efficient object Pooling in J2ME Based Mobile Phone

Improved Mechanism for Efficient object Pooling in J2ME Based Mobile Phone Abstract Nowadays mobile phones are expected to handle huge volume of multimedia data which is very challenging due to the small memory size of the mobile phone sets. J2ME services play an important role

More information

Introduction to Java Programming

Introduction to Java Programming Introduction to Java Programming Lecture 1 CGS 3416 Spring 2017 1/9/2017 Main Components of a computer CPU - Central Processing Unit: The brain of the computer ISA - Instruction Set Architecture: the specific

More information

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve Enterprise Java Introduction Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve Course Description This course focuses on developing

More information

Java Card 3 Platform. Peter Allenbach Sun Microsystems, Inc.

Java Card 3 Platform. Peter Allenbach Sun Microsystems, Inc. Java Card 3 Platform Peter Allenbach Sun Microsystems, Inc. Agenda From plastic to Java Card 3.0 Things to know about Java Card 3.0 Introducing Java Card 3.0 Java Card 3.0 vs. Java SE Java Card 3.0 vs.

More information

BVRIT HYDERABAD College of Engineering for Women Department of Information Technology. Hand Out

BVRIT HYDERABAD College of Engineering for Women Department of Information Technology. Hand Out BVRIT HYDERABAD College of Engineering for Women Department of Information Technology Hand Out Subject Name: Mobile Application Development Prepared by: 1. S. Rama Devi, Assistant Professor, IT Year and

More information

Project Overview. Readings and References. Initial project motivation. Opportunity. References. CSE 403, Winter 2003 Software Engineering

Project Overview. Readings and References. Initial project motivation. Opportunity. References. CSE 403, Winter 2003 Software Engineering Readings and References Project Overview CSE 403, Winter 2003 Software Engineering http://www.cs.washington.edu/education/courses/403/03wi/ References» What will people pay for? Dan Bricklin.» Accessing

More information

Seminar report Java Submitted in partial fulfillment of the requirement for the award of degree Of CSE

Seminar report Java Submitted in partial fulfillment of the requirement for the award of degree Of CSE A Seminar report On Java Submitted in partial fulfillment of the requirement for the award of degree Of CSE SUBMITTED TO: www.studymafia.org SUBMITTED BY: www.studymafia.org 1 Acknowledgement I would like

More information

Imperative model of computation

Imperative model of computation 12 Imperative model of computation Peter Marwedel TU Dortmund, Informatik 12 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 2010/10/28 These slides use Microsoft clip arts. Microsoft copyright restrictions

More information

Portability and Design Issues in Developing a Mobile Phone Quiz Application Quiz Pro 2006

Portability and Design Issues in Developing a Mobile Phone Quiz Application Quiz Pro 2006 Portability and Design Issues in Developing a Mobile Phone Quiz Application Quiz Pro 2006 Dilip Kumar Nataraja Kumar Problem Report submitted to the College of Engineering and Mineral Resources at West

More information

Agenda. Summary of Previous Session. Extreme Java G Session 3 - Main Theme Java Core Technologies (Part I)

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

More information

Chapter 6 Enterprise Java Beans

Chapter 6 Enterprise Java Beans Chapter 6 Enterprise Java Beans Overview of the EJB Architecture and J2EE platform The new specification of Java EJB 2.1 was released by Sun Microsystems Inc. in 2002. The EJB technology is widely used

More information

Agent-Environment for Small Mobile Devices

Agent-Environment for Small Mobile Devices -Environment for Small Mobile Devices Thomas Strang and Melanie Meyer {firstname.lastname}@dlr.de German Aerospace Center (DLR), Site Oberpfaffenhofen Institute of Communications and Navigation (KN-S)

More information

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1 Umair Javed 2004 J2EE Based Distributed Application Architecture Overview Lecture - 2 Distributed Software Systems Development Why J2EE? Vision of J2EE An open standard Umbrella for anything Java-related

More information

Learning objectives. The Java Environment. Java timeline (cont d) Java timeline. Understand the basic features of Java

Learning objectives. The Java Environment. Java timeline (cont d) Java timeline. Understand the basic features of Java Learning objectives The Java Environment Understand the basic features of Java What are portability and robustness? Understand the concepts of bytecode and interpreter What is the JVM? Learn few coding

More information

JavaOne Topics. Keynotes Talks overview Interoperability, jini Real-time and Embedded XML and Java Cool Recommendations

JavaOne Topics. Keynotes Talks overview Interoperability, jini Real-time and Embedded XML and Java Cool Recommendations JavaOne 2000 Topics Keynotes Talks overview Interoperability, jini Real-time and Embedded XML and Java Cool Recommendations First Keynote (McNeally( McNeally,, Jobs) 9 Gbits/s cross the Atlantic (m:m)

More information

Programming Wireless Devices with the Java 2 Platform, Micro Edition

Programming Wireless Devices with the Java 2 Platform, Micro Edition Programming Wireless Devices with the Java 2 Platform, Micro Edition J2ME Connected Limited Device Configuration (CLDC) Mobile Information Device Profile (MIDP) Roger Riggs Antero Taivalsaari Mark VandenBrink

More information

Distributed Gaming using J2ME. By Rekha Vaddepalli

Distributed Gaming using J2ME. By Rekha Vaddepalli Distributed Gaming using J2ME By Rekha Vaddepalli Agenda Introduction Requirements Technologies Used Design and Implementation Experiments and Results Conclusion Introduction Mobile devices usage is increasing

More information

Using JavX Running Applications in a Web Browser or WinCE Device. Presented by: Jarett Smith Eric Vanpaeschen

Using JavX Running Applications in a Web Browser or WinCE Device. Presented by: Jarett Smith Eric Vanpaeschen Using JavX Running Applications in a Web Browser or WinCE Device Presented by: Jarett Smith Eric Vanpaeschen Presentation Outline Rich Internet Applications (RIA) Examples of Java Applets ProvideX JavX

More information

Java Enterprise Edition

Java Enterprise Edition Java Enterprise Edition The Big Problem Enterprise Architecture: Critical, large-scale systems Performance Millions of requests per day Concurrency Thousands of users Transactions Large amounts of data

More information

1. What is Jav a? simple

1. What is Jav a? simple 1. What is Jav a? Thanks to Java is a new programming language developed at Sun under the direction of James Gosling. As far as possible it is based on concepts from C, Objective C and C++. Java is interpreted

More information

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc. Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Java platform. Applets and applications. Java programming language: facilities and foundation. Memory management

More information

ProvideX On Handhelds

ProvideX On Handhelds ProvideX On Handhelds Presented by: Jarett Smith Presentation Overview Landscape of Mobile Computing Wireless Connections to Internet Challenges of Mobile Computing Why We Chose Java 2 Micro Edition Java

More information

Java and C Performance Comparison on Palm OS. Zhi-Kai Xin

Java and C Performance Comparison on Palm OS. Zhi-Kai Xin Java and C Performance Comparison on Palm OS Zhi-Kai Xin zxin@cs.columbia.edu Abstract This paper investigates the performance comparisons of Java and C on Palm OS PDA device. The performance comparison

More information

An Approach to the Generation of High-Assurance Java Card Applets

An Approach to the Generation of High-Assurance Java Card Applets An Approach to the Generation of High-Assurance Java Card Applets Alessandro Coglio Kestrel Institute 3260 Hillview Avenue, Palo Alto, CA 94304, USA Ph. +1-650-493-6871 Fax +1-650-424-1807 http://www.kestrel.edu/

More information

Java Embedded on ARM

Java Embedded on ARM Java Embedded on ARM The Embedded Market Evolving Rapidly Internet of Things 2.3B Internet Users Cloud for Embedded Devices Med-Large Embedded Multi-function Devices Enterprise Data and Applications Up

More information

Notes of the course - Advanced Programming. Barbara Russo

Notes of the course - Advanced Programming. Barbara Russo Notes of the course - Advanced Programming Barbara Russo a.y. 2014-2015 Contents 1 Lecture 2 Lecture 2 - Compilation, Interpreting, and debugging........ 2 1.1 Compiling and interpreting...................

More information

2 Introduction to Java. Introduction to Programming 1 1

2 Introduction to Java. Introduction to Programming 1 1 2 Introduction to Java Introduction to Programming 1 1 Objectives At the end of the lesson, the student should be able to: Describe the features of Java technology such as the Java virtual machine, garbage

More information

CRUMPET. Creation of user-friendly mobile services personalised for tourism

CRUMPET. Creation of user-friendly mobile services personalised for tourism Creation of user-friendly mobile services personalised for tourism Project Number: Project Title: Deliverable Type: CRUMPET, Creation of User Friendly Mobile Services Personalised for Tourism P CEC Deliverable

More information

JavaME TAMZ. Department of Computer Science VŠB-Technical University of Ostrava

JavaME TAMZ. Department of Computer Science VŠB-Technical University of Ostrava TAMZ 1 Contact Information Office: A-1007 Address: Dept. of Computer Science, FEECS 17. listopadu 15 708 33 Ostrava-Poruba Phone: +420 59 699 4219 E-mail: pavel.moravec@vsb.cz Web: http://wiki.cs.vsb.cz/index.php/moravec/cz

More information

Project Overview. CSE 403, Spring 2003 Software Engineering.

Project Overview. CSE 403, Spring 2003 Software Engineering. Project Overview CSE 403, Spring 2003 Software Engineering http://www.cs.washington.edu/education/courses/403/03sp/ 2-Apr-2003 Cse403-02-ProjectOverview 2003 University of Washington 1 References Readings

More information

Project Overview. Readings and References. Opportunity. Initial project motivation. References. CSE 403, Spring 2003 Software Engineering

Project Overview. Readings and References. Opportunity. Initial project motivation. References. CSE 403, Spring 2003 Software Engineering Readings and References Project Overview CSE 403, Spring 2003 Software Engineering References» What will people pay for? Dan Bricklin.» Accessing a whole new world via multimedia phones. Dan Gillmor.»

More information

Chapter 1 Introduction to Java

Chapter 1 Introduction to Java Chapter 1 Introduction to Java 1 Why Java? The answer is that Java enables users to develop and deploy applications on the Internet for servers, desktop computers, and small hand-held devices. The future

More information

Introduction to JAVA Programming Language

Introduction to JAVA Programming Language Introduction to JAVA Programming Language Lecture 2 Based on Slides of Dr. Norazah Yusof 1 Origins of the Java Language Patrick Naughton and Jonathan Payne at Sun Microsystems developed a Web browser that

More information

Application Servers in E-Commerce Applications

Application Servers in E-Commerce Applications Application Servers in E-Commerce Applications Péter Mileff 1, Károly Nehéz 2 1 PhD student, 2 PhD, Department of Information Engineering, University of Miskolc Abstract Nowadays there is a growing demand

More information

Bluetooth Scatternet Application. Sun Code for Freedom

Bluetooth Scatternet Application. Sun Code for Freedom Bluetooth Scatternet Application Sun Code for Freedom Submitted for Code For Freedom Contest 2009 By Ravi D Suvarna Ananth V Sandeep Jain Index Topic Page No. 1. Introduction ---------------------------------------------

More information

JSR 248: Taking Java Platform, Micro Edition (Java ME) to the Next Level

JSR 248: Taking Java Platform, Micro Edition (Java ME) to the Next Level JSR 248: Taking Java Platform, Micro Edition (Java ME) to the Next Level Kay Glahn Consultant Mobile Service Architecture, Vodafone http://www.vodafone.com Erkki Rysä Technologist Nokia Corporation http://www.nokia.com

More information

Advanced Java Programming

Advanced Java Programming Advanced Java Programming Length: 4 days Description: This course presents several advanced topics of the Java programming language, including Servlets, Object Serialization and Enterprise JavaBeans. In

More information

Java Card Technology-based Corporate Card Solutions

Java Card Technology-based Corporate Card Solutions Java Card Technology-based Corporate Card Solutions Jack C. Pan, Leader and Sr. Architect Hervé Garcia, Tech. Project Manager econsumer Emerging Technologies, Citibank Overall Presentation Goal The objectives

More information

CS5015 Object-oriented Software Development. Lecture: Overview of Java Platform. A. O Riordan, 2010 Most recent revision, 2014 updated for Java 8

CS5015 Object-oriented Software Development. Lecture: Overview of Java Platform. A. O Riordan, 2010 Most recent revision, 2014 updated for Java 8 CS5015 Object-oriented Software Development Lecture: Overview of Java Platform A. O Riordan, 2010 Most recent revision, 2014 updated for Java 8 Java Programming Language Java is an object-oriented programming

More information

CSE P 501 Compilers. Java Implementation JVMs, JITs &c Hal Perkins Winter /11/ Hal Perkins & UW CSE V-1

CSE P 501 Compilers. Java Implementation JVMs, JITs &c Hal Perkins Winter /11/ Hal Perkins & UW CSE V-1 CSE P 501 Compilers Java Implementation JVMs, JITs &c Hal Perkins Winter 2008 3/11/2008 2002-08 Hal Perkins & UW CSE V-1 Agenda Java virtual machine architecture.class files Class loading Execution engines

More information

Core JAVA Training Syllabus FEE: RS. 8000/-

Core JAVA Training Syllabus FEE: RS. 8000/- About JAVA Java is a high-level programming language, developed by James Gosling at Sun Microsystems as a core component of the Java platform. Java follows the "write once, run anywhere" concept, as it

More information

Linux-based onboard "gateway server" remotely pilots model airplane. by Telly Cooper (Sep. 12, 2003)

Linux-based onboard gateway server remotely pilots model airplane. by Telly Cooper (Sep. 12, 2003) Linux-based onboard "gateway server" remotely pilots model airplane by Telly Cooper (Sep. 12, 2003) This whitepaper from Intrinsyc describes how engineers at IBM's Pervasive Computing Advanced Technology

More information

Agenda. CSE P 501 Compilers. Java Implementation Overview. JVM Architecture. JVM Runtime Data Areas (1) JVM Data Types. CSE P 501 Su04 T-1

Agenda. CSE P 501 Compilers. Java Implementation Overview. JVM Architecture. JVM Runtime Data Areas (1) JVM Data Types. CSE P 501 Su04 T-1 Agenda CSE P 501 Compilers Java Implementation JVMs, JITs &c Hal Perkins Summer 2004 Java virtual machine architecture.class files Class loading Execution engines Interpreters & JITs various strategies

More information

Lecture 1: Introduction to Java

Lecture 1: Introduction to Java Lecture 1: Introduction to Java 1 Programs Computer programs, known as software, are instructions to the computer. You tell a computer what to do through programs. Without programs, a computer is an empty

More information

AppDev StudioTM 3.2 SAS. Migration Guide

AppDev StudioTM 3.2 SAS. Migration Guide SAS Migration Guide AppDev StudioTM 3.2 The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2006. SAS AppDev TM Studio 3.2: Migration Guide. Cary, NC: SAS Institute Inc.

More information

Research on Embedded Java Virtual Machine and its Porting

Research on Embedded Java Virtual Machine and its Porting IJCSNS International Journal of Computer Science and Network Security, VOL.7 No.9, September 2007 157 Research on Embedded Java Virtual Machine and its Porting Jun QIN, Qiaomin LIN, Xiujin WANG College

More information

Wireless Services in Faculty Information System

Wireless Services in Faculty Information System Wireless Services in Faculty Information System Sava Mikalački, Žarko Bodroški, and Srđan Škrbić Faculty of Science, Trg Dositeja Obradovića 3 21000 Novi Sad, Serbia sava.mikalacki@dmi.uns.ac.rs {shkrba,

More information

J2ME crash course. Harald Holone

J2ME crash course. Harald Holone J2ME crash course Harald Holone 2006-01-24 Abstract This article gives a short, hands-on introduction to programming J2ME applications on the MIDP 2.0 platform. Basic concepts, such as configurations,

More information

An Object Oriented Record Management System (OORMS) for M-Commerce System Based on J2ME Wireless Tool Kit

An Object Oriented Record Management System (OORMS) for M-Commerce System Based on J2ME Wireless Tool Kit An Object Oriented Record Management System (OORMS) for M-Commerce System Based on J2ME Wireless Tool Kit Mr. Santosh Kushwaha 1, Prof. Shiv Kumar 2, Prof. Neetesh Gupta 3 M.Tech Scholar, Technocrats Institute

More information

Introduction Welcome! Before you start Course Assessments The course at a glance How to pass M257

Introduction Welcome! Before you start Course Assessments The course at a glance How to pass M257 Introduction Unit 1: Java Everywhere Prepared by: Dr. Abdallah Mohamed, AOU-KW 1 Introduction Welcome! Before you start Course Assessments The course at a glance How to pass M257 1. Java background 2.

More information

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Course Overview This course teaches programmers the skills necessary to create Java programming system applications and satisfies the

More information

Distributed Multitiered Application

Distributed Multitiered Application Distributed Multitiered Application Java EE platform uses a distributed multitiered application model for enterprise applications. Logic is divided into components https://docs.oracle.com/javaee/7/tutorial/overview004.htm

More information

What we need. Agenda. What s J2EE. Challenges of Enterprise Application Development

What we need. Agenda. What s J2EE. Challenges of Enterprise Application Development Agenda.NET versus J2EE Felicia cheng Jarred zheng Jonathan Card Peng Li iao he Background Introduction J2EE Structure.NET Structure J2EE vs..net Conclusions Today s Enterprise Environment Challenges of

More information

JamaicaVM Java for Embedded Realtime Systems

JamaicaVM Java for Embedded Realtime Systems JamaicaVM Java for Embedded Realtime Systems... bringing modern software development methods to safety critical applications Fridtjof Siebert, 25. Oktober 2001 1 Deeply embedded applications Examples:

More information

Enterprise JavaBeans (I) K.P. Chow University of Hong Kong

Enterprise JavaBeans (I) K.P. Chow University of Hong Kong Enterprise JavaBeans (I) K.P. Chow University of Hong Kong JavaBeans Components are self contained, reusable software units that can be visually composed into composite components using visual builder

More information

Debugging Tools for MIDP Java Devices

Debugging Tools for MIDP Java Devices Debugging Tools for MIDP Java Devices Olli Kallioinen 1 and Tommi Mikkonen 2 1 Sasken Finland, Tampere, Finland olli.kallioinen@sasken.com 2 Tampere University of Technology, Tampere, Finland tommi.mikkonen@tut.fi

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

X100 ARCHITECTURE REFERENCES:

X100 ARCHITECTURE REFERENCES: UNION SYSTEMS GLOBAL This guide is designed to provide you with an highlevel overview of some of the key points of the Oracle Fusion Middleware Forms Services architecture, a component of the Oracle Fusion

More information

Multiple Choice Questions. Chapter 5

Multiple Choice Questions. Chapter 5 Multiple Choice Questions Chapter 5 Each question has four choices. Choose most appropriate choice of the answer. 1. Developing program in high level language (i) facilitates portability of nonprocessor

More information

Practical Java Card bytecode compression 1

Practical Java Card bytecode compression 1 RENPAR 14 / ASF / SYMPA Practical Java Card bytecode compression 1 Gabriel Bizzotto Gilles Grimaud LIFL, Universite de Lille 1 Gemplus Research Lab bizzotto@dea.lifl.fr grimaud@lifl.fr Abstract Our work

More information

Servlet Performance and Apache JServ

Servlet Performance and Apache JServ Servlet Performance and Apache JServ ApacheCon 1998 By Stefano Mazzocchi and Pierpaolo Fumagalli Index 1 Performance Definition... 2 1.1 Absolute performance...2 1.2 Perceived performance...2 2 Dynamic

More information

All about the new SCMAD Certification Exam

All about the new SCMAD Certification Exam All about the new SCMAD Certification Exam ----------------------------------------------------------------------------------------------------------------- Summary: The mobile market is envisioned as

More information

Making The Future Java

Making The Future Java Making The Future Java Dalibor Topić (@robilad) Principal Product Manager October 18th, 2013 - HrOUG, Rovinj 1 The following is intended to outline our general product direction. It is intended for information

More information

Java Programming Language Mr.Rungrote Phonkam

Java Programming Language Mr.Rungrote Phonkam 2 Java Programming Language Mr.Rungrote Phonkam rungrote@it.kmitl.ac.th Contents 1. Intro to Java. 2. Java Platform 3. Java Language 4. JDK 5. Programming Steps 6. Visual Programming 7. Basic Programming

More information

OPERATING SYSTEMS. Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne

OPERATING SYSTEMS. Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne OPERATING SYSTEMS Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne OVERVIEW An operating system is a program that manages the

More information

Certified Core Java Developer VS-1036

Certified Core Java Developer VS-1036 VS-1036 1. LANGUAGE FUNDAMENTALS The Java language's programming paradigm is implementation and improvement of Object Oriented Programming (OOP) concepts. The Java language has its own rules, syntax, structure

More information

ThinAir Server Platform White Paper June 2000

ThinAir Server Platform White Paper June 2000 ThinAir Server Platform White Paper June 2000 ThinAirApps, Inc. 1999, 2000. All Rights Reserved Copyright Copyright 1999, 2000 ThinAirApps, Inc. all rights reserved. Neither this publication nor any part

More information

Adding Mobile Capability to an Enterprise Application With Oracle Database Lite. An Oracle White Paper June 2007

Adding Mobile Capability to an Enterprise Application With Oracle Database Lite. An Oracle White Paper June 2007 Adding Mobile Capability to an Enterprise Application With Oracle Database Lite An Oracle White Paper June 2007 Adding Mobile Capability to an Enterprise Application With Oracle Database Lite Table of

More information

Mobile Application Design and Development With the use of J2ME Technology & UML m.khlaif Computer Science Dept Garyounis University

Mobile Application Design and Development With the use of J2ME Technology & UML m.khlaif Computer Science Dept Garyounis University Garyounis University Press Journal of Science and Its Applications Vol. 3, No. 1, pp 83-93, April 2009 83 Mobile Application Design and Development With the use m.khlaif Computer Science Dept Garyounis

More information

GrinderBench for the Java Platform Micro Edition Java ME

GrinderBench for the Java Platform Micro Edition Java ME GrinderBench for the Java Platform Micro Edition Java ME WHITE PAPER May 2003 Updated April 2006 Protagoras, the leading Greek Sophist, was quoted as saying, "Man is the measure of all things," by which

More information

Determining the Best Approach

Determining the Best Approach 2 Determining the Best Approach The remaining chapters of this book cover the capabilities of the BlackBerry application platform and then dig into each application development option in detail. Before

More information