Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Bluetooth and java – a perfect match? Sean O Sullivan ceo Nordic Bluetooth, October 5th, 2001 overview • • • • • Introduction to Java Java 2 Micro Edition (J2ME) The Standard Java Bluetooth APIs Jini and Javaspaces: Service Discovery JXTA : Peer to Peer 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 Java 2 platform technologies why care about java – especially j2me? • Momentum in the wireless world + over 30% developers using Java for wireless Application * Source: Evans Data Corporation, 2000 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-topeer and ad-hoc networking (see later) 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 configurations and profiles • • • • Connected Device Configuration (CDC) Connected Limited Device Configuration (CLDC) Mobile Information Device Profile (MIDP) PDA Profile (PDAP) Java 2 Micro Edition CLDC is a subset of CDC J2SE CDC CLDC J2ME architecture: key elements • Profile + API exposing the functionality on a specific class of target devices, and necessary to support a particular set of services • Optional Package + API exposing a specific functionality; includes a list of API dependencies; must be deployed with a profile that supports the dependencies • Configuration + the minimal sized, pre –existing profile defined for the specific VM it is deployed against 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) 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 environment and applications + 16/32 bit processor + Connectivity to some network, often not IP, intermittent CLDC and MIDP • CLDC provides + A fast, small footprint virtual machine (the KVM) + A stripped down Java API subset • MIDP provides + A set of User Interface components + A persistence mechanism + A HTTP connection capability • A PDA Profile is being worked on (chaired by Palm) • For use in mobile phones, PDAs and other handheld mobile devices. 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 technologyenabled devices to integrate into a Bluetooth environment + Chaired by Motorola + Other members: Rococo Software, Ericsson, Nokia, Extended Systems, … • Due for completion end 2001 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 JSR82 • Target Platform + Devices for the J2ME™ platform + API will depend ONLY on CLDC APIs + Use CLDC Generic Connection Framework + APIs will work on all platforms that have/will have Generic Connection Framework 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 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 CLDC and Bluetooth architecture CLDC and MIDP and Bluetooth architecture 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 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 Jini architecture Jini – a service-oriented view of the world • Allow late binding between client and 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 Jini components • • • • • • • Discovery Protocol Join Protocol Lookup Service Distributed Security System Distributed Transaction Interfaces Leasing Interface Event & Notification Interfaces service publishes proxy object 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 JXTA background • Goal + Build a small, lightweight platform as the foundation of all peer-to-peer systems • Originated at Sun – quickly moved to a neutral, community based organisation, and opensourced • www.jxta.org JXTA architecture 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 JXTA protocols • • • 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 a pipe advertisement to an actual endpoint Routing protocol + Find a route to reach a peer 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 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 for more information contact Sean O’ Sullivan, [email protected]