Java in Ubicomp. Mikko Honkala HUT, Telecommunications Software and Multimedia Laboratory. Abstract

Size: px
Start display at page:

Download "Java in Ubicomp. Mikko Honkala HUT, Telecommunications Software and Multimedia Laboratory. Abstract"

Transcription

1 Java in Ubicomp Mikko Honkala HUT, Telecommunications Software and Multimedia Laboratory Abstract This paper describes the use of Java language in embedded devices, such as handhelds, digital TV set-top boxes, and even smart cards. The variety of devices offering the Java platform has transformed the original Java mantra write once, run anywhere into one size doesn t fit all. 1 INTRODUCTION Developing applications targeted to multiple systems is traditionally very hard. C and its successor C++ are well defined languages, but developers still have to maintain a lot of compatibility code, if they want to run their applications in different systems. Traditionally, different systems has meant Windows and Linux, but today the variety of those environments is great; There are new handhelds with proprietary operating systems and most web services must run on different operating systems. Code versions for different systems need to be maintained at development time, but also distribution is difficult: the C program has to be compiled for all target systems. (Hansmann, 2001) Why would every software project have to write their own compatibility code? With Java, they don t have to. Java lets the developer develop for an abstract virtual machine that is platform neutral. In addition, Java includes a huge class library, that helps the development work and reduces the need for outside libraries. As a language, Java is simpler than C++, and in addition it includes a garbage collector, which removes the programmer from the burden of memory management (Hamilton, 1996). This is why Java is a good choice for Ubicomp (or Pervasive Computing), where the profiles of devices vary a great deal. 2 BACKGROUND This chapter gives a brief background on the Java environment. Java is not solely a programming language, it consists of different modules, of which most notable are the Java language, the Virtual Machine, and the class libraries. 2.1 Java Language Characteristics Java language is an object oriented programming language with a syntax similar to C 1

2 and C++, only simpler (Hamilton, 1996). The most notable difference is the lack of pointers and the memory handling tools. The reason is the garbage collector that takes care of the objects in the memory that are no longer needed. Java also has some advanced features, not found in C++, such as Interfaces and build-in thread and sychronization support. 2.2 Java Virtual Machine At development time, the Java source code is compiled into abstract byte code, capable of running in all Java environments. Each environment supporting Java has a Java runtime environment (JRE) consisting of the Java virtual machine (JVM) and the class libraries. The JVM interprets and executes the byte code on the fly (Hansmann, 2001). Most JRE s also have a Just-In-Time (JIT) compiler, which compiles the byte code into fast native code before executing it. (Cramer, 1997). 2.3 Java Class Libraries The Java language and the JVM assure that the Java programs are portable and their execution environment is secure (Cramer, 1997). But this is not by far the only thing that Java has to offer. Java has a quite large build-in class library that frees programmers for writing support code for, for instance, Hashtables and socket access, every time they need them in a program. This also reduces the size of Java programs, since the class libraries are not needed in a distribution, since the Java environment is guaranteed to have them. 3 JAVA EDITIONS The networking features and the platform independence have made Java a popular technology in the internet applications. Applets and servlets are part of many advanced web sites. Most browsers can execute Java byte code as do the web servers. Since the diversity of devices is increasing, Java s platform independence becomes a key feature. Many handhelds, set-top boxes, smart cards, and other embedded devices provide a JVM. On the other hand, the number of Java-capable platforms is increasing, while the number of features in the Java programming language and class library are also increasing. Because of this, Sun has defined many different flavors of the Java environment. 3.1 Java 2 based editions Table 1 lists the different editions, while Figure 1 depicts the editions in respect to each other. The standard environment is the Standard Edition. This is, what is found in desktop and in Web browsers. In Web servers, a larger Enterprise edition is used. The Java 2 Micro Edition is meant for small machines, such as mobile phones, and the Java Card is for smart cards. Table 1. Java Editions 2

