I'm currently trying to design an application and I'm having trouble trying to decide on the architecture to use for it.
This will be a .net application and essentially what this application will have is a server running some specific software that this application will interact with. On this server there needs to be a provisioning service running that will actually interact with this application, queue requests etc. Then there will be a web front end which provides the user interface and communicates with the service, which then communicates with the software, hope that makes sense. This will mean the web interface can be installed on a different machine to the actual software.
So what i'm trying to establish is:
Some thoughts/answers:
For your provisioning service, I would use a Windows service that exposes a service interface (API) through WCF. You can then easily expand that to provide a Web Service (SOAP) API or even a REST API. As far as how the web application can communicate, that is really up to how you expose the communication layer (WCF, SOAP, REST) and what you are most comfortable using. I would say that WCF is the easiest to work with if you control both sides of the communication, which it sounds like you do.
I'm not sure what sort of patterns you are looking for. This is a fairly standard n-tier design pattern. There aren't a lot of tools (that I know of at least) that help you create the actual implementation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With