I'm accustomed to seeing an n-tier design pattern like the following: 1) Database (SQL Server) 2) Domain (EF) 3) Facade Service Layer (WCF) 4) MVC Web app (IIS)
In terms of Firewalls and protected areas, the Web Server and MVC app live in a public facing area (DMZ) in front of a Web Service, that lives behind another firewall that processes business logic and connects to the data layer, for an added layer of security.
Is there any reason or advantage to using Web API behind the firewall (not DMZ) to pass business logic back to the Website? I was thinking this is where WCF excels.
If for example a native mobile app was created and needed to access the server, would an additional WebAPI web service live in the DMZ (similar to MVC site), that would then connect back to an internal service (WCF) that does back in and business logic processing?
I'm sure it depends on the specific needs of the application, but as a general design pattern, should Web API live that area of the architecture?
Thanks!