3 Java 2 Standard Edition (J2SE) Java 2 Enterprise Edition (J2EE) Java 2 Micro Edition (J2ME) Java Card The standard client edition Meant to be used in a server For pervasive devices For smart cards Server W orkstation Pervasive devices J2ME J2EE J2SE Car profile TV profile PDA profile J2ME Core Libraries Phone profile VISA Smart Card JavaCard Java Programming Language Figure 1: The different Java editions 3.2 Java 2 Standard Edition (J2SE) The Java 2 Standard Edition (J2SE) is the default language profile for workstations and small servers. It includes all the core packages (applet, awt, beans, io, lang, math, net, rmi, security, text, and util) plus javax.swing and org.omg.corba packages) 3.3 Java 2 Enterprise Edition (J2EE) The Java 2 Enterprise Edition offers addition features on top of the standard edition. It is meant for large scale servers, such as web servers. Some extra features of J2EE are servlets, JavaServer Pages, JDBC, Java Message Service, Java Naming and Directory Interface, Java Transaction, JavaMail, XML, CORBA, and Enterprise Java Beans. The Software Development Kit is available. The next version 1.4 of the JDK will have a new JIT compiler, called Java Hot Spot Server VM, optimized for server use. 3

4 3.4 Java 2 Micro Edition (J2ME) The J2ME is meant for restricted devices, such as handhelds and digital television. In order to meet the peculiarities of different device classes, J2ME introduces profiles and configurations, which specify language and environment subsets for different groups of devices. Chapter 4 describes the different flavors of the Java 2 Micro Edition. 3.5 Java Card The Java Card is the smallest java edition available. It is meant to be used with smart cards, with very limited memory and processing power. For example, there is no string support in the Java Card edition. The card Virtual Machines are provided by the smart card manufacturers, and they are shipped directly on the card ROM (Hansmann, 2001). 3.6 Java 1.1 based editions Personal and Embedded Java are predecessors of the Java 2 Micro Edition. They have the same motivation and design goals as J2ME, but are based on an older version of the JDK (1.1). Personal Java will be migrated into J2ME as a Personal Java profile, while Embedded Java will probably not be included in J2ME. 4 DIFFERENT FLAVOURS OF MICRO EDITION Because of the varying nature of small scale devices, the same Java environment does not fit well to every type of device. Because of this, Sun has defined the Java 2 Micro Edition to be flexibly redefined for each class of devices. J2ME introduces profiles and configurations, which specify language and environment subsets for different groups of devices. The environment, which consists of the virtual machine and a set of APIs, is called the Configuration, while the layer on top of the configuration, is called a profile. There are different kinds of small scale virtual machines, such as KVM and CVM. Table 2 defines the terms used in this chapter. Table 2. Definitions of J2ME terms KVM CVM Configuration A compact Java virtual machine whose size is measured in the hundreds of kilobytes. A Java virtual machine larger than the KVM that is intended for use on emerging, next-generation consumer devices Either the KVM or CVM combined with a minimal set of APIs that define the expected features for a broad category of consumer devices. A layer on top of a configuration that adds additional APIs to make a complete toolkit for a specific type of consumer device. 4

5 Figure 2 depicts the relations between the profiles and configurations in J2ME. Personal MID Handheld Configuration CDC Libraries CLDC Libraries JVM KVM CVM Figure 2: Configurations and s in J2ME 4.1 Configurations The J2ME architecture is designed with flexibility and future growth in mind. The basic building block of a J2ME runtime environment is a configuration. A configuration consists of a virtual machine that implements some portion of the Java language and virtual machine specifications, and a minimal supporting set of class libraries and APIs. It may seem redundant to say libraries and APIs, but APIs include things like the Java Native Interface (JNI), which are not implemented by a class library or defined by the Java Language Specification (JLS). Additional features for specific types of devices can be built on top of a configuration, but each configuration defines a base level of functionality for a class of devices. (Savarese, 2001) Currently, there are two standard configurations (Moreira, 2001, Savarese, 2001) but more may be defined in the future provided a new class of devices warrants it: Connected Limited Device Configuration (CLDC) - addresses devices with a significant resources limitation, such as cell phones or Pagers. Connected Device Configuration (CDC) - addresses devices with a higher set of physical resources, like PDAs or Set-Top Boxes. CDC requires full support for both the JLS and JVM Specification. If you layer enough APIs on top of it, you'd wind up with J2SE plus some extra CDC-specific classes. Therefore, the main concern when porting J2SE code is one of which core classes you can assume are available. The major configurable API s are in the java.io, java.net, and java.security packages. 5

