(c) 2002 Internet Access Methods, Inc 1
Internet Access Methods Applicationsand the JXTA Protocol
Gerry Seidman
[email protected]://www.iamethods.comhttp://www.iam-there.com
212-580-2700
(c) 2002 Internet Access Methods, Inc 2
10 Most Influential Technologiesof the Past 4000 Years
u Wheelu Writingu Shipsu Citiesu Printing Press
u Incandescent Lightu Assembly Lineu Automobileu Airplaneu Telephone
All Centered around
Travel and Communication
(c) 2002 Internet Access Methods, Inc 3
Real-Time Interactive Collaborations
u Instant Messaging
u Shared User Interfaces / Applications– Internal to Business Operations– Business to Business– Business to Consumer
u Distance Learning / Presentations
(c) 2002 Internet Access Methods, Inc 4
What is Required?
u Collaborative Endpoint Applications
u Centralized Services
u Collaborative Components– Used to Facilitate Building Custom/Vertical
Applications
(c) 2002 Internet Access Methods, Inc 5
IAM Protocol Stack
Admin DomainsAuthentication/ACL
Security
P2P MVC
Collections Text/RTFViewers
P2PAWT/Swing
Peer Components
ESP Service
services
Application Frameworks
IAM=>Editing
Semantics
Protocol Semantics Layer
JXTA Core
Pipes, TLS, Discovery, Group
JXT
A Services
JXTA
Applications
ApplicationACL/Meter/Monitor
Applications
IAM=>Messenger IAM=>Editing: Java EditionIAM=>Presenting
(c) 2002 Internet Access Methods, Inc 6
Collaborative Endpoint Applicationsu IAM=>Messenger
– Instant Messaging– Interactive Collaborative RTF Editor
u IAM=>Editing:– Framework for Building Development Environments
» Programmer Integrated Development Environments» Vertical/Proprietary Application Development Environments
– IAM=>Editing: Java Editionu Java IDE
u IAM=>Presenting– Distance presentation framework
(c) 2002 Internet Access Methods, Inc 7
For Developers: IAM-Editing: Java Edition
Two or More Programmersremotely working together onthe same code at the same time
(c) 2002 Internet Access Methods, Inc 8
For End Users: IAM=>Messenger
Two or More People remotelyworking together on the same
text document at the same time
(c) 2002 Internet Access Methods, Inc 9
Centralized Servicesu IAM=>Administrative Domain Server
– Authentication and Authorization– Tuned for P2P applications
» Establishes authorized secure P2P pipes between peer applications» Direct P2P or via Rendezvous points
– Stand alone Security Domain or Bridge to Corporate Authorization/Authentication System– Cross Domain Trusted Services
u IAM=>ESP Server (Expert Service Provider)– Locate Experts Based on Topics or other Business Criteria– Functions as an Inverted Call-Center
» CRM Applications» Large-scale Distance Learning
– Billing and Tracking
u IAM=>Working– Project/Document Aware ‘Buddy’/Team Lists– Workflow/State Aware Collaborative Assistance
(c) 2002 Internet Access Methods, Inc 10
Expert Service Provider (ESP)
Topic A Topic B Topic C
Peer
Application/Context/topic/
Peer
Application/Context/topic/`
(c) 2002 Internet Access Methods, Inc 11
IAM-ESP Server
Mike Logged in
Viewing Stock Portfolio
ESP ServerHas info about Mike’s account
Has information about Joe’s skills andresponsibilities
Joe Logged in asPortfolio Manager
Billing / Tracking
1. Request for Help2. Finds Expert who can help and sendsrelevant back-office information
3. Connected
(c) 2002 Internet Access Methods, Inc 12
P2P Componentsu IAM=>Swinging
– Multi-User/Multi-Master GUI– Symmetric or Asymmetric
» Either Peer can be a Desktop or Deviceu PDA, cell phone etc.
u IAM=>Viewers– Collaborative Document Editing
» ASCII, RTF, XML» Graphic Model Rendering
– Distributed Model-View-Control
u IAM=>Collections– Distributed Synchronized Data Models
» Distributed Mutex and Read/Write Locks» Distributed/Synchronized Linked Lists, Hash Tables, Trees, etc.
(c) 2002 Internet Access Methods, Inc 14
Programmatic OriginatorComponent ui = .… // Any SWING or AWT Component
PortalManager pm = new PortalManager("iamx.com", user, passwd);pm.workWith(”Bob", ui);
pm.workWith(”Bob", ui, mode); // R/W, R/O, Phantompm.workWithGroup(”Q4Budget", ui);pm.workWithExpert(”MunicipalBonds/Michigan", ui, info);
// ie, account info
pm.makeAvailable(”TradingManagers", ui);
pm.record("recorder://equity/bob/Tuesday", ui);
(c) 2002 Internet Access Methods, Inc 15
Programmatic Peervoid someInitializingMethod( ) {
PortalManager pm = new PortalManager("iamx.com", user, passwd);pm.addPortalListener(this);
}
public void collaborationRequest(PortalEvent evt) {Component ui = evt.getComponent( ); PeerIdentity identity = evt.getPeerIdentity( );Properties info = evt.getInfo( );String account = info.getProperty(“account”);
// get back office info // build GUI with collaborative peer component // and back office info
}
(c) 2002 Internet Access Methods, Inc 16
IAM=>Components
u Collaborative Synchronized Collections– Single Master– Write Lock– Read/Write Lock
u Collaborative Viewers– Extendable architecture– Includes Collaborative Character Data Viewers
» Syntax Colorized Ascii» Rich Text Format (RTF)» XML
(c) 2002 Internet Access Methods, Inc 17
IAM Protocol Stack
Admin DomainsAuthentication/ACL
Security
P2P MVC
Collections Text/RTFViewers
P2PAWT/Swing
Peer Components
ESP Service
services
Application Frameworks
IAM=>Editing
Semantics
Protocol Semantics Layer
JXTA Core
Pipes, TLS, Discovery, Group
JXT
A Services
JXTA
Applications
ApplicationACL/Meter/Monitor
Applications
IAM=>Messenger IAM=>Editing: Java EditionIAM=>Presenting
(c) 2002 Internet Access Methods, Inc 18
That’s All Folks
Internet Access [email protected]
http://www.iamethods.comhttp://www.iam-there.com
212-580-2700