Getting Started with JXTA for J2ME - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

Getting Started with JXTA for J2ME

Description:

Self-organization ability: simplify management, robustness, flexible ... JXTA Community Forum, http://forums.java.net/jive/forum.jspa?forumID=50&start=0 ... – PowerPoint PPT presentation

Number of Views:1282
Avg rating:3.0/5.0
Slides: 37
Provided by: cseTt
Category:
Tags: j2me | jxta | getting | jive | started

less

Transcript and Presenter's Notes

Title: Getting Started with JXTA for J2ME


1
Getting Started with JXTA for J2ME
  • Advisor Dr. Ching-Long Yeh
  • Report DI.2, ??? (89506005)
  • Course XML????

2
Abstract
  • Ad hoc networks a self-configuring network of
    mobile
  • Self-organization ability simplify management,
    robustness, flexible
  • Well suited to the vicissitudes of wireless
  • P2P model enables mobile devices to assemble
    quickly
  • JXTA ("juxtapose") , a set of protocols for P2P
    networking
  • In this report
  • How the JXTA protocols are extended to MIDP
  • How to install and run JXTA demonstration
    programs for MIDP

3
Abstract
  • JXTA demonstration programs for MIDP
  • Chat MIDlet

JXME Proxy (Relay)
DEMO
4
Agenda
  • Abstract
  • JXTA
  • Java ME (J2ME)
  • JXME
  • Summary
  • Appendix
  • Prerequisite for implementation
  • Implementation of J2ME Chat MIDlet
  • Implementation of JXME Proxy
  • References and Resources

5
JXTA
  • JXTA defines a set of open protocols for
    peer-to-peer networks
  • JXTA (v2.0) Protocol Specification
  • XML-based protocols
  • Functionalities
  • peer discovery
  • endpoint routing
  • connection binding
  • basic query/response message exchange
  • network propagation through rendezvous peers

6
Java ME
  • Java ME
  • Java Platform, Micro Edition (Java ME) provides a
    environment for applications running on mobile
    and other embedded devices
  • mobile phones, personal digital assistants
    (PDAs), TV set-top boxes, and printers
  • MIDP Mobile Information Device Profile (v2.0)
  • Implementation Specification
  • Subset of Java SE (JDK) ? limited capacity

7
Java ME
  • MIDP
  • javax.microedition.rms
  • Record Management System, persistence
  • javax.microedition.midlet
  • Environment, lifecycle
  • javax.microedition.io
  • Network
  • javax.microedition.lcdui
  • UI(User Interface)
  • Java.lang. java.util.
  • MIDlet application
  • javax.microedition.midlet.MIDlet

8
Java ME
  • MIDlet
  • Managed by Application Management software (AMS)
    Paused,Active,destroyed

9
JXME
  • JXME
  • JXTA Java Micro Edition (MIDP/CLDC/CDC) Project
  • The goal of the JXME project is to bring JXTA
    functionality to MIDP devices
  • A framework
  • Why JXME ? ? The constraints of Mobile Device
  • XML parser ? memory limits of MIDP devices?
  • The state of the network ? needs to be cached ?
    memory limits of MIDP devices?
  • MIDP mandates support for HTTP, but socket and
    datagram connections are optional
  • JXTA protocols exceed the minimum requirements of
    MIDP ? JXTA relay

10
JXME Architecture
11
Rendezvous/relays
12
Coordination between J2ME Edge Devices and JXTA
Relays
  • J2ME peer send HTTP request messages to a JXTA
    relay
  • JXTA relay parse each name-value pair in the HTTP
    request? XML messages (JXTA format) ? relay the
    messages over the JXTA network
  • JXTA relay receives a message from the JXTA
    network? parse the XML format of the incoming
    message ? author a corresponding HTTP response
  • Wait for the J2ME peer to send an HTTP poll
    request ? send the HTTP response back to the J2ME
    peer

1.
2.
Response
3.
4.
13
JXME API
  • Element elements of JXTA Message
  • Message JXTA Message, access methods
  • PeerNetwork
  • createInstance() create PeerNetwork instance
  • connect() connect to relay
  • create() peer, group, pipe
  • search() peer, group, pipe
  • poll() poll the information from relay server
  • listen() and close() open and close pipe
  • send() send the message to the pipe

14
JXME Code Example
Create peer
  • Create pipe

Connect to proxy
create pipe
15
JXME Code Example
  • Find the pipe which we created

16
JXME Code Example
  • Send message through the pipe which we just find

17
JXME Code Example
  • Receive message

18
Summary
  • JXTA furnishes an XML-based, platform-independent
    set of protocols that enable P2P networking
  • JXME project brings JXTA functionality into the
    MIDP world
  • Vision Ad hoc network ? Every mobile device as
    Server

19
Summary
  • Not popular ? Why ?
  • Cost GPRS, 3G ?
  • Mobile device Power consumption, UI ?
  • In the future
  • WiMax ? cost down
  • Wireless ? Leased-line network ? connected
    anytime
  • Google Android platform ? ? XMPP protocol
  • Trends P2P network XML based protocol

20
Appendix
21
Prerequisite for implementation
  • Required libraries from http//download.java.net/j
    xta/
  • jxse-lib-2.5.zip
  • JXTA core
  • JMEX Proxy libraries
  • jxme-2.1.3-bin.zip
  • JXME framework
  • Chat MIDlet code and libraries
  • Tools
  • NetBeans (6.0) Mobility pack
  • http//www.netbeans.org/

22
Implementation of J2ME Chat MIDlet
1. New project ?Mobile ? mobile project from
existing MIDP source
23
Implementation of J2ME Chat MIDlet
2. Specify the source and JAD file
24
Implementation of J2ME Chat MIDlet
3. Name and Location ? name ? chat
25
Implementation of J2ME Chat MIDlet
4. Default Platform Selection use default
26
Implementation of J2ME Chat MIDlet
5. Add library chat porject ? right click ?
properties ? add Jar/Zip ? jxta-cldc.jar
27
Implementation of J2ME Chat MIDlet
6. Run chat project ? right click ? run project
28
Implementation of J2ME Chat MIDlet
  • Related files and locations
  • Chat source code
  • \jxme-2.1.3-bin\midp\demo\chat
  • JAD
  • \jxme-2.1.3-bin\midp\demo\chat\bin\chat.jad
  • Library
  • \jxme-2.1.3-bin\midp\demo\chat\lib\jxta-cldc.jar

29
Implementation of JXME Proxy
1. New project ? General project ? Java
Application
30
Implementation of JXME Proxy
2. name? proxy ? finish
31
Implementation of JXME Proxy
3. New Java class ? place the code which we
provide
32
Implementation of JXME Proxy
  • Code
  • package tommy
  • import java.io.File
  • import net.jxta.platform.NetworkManager
  • public class StartJXME_Proxy
  • private NetworkManager manager
  • public StartJXME_Proxy()
  • private void startProxy()
  • try
  • manager new NetworkManager(NetworkMa
    nager.ConfigMode.PROXY, "ProxyeServer", new
    File(new File(".cache"), "ProxyeServer").toURI())
  • manager.startNetwork()
  • catch (Exception e)
  • e.printStackTrace()
  • System.exit(-1)
  • public static void main(String args)
  • StartJXME_Proxy startJXME_proxy new
    StartJXME_Proxy()

33
Implementation of JXME Proxy
4. Add libraries ?Libraries ? Add
Jar/folder?\jxse-lib-2.5\.jar
34
Implementation of JXME Proxy
5. Run ? project ? right click ? run project
35
References and Resources
  • Getting Started with JXTA for J2ME,
    http//developers.sun.com/mobility/midp/articles/j
    xme/index.html
  • JXTA, https//jxta.dev.java.net/
  • JXTA v2.0 Protocol Specification,
    https//jxta-spec.dev.java.net/
  • JXTA Community Forum, http//forums.java.net/jive/
    forum.jspa?forumID50start0
  • JXTA JXSE Programmers Guide, https//jxta-guide.de
    v.java.net/
  • J2ME tutorials, http//developers.sun.com/mobility
    /learning/tutorial/
  • Sun Java Wireless Toolkit , http//java.sun.com/pr
    oducts/sjwtoolkit/download.html
  • NetBeans, http//www.netbeans.org/

36
References and Resources
  • Code in Netbeans Project
  • ?????share name ? XML-JXME
  • Maybe you need to correct the location of
    libraries
  • Public JXME proxy
  • http//rdv.jxtahosts.net/cgi-bin/relays.cgi?2
  • http//192.18.37.369700
  • http//192.18.37.379700
  • http//192.18.37.389700
  • http//192.18.37.399700
Write a Comment
User Comments (0)
About PowerShow.com