Part II Software When developing software there are several particularities to be aware of: Java is widespread used because of the platform independence.

Slides:



Advertisements
Similar presentations
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
Advertisements

Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
Multimedia Network Communications Subject:T0934 / Multimedia Programming Foundation Session:13 Tahun:2009 Versi:1/0.
J2ME 25 July Overview  What is J2ME?  The CLDC and CDC configurations  MIDP and MIDlets  Development Tools  Demonstrations.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Programming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 10 Java for MIDs Rob Pooley
Introduction to Java The objectives of this chapter are: To describe the key aspects of Java To describe the Java software development kit (SDK) To explain.
JAVA Technology. Java Technology Java technology is a portfolio of products that are based on the power of networks and the idea that the same software.
Introduction to Java Programming, 4E
UMass Lowell Computer Science Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 1 Introduction/Overview Wed. 9/6/00.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
J2ME Prepared by: - Gaery- Ronny - Alan- Andy. Why Technology for Mobile Devices? The nature of wireless devices is changing Old devices: All the software.
CS2200 Software Development Lecture: Java Platform Lecturer: Adrian O’Riordan Course Webpage:
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Component and Deployment Diagrams
V0.01 © 2009 Research In Motion Limited Understanding Java APIs for Mobile Devices Trainer name Date.
The 21th century Repairman Agenda Introduction J2EE J2ME Demonstration.
Cosc 4730 Phone Programming in Java An Introduction.
For more Lectures and Notes Visit
The Architecture of Transaction Processing Systems
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Java 2 Platform, Micro Edition (J2ME) By Xiaorong Wang.
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
01 Introduction to Java Technology. 2 Contents History of Java What is Java? Java Platforms Java Virtual Machine (JVM) Java Development Kit (JDK) Benefits.
LESSON 1 INTRODUCTION Compiled By: Edwin O. Okech [Tutor, Amoud University] JAVA PROGRAMMING.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Introduction to Java Programming with JBuilder 4
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Glink: GCOS e-business in an application server architecture Summit 2000, Jim Gallagher.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Programming Languages Machine.
Framework and application bytecode size CLDC MIDP kXML parser Utility classes Graphics Logic (MIDlet) Application Data (XML file)
Computer Science Wi-Fi App using J2ME and MVC Architecture Advisor : Dr. Chung-E Wang Department of Computer Science Sacramento State University Date:
Enterprise Java v120131Intro to JavaEE1 Java EE 5 TM Introduction.
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
J2ME Presented by May Sayed & Menna Hawash. Outline Introduction “Java Technology” Introduction “What is J2ME?” J2ME Architecture J2ME Core Concepts 
Java 2 Micro Edition (J2ME) and the world of java
CPRG 215 Introduction to Object-Oriented Programming with Java Module 1-Introduction to Java Topic 1.2 Getting the Tools and Setting Up the Development.
1Basics of J2ME. 2 Objectives –Understand the different java API’s and how the mobile edition API’s fit in –Understand what a mobile configuration and.
Introduction to Java Programming with Forte Y. Daniel Liang.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Introduction to Java Programming. Introduction Course Objectives Organization of the Book.
Session 1 Introduction to Java. Objectives Java Simplified / Session 1 / 2 of 32 Explain the history of Java Explain Java in brief List the types of Java.
National Taiwan University Department of Computer Science and Information Engineering National Taiwan University Department of Computer Science and Information.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Java – in context Main Features From Sun Microsystems ‘White Paper’
Glink for Java: applet, application and an API for integrating access to Bull, IBM, UNIX and Minitel systems with your Java based e-business applications.
Enhanced mobile services in Java enabled phones Björn Hjelt Sonera zed ltd Supervisor: Professor Jorma Jormakka.
Introduction to JAVA Programming
Introduction to Java Programming, 4E Y. Daniel Liang.
Advance Computer Programming Market for Java ME The Java ME Platform – Java 2 Micro Edition (J2ME) combines a resource- constrained JVM and a set of Java.
Visual Mobile Applications with Netbeans 6.0 Your Name Sun Campus Ambassador Your Address.
Visual Mobile Gaming Your Name Sun Campus Ambassador Your Address.
Introduction to Algorithm. What is Algorithm? an algorithm is any well-defined computational procedure that takes some value, or set of values, as input.
The Java Platform Micro Edition Java ME
J2EE Platform Overview (Application Architecture)
WebSphere Diego Leone.
Programming of Handheld and Mobile Devices
MOBILE DEVICE OPERATING SYSTEM
Wireless Instant Messaging Using J2ME
Introduction to J2EE Architecture
Distributed System Using Java 2 Enterprise Edition (J2EE)
JavaServer Faces: The Fundamentals
F II 1. Background Objectives
Chap 1. Getting Started Objectives
Chap 4. Programming Fundamentals
Outcome of the Lecture Upon completion of this lecture you will be able to understand Fundamentals and Characteristics of Java Language Basic Terminology.
Presentation transcript:

Part II Software When developing software there are several particularities to be aware of: Java is widespread used because of the platform independence of the compiled code. Pervasive devices usually process executables and data directly from the location in RAM or ROM where they are stored persistently (“Execute in place”). Since processing power and memory is limited, applications must be programmed efficiently. Often operating system and applications are not upgradable within the device’s lifetime. Applications on pervasive devices are usually not rebooted, and can therefore run nearly forever. It requires a very stable operating system and applications with very careful memory management to meet these requirements. On top of these operating systems, middleware components provide an abstraction of operating system specific dependencies.

Software Layers on a Device Application User Interface GUI TTS Speech Recognition Basic Components Database Access Security Communication Components Messaging Protocol Support Service Discovery Industry Specific Components TV API Phone API Smart Card Access Operating System Hardware Device Platform

6. Java The Java programming language is intended for the development of platform independent software. “Write once, run anywhere”. How Java works

6.1 Language Characteristics An important achievement of Java is that the language is kept very simple and the code is well readable. Java has been designed as a secure language. The byte-code is verified by the virtual machine ensuring that no illegal code is included. The code could be signed, which means that cryptographic algorithms are applied to ensure that the code originates from someone the user trusts. The Java program runs in a memory area of the system which is controlled by the virtual machine (“sandbox”). The program is allowed to perform any operation within the sandbox, but has only limited access to any system resource outside. For example unauthorized code cannot read or write any data on the system. Java programs can be distinguished as follows: Applications are stand-alone programs. Applets are mini-program running within a browser. Servlets are also related to web sites. While applets run on the client side, servlets are executed by the Web server.

6.2 Java Class Libraries Java Core Packages JavaBeans are Java components which developers can integrate into their applications, applets or servelets. 6.2 Java Class Libraries Java Core Packages Package Contents java.applet Classes for creating applets running within web browsers. java.awt Classes for creating graphical user interfaces. java.beans Classes for JavaBeans development. java.io Classes for system input and output, accessing a file system, and using persistent object (serialization). java.lang Fundamental Java classes and classes for obtaining reflective information about classes and objects. java.math Classes used within mathematical algorithms.

Optional Java Packages java.net High level support for networking. java.rmi Classes supporting Remote Method Invocation (RMI). java.security Classes for the Java security framework, including certificate management, RSA, and DSA interface. java.text Classes for handling text, dates, and numbers (e.g. String) java.util Manifold miscellaneous classes, such as collections framework, event model, internationalization, string tokenizing, data compression, and many more. Optional Java Packages package Contents javax.naming Classes for accessing naming and directory services. javax.sound Classes for the processing of audio data. javax.swing Classes for a more powerful and platform independent user interface than java.awt. org.omg.CORBA Provides the Corba API, including an Object Request Broker and IDL support.

6.3 Java Editions Standard Edition (J2SE) Java 2 Software Development Kit (SDK) is a product from Sun, which implement that specification. Java 2 Enterprise Edition (J2EE) offers additional features on top of the Standard Edition, such as servlets, JavaServer Pages, JDBC, Java Message Service, Java Naming, and Directory Interface, Java Transaction, Java Mail, XML, CORBA, and Enterprise Java Beans. Micro Edition The Java 2 Micro Edition (J2ME) has been introduced to meet the limitations and peculiarities of Pervasive Computing devices. J2ME introduces profiles, which specify language subsets for different group of devices. Java Card The Java Card is the smallest and most limited version of the Java family. Third party Java Independent from Sun, several companies offer manifold Java APIs, for example JavaBeans libraries.

The Flavors of Java within the Java 2 Family

6.5 PersonalJava and EmbeddedJava 6.4 Micro Edition Choosing subsets of the Java language particular for a specific device class is the basic concept of J2ME. Each subset is called a profile. Mobile Information Device Profile (MIDP) defines the Java functionality and APIs, which fit the screen size and memory constraints of PDAs. Each profile is based on one of two Configurations: Connected Device Configuration (CDC) is intended for devices which have at least 512 kilobytes of memory available to run Java and have a high bandwidth network connection. Connected Limited Device Configuration (CLDC) is intended for devices with only 128 kilobytes of memory for running Java and with limitations in the user interface, network bandwidth, and power supply. 6.5 PersonalJava and EmbeddedJava The PersonalJava Application Environment focuses on smart phones, set-top boxes, game consoles, PDAs, and other resource constrained network-connectable consumer devices.

6.6 Development Tools for Java PersonalJava is scalable, modular, and configurable. It is also possible to compile the Java byte code of a PersonalJava application into executable code, which can be placed directly into the ROM of a device. The EmbeddedJava Application Environment targets very small devices with very strict memory limitations, such as industrial controllers, pagers, telecommunication switches, or low-end phones. 6.6 Development Tools for Java Visual Café from Symantec, Jbuilder from Borland, Microsoft’s Visual Studio J++, and IBM’s Visual Age. Visual Age for Java supports the visual programming method: Software components like JavaBeans can be assembled in a visual composition editor almost intuitively to complex applications.