In my previous posts I was talking about my experience learning the basics of service oriented applications. After many days and nights struggling with all the theory, practicing and trying different concepts and libraries, it forced me to go two steps back and watching the whole “big picture” of all. This post will be about my starting point and will be the base for many upcoming posts. The upcoming posts will extend this step by step until we have build the base server together.
Imagine you has come to the point where you feel that you have raw but not so bad understanding in what it need to achieve the goal. Lets say me again, the main goal is to have a trading platform to run my trading strategies… And I can tell you, during studying all the different technologies, concepts and tools, it not that easy to keep focused on main goals. Than it was the time for crop up and find the next step straight to the goals direction. To me, this step was to take the server – client concept, I talked about earlier, and try to find a way to realize it.
It was quite logical to start with server cause most of my effort was dealing with server technologies. I was trying many very exciting libraries and frameworks and my favorite choice of technologies would be to realize a complete message driven server architecture with NetMQ with minimized shared data structures (only shared via messages). But this would take me another two years in gaining experience in distributed systems architecture. So with respect to integration of all complex entities like Database, Data Adapters, Broker, OMS + RM, … I decided to start simple and extend or redesign if I see the need.
To be more concrete, I will start to discuss here a basic WCF service with simple request – response pattern for client communication. This will be straight forward and efficient enough to achieve the main goal. Then I will talk about integrating a heartbeat beacon to monitor the client connection. From my retrospective, I think than its time to integrate a logger to keep on track what happens inside the service. This will provide the base to integrate a market data adapter. First I will propose a way to realize a market data mock up, for simulation and testing. Now, its time for integration of SQL Database to store market data. This enables integration of a broker and account environment for testing and simulation.
To test all the implementations, we will use the on board test client Microsoft provides and for SQL Server the management studio client. I will see if we its necessary to create a basic WPF-Client before we come to it detailed in chapter -2-.
Currently I’m not sure about the granularity of each topics posts, so I will decide during doing it what I describe more detailed. Of course I’m always open to any suggestions. Currently my idea is to have a working feature in each post. This would keep up potential readers motivation in reproducing and testing directly. But I’m not sure if this works in practice because of the complexity of some entities. Maybe for some features its better to post more frequently in smaller chunks. Lets see how it works.
Later, its possible I will create a repository to sustain possible contribution, but for now I can’t effort additional dedication. OK, enough bla bla for now. Nest post will be more explicit with extensive source code discussions.
If you have some comments don’t hesitate to contact me. To get a preview about upcoming topics, please have a look here: Content++.