You are on page 1of 16

YSI Platform Architecture

Ideas for Today & Tomorrow


Our Mission
 Build a scalable, reliable, secure and
cost effective YSI technology platform,
that enables rapid application
development and deployment

YouSendIt Confidential – Do Not Distribute – 2 – 12/07/21


Current
Architecture - Web

Desktop
Desktop
Browser
Browser

PHP Drupal

YSI API Presentation Layer


Sugar CRM
(REST) (PHP Templates)

YSICMS YSIUSER FTF

YouSendIt Confidential – Do Not Distribute – 3 – 12/07/21


Current
Architecture - Desktop
Outlook
New Plugin
Plugin
(html, js)
(html, js)

Command Line Command Line


Interface - WIN Interface - MAC Outlook DLL
(ysiexpress.exe) (ysiexpress)
Javascript Layer
(common.js)
MS Windows
OS X
(C++/ WinInet)
(Objective C)

YSI
External
API

YouSendIt Confidential – Do Not Distribute – 4 – 12/07/21


Challenges
 LAMP Stack: Simple & Effective, however…
 Does not lend itself to be a platform
 Some inefficiencies in the web application infrastructure:
 No code modularity
 No result set caching
 No reliable messaging
 No code generation
 No unit level quality
 Desktop Development
 Platform specific Runtime (Mac/ PC/…)
 Results in
 Slower Dev velocity
 Harder to scale
 Harder to integrate with Partners
 It is harder to build a platform

YouSendIt Confidential – Do Not Distribute – 5 – 12/07/21


Goals for new Platform
 High Performance with Reliability, Scalability, and Security
 Cost efficient distributed storage network (YSN)
 Build YSI Platform (for developers & partners)
 Branding
 Partnership (own branding)
 Customizable (our UI)
 Build an OS neutral Desktop Platform
 Integration Capabilities
 Manageable (customer, self)
 Internationalization
 Development & QA
 Language Neutrality
 High Velocity
 Deployment Ease
 External Developer Program
 Integrated Test Automation
 Keep up with rapidly changing Technology

YouSendIt Confidential – Do Not Distribute – 6 – 12/07/21


Proposed
Platform Architecture - Web
 Continue to use PHP for Presentation &
Enable Rich Clients (Flash)
 Move Business Logic to a new Service layer
(technology change likely)
 Cluster based efficient Storage and File
Processing Network
 Standardize Development methodology
 Improve Development velocity by Code
generation

YouSendIt Confidential – Do Not Distribute – 7 – 12/07/21


Vision
 Web

YouSendIt Confidential – Do Not Distribute – 8 – 12/07/21


Proposed
Platform Architecture - Desktop
 SDK built using platform neutral
technology
 Adobe AIR/ JAVA SWT/ Mozilla XUL
 Expose programmatic interface
 AIR/ JAVA/ XUL

YouSendIt Confidential – Do Not Distribute – 9 – 12/07/21


Vision
Outlook
Desktop
New Plugin
 ysiexpress Plugin
(html, js)

Outlook DLL

Platform Neutral Layer


(JAVA/ Adobe AIR/ XUL)

YSI
External
API

YouSendIt Confidential – Do Not Distribute – 10 – 12/07/21


Scalability
 Web Scalability
 Clustering business logic transactions
 Messaging/ Eventing for throttling
 Caching with RW/ RO database instances
 Storage & Processing Scalability
 Storage/ Compute clusters
 Plug ‘n’ Play FTFs
 Easy & Centralized Administration

YouSendIt Confidential – Do Not Distribute – 11 – 12/07/21


Distributed storage network
YSN
 Reliable communication
 Load
 Monitoring with Notification
 Algorithms tuned for throttling to maintain optimum capacity
 Failover
 Enable adjacent services to be built around YSN
 Divided into clusters based upon operations
(example: Storage/ Compute)
 Subnets (dedicated clusters) for service tier support
 Console for managing the network

YouSendIt Confidential – Do Not Distribute – 12 – 12/07/21


YSI Platform
 Send Receive Track
 Billing
 Folder/ File Management
 API Infrastructure
 Application Infrastructure
 Service Framework
 Caching, Messaging, Multi Currency
 Cluster based storage & processing network
 UI Framework
 Flash, Component Based, Custom Branding, Multi Language &
Locale
 Desktop Framework
 Application Monitoring
 Alerts for errors

YouSendIt Confidential – Do Not Distribute – 13 – 12/07/21


Development & QA
 Generation of:
 Data Access Layer (DAL)
 Web Service Layer
 Proxy Layer
 Unit Test
 External API
 Integration Testing
 Black Box: UI Automation
 White Box: Choreograph Unit tests

YouSendIt Confidential – Do Not Distribute – 14 – 12/07/21


Keeping up with
Technology Trends
 Leverage SOA
 Platform and language neutral by definition
 Business logic module swap
 Own OR
 Subscribed from a vendor/ partner
 Multiple Front Ends (using External API)
 Flex
 AJAX
 Desktop

YouSendIt Confidential – Do Not Distribute – 15 – 12/07/21


Timeline
 Q1 – 2008 (PLATFORM DEFINED)
 YSN - Monitoring, Virus Scanning
 Infrastructure – Messaging, Logging
 Architecture Definition (with Framework Selection)
 facebook – YSI App
 Q2 – 2008 (PLATFORM BUILT)
 YSN - Delete, Replication, Download, Upload (Reliability & Centralized Business Logic)
 Client Proxy – Code Generation (PHP, JAVA)
 Data Access Layer – Code Generation
 File/ Folder Management
 Billing
 Q3 – 2008 (ALL NEW APPS ON NEW PLATFORM)
 Infrastructure - Caching
 Rollout of Service framework for Application Development
 Rollout of Presentation Layer Framework for Application Development
 YSN – Clustering, Routing
 Web Services – Clustering, Routing
 Q4 – 2008 (CUTOVER TO PLATFORM)
 Migration of Current Webapp
 External API generation
 YSN – Centralized Management
 Presentation Layer – Widget Based Development, Session, Caching
 Q1 – 2009 (EXTEND PLATFORM)
 Customer Service Framework
 Business Layer Unit Test – Code Generation
 Desktop – OS Neutral SDK

YouSendIt Confidential – Do Not Distribute – 16 – 12/07/21

You might also like