Confidential & Proprietary Information of Digital Focus J2ME and the IVY Platform.

Slides:



Advertisements
Similar presentations
MIDP Mobile Information Device Profile Johnny Yau CIS 642 Prof. Insup Lee.
Advertisements

Pengantar Teknologi Mobile 12
Introduction of J2ME Mobile solutions. Overview What is J2ME. How does J2ME work? Java J2ME Carriers and Products. The Two Configuration of J2ME. Profiles.
J2ME 25 July Overview  What is J2ME?  The CLDC and CDC configurations  MIDP and MIDlets  Development Tools  Demonstrations.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
The road to reliable, autonomous distributed systems
Bluetooth and java – a perfect match? Sean O Sullivan ceo Nordic Bluetooth, October 5th, 2001.
Extensible Networking Platform IWAN 2005 Extensible Network Configuration and Communication Framework Todd Sproull and John Lockwood
Service Oriented Architectures in Heterogeneous Environments
Programming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 10 Java for MIDs Rob Pooley
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
J2ME Web Services Specification.  With the promise to ease interoperability and allow for large scale software collaboration over the Internet by offering.
JAVA Technology. Java Technology Java technology is a portfolio of products that are based on the power of networks and the idea that the same software.
JXTA P2P Platform Denny Chen Dai CMPT 771, Spring 08.
JXTA Selo TE Introduction What is JXTA ( pronounced Juxta ) What is JXTA ( pronounced Juxta ) Jxta – an open, network computing platform designed.
J2ME Prepared by: - Gaery- Ronny - Alan- Andy. Why Technology for Mobile Devices? The nature of wireless devices is changing Old devices: All the software.
PROGRESS project: Internet-enabled monitoring and control of embedded systems (EES.5413)  Introduction Networked devices make their capabilities known.
PDA Programming Using J2ME Presenter :涂俊凱 Date : 2003/4/8.
Developing J2ME Applications Mobile and Wireless Networks.
Cosc 4730 Phone Programming in Java An Introduction.
Java 2 Platform, Micro Edition (J2ME) By Xiaorong Wang.
JXTA Lecture 1.JXTA Overview a) Background to Project JXTA b) Design Constraints c) Terminology d) Overview and Architecture e) Introducing the Concepts.
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa
Vision/Benefits/Introduction Randy Armstrong (OPC Foundation)
Cli/Serv.: JXTA/151 Client/Server Distributed Systems v Objective –explain JXTA, a support environment for P2P services and applications ,
Getting Started with JXTA for J2ME Advisor : Dr. Ching-Long Yeh Report : DI.2, 洪泰昌 ( ) Course: XML 文件管理.
Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,
Sun’s Project JXTA Technical Overview Presented by Sergei Kovalenko Red Team: Janhavi James A. Davis Fernando D. Diaz.
Layered Protocol. 2 Types of Networks by Logical Connectivity Peer to Peer and Client-Server Peer-to-peer Networks  Every computer can communicate directly.
1 G52IWS: Distributed Computing Chris Greenhalgh.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
Enabling Embedded Systems to access Internet Resources.
Small Devices on DBGlobe System George Samaras Chara Skouteli.
Framework and application bytecode size CLDC MIDP kXML parser Utility classes Graphics Logic (MIDlet) Application Data (XML file)
Computer Science Wi-Fi App using J2ME and MVC Architecture Advisor : Dr. Chung-E Wang Department of Computer Science Sacramento State University Date:
1 A P2P Collaborative System Using JXTA Hosei Graduation School ITPC 02R3315 Katsuhiro CHIBA.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
J2ME Presented by May Sayed & Menna Hawash. Outline Introduction “Java Technology” Introduction “What is J2ME?” J2ME Architecture J2ME Core Concepts 
Java 2 Micro Edition (J2ME) and the world of java
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
1Basics of J2ME. 2 Objectives –Understand the different java API’s and how the mobile edition API’s fit in –Understand what a mobile configuration and.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Introduction of PRO WG activities Group Name: TP Source: Shingo Fujimoto, FUJITSU, Meeting Date: Agenda Item:
3-1 JXTA Platforms. 3-1 Learning Objectives ● Learn about the different platform implementations of the JXTA protocols – Features provided by each implementation.
Webservice versioning using osgi Allard Buijze, Jettro Coenradie.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
14-1 JXTA for J2ME Learning Objectives ● This module will help you... – Learn about the architecture of JXTA for J2ME – Learn the JXTA for J2ME.
A Frame Work For Developing Wireless Mobile Online Applications.
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
Jabber Technical Overview Presenter: Ming-Wei Lin.
18-1 Summary (Day 2) Learning Summary – What is JXTA ? – Understand the fundamental concepts of JXTA – Learn about the various implementations of.
Web Services Using Visual.NET By Kevin Tse. Agenda What are Web Services and Why are they Useful ? SOAP vs CORBA Goals of the Web Service Project Proposed.
REST By: Vishwanath Vineet.
Peer Simple P2P implementation based on JXTA. JXTA history Started by SUN Microsystems in 1999 Released Open Source in 2001.
Project JXTA Kaarthik Sivashanmugam. JXTA..? JXTA is a set of open, generalized peer-to-peer (P2P) protocols that allow any connected device on the network.
Enhanced mobile services in Java enabled phones Björn Hjelt Sonera zed ltd Supervisor: Professor Jorma Jormakka.
ZIMBRA ROADMAP. Contains proprietary and confidential information owned by Synacor, Inc. © / 2015 Synacor, Inc. Deliver an advanced, feature rich collaboration.
Network Programming. These days almost all devices.
Advance Computer Programming Market for Java ME The Java ME Platform – Java 2 Micro Edition (J2ME) combines a resource- constrained JVM and a set of Java.
The Java Platform Micro Edition Java ME
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
Project JXTA By Jude Mercado.
Programming of Handheld and Mobile Devices
Ieva Juodelytė IT 3 kursas 4 grupė
CHAPTER 3 Architectures for Distributed Systems
Wireless Instant Messaging Using J2ME
Demo for Partners and Customers
Presentation transcript:

Confidential & Proprietary Information of Digital Focus J2ME and the IVY Platform

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

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 Java for small, mobile and embedded devices Configurations (horizontal) Configurations (horizontal) CLDC, CDC Profiles (vertical) Profiles (vertical) MIDP, Foundation, Palm

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

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

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

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

Confidential & Proprietary Information of Digital Focus Devices RIM 5180 Nextel I85s Nokia 9120 KyoceraSprint

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 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

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

Confidential & Proprietary Information of Digital Focus What & Why not JXTA? What is JXTA 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?

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

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

Confidential & Proprietary Information of Digital Focus Service-oriented Architecture

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

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 Sunrise Valley Drive Suite 220 Herndon, VA Tom Whitcomb Chief Technology Officer or Dave Hoffman Vice President