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
J2ME and the IVY Platform Confidential & Proprietary Information of Digital Focus Agenda Digital Focus J2ME • • • Quick overview What’s in & what’s out Networking capabilities IVY & JXTA • • • Why and what IVY Architecture and Design JXTA protocols and components Confidential & Proprietary Information of Digital Focus Digital Focus Founded in 1995 Headquartered in Herndon, Virginia Long history of excellence with Java technology… Confidential & Proprietary Information of Digital Focus Our Clients Confidential & Proprietary Information of Digital Focus J2ME J2ME – Java 2 MicroEdition • • Java for small, mobile and embedded devices Configurations (horizontal) • • CLDC, CDC Profiles (vertical) • MIDP, Foundation, Palm Confidential & Proprietary Information of Digital Focus J2ME Architecture CLDC Configuration • • • KVM, networking Lowest common denominator for portability No optional elements MID profile • • • • GUI RMS Timers Lifecycle Confidential & Proprietary Information of Digital Focus What’s missing Reduced number support • • float, double primitives Double, Float classes Extendable UI components • • Final High-level components New components subclass Canvas Lacks: • • • • • JNI Sound API Serialization Reflection User defined class loaders Confidential & Proprietary Information of Digital Focus Networking Only HTTP is required with CLDC • • • Not great for mobile wireless solutions Stateful – tough with mobile IP Stream oriented Generic Connection Framework • • Opens protocol support (sockets, serial, datagram,…) Runtime binding to protocol J2ME generally designed as a “client” However: • • Can be a Datagram server Interfaces exist for socket serving Confidential & Proprietary Information of Digital Focus “Designing for small places” Device resources limit OO design • • Use objects judiciously – consider patterns like Flyweight Use lazy instantiation where feasible Design tradeoffs: • • • Classes, methods (encapsulation vs space) Inheritance (saves space, increases cpu) Names (maintainability vs space) • Use an obfuscator Optimizations • • • Reuse objects; avoid needless re-instantiation StringBuffer vs String Use String wrappers when hashing Confidential & Proprietary Information of Digital Focus Devices RIM 5180 Nokia 9120 Nextel I85s Kyocera Confidential & Proprietary Information of Digital Focus Sprint Confidential & Proprietary Information of Digital Focus What is it? Lightweight wireless platform for Mobile to Mobile (M2M) collaboration • Every Peer is a client, server and router Enables rapid development • • • Easy, low cost entry Provides API for locating, communicating with and sharing services between groups/peers Supports Web-enabled start-up and authentication Open standards-based • • Web Services, JXTA XML Built for wireless Java • • • J2ME (MIDP/CLDC) Personal Java CVM & Foundation Profile Confidential & Proprietary Information of Digital Focus Why IVY Growing demand for P2P applications • Groove Networks • Games, Instant messaging • Napster, GNUtella • Mesh Networks Technology is available • Programmable, wireless devices • • • • • • Nextel’s I85 RIM’s 5820 J2ME/GPRS support Nokia 9210 (personal java and MIDP) RIM 8150 Over the air provisioning Investment in 2.5G infrastructure Network providers want to increase data usage Confidential & Proprietary Information of Digital Focus What & Why not JXTA? What is JXTA • • www.jxta.org Mainly 6 protocols Is IVY compliant with JXTA? No, but almost • • • Uses JXTA protocols JXTA requires TCP/IP and/or HTTP; Datagram/UDP not supported Why use Datagrams • • Optimal for wireless networks. Network providers use datagrams under WAP, HTTP and sockets. Why not use JXME (JXTA’s J2ME project) • • • Very early stages Uses TCP/Http and centralized “super server” Polling architecture. Not really P2P? Confidential & Proprietary Information of Digital Focus JXTA High-level abstraction • • • Hides complexity of physical network Single uniform addressability for all peers Simple model for discovery, addressing and service sharing Based on JXTA – 6 protocols • • • • • • Peer Discovery Peer Resolver Peer Information Peer Membership Pipe Binding Endpoint routing XML messages • • Text Binary 1 Request & 1 Response • Stateless Confidential & Proprietary Information of Digital Focus Group Peer Peer Peer Endpoint Service Advertisement Pipe Conceptual Architecture APIs Peer , groups Services, Ads Pipes User Interface Protocols & Formats Peers and Groups • • • • • JXTA XML & binary SOAP/WSDL Messages • • • Full duplex Datagrams HTTP,HTTPS Cross Platform • • J2ME J2SE Confidential & Proprietary Information of Digital Focus Web Svcs Services (soap,wsdl) Ads Pipes Protocols and Formats Messages Service-oriented Architecture Confidential & Proprietary Information of Digital Focus Key Design Drivers Network connectivity • • Asynchronous API with listeners Datagrams with reliable upper level Minimize server dependency • • Peer Group advertisements Get credentials Small footprint • • Implement “needed” protocols 30K un-obfuscated JXTA compliant 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 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 [email protected] 703.561.5884 or Dave Hoffman Vice President [email protected] 703.561.5963 Confidential & Proprietary Information of Digital Focus