6 4.2 s In addition to the core Micro configurations, the J2ME includes the possibility to define different profiles for a certain set of devices. Examples of profiles include the Mobile Information Device (MIDP) and PDA. The Mobile Information Device (MIDP) is a set of JavaTM APIs which, together with the Connected Limited Device Configuration (CLDC), provides a complete J2METM application runtime environment targeted at mobile information devices, such as mobile phones and entry level PDAs. The MIDP specification addresses issues such as user interface, persistence storage, networking, and application life cycle. PDA provides user interface and data storage APIs for small, resource-limited handheld devices. It is based on the Connected, Limited Device Configuration (CLDC). PDA s have the following characteristics: No less than 512KB total memory (ROM + RAM) available for Java runtime and libraries, and no more than 16 MB. Limited power, typically battery operated. User interfaces of varying degrees of sophistication, but having at least: displays with a total resolution of at least 20,000 pixels, a pointing device, and character input. This profile, in conjunction with the "J2ME Connected, Limited Device Configuration," enables application development for handheld devices used as personal digital assistants. Other profiles that are currently being defined include: J2ME Foundation a base profile for use in implementing non-gui networked devices; built on CDC J2ME RMI provides RMI support for J2ME CDC-class devices; requires CDC and Foundation J2ME Personal Basis provides application environment for networked devices with basic level of graphical presentation; requires CDC and Foundation J2ME Personal is the next generation PersonalJava environment; based upon Personal Basis (and thereby, CDC and Foundation ) Java Game 6

7 4.3 The K Virtual Machine (KVM) A JVM is the foundation for Java technology. The virtual machine handles related tasks such as managing the system's memory, providing security against malicious code, and managing multiple threads of program execution. In order to meet the market need for a very small footprint Java implementation, the KVM was designed to overcome three key technical challenges: reducing the size of the virtual machine and class libraries themselves, reducing the memory utilized by the virtual machine during execution, and allowing for components of the virtual machine to be configured to suit particular devices (e.g., by allowing pluggable garbage collection). The features of the K virtual machine are (Sun Microsystems, 2001): Reduced VM Size - the K virtual machine is currently only K of object code in its standard configuration, depending on target platform and compilation options. Reduced Memory Utilization - In addition to the K virtual machine's small object size, it requires only a few tens of kilobytes of dynamic memory to run effectively. Because of the reduced VM size and memory utilization, even with total memory available of only 128K the K virtual machine enables useful Java technology-based applications to run on a device. Performance - the K virtual machine is able to run effectively on 16 bit processors clocked as low as 25 MHz, and can scale smoothly up to much more powerful 32 bit processors. Portability - although implemented in native code for extra performance, the K virtual machine has a highly portable architecture that reduces system dependencies to a minimum. Even multi-threading and garbage collection have been implemented in a completely system-independent manner, enabling speedy porting to any host platform. 4.4 The C Virtual Machine (CVM) CVM is A Java virtual machine larger than the KVM that is intended for use on emerging, next-generation consumer devices. 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. CVM is designed to meet the market need for emerging, next generation consumer electronic and embedded devices. Devices using CVM are typically compact and connected consumer-oriented devices. 4.5 Development Tools for Small Java Editions Even that the Micro Java specification is quite new, there is already many development environments and tools for the Small Java Editions. Table 3 lists some Java development tools for pervasive computing (Day, 2001). Some of these tools include an 7

8 target device emulator, where the application can be previewed in the correct target environment. Table 3. Micro java development tools (Day, 2001)! "!"# $ %&' & ( )& &&!& # ) - # 0 1 #!!$%&' ))!* +,-., /!*, $ 0*12/- *13 $ $456 / 7/ 9 "1 2 :1 #" $ # *) +,. - / + 2$0 1$/ 0 1 %& 3 " 4" )*) +, $ %5)0 )/ $% 5)6/ '8& $ $7%+ //7 *7"1)1 )+/2 1, '8& )$ + & ).) 2/$/8; /8 & & < /8 91 2/ $ 62( * 8, 21 '1! &%+//=5) & )#>) 1+/# $/ & 022 ( >! )/ & 62 %5 ) )/. / / ) & 022 ( %.. 2/# & +/% # &/; &?# 8

