RSMS Final Presentation COMP 415 December 5, 2005
Preview:
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