I have bee aggressively following up on Blazor and am at a point where I want to take an enterprise app from my workplace and convert it to blazor staying within the restrictions of an enterprise. I have numerous questions but I'll keep it very focused: What model do I start with when it comes to hosting. ASP.Net Hosted, Server, or Client?
Here is a common architecture that almost every simplest of applications follow in my company:
In brief:
Web Portals and Mobile apps (usually websites as well) cannot have any references to ADO or Entity Framework. They can only have URIs to the service endpoint. No direct database access is allowed. These UI layers must get data cached if available.
User authentication is federated and we use Okta. So Single Sign-On (SSO) allows me to get user identifier (domain email) and I pass that back up to the Logic layer to get a matching authentication from the database.
The WCF client is auto-generated using WcfClientProxyGenerator and is depending on the app settings of the web application to bring in URIs.
The WCF Service has all the Entity Framework references and connection strings.
The web applications are behind a load-balanced VM pair and the WCF Service (and everything behind) is also a pair of load balanced VMs
Caching is a standalone server
In such an environment, what hosting model do I chose for Blazor? My web servers are not cloud-based but they are VMs in a data center. They are Windows Server 2016 with IIS and in most cases the IT and Cybersecurity expect a standard web app running under an Application Pool on IIS.
Also, due to the nature of Blazor, I'm allowed a certain C# code to be available to the clients (View Source) but that should only be so formatting logic etc. type code. Everything else that even gives a hint of the model or data being sent back is a big no go (C# or Java)
I am trying to understand the Server Side and the Hosted one right now. Any guidance will be greatly appreciated.