9 7,! 8 " $/4" 0 1 & $$0 1 2/$/(;& ; 1 " /& ; 1 5 PROBLEMS WITH THE CURRENT ENVIRONMENTS The different flavors of the Java environment has made writing portable Java somewhat more difficult. Even though the early days saw many platform-specific features, it was largely possible for most projects to maintain a single source base that would work for all platforms that is, if you ignored the difficulties in creating debug and test versions of Java code caused by the lack of conditional compilation support. There have been portability problems before, because of different revisions of the JDK, but many projects transitioned smoothly to the latest JDK without having to support multiple JDKs in great part because of Java featuring only on the server. Had Java been a success on the desktop, the story would have been far different, as evidenced by the major portability and code maintenance dilemmas that were introduced developers who bought into applets. (Savarese, 2001). 5.1 Performance JIT compilers can provide dramatic performance improvements for programs, where the vast majority of execution time would otherwise be spent interpreting bytecodes. Because JIT compilers do not address the performance of other aspects of a virtual machine, programs that include extensive use of synchronization, memory allocation, and native methods may not run much faster. While a JIT compiler is essential for highperformance JVM implementations, it is not a complete solution. (Cramer, 1997). Garbage collection feature of Java eases the task of memory handling from the programmer point of view, but it also makes Java programs a little less efficient. New garbage collectors for different kind of profiles are being developed currently. 6 EXAMPLE ENVIRONMENTS This section describes few example environments for embedded Java, namely SavaJe and JBed. 6.1 SavaJe SavaJe is an interesting Java environment for relatively powerful PDA s, such as the Compaq IPAQ with at least 32 MB of memory. Unlike most embedded Java 9

10 environments, it supports full Java 2 Standard Edition, version 1.3. Because of this, it can run the same applications that are run on the desktop with minimal changes. 6.2 Jbed Jbed Micro Edition CLDC is a full-featured Java virtual machine and development environment designed for PDAs, mobile phones, Internet appliances, and similar devices. It uses an interesting method of Way Ahead of Time (WAT) compilation. This means that all bytecode used for the application is precompiled into native code, for best performance. By precompiling the code can be optimized to suit the needs of the target environment. The code is linked into an image which is loaded onto the target hardware. Jbed Micro Edition CLDC and Jbed for MID support dynamic class loading as a standard Java feature. The user can download classes from the network, via HTTP, PPP or any other preferred protocol. These classes can then be dynamically loaded into the running application, via the classloader and the FastBCC. For mobile phone targets, as well as PDA's, the dynamically loaded classes are compiled on the target and linked into the running application. This enables the downloading of e.g. jar files containing MIDlet suites onto a mobile phone, which will be compiled to native code in order to run with optimum performance. 7 CONCLUSIONS This paper described the use of Java language in embedded devices, such as handhelds, digital TV set-top boxes, and even smart cards. The variety of devices offering the Java platform has made Sun Microsystems, together with the open Java Community Process, to define multiple different flavors of the Java environment, each suited for a particular class of devices. The future of Java in embedded devices looks bright: there are multitude of different embedded hardware platforms and more are coming up. Developing a cross-platform software to run directly on these devices would be a pain, or possibly impossible. That s where Java s strengths materialize. On the other hand, the multitude of different Java environments, configurations and profiles has made Java code less portable than before. The future will show, how well the Java environment adapts to the challenges of the embedded pervasive devices. REFERENCES Cramer, T., et al Compiling Java just in time. IEEE Micro, Vol.17, issue 3, May- June 1997, pp Day, B J2ME Archive. Available at: Hamilton, M.A Java and the shift to net-centric computing. Computer, Vol. 29, Issue 8, Aug. 1996, pp

11 Hansmann, U., et al Pervasive Computing Handbook. Springer. Moreira, P From PersonalJava to J2ME: Some Introductory Ideas. Micro Java Network, May Available at: Savarese, D. F The Great Migration. Java Pro. September Sun Microsystems, The K Virtual Machine. Available at: 11

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

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

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

HYBRID JINI FOR LIMITED DEVICES

HYBRID JINI FOR LIMITED DEVICES HYBRID JINI FOR LIMITED DEVICES VINCENT LENDERS, POLLY HUANG AND MEN MUHEIM ETH Zürich E-mail: lenders, huang @tik.ee.ethz.ch, men@ife.ee.ethz.ch We envision a future of heterogeneous mobile devices collaborating

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

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

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

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 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

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

Developing Embedded Software in Java Part 1: Technology and Architecture

Developing Embedded Software in Java Part 1: Technology and Architecture Developing Embedded Software in Java Part 1: Technology and Architecture by Michael Barr Embedded Systems Conference Europe The Netherlands November 16-18, 1999 Course #300 Sun s introduction of the Java

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

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

Section 1.4. Java s Magic: Bytecode, Java Virtual Machine, JIT, J A V A T U T O R I A L S : Section 1.4. Java s Magic: Bytecode, Java Virtual Machine, JIT, JRE and JDK This section clearly explains the Java s revolutionary features in the programming world. Java basic

More information

Online Recruitment System 1. INTRODUCTION

Online Recruitment System 1. INTRODUCTION 1. INTRODUCTION This project Online Recruitment System is an online website in which jobseekers can register themselves online and apply for job and attend the exam. Online Recruitment System provides

More information

1. Overview of the Java Language

1. Overview of the Java Language 1. Overview of the Java Language What Is the Java Technology? Java technology is: A programming language A development environment An application environment A deployment environment It is similar in syntax

More information

How Java Software Solutions Outperform Hardware Accelerators

How Java Software Solutions Outperform Hardware Accelerators How Java Software Solutions Outperform Hardware Accelerators MIPS Technologies, Inc. April 2005 Java is a programming language which has one big advantage and one big disadvantage: the big advantage is

More information

CSC 551: Web Programming. Spring 2004

CSC 551: Web Programming. Spring 2004 CSC 551: Web Programming Spring 2004 Java Overview Design goals & features platform independence, portable, secure, simple, object-oriented, Programming models applications vs. applets vs. servlets intro

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

Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design

Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design Java in Education Introduction Choosing appropriate tool for creating multimedia is the first step in multimedia design and production. Various tools that are used by educators, designers and programmers

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

What Perl Programmers Should Know About Java

What Perl Programmers Should Know About Java Beth Linker, blinker@panix.com Abstract The Java platform is by no means a replacement for Perl, but it can be a useful complement. Even if you do not need to or want to use Java, you should know a bit

More information

Java Garbage Collection Basics

Java Garbage Collection Basics Java Garbage Collection Basics Overview Purpose This tutorial covers the basics of how Garbage Collection works with the Hotspot JVM. Once you have learned how the garbage collector functions, learn how

More information

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

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Java has become enormously popular. Java s rapid rise and wide acceptance can be traced to its design

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

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: ephkong@ntu.edu.sg

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

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

JPURE - A PURIFIED JAVA EXECUTION ENVIRONMENT FOR CONTROLLER NETWORKS 1

JPURE - A PURIFIED JAVA EXECUTION ENVIRONMENT FOR CONTROLLER NETWORKS 1 JPURE - A PURIFIED JAVA EXECUTION ENVIRONMENT FOR CONTROLLER NETWORKS 1 Danilo Beuche, Lars Büttner, Daniel Mahrenholz, Wolfgang Schröder-Preikschat, Friedrich Schön* University of Magdeburg * GMD-FIRST

More information

picojava TM : A Hardware Implementation of the Java Virtual Machine

picojava TM : A Hardware Implementation of the Java Virtual Machine picojava TM : A Hardware Implementation of the Java Virtual Machine Marc Tremblay and Michael O Connor Sun Microelectronics Slide 1 The Java picojava Synergy Java s origins lie in improving the consumer

More information

JAVA WEB START OVERVIEW

JAVA WEB START OVERVIEW JAVA WEB START OVERVIEW White Paper May 2005 Sun Microsystems, Inc. Table of Contents Table of Contents 1 Introduction................................................................. 1 2 A Java Web Start

More information

System Structures. Services Interface Structure

System Structures. Services Interface Structure System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface

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

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

SYSTEM OF MONITORING AND CONTROL FOR THE AUTOMATION OF INDUSTRIAL WASH MACHINES

SYSTEM OF MONITORING AND CONTROL FOR THE AUTOMATION OF INDUSTRIAL WASH MACHINES SYSTEM OF MONITORING AND CONTROL FOR THE AUTOMATION OF INDUSTRIAL WASH MACHINES Catalin BUJDEI Liviu PERNIU Ion TRUICAN Mihai CARAMAN Automatics Department, Transilvania University of Brasov, M.Viteazu

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

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

Programming Languages

Programming Languages Programming Languages In the beginning To use a computer, you needed to know how to program it. Today People no longer need to know how to program in order to use the computer. To see how this was accomplished,

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

Effective Java Programming. efficient software development

Effective Java Programming. efficient software development Effective Java Programming efficient software development Structure efficient software development what is efficiency? development process profiling during development what determines the performance of

More information

What Is the Java TM 2 Platform, Enterprise Edition?

What Is the Java TM 2 Platform, Enterprise Edition? Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today

More information

Overview. The Android operating system is like a cake consisting of various layers.

Overview. The Android operating system is like a cake consisting of various layers. The Android Stack Overview The Android operating system is like a cake consisting of various layers. Each layer has its own characteristics and purpose but the layers are not always cleanly separated and

More information

Berlin Mainframe Summit. Java on z/os. 2006 IBM Corporation

Berlin Mainframe Summit. Java on z/os. 2006 IBM Corporation Java on z/os Martina Schmidt Agenda Berlin Mainframe Summit About the mainframe Java runtime environments under z/os For which applications should I use a mainframe? Java on z/os cost and performance Java

More information

Changing the embedded development model with Microsoft.NET Micro Framework

Changing the embedded development model with Microsoft.NET Micro Framework Changing the embedded development model with Microsoft.NET Micro Framework The development model for embedded devices is traditionally viewed as extremely complex with the need for highly specialized design

More information

Truly Platform-independent Data Entry Devices

Truly Platform-independent Data Entry Devices Truly Platform-independent Data Entry Devices John R. Surdu and Thomas D. Wagner Department of Electrical Engineering and Computer Science The United States Military Academy West Point, NY 10996 Paul Manz

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

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

Restraining Execution Environments

Restraining Execution Environments Restraining Execution Environments Segurança em Sistemas Informáticos André Gonçalves Contents Overview Java Virtual Machine: Overview The Basic Parts Security Sandbox Mechanisms Sandbox Memory Native

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

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS Embedded Systems White Paper GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS September 2009 ABSTRACT Android is an open source platform built by Google that includes an operating system,

More information

SW5706 Application deployment problems

SW5706 Application deployment problems SW5706 This presentation will focus on application deployment problem determination on WebSphere Application Server V6. SW5706G11_AppDeployProblems.ppt Page 1 of 20 Unit objectives After completing this

More information

language 1 (source) compiler language 2 (target) Figure 1: Compiling a program

language 1 (source) compiler language 2 (target) Figure 1: Compiling a program CS 2112 Lecture 27 Interpreters, compilers, and the Java Virtual Machine 1 May 2012 Lecturer: Andrew Myers 1 Interpreters vs. compilers There are two strategies for obtaining runnable code from a program

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

Introduction to Sun ONE Application Server 7

Introduction to Sun ONE Application Server 7 Introduction to Sun ONE Application Server 7 The Sun ONE Application Server 7 provides a high-performance J2EE platform suitable for broad deployment of application services and web services. It offers

More information

lesson 1 An Overview of the Computer System

lesson 1 An Overview of the Computer System essential concepts lesson 1 An Overview of the Computer System This lesson includes the following sections: The Computer System Defined Hardware: The Nuts and Bolts of the Machine Software: Bringing the

More information

Building Applications Using Micro Focus COBOL

Building Applications Using Micro Focus COBOL Building Applications Using Micro Focus COBOL Abstract If you look through the Micro Focus COBOL documentation, you will see many different executable file types referenced: int, gnt, exe, dll and others.

More information

A Layered Architecture based on Java for Internet and Intranet Information Systems

A Layered Architecture based on Java for Internet and Intranet Information Systems A Layered Architecture based on Java for Internet and Intranet Information Systems Fidel CACHEDA, Alberto PAN, Lucía ARDAO, Ángel VIÑA Departamento de Electrónica y Sistemas Facultad de Informática, Universidad

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

Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform

Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform Part III: Component Architectures Natividad Martínez Madrid y Simon Pickin Departamento de Ingeniería Telemática Universidad Carlos III de Madrid {nati, spickin}@it.uc3m.es Introduction Contents Client-server

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

Mobile Application Development Android

Mobile Application Development Android Mobile Application Development Android MTAT.03.262 Satish Srirama satish.srirama@ut.ee Goal Give you an idea of how to start developing Android applications Introduce major Android application concepts

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

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

Efficiency of Web Based SAX XML Distributed Processing

Efficiency of Web Based SAX XML Distributed Processing Efficiency of Web Based SAX XML Distributed Processing R. Eggen Computer and Information Sciences Department University of North Florida Jacksonville, FL, USA A. Basic Computer and Information Sciences

More information

An Oracle White Paper October 2009. Frequently Asked Questions for Oracle Forms 11g

An Oracle White Paper October 2009. Frequently Asked Questions for Oracle Forms 11g An Oracle White Paper October 2009 Frequently Asked Questions for Oracle Forms 11g Disclaimer The following is intended to outline our general product direction. It is intended for information purposes

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

Data Sheet VISUAL COBOL 2.2.1 WHAT S NEW? COBOL JVM. Java Application Servers. Web Tools Platform PERFORMANCE. Web Services and JSP Tutorials

Data Sheet VISUAL COBOL 2.2.1 WHAT S NEW? COBOL JVM. Java Application Servers. Web Tools Platform PERFORMANCE. Web Services and JSP Tutorials Visual COBOL is the industry leading solution for COBOL application development and deployment on Windows, Unix and Linux systems. It combines best in class development tooling within Eclipse and Visual

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

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

Reminders. Lab opens from today. Many students want to use the extra I/O pins on Reminders Lab opens from today Wednesday 4:00-5:30pm, Friday 1:00-2:30pm Location: MK228 Each student checks out one sensor mote for your Lab 1 The TA will be there to help your lab work Many students

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

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. buford@alum.mit.edu 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 Objectives Review virtual machine concept Introduce stack machine architecture

More information

Chytré karty opět o rok dál...

Chytré karty opět o rok dál... Chytré karty opět o rok dál... SmartCardForum 2010 Jan Němec Product expert, Gemalto Květen 2010 Agenda Chytré karty včera, dnes a zítra Úvod do problematiky NFC Integrace NFC do mobilních zařízení Java

More information

For Course Details, visit: http://ike.co.in/course/overview.pdf

For Course Details, visit: http://ike.co.in/course/overview.pdf IMBIBE KNOWLEDGE ENTERPRISE COURSES 1. Java Platform 1.1. Java (JSE) 1.2. Enterprise Java (JEE) 1.3. Java Micro Edition (JME) 1.4. Java Class Library 1.5. AWT & Swing 2..NET Platform 2.1. C# 2.2. VB.NET

More information

Java (J2SE & J2EE) and Web Development Training Catalog

Java (J2SE & J2EE) and Web Development Training Catalog Java (J2SE & J2EE) and Web Development Training Catalog 2013 US Techie Technology Solutions P a g e 1 CONTENTS S.No Topic Page No I. Know About Java Technology 3 II. Why Software Developers Choose Java

More information

Oracle Java SE Embedded

Oracle Java SE Embedded Oracle Java SE Embedded Developer's Guide Release 8 E28300-05 July 2014 Documentation that describes essential concepts and common tasks for Oracle Java SE Embedded technology, for platform and application

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

Implementing Java Distributed Objects with JDBC

Implementing Java Distributed Objects with JDBC Implementing Java Distributed Objects with JDBC Pritisha 1, Aashima Arya 2 1,2 Department of Computer Science Bhagwan Mahaveer institute of engineering & technology (BMIET), Deenbandhu Chhotu Ram University

More information

UBS KeyLink Quick reference WEB Installation Guide

UBS KeyLink Quick reference WEB Installation Guide ab UBS KeyLink Quick reference WEB Installation Guide Table of contents 1. Introduction 3 1.1. Why is an Installation needed? 3 1.2. Is UBS KeyLink secure? 3 1.3. Information about Secure Sockets Layer

More information

Enterprise Java. Where, How, When (and When Not) to Apply Java in Client/Server Business Environments. Jeffrey Savit Sean Wilcox Bhuvana Jayaraman

Enterprise Java. Where, How, When (and When Not) to Apply Java in Client/Server Business Environments. Jeffrey Savit Sean Wilcox Bhuvana Jayaraman Enterprise Java Where, How, When (and When Not) to Apply Java in Client/Server Business Environments Jeffrey Savit Sean Wilcox Bhuvana Jayaraman McGraw-Hill j New York San Francisco Washington, D.C. Auckland

More information

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

Introduction to SunOne Development Tools by Mr. Mickey Fan, Java Architect, Sun Microsystems. Good morning. Ladies and Gentlemen. Introduction to SunOne Development Tools by Mr. Mickey Fan, Java Architect, Sun Microsystems Good morning. Ladies and Gentlemen. the mobile edition. I am glad to be invited to be here. Today my topic is

More information

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1 The Java Series Java Essentials I What is Java? Basic Language Constructs Slide 1 What is Java? A general purpose Object Oriented programming language. Created by Sun Microsystems. It s a general purpose

More information

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET)

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-6367(Print), ISSN 0976 6367(Print) ISSN 0976 6375(Online)

