Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

PersonalJava and EmbeddedJava...

 
Anonymous
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
...what are they, and what's the difference?
 
Kavita Ghia
Ranch Hand
Posts: 91
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The PersonalJava and EmbeddedJava vary on the basis of the task they perform and the API they use.
There was a time when two Java APIs served the embedded world:
1)PersonalJava and
2)EmbeddedJava.
The PersonalJava FAQ described the PersonalJava application environment as being targeted at Web-connected consumer devices that "are often executing applets from a network." Therfore it follows that an aplication is expected to be connected to some form of network for downloading and executing applets.Their devices are general-purpose consumer devices in that sense;their capabilities can be extended.
In contrast, EmbeddedJava devices are dedicated. The functions they perform are very specific, so there's little need to provide a capability for downloading new code to an EmbeddedJava device. Hence, PersonalJava devices expose an extendible Java API;EmbeddedJava devices�having no need for such a device�don't.
I hope this shall satisfy your query.
A Java Ranch folk,
Kavita.
 
Eric Giguere
Ranch Hand
Posts: 170
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This one often confuses people. Let me explain it for you:
1) PersonalJava is now becoming a J2ME profile based on the Connected Device Configuration (CDC). It's basically a stripped down version of J2SE with a few optional pieces. It's aimed at higher-end devices.
2) EmbeddedJava is a version of Java where everything is optional. A vendor licenses it from Sun to put Java support in their devices, but sign agreements that prevent them from exposing any of that Java to third-party developers. In other words, the Java can only be used internally by their own developers, which is why they can strip out the unnecessary parts. If at any point they want to expose Java to the outside world then they have to become a regular licensee and use one of the "normal" Java implementations, either J2ME or J2SE as appropriate. Then they don't have the option of stripping things out. So EmbeddedJava is strictly for "black box" implementations.

------------------
Eric Giguere
author of:
Java 2 Micro Edition : A Professional Developer's Guide
PalmTM Database Programming: The Complete Developer's Guide
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic