Download presentation
Presentation is loading. Please wait.
Published bySharleen Pierce Modified over 9 years ago
1
Confidential & Proprietary Information of Digital Focus J2ME and the IVY Platform
2
Confidential & Proprietary Information of Digital Focus Agenda Digital Focus J2ME Quick overview Quick overview What’s in & what’s out What’s in & what’s out Networking capabilities Networking capabilities IVY & JXTA Why and what Why and what IVY Architecture and Design IVY Architecture and Design JXTA protocols and components JXTA protocols and components
3
Confidential & Proprietary Information of Digital Focus Digital Focus Founded in 1995 Headquartered in Herndon, Virginia Long history of excellence with Java technology…
4
Confidential & Proprietary Information of Digital Focus Our Clients
5
Confidential & Proprietary Information of Digital Focus J2ME J2ME – Java 2 MicroEdition Java for small, mobile and embedded devices Java for small, mobile and embedded devices Configurations (horizontal) Configurations (horizontal) CLDC, CDC Profiles (vertical) Profiles (vertical) MIDP, Foundation, Palm
6
Confidential & Proprietary Information of Digital Focus J2ME Architecture CLDC Configuration KVM, networking KVM, networking Lowest common denominator for portability Lowest common denominator for portability No optional elements No optional elements MID profile GUI GUI RMS RMS Timers Timers Lifecycle Lifecycle
7
Confidential & Proprietary Information of Digital Focus What’s missing Reduced number support float, double primitives float, double primitives Double, Float classes Double, Float classes Extendable UI components Final High-level components Final High-level components New components subclass Canvas New components subclass CanvasLacks: JNI JNI Sound API Sound API Serialization Serialization Reflection Reflection User defined class loaders User defined class loaders
8
Confidential & Proprietary Information of Digital Focus Networking Only HTTP is required with CLDC Not great for mobile wireless solutions Not great for mobile wireless solutions Stateful – tough with mobile IP Stateful – tough with mobile IP Stream oriented Stream oriented Generic Connection Framework Opens protocol support (sockets, serial, datagram,…) Opens protocol support (sockets, serial, datagram,…) Runtime binding to protocol Runtime binding to protocol J2ME generally designed as a “client” However: Can be a Datagram server Can be a Datagram server Interfaces exist for socket serving Interfaces exist for socket serving
9
Confidential & Proprietary Information of Digital Focus “Designing for small places” Device resources limit OO design Use objects judiciously – consider patterns like Flyweight Use objects judiciously – consider patterns like Flyweight Use lazy instantiation where feasible Use lazy instantiation where feasible Design tradeoffs: Classes, methods (encapsulation vs space) Classes, methods (encapsulation vs space) Inheritance (saves space, increases cpu) Inheritance (saves space, increases cpu) Names (maintainability vs space) Names (maintainability vs space) Use an obfuscatorOptimizations Reuse objects; avoid needless re-instantiation Reuse objects; avoid needless re-instantiation StringBuffer vs String StringBuffer vs String Use String wrappers when hashing Use String wrappers when hashing
10
Confidential & Proprietary Information of Digital Focus Devices RIM 5180 Nextel I85s Nokia 9120 KyoceraSprint
11
Confidential & Proprietary Information of Digital Focus
12
What is it? Lightweight wireless platform for Mobile to Mobile (M2M) collaboration Every Peer is a client, server and router Every Peer is a client, server and router Enables rapid development Easy, low cost entry Easy, low cost entry Provides API for locating, communicating with and sharing services between groups/peers Provides API for locating, communicating with and sharing services between groups/peers Supports Web-enabled start-up and authentication Supports Web-enabled start-up and authentication Open standards-based Web Services, JXTA Web Services, JXTA XML XML Built for wireless Java J2ME (MIDP/CLDC) J2ME (MIDP/CLDC) Personal Java Personal Java CVM & Foundation Profile CVM & Foundation Profile
13
Confidential & Proprietary Information of Digital Focus Why IVY Growing demand for P2P applications Groove Networks Groove Networks Games, Instant messaging Games, Instant messaging Napster, GNUtella Napster, GNUtella Mesh Networks Mesh Networks Technology is available Programmable, wireless devices Programmable, wireless devices Nextel’s I85 RIM’s 5820 J2ME/GPRS support Nokia 9210 (personal java and MIDP) RIM 8150 Over the air provisioning Over the air provisioning Investment in 2.5G infrastructure Investment in 2.5G infrastructure Network providers want to increase data usage
14
Confidential & Proprietary Information of Digital Focus What & Why not JXTA? What is JXTA www.jxta.org www.jxta.org www.jxta.org Mainly 6 protocols Mainly 6 protocols Is IVY compliant with JXTA? No, but almost Uses JXTA protocols Uses JXTA protocols JXTA requires TCP/IP and/or HTTP; JXTA requires TCP/IP and/or HTTP; Datagram/UDP not supported Datagram/UDP not supported Why use Datagrams Optimal for wireless networks. Optimal for wireless networks. Network providers use datagrams under WAP, HTTP and sockets. Network providers use datagrams under WAP, HTTP and sockets. Why not use JXME (JXTA’s J2ME project) Very early stages Very early stages Uses TCP/Http and centralized “super server” Uses TCP/Http and centralized “super server” Polling architecture. Not really P2P? Polling architecture. Not really P2P?
15
Confidential & Proprietary Information of Digital Focus JXTA High-level abstraction Hides complexity of physical network Hides complexity of physical network Single uniform addressability for all peers Single uniform addressability for all peers Simple model for discovery, addressing and service sharing Simple model for discovery, addressing and service sharing Based on JXTA – 6 protocols Peer Discovery Peer Discovery Peer Resolver Peer Resolver Peer Information Peer Information Peer Membership Peer Membership Pipe Binding Pipe Binding Endpoint routing Endpoint routing XML messages Text Text Binary Binary 1 Request & 1 Response Stateless Stateless Peer Advertisement EndpointPipe Peer Group Service
16
Confidential & Proprietary Information of Digital Focus Conceptual Architecture APIs Peer, groups Peer, groups Services, Ads Services, Ads Pipes Pipes Protocols & Formats JXTA XML & binary JXTA XML & binary SOAP/WSDL SOAP/WSDLMessages Full duplex Full duplex Datagrams Datagrams HTTP,HTTPS HTTP,HTTPS Cross Platform J2ME J2ME J2SE J2SE
17
Confidential & Proprietary Information of Digital Focus Service-oriented Architecture
18
Confidential & Proprietary Information of Digital Focus Key Design Drivers Network connectivity Asynchronous API with listeners Asynchronous API with listeners Datagrams with reliable upper level Datagrams with reliable upper level Minimize server dependency Peer Group advertisements Peer Group advertisements Get credentials Get credentials Small footprint Implement “needed” protocols Implement “needed” protocols 30K un-obfuscated 30K un-obfuscated JXTA compliant
19
Confidential & Proprietary Information of Digital Focus Java Packages Ivy.api – Just interfaces and factories for services and abstracts (pipes, messages, peers, endpoints) Ivy.impl – Implementations for the ivy.api package Ivy.util – constants and static methods Ivy.net – Differs whether J2ME or J2SE Ivy.exception
20
Confidential & Proprietary Information of Digital Focus Contact Information Digital Focus, Inc. 13825 Sunrise Valley Drive Suite 220 Herndon, VA 20171 www.digitalfocus.com Tom Whitcomb Chief Technology Officer tom.whitcomb@digitalfocus.com 703.561.5884 or Dave Hoffman Vice President dave.hoffman@digitalfocus.com 703.561.5963 tom.whitcomb@digitalfocus.com dave.hoffman@digitalfocus.com tom.whitcomb@digitalfocus.com dave.hoffman@digitalfocus.com
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.