More information

Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents

Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents Agent Languages Requirements Overview Java Tcl/Tk Telescript Evaluation Franz J. Kurfess, Cal Poly SLO 211 Requirements for agent Languages distributed programming large-scale (tens of thousands of computers)

More information

IBM Proof of Technology Discovering business application services, featuring IBM WebSphere Application Server Network Deployment V8

IBM Proof of Technology Discovering business application services, featuring IBM WebSphere Application Server Network Deployment V8 IBM Proof of Technology Discovering business application services, featuring IBM WebSphere Application Server Network Deployment V8 Proof of Technology Introduction Welcome and Introductions Agenda Service

More information

Application Servers - BEA WebLogic. Installing the Application Server

Application Servers - BEA WebLogic. Installing the Application Server Proven Practice Application Servers - BEA WebLogic. Installing the Application Server Product(s): IBM Cognos 8.4, BEA WebLogic Server Area of Interest: Infrastructure DOC ID: AS01 Version 8.4.0.0 Application

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

Hardware/Software Co-Design of a Java Virtual Machine

Hardware/Software Co-Design of a Java Virtual Machine Hardware/Software Co-Design of a Java Virtual Machine Kenneth B. Kent University of Victoria Dept. of Computer Science Victoria, British Columbia, Canada ken@csc.uvic.ca Micaela Serra University of Victoria

