RSMS Final Presentation COMP 415 December 5, 2005

Embed Size (px)

Citation preview

  • Slide 1
  • RSMS Final Presentation COMP 415 December 5, 2005
  • Slide 2
  • Remember! Please put in your name for the raffle for a free copy of Visual Studio 2005 Professional and SQL Server 2005 Standard
  • Slide 3
  • Real World Software Engineering Fictitious Software CompanyFictitious Software Company Six students One semester development cycle Real Customer: HBK InvestmentsReal Customer: HBK Investments Student lead customer interaction Conference XP MeetingsConference XP Meetings Customer Resources Sharepoint Site and E-mailCustomer Resources Sharepoint Site and E-mail Trip to DallasTrip to Dallas
  • Slide 4
  • What does HBK want?
  • Slide 5
  • Stock Market Simulator Plug-in HBK stock market participants Push market information to the clients Interact with historical market data Implement some broker behaviors A Robust, Scalable, Extensible
  • Slide 6
  • Stock Market Overview NYSE, NASDAQ, NIKKEINYSE, NASDAQ, NIKKEI Auction-StyleAuction-Style Post Bids Post Offers Transact if they match Time criticalTime critical Huge data throughputHuge data throughput Market strategy critical to successMarket strategy critical to success
  • Slide 7
  • Development Life Cycle Developer Customer
  • Slide 8
  • Customer Driven Development Initial specificationInitial specification Proof of concept codeProof of concept code Small development cyclesSmall development cycles
  • Slide 9
  • Customer Driven Development Development Customer Feedback Release
  • Slide 10
  • Development Environment Venture into new technologies and architecturesVenture into new technologies and architectures .NET Framework 2.0 Development (August CTP => RTM) Visual Studio 2005 Team Suite Edition Visual Studio 2005 Team Foundation Server SQL Studio 2005 Enterprise Edition/Developer Edition Microsoft SharePoint Technologies
  • Slide 11
  • Development Environment Unit Testing Capabilities built into the Development EnvironmentUnit Testing Capabilities built into the Development Environment Performance ProfilingPerformance Profiling Refactoring CapabilitiesRefactoring Capabilities Team Collaboration through SharePoint, Team Foundation ServerTeam Collaboration through SharePoint, Team Foundation Server
  • Slide 12
  • Team Foundation Server Team Foundation Server Team Foundation Server Client Visual Studio 2005 Version Control Work Items Team Build SharePoint Team Site
  • Slide 13
  • RSMS Architecture Market EngineMarket Engine Broker LayerBroker Layer Market Statistics AggregationMarket Statistics Aggregation Market QuoteServer Client Pushes (vs. Polling) Market DataPushes (vs. Polling) Market Data Best Bids and OffersBest Bids and Offers ExtensibleExtensible HumanHuman Historical DataHistorical Data Unmanaged C++ ClientUnmanaged C++ Client
  • Slide 14
  • Quote Server Market Web Service Overall Architecture CLIEN T SERV ER Market Data-Store Human Participant ITCH Participant C++ Participant
  • Slide 15
  • Quote Server Market Web Service Market CLIEN T SERV ER Market Data-Store Human Participant ITCH Participant C++ Participant Data-Store Adaptor ASP.NET Web Service SQL Server 2005 Database
  • Slide 16
  • Market Service Oriented Architecture (SOA)Service Oriented Architecture (SOA) Use of ASP.NET Web ServicesUse of ASP.NET Web Services Exposes Service ContractsExposes Service Contracts Stateless ArchitectureStateless Architecture
  • Slide 17
  • Market AdvantagesAdvantages Focus ourselves on exposing services to be consumed by others Interoperability between different Platforms Built upon existing technologies such as HTTP, IIS and XML Scalable Architecture
  • Slide 18
  • Market Overview RSMS Market Web Service Proxy Data-Store Adaptor SQL 2005 Database HTTP/IIS Web Service Faade Quote Server
  • Slide 19
  • Roles of the Market Market EngineMarket Engine Accepts orders via Web Servicesvia Web Services Stores orders via SQL technologyvia SQL technology Matches orders via SQL queriesvia SQL queries Generates and Stores transactions Pushes data to Quote Servers (using MSMQ Microsoft Message Queuing)
  • Slide 20
  • Role of the Market Simulated TimeSimulated Time Allows the Market to run faster or slower than real-time (for Historical Data) Broker LayerBroker Layer Encapsulates Market Intelligence Market Statistics AggregationMarket Statistics Aggregation Participant/Stock Statistics, Total Traded Volume/Amount, etc.
  • Slide 21
  • Quote Server Market Web Service Quote Server CLIEN T SERV ER Market Data-Store Human Participant ITCH Participant C++ Participant MSMQ Data-Store Adaptor ASP.NET Web Service Windows Application/Service SQL Server 2005 Database
  • Slide 22
  • The Quote Server Allows Clients toAllows Clients to Listen to Market Events New, Modified and Deleted OrdersNew, Modified and Deleted Orders Listen to Transactions Listen to Changes in Best Bids/Offers Pushes data to Clients via.NET RemotingPushes data to Clients via.NET Remoting
  • Slide 23
  • Reliable Message Passing Use of MSMQ (Microsoft Message Queuing)Use of MSMQ (Microsoft Message Queuing) Allows a cluster of Market Servers to pass messages to another cluster of Quote Servers using MulticastingAllows a cluster of Market Servers to pass messages to another cluster of Quote Servers using Multicasting.NET Programmability Support means passing of managed objects (serialized).NET Programmability Support means passing of managed objects (serialized)
  • Slide 24
  • Scalability Concerns Market (Web Service)Market (Web Service) Application can be deployed as Web Gardens/Web Farms Backend SQL Database can also be deployed as a fail-over SQL cluster High Availability and Scalability Quote Server (Windows Service/Application)Quote Server (Windows Service/Application) Application/Service can be deployed on multiple servers MSMQ Multicasting causes virtually no overhead for adding Quote Servers to the Market
  • Slide 25
  • The Big Picture Offer Event Bid Quote Servers Market Web Service Cluster MarketData-Store SQLServer2005 ASP.NETWebService MSMQ IP Message Multicast Transact
  • Slide 26
  • Benchmark Dell Precision WorkstationDell Precision Workstation Dual Intel Xeon 3.4Ghz ProcessorDual Intel Xeon 3.4Ghz Processor 1GB DDR2 Ram1GB DDR2 Ram Western Digital 80GB HardriveWestern Digital 80GB Hardrive Windows 2003 Enterprise EditionWindows 2003 Enterprise Edition SQL Server 2005 Enterprise EditionSQL Server 2005 Enterprise Edition Market Web Service on IIS 6.0Market Web Service on IIS 6.0 Quote Server Enabled (no Clients Connected)Quote Server Enabled (no Clients Connected)
  • Slide 27
  • Benchmark Results
  • Slide 28
  • Slide 29
  • Slide 30
  • Server Management ConsoleManagement Console Resetting Market Viewing/Querying Bids and Offers Browsing Past Transactions and Market Orders Viewing Market Statistics Displaying Participant Information and Statistics Displaying Stock Information and Statistics
  • Slide 31
  • Server Benchmarking DemonstrationBenchmarking Demonstration Load TestingLoad Testing
  • Slide 32
  • Quote Server Market Web Service Client CLIEN T SERV ER Market Data-Store Human Participant ITCH Participant C++ Participant.NET Remoting SOAP Web Service Calls
  • Slide 33
  • Client API Overview RSMS Client (Inherits AParticipant) Policy Enforcer Layer Initialization & Discovery Unified Data Representation Market Network Adaptor Quote Server Adaptor Validation
  • Slide 34
  • The Client Scalable Application FrameworkScalable Application Framework Participant API Enforcer Layer Major participants:Major participants: Human Participant Historical Data Participant Unmanaged C++ Participant Human Participant ITCH Participant C++ Participant
  • Slide 35
  • The Human Participant Post Bids and OffersPost Bids and Offers Cancel ordersCancel orders View market eventsView market events Market data is pushed to the GUI Graphs market informationGraphs market information Human Participant
  • Slide 36
  • The Historical Data Participant Reads historical data from filesReads historical data from files Uses parsers for specific file formatsUses parsers for specific file formats ITCH Uses market time to send ordersUses market time to send orders ITCH Participant
  • Slide 37
  • The Unmanaged C++ Client Interacts with black box applicationsInteracts with black box applications Listens for events from applicationsListens for events from applications Pushes market data to applicationsPushes market data to applications External applications are decoupled from RSMSExternal applications are decoupled from RSMS C++ Participant
  • Slide 38
  • Architecture Extensibility Architecture decoupled and scalableArchitecture decoupled and scalable Participant Framework Allows any proprietary protocol to interact with the marketAllows any proprietary protocol to interact with the market Easily extendedEasily extended Policy Enforcer Framework Transparent and secureTransparent and secure Ensures participant integrityEnsures participant integrity Not specific to any type of market Extensible Secure Transparent
  • Slide 39
  • Client Initialization FormInitialization Form Log inLog in Specify MarketSpecify Market Specify ParticipantSpecify Participant Connect to Quote ServerConnect to Quote Server
  • Slide 40
  • Client Human Participant GUIHuman Participant GUI Market tab Current bids and offers Sort Cancel bid or offer Post matching bid or offer External modification of orders pushed to GUI Pump historical data Graphical data analysis Query best prices
  • Slide 41
  • Conclusion MSMQ .NET Remoting Pushes Market Events Extensible Scalable Market Web Service Quote Server Client Architecture Service Oriented Architecture High Availability Scalability SOAP/XML SQL Database Transactions Extensible Secure Market Adaptor Quote Server Adaptor Policy Enforcers Complete Architecture for Stock Market Simulation/Strategy Testing
  • Slide 42
  • A Special Thanks to
  • Slide 43
  • Slide 44
  • Thank you for Coming! And the winner is