I am working on the project in which we have layered architecture in the following sequence
Web layer (ASP.NET MVC) -> WCF Services -> Business layer -> Data layer (Entity Framework) -> Database (SQL SERVER)
The web layer is hosted in one web application (calling it as web tier) and other layers (WCF, business layer and Data layer) hosted in another web application (calling it as App tier)
All the web requests travel in above sequence.
Now we have a component which is hosted inside windows service and it require to communicate to database, so what is the better way should I directly call the database from windows service by bypassing/ skipping service and data layer or I should use the below flow
Windows Service -> WCF Services -> Business layer -> Data layer (Entity Framework) -> Database
Which one is the better architecture.