ysi architecture platform
TRANSCRIPT
YSI Platform Architecture
Ideas for Today & Tomorrow
YouSendIt Confidential – Do Not Distribute – 2 – 04/11/23
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 – 3 – 04/11/23
Current Architecture - Web
DesktopDesktop
YSIUSERYSICMS
BrowserBrowser
Sugar CRMPresentation Layer(PHP Templates)
PHP Drupal
FTF
YSI API(REST)
YouSendIt Confidential – Do Not Distribute – 4 – 04/11/23
Current Architecture - Desktop
Javascript Layer(common.js)
New Plugin(html, js)
Outlook Plugin
(html, js)
YSIExternal
API
MS Windows(C++/ WinInet)
OS X(Objective C)
Command Line Interface - WIN(ysiexpress.exe)
Command Line Interface - MAC
(ysiexpress)Outlook DLL
YouSendIt Confidential – Do Not Distribute – 5 – 04/11/23
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 – 6 – 04/11/23
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 – 7 – 04/11/23
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 – 8 – 04/11/23
Vision
Web
YouSendIt Confidential – Do Not Distribute – 9 – 04/11/23
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 – 10 – 04/11/23
Vision
Desktop
Platform Neutral Layer(JAVA/ Adobe AIR/ XUL)
New PluginOutlook Plugin
(html, js)
YSIExternal
API
Outlook DLL
ysiexpress
YouSendIt Confidential – Do Not Distribute – 11 – 04/11/23
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 – 12 – 04/11/23
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 – 13 – 04/11/23
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 – 14 – 04/11/23
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 – 15 – 04/11/23
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 – 16 – 04/11/23
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