1 / 44

RSMS Final Presentation

RSMS Final Presentation. COMP 415 December 5, 2005. Remember!. Please put in your name for the raffle for a free copy of Visual Studio 2005 Professional and SQL Server 2005 Standard. “Real World” Software Engineering. Fictitious Software Company Six students One semester development cycle

ulani
Download Presentation

RSMS Final Presentation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RSMS Final Presentation COMP 415 December 5, 2005

  2. Remember! Please put in your name for the raffle for a free copy of Visual Studio 2005 Professional and SQL Server 2005 Standard

  3. “Real World” Software Engineering • Fictitious Software Company • Six students • One semester development cycle • Real Customer: HBK Investments • Student lead customer interaction • Conference XP Meetings • Customer Resources Sharepoint Site and E-mail • Trip to Dallas

  4. What does HBK want?

  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

  6. Stock Market Overview • NYSE, NASDAQ, NIKKEI • Auction-Style • Post Bids • Post Offers • Transact if they match • Time critical • Huge data throughput • Market strategy critical to success

  7. Development Life Cycle Developer Customer

  8. Customer Driven Development • Initial specification • Proof of concept code • Small development cycles

  9. Customer Driven Development Customer Feedback Development Release

  10. Development Environment • Venture 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

  11. Development Environment • Unit Testing Capabilities built into the Development Environment • Performance Profiling • Refactoring Capabilities • Team Collaboration through SharePoint, Team Foundation Server

  12. Work Items Version Control TeamBuild Team Foundation Server Visual Studio 2005 SharePoint Team Site Team Foundation Server Client Team Foundation Server

  13. Market Engine Broker Layer Market Statistics Aggregation RSMS Architecture Market • Pushes (vs. Polling) Market Data • Best Bids and Offers • Extensible Quote Server • Human • Historical Data • Unmanaged C++ Client Client

  14. Overall Architecture CLIENT Human Participant ITCH Participant C++ Participant SERVER Market Web Service Quote Server Market Data-Store

  15. Market CLIENT Human Participant ITCH Participant C++ Participant ASP.NET Web Service Market Web Service SERVER Data-Store Adaptor Quote Server SQL Server 2005 Database Market Data-Store

  16. Market • Service Oriented Architecture (SOA) • Use of ASP.NET Web Services • Exposes Service Contracts • Stateless Architecture

  17. Market • Advantages • 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

  18. Market Overview RSMS Market Web Service Proxy HTTP/IIS Web Service Façade Quote Server Data-Store Adaptor SQL 2005 Database

  19. Roles of the Market • Market Engine • Accepts orders • via Web Services • Stores orders • via SQL technology • Matches orders • via SQL queries • Generates and Stores transactions • Pushes data to Quote Servers (using MSMQ – Microsoft Message Queuing)

  20. Role of the Market • Simulated Time • Allows the Market to run faster or slower than real-time (for Historical Data) • Broker Layer • Encapsulates Market Intelligence • Market Statistics Aggregation • Participant/Stock Statistics, Total Traded Volume/Amount, etc.

  21. Quote Server CLIENT Human Participant ITCH Participant C++ Participant Windows Application/Service ASP.NET Web Service MSMQ SERVER Market Web Service Data-Store Adaptor Quote Server Data-Store Adaptor SQL Server 2005 Database Market Data-Store

  22. The Quote Server • Allows Clients to • Listen to Market Events • New, Modified and Deleted Orders • Listen to Transactions • Listen to Changes in Best Bids/Offers • Pushes data to Clients via .NET Remoting

  23. Reliable Message Passing • Use of MSMQ (Microsoft Message Queuing) • Allows 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)

  24. Scalability Concerns • 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) • Application/Service can be deployed on multiple servers • MSMQ Multicasting causes virtually no overhead for adding Quote Servers to the Market

  25. The Big Picture Quote Servers MSMQ IP Message Multicast Event ASP.NET Web Service Market Web Service Cluster Offer Bid SQL Server 2005 Market Data-Store Transact

  26. Benchmark • Dell Precision Workstation • Dual Intel Xeon 3.4Ghz Processor • 1GB DDR2 Ram • Western Digital 80GB Hardrive • Windows 2003 Enterprise Edition • SQL Server 2005 Enterprise Edition • Market Web Service on IIS 6.0 • Quote Server Enabled (no Clients Connected)

  27. Benchmark Results

  28. Benchmark Results

  29. Benchmark Results

  30. Server Management 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

  31. Server Benchmarking Demonstration Load Testing

  32. Client CLIENT Human Participant ITCH Participant C++ Participant .NET Remoting SOAP Web Service Calls Market Web Service SERVER Quote Server Market Data-Store

  33. Client API Overview RSMS Client (Inherits AParticipant) Policy Enforcer Layer Quote Server Adaptor Market Network Adaptor Validation Unified Data Representation Initialization & Discovery

  34. The Client • Scalable Application Framework • Participant API • Enforcer Layer • Major participants: • Human Participant • Historical Data Participant • Unmanaged C++ Participant Human Participant ITCH Participant C++ Participant

  35. The Human Participant • Post Bids and Offers • Cancel orders • View market events • Market data is pushed to the GUI • Graphs market information Human Participant

  36. The Historical Data Participant • Reads historical data from files • Uses parsers for specific file formats • ITCH • Uses market time to send orders ITCH Participant

  37. The Unmanaged C++ Client • Interacts with black box applications • Listens for events from applications • Pushes market data to applications • External applications are decoupled from RSMS C++ Participant

  38. Architecture Extensibility • Architecture decoupled and scalable • Participant Framework • Allows any proprietary protocol to interact with the market • Easily extended • Policy Enforcer Framework • Transparent and secure • Ensures participant integrity • Not specific to any type of market Transparent Secure Extensible

  39. Client Initialization Form Log in Specify Market Specify Participant Connect to Quote Server

  40. Client Human 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

  41. Conclusion Client Architecture Market Web Service Quote Server • Service Oriented Architecture • High Availability • Scalability • SOAP/XML • SQL Database • Transactions • MSMQ • .NET Remoting • Pushes Market Events • Extensible • Scalable • Extensible • Secure • Market Adaptor • Quote Server Adaptor • Policy Enforcers • Complete Architecture for Stock Market Simulation/Strategy Testing

  42. A Special Thanks to…

  43. Thank you for Coming! And the winner is…

More Related