Home
Company Profile
Our Clients
Training
Courses
course list
roadmap
all dates
forthcoming
booking
Graduate
Training
Mentoring
Location
Links
Contact us

 


 Java Training Courses
J-501
Java for Embedded Consumer Devices

Length: 5 days
Cost: Contact Feabhas (available for on-site delivery only)
Course description - see below or view PDF
Check course dates - click here
Booking information - click here
 Course Detail

Course Description:
Java has established itself as a language for application development for server side computing, but with a reputation as being too large and slow for real-time embedded software.

This course shows how Java can be used in real-time and embedded projects and importantly provides developers with significant advantages over other languages. A complete tour of the Java facilities for the resource-constrained environment is provided, including J2ME in depth, Java Card and the Real-Time Java Specification.

Overview:
This five day course provides a thorough grounding in the Java language, highlighting the significant benefits the language provides real-time developers in terms of portability, concurrency, productivity and reliability.

Via a mixture of demonstration and practical sessions, delegates will gain a sound appreciation of which resource constrained environments Java is applicable in and importantly those for which it is not. Forty percent of the course is based on practical work.

Course Objectives:
• To provide an understanding of the fundamentals of the Java programming language
• To introduce concurrency and networking aspects of Java
• To provide a complete picture of the Java landscape for resource constrained environments
• To introduce and provide experience of writing Java for different application domains (e.g. J2ME and Java Card)
• To highlight how Java can be used on embedded hardware

Delegates will learn:
• The core Java syntax and semantics
• How to use Java in embedded and consumer devices
• To evaluate if Java is an appropriate language for a project
• To write concurrent and networked solutions
• How to write code for J2ME in particular MIDlets for MIDP
• About memory and performance issues associated with Java

Pre-requisites:
It is expected that delegates will have experience in programming in a high level language.

Who Should Attend:
The course is suitable for anybody who wishes to gain a thorough understanding of the Java programming language and its use in resource-constrained environments, particular J2ME.

Duration:
Five days.

Course Materials:
• Delegate Handbook

Related courses:
• OO-503 Real-Time Software Design with UML 2.0
• RTOS-201 Fundamentals of Real-Time Operating Systems
• EL-503 Developing for Embedded Linux
• EL-504 Developing Linux Device Drivers

Course Workshop:
The course exercises are based on a case study of a remote monitoring
and control system. This includes building (all in Java):
• A configuration utility as a graphical user interface
• A full concurrent Web server
• Mobile phone access using with a J2ME MIDP MIDlet.
• Smart card identification.

This case study highlights a complete end to end system implemented in Java and highlights the advantages and disadvantages of the language as well as providing practical experience of the important Java application domains.

Course Outline:

Introduction to Java Programming
- What is Java
- What can be developed with Java
   - J2SE, J2EE, J2ME
- Embedded Java
   - Java Card, Personal Java
- Evolution of Java
Object Oriented Programming
- Introduction to Object Orientation
- Encapsulation, Inheritance and Polymorphism
The Core Java Language

- Identifiers and Reserved Words
- Primitive data types
- Expressions and operators
   - Iteration
   - Decision making
- Classes and objects
- Arrays
Classes and Interfaces
- Constructing and Destroying Objects
- Encapsulation
- Inheritance
- Abstract classes and methods
- Interfaces
- Static members
- Inner classes
- Anonymous classes
Graphical User Interfaces
- Creating graphical user interfaces
- Event handling
Java I/O
- Input/Output streams
- Java Exception handling
Concurrency in Java
- Introduction to threading
- The Java threading API
- Synchronisation techniques
- Thread scheduling
Networking in Java
- TCP/IP Networking
- Java Networking API
J2ME
- Resource constrained virtual machines (KVM, CVM)
- Configurations (CLDC & CDC)
- Profiles
- Mobile Information Device Profile(MIDP)
   - Java Wireless Toolkit
   - Developing MIDlets
      - User Interfaces
      - Event handling
      - Networking
The Java Native Interface
- Calling native methods(C/C++) from Java
- Sharing data between Java and native methods
- Handling and generating exceptions in native methods
- Multi-threaded access to data
JavaCard
- Programming Java Smart Cards
- Smart card language subset
- Java Card virtual machine
- Developing Applets
Other Java Application Domains
- Personal Java
- JavaPhone API
- JavaTV API
- Java Embedded Server (OSGi)
Java Real-Time Specification
- What is the Java Real-Time specification?
- Thread scheduling and dispatching
- Schedulability of threads
- Memory management
- Thread synchronization
- Asynchronous events
Course Summary

 telelogic website

Training Courses
C Training Courses
C++ Training Courses
Design Patterns Training Courses
Embedded Linux
Training Courses

Java Training Courses
Microsoft Embedded Training Courses
MISRA-C Training Courses
RTOS Training Courses
Software Engineering Training Courses
SNMP Training Courses
SysML Training Courses
TCP/IP Training Courses
Testing Training Courses
Microsoft Windows Device Driver Courses
UML Training Courses

Feabhas Codes
AC-401
AC++-401
AWDM-501
C-501
C++-303
C++-501
C++-502
C++-503
DP-401
EL-201
EL-202
EL-301
EL-503
EL-504
J-501
J-502
MC-101
MSDN-2530
MSDN-2535
MSDN-2540
MSDN-2545
MSDN-2540N
NDIS-501
OO-101
OO-301
OO-503
RB-201
RTOS-201
SE-401
SE-501
SNMP-301
T-301
TCP-401
WDF-501
WDM-501