Custom MVC Templates
Welcome to AutoMSC an advanced paradigm and template for Microsoft Core MVC applications. Why extend MVC you may ask. We asked ourselves that also and though
Microsoft provides all the tools needed to develop Secure Web applications, it presents the barest necessities to build on and requires a default implementation.
This can work for simpler applications, but when you have multiple Areas, Services and Data Sources you need a top to bottom solution to make your developers more productive
and your products more scalable and secure.
AutoMSC was designed with this in mind. Not only does it provide you with concise guidelines based on industry standards it includes installable templates. So if you
have your own development staff, they can start with a flexible, ultimately configurable starting point. If you choose to have AutoSOFT complete your implementation,
you can be assured that your time to market will be world class. And no matter which you choose you are assured full support and even platform upgrades.
Our greatest challenge when designing AutoMSC was maintaining compatibility with and adherence to standards. We don't want to recreate the wheel, but hope to make it
run smoother, longer with less need for maintenance (we're not sure how miles relate to Gigabytes). We also strove to maintain a fine separation of layers so you can
mix and match Data, Identity and Application Services using standard project and item templates.
Best of all, AutoMSC provides data templates for some of the more common business objects. These include Identity (credentials and claims), products, page content and
application data. MSC templates also contain Angular, jQuery Ajax and Razor Forms. And so you know we believe in our products, all of our applications are created with
AutoMSC templates, which can include WPF, UWP, MVC or ReST\HTML5. And of course all can be deployed easily to cloud platforms such as Azure or AWS.
Most importantly AutoMSC is a top down design based on hundreds of in-service or deployed applications written by our team for many Fortune 500 companies. Though the
implementations can be as complex as Amazon or Twitter, the architecture is simplified by using standard IOC and tiered processing.
Full MSC Process
Each layer of MSC is designed to be inserted into any application, whether existing or being developed. The client layer is the first and most important as it interacts
directly with the users of the application. MSC Also, dynamic rendering is safer since each request rebuilds the client forms rather than reloading only from disk. That is
one of the benefits of using Razor as the rendering engine. It enables Angular, Breeze and Knockout binding while keeping your files behind the controller.
The Controller layer of MSC is equal in importance to the client layer as it is the central point of communication and provides the dependency injection chain. It provides
all service calls including authentication, data access and application settings such as culture.
The Model layer of MSC is the most isolated of all layers and can only be communicated with using a ViewModel. Many paradigms offer that Model objects should only handle
themselves but MSC places data in a container to reflect a SQL table. SQL/NoSQL tables have little business logic and our ViewModel paradigm is closer to using a SQL View
to wrap a table. This provides logic outside of the data in the table similarly to how a ViewModel wraps the modeled POCO.
This allows for a final level of security around any SQL calls. This is helpful for separating by roles along the entire processing pipeline.
View Model Injection
The View Model layer is the lynch pin between the data and business logic. It should be its own set of classes wrapping data with similar business logic. The classes will
be called by the Services Layer and encapsulates business logic such that any Service Provider can be used with no effect upon the required Request Document. Request Documents
are created by the Service layer using business logic, form objects, request type and roles. In addition the View Model will contain UI specific fields for role displays.
This also allows a complete separation of data and logic so business logic changes don't affect the DAL.
View Model Injection
Stay tuned to our downloads page for our V1.0 AutoMSC Templates or our Wiki Page
for info about all our newest products and samples.