Download
bluetooth and java a perfect match n.
Skip this Video
Loading SlideShow in 5 Seconds..
Bluetooth and java – a perfect match? PowerPoint Presentation
Download Presentation
Bluetooth and java – a perfect match?

Bluetooth and java – a perfect match?

131 Views Download Presentation
Download Presentation

Bluetooth and java – a perfect match?

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Bluetooth and java – a perfect match? Sean O Sullivan ceo Nordic Bluetooth, October 5th, 2001

  2. overview • Introduction to Java • Java 2 Micro Edition (J2ME) • The Standard Java Bluetooth APIs • Jini and Javaspaces: Service Discovery • JXTA : Peer to Peer

  3. Introduction to Java • Java is both a language and a platform • Language • Object oriented • No pointers • Compiled to Bytecode • Executes on a Virtual Machine (VM) • Wherever a VM can go – so can Java • The VM aspect of Java underpins the platform

  4. Java 2 platform technologies

  5. why care about java – especially j2me? • Momentum in the wireless world • over 30% developers using Java for wireless Application Development(*) • Equipment vendors backing it • Nokia : 150M Java Phones next 2 years • Siemens : Phones, PDAs – shipping now • Motorola : Phones, PDAs – shipping now • Java complements Bluetooth • provides core abstractions for service discovery, peer-to-peer and ad-hoc networking (see later) * Source: Evans Data Corporation, 2000

  6. Java 2 Micro Edition (J2ME) : platform for wireless • Focus: Wireless and Embedded • Composed of • Configurations • Profiles • Configuration • Minimum set of classes and VM features that must be present for a category of devices • Profile • Targeted at Application Developers • Layered on top of Configurations • APIs for a particular set of devices

  7. Connected Device Configuration (CDC) Connected Limited Device Configuration (CLDC) Mobile Information Device Profile (MIDP) PDA Profile (PDAP) configurations and profiles Java 2 Micro Edition

  8. J2SE CDC CLDC CLDC is a subset of CDC

  9. J2ME architecture: key elements • Profile • API exposing the functionality on aspecific class of target devices, andnecessary to support a particular set ofservices • Optional Package • API exposing a specificfunctionality; includes a list of APIdependencies; must be deployed with aprofile that supports the dependencies • Configuration • the minimal sized, pre –existingprofile defined for the specific VM it isdeployed against

  10. CDC • Targeted for devices that have • 2 MB or more total available memory • Memory dedicated to J2ME environment • More than 2 MB ROM/Flash • More than 512 KB RAM • Network connectivity • Full Java 2 VM specification (CVM)

  11. smallest consumer devices – CLDC and MIDP • Smallest mobile information devices • Cell phones, pagers, some PDAs, ... • Small screens—approximately 100x100 • Limited battery life / low power consumption • 128K to 512KB for J2ME environmentand applications • 16/32 bit processor • Connectivity to some network, often not IP, intermittent

  12. CLDC and MIDP • CLDC provides • A fast, small footprint virtual machine(the KVM) • A stripped downJava API subset • MIDP provides • A set of User Interface components • Apersistence mechanism • A HTTP connectioncapability • A PDA Profile is being worked on (chaired by Palm) • For use in mobile phones, PDAsand other handheld mobile devices.

  13. standard Bluetooth APIs in Java – JSR82 • Java Community Process (JCP) • Issues Java Specification Requests (JSRs) • JSR82 • Expert group to define Standardised Bluetooth APIs for Java • Goal: standardize a set of APIs to allow Java technology-enabled devices to integrate into a Bluetooth environment • Chaired by Motorola • Other members: Rococo Software, Ericsson, Nokia, Extended Systems, … • Due for completion end 2001

  14. JSR82 – benefits for Bluetooth • Portability of code • Standard API allows same code to work on different devices, different Bluetooth Stacks • Increases Bluetooth Adoption, reduces time-to-application • Code in Java versus C, C++ • World’s fastest-growing Dev Community • 2.5M Java developers worldwide

  15. JSR82 • Target Platform • Devices for theJ2ME™ platform • API will depend ONLY on CLDC APIs • Use CLDC Generic Connection Framework • APIs will work on all platforms that have/willhave Generic Connection Framework

  16. support for profiles • Number of Bluetooth Profiles keeps growing • API will provide support for the fundamental profiles • GAP • SDAP • Serial Port • GOEP (generic object exchange protocol) • API assumes Bluetooth stack supports these fundamentla profiles

  17. JSR82 profile support • API to expose core layers and basic profiles • 1. RFCOMM/SPP • 2. SDP/SDAP • 3. L2CAP • 4. GAP/HCI/Device Management • 5. GOEP

  18. CLDC and Bluetooth architecture

  19. CLDC and MIDP and Bluetooth architecture

  20. JSR82 status • Version 0.5 in September • Community Review—Oct/Nov • Public Review—Nov/Dec • Release 1.0 - Jan 2001 (estimated) • JSR and specification • http://java.sun.com/aboutJava/communityprocess/jsr/jsr_082_bluetooth.html

  21. Jini : service discovery • Pronouncing it … • Don’t say Jinny, say “Genie” • Jini • Helps build and deploy distributed systems using federations of services • A service can be anything – any funtionality that a computer, device, person wishes to expose over the network

  22. Jini architecture

  23. Jini – a service-oriented view of the world • Allow late binding between clientand service • Allow services to change • Enables reliable applications from unreliable parts • Networked object components • Breaks the tie between • What is to be done • Who is going to do it

  24. Jini components • Discovery Protocol • Join Protocol • Lookup Service • Distributed Security System • Distributed Transaction Interfaces • Leasing Interface • Event & Notification Interfaces

  25. service publishes proxy object

  26. Where Jini and Bluetooth meet • Both facilitate loosely-coupled networks where participants • Join and leave the network regularly • Discover and use services offered by other participants • Can themselves offer services to the network • Bluetooth provides the hardware/low-level software platform to allow dynamic networks to form • Jini provides the higher level software framework to facilitate powerful application development

  27. JXTA background • Goal • Build asmall, lightweight platform as thefoundation of all peer-to-peer systems • Originated at Sun – quickly moved to a neutral, community based organisation, and opensourced • www.jxta.org

  28. JXTA architecture

  29. JXTA – key concepts • Peers and groups • Any entity capable of the necessary protocols • Advertisement • Structured XML document • Messaging • Unreliable, asynchronous, uni-directional • Pipe • Virtual communication channel

  30. Discovery protocol Find advertisements from other peers Resolver protocol Locate peers, groups, pipes, etc. Information protocol Query other peers’ status Membership protocol Obtain membership information, apply,receive, and update group membership, Pipe binding protocol Bind apipe advertisement to an actualendpoint Routing protocol Find aroute to reach apeer JXTA protocols

  31. where Bluetooth and JXTA meet • Bluetooth, by its very nature, faciliates peer-to-peer collaboration • JXTA can provide a standard framework for peer-to-peer interaction • JXTA may provide important technology to underpin 2nd and 3rd generation Bluetooth applications

  32. summary • Java is important for Bluetooth • Many BT devices will run J2ME as the core platform for applications • Standard APIs for BT will speed new application development • Ad-hoc and peer-to-peer technologies such as Jini, JavaSpaces and JXTA will provide software infrastructure that allows us to realise the potential of Bluetooth networks

  33. for more information contactSean O’ Sullivan, sos@rococosoft.com