More information

Sample copy. Introduction To WebLogic Server Property of Web 10.3 Age Solutions Inc.

Sample copy. Introduction To WebLogic Server Property of Web 10.3 Age Solutions Inc. Introduction To WebLogic Server Property of Web 10.3 Age Solutions Inc. Objectives At the end of this chapter, participants should be able to: Understand basic WebLogic Server architecture Understand the

More information

A Modular Approach to Teaching Mobile APPS Development

A Modular Approach to Teaching Mobile APPS Development 2014 Hawaii University International Conferences Science, Technology, Engineering, Math & Education June 16, 17, & 18 2014 Ala Moana Hotel, Honolulu, Hawaii A Modular Approach to Teaching Mobile APPS Development

More information

Chapter 2 System Structures

Chapter 2 System Structures Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices

More information

Zulu by Azul OpenJDK for Azure

Zulu by Azul OpenJDK for Azure Zulu by Azul OpenJDK for Azure surely a tongue-twister in any spoken language A presentation to Azure CEE Open Source in the Cloud November 27, 2013 Matt Schuetze, Director of Product Management Azul Systems

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

SE 450 Object-Oriented Software Development. Requirements. Topics. Textbooks. Prerequisite: CSC 416

SE 450 Object-Oriented Software Development. Requirements. Topics. Textbooks. Prerequisite: CSC 416 SE 450 Object-Oriented Software Development Instructor: Dr. Xiaoping Jia Office: CST 843 Tel: (312) 362-6251 Fax: (312) 362-6116 E-mail: jia@cs.depaul.edu URL: http://se.cs.depaul.edu/se450/se450.html

More information

An Easier Way for Cross-Platform Data Acquisition Application Development

An Easier Way for Cross-Platform Data Acquisition Application Development An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers

More information

Using mobile phones to access Web Services in a secure way. Dan Marinescu

Using mobile phones to access Web Services in a secure way. Dan Marinescu Using mobile phones to access Web Services in a secure way Dan Marinescu March 7, 2007 Abstract Web Services is a technology that has gained in acceptance and popularity over the past years. The promise

More information

Java-technology based projects

Java-technology based projects Java-technology based projects TietoEnator Corporation Oyj Simo Vuorinen simo.vuorinen@tietoenator.com 1 TietoEnator 2000 Agenda Java: language, architecture, platform? Javan promises and problems Enterprise-APIs

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

PERFORMANCE ENHANCEMENTS IN TreeAge Pro 2014 R1.0

PERFORMANCE ENHANCEMENTS IN TreeAge Pro 2014 R1.0 PERFORMANCE ENHANCEMENTS IN TreeAge Pro 2014 R1.0 15 th January 2014 Al Chrosny Director, Software Engineering TreeAge Software, Inc. achrosny@treeage.com Andrew Munzer Director, Training and Customer

More information

An Overview of Oracle Forms Server Architecture. An Oracle Technical White Paper April 2000

An Overview of Oracle Forms Server Architecture. An Oracle Technical White Paper April 2000 An Oracle Technical White Paper INTRODUCTION This paper is designed to provide you with an overview of some of the key points of the Oracle Forms Server architecture and the processes involved when forms

More information

C# and Other Languages

C# and Other Languages C# and Other Languages Rob Miles Department of Computer Science Why do we have lots of Programming Languages? Different developer audiences Different application areas/target platforms Graphics, AI, List

More information