250 likes | 312 Views
Network Applications: What? Why? How?. Presented by Michael Tanne CEO, XDegrees, Inc. mtanne@xdegrees.com O'Reilly Peer-to-Peer Conference 2/15/2001. www.xdegrees.com. What is a Network Application?. What?. Internet is evolving.
E N D
Network Applications:What? Why? How? Presented by Michael TanneCEO, XDegrees, Inc.mtanne@xdegrees.com O'Reilly Peer-to-Peer Conference2/15/2001 www.xdegrees.com
What? Internet is evolving The Internet is evolving into a network that is always on, multi-directional, and executable PCs PCs Servers
Peer-to-peer applications and web applications are currently isolated from each other Client/Server Peer to Peer Server to Server Client/Server Peer to Peer What? P2P and Client/Server will Co-exist Network Applications will utilize Client-server and peer-to-peer interaction as needed “P2P technology has potential to reshape corporate computing architecture but it will start with augmenting existing infrastructures.”
What? Use clients AND servers Some tasks make more sense on a client; some make more sense on a server Server: Search, databases, financial transactions Client: file transfer, publishing/sharing, storage
What? New class of applications Putting this together, Network Applications are a new class of applications that execute on and leverage the resources of all parts of the network… Services Clients Servers Users Files Devices Machines
Why? Benefits to making your application a Network Application
Why? Decreased friction • Make publishing easier • Avoid uploading, layout, provisioning, maintenance • Increase application usage • Users share more resources if they dont have to upload them to a remote server • Ad-hoc collaboration with minimal IT support, but still IT oversight • Result: greater productivity – better information X-Outlook Share documents peer-to-peer from within an application people already use. No need to email documents back and forth. Photo Sharing Share photos directly between user machines. No need to take the time to upload photos to share them.
Why? Control of own resources (yet central administration) • User creates, manages and shares data in natural environment (his PC) • Give administrators a "server-like" view on distributed resources • Result: blend best of centralized and decentralized control X-Outlook The user interacts with files on the server as if they were on his own desktop or laptop PC. When he takes his laptop on a trip, all of his contacts and appointments are on his laptop. Applications On a PC
Why? Aggregate and buffer unreliable resources Enterprise Storage • Treat servers and PCs as one reliable resource • Access information whether source is available or not • Result: reliable network out of unreliable components Store enterprise data redundantly on end-user machines. Leverage network resources more effectively. =
Why? Improve cost-structure and scalability • Store applications and data on end-user machines • Queue resources on servers as needed to maintain user experience • Result: reduced server costs Photo Sharing Photo sharing services reduce storage costs and maintain quality of service. $$$ $
Why? Improved performance, less bandwidth • Distributed systems handle traffic peaks more effectively • Download from server, propagate via clients • Result: improved peak performance Anti-Virus Distribute enterprise virus definition files (.DAT files) peer-to-peer. Improve speed of virus update propagation when new viruses attack.
Disconnected Why? Use web applications everywhere • Web applications are currently only useful when users are online • Network Application seamlessly… • Stores data and executes application locally when offline • Leverages central database and new services when online Sales Force Automation ASP Allow sales force to access SFA application locally if not connected to the corporate network. Connected
How? Seven things you need to make your application a Network Application
How? IP is like Parking South of Market • A recent SOMA Parking Study(SPUR, Jul 19, 2000) Shows: • Parking Spaces: 23,830 Parking Demand: 27,250 • Shortfall: 3420 • Servers are the tenants with fixed IP addresses • Clients are visitors, who drive around until someone pulls out • Tens of millions of new devices need IP addresses
How? Resource addressability 1 • Need to be able to easily address resources • files, applications, people, machines and devices • Consistent namespace mechanism across applications • Logical abstraction between names and physical location • Handle intermittent nature of clients • Like DNS, but handle dynamic IP and other resources • Allow for selection of "best" source of a resource 201.235.15.12 206.55.128.15 net.acme.com/sales/pricelist.pdf X 155.12.37.135 55.12.37.135
5 2 Clinton, Greenspan 4 1 3 6 GWB Clinton Greenspan How? Resource availability 2 Directory Service Reliable network Unreliable resources
How? Security 3 • Distributed systems are more complicated to secure • No central point of control • User authentication • Ensure that users are whom they claim to be • Permissions • Control access to resources • Encryption • Prevent unauthorized access to resources • DES 128 or AES • Content validation • Digital Signature - MD5 or SHA-1 • Ensure resources cannot be manipulated and presented as original
How? Web Compatibility 4 • Need to be sure Network Application supports web-centric world • Resources should be accessible using a browser • Namespace should be compatible with DNS • Web-based applications (CGI, ASP, Java, Javascript) should be accessed easily
How? Reliability 5 • Integrating with mission critical applications • As important as system features • Reliability – minimal downtime for application • Scalability – cost and effort to accommodate usage growth • Performance – experience and latency for end-users • Look for solution that can grow with application
How? Application Design 6 • Determine optimal application architecture • What goes on the server? • Database, directory, high bandwidth, cache, etc. • What goes on the clients/peers? • User data, distributed traffic, remote/untethered operation • Partition code to run at respective places • Create client-side code to manage peer functions Directory Server Application ServerDBMS Client Application Cache
How? Easy integration 7 • Decide on user interface • Web browser, standalone application or integrated into existing application • Minimal change required by end-user • Don’t make user learn a new application • Seek simple integration with existing application • Support for standard protocols and development models • SOAP/XML, Java, http, URLs • Consider Microsoft .NET and Sun ONE, UDDI, other Web services approaches
How? Natural Layers • Not everyone builds the entire "stack" • Make vs. buy decision for each layer Network Applications Stack Web Applications Stack Portals ASP WorkgroupCRM, etc. Photo Sharing Applications Search, CND, Caching, ad serving Search, DRM, Billing, Payments Services Web Server, Application Server Addressability, Caching, Security Infrastructure O/S System O/S
What? Why? How? Network Applications • What? • New class of applications • Leverage all of the resources of the network • Improve applications and their delivery • Why? • Better leverage of existing resources • Improved experience for user • More efficient cost structure • How? • Examine 7 key issues • Make versus buy decisions