ysi architecture platform

16
YSI Platform Architecture Ideas for Today & Tomorrow

Upload: abhishek-agarwal

Post on 07-Apr-2015

78 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: YSI Architecture Platform

YSI Platform Architecture

Ideas for Today & Tomorrow

Page 2: YSI Architecture Platform

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

Page 3: YSI Architecture Platform

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)

Page 4: YSI Architecture Platform

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

Page 5: YSI Architecture Platform

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

Page 6: YSI Architecture 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

Page 7: YSI Architecture Platform

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

Page 8: YSI Architecture Platform

YouSendIt Confidential – Do Not Distribute – 8 – 04/11/23

Vision

Web

Page 9: YSI Architecture Platform

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

Page 10: YSI Architecture Platform

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

Page 11: YSI Architecture Platform

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

Page 12: YSI Architecture Platform

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

Page 13: YSI Architecture Platform

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

Page 14: YSI Architecture Platform

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

Page 15: YSI Architecture Platform

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

Page 16: YSI Architecture Platform

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