.NET Development: ASP.NET Web API 2 to implement robust REST services

Microservices [http://martinfowler.com/articles/microservices.html] is a server side architecture positioned as one of the most cool technical trends in 2016. There is still a lot of hype around it in all platforms and programming languages ecosystems. A composition of light services, each one handles its own task, may be implemented and then integrated and configured to work together are usually done by the same tiny web framework. It looks like small tool for small tasks. E.g., there are flask written in python, sinatra in ruby or node.js, which itself has a lightweight architecture and interface in design. .NET Development as robust mature technology has its own libraries to support new trends in server side programming. There is ASP.NET Web API 2 [https://msdn.microsoft.com/en-us/library/dn448365(v=vs.118).aspx]. It’s a new standard toolset provided by Microsoft for .NET Development community.

 New standard

Web API is already shipped with modern version of Visual Studio. Besides, it’s available for installation via standard NuGet package management system. Generally, there are a lot of tools to implement HTTP service: raw HTTP handler, WCF, asmx. We have been using all of them for years. Web API is outstanding enough to call it the best both as a solution and development process as a whole.

Read more

Content Management: Static web site generated offline

From plain static to LAMP and back to static

A lot of years ago CERN engineers invent Word Wide Web technology as a linked set of plain text documents with links to each other and special formatting for visualization. Ancient Content Management was just an editing of static files on the disk. Times changed. We passed several huge revolutions in Web Development and Content Management. LAMP stack and its similar analogies based on other platforms were like standard for decades. We hold data and other content in relation database with SQL interface to access it. The pages have been treated as HTML content generated dynamically on server side by some engine implemented in a programming language with appropriate library or framework. All parts of this scheme have been re-designed or re-invented from time to time. Some of them even several times. There was a lot of hype about Web 2.0. For making development process more robust and performance of solution better, we started to use solution appropriate for specific task or project, e.g., MongoDB instead of MySQL, MVC instead of mess of code. One of such method is to present web site as a set of pure static web pages without any dynamic logic on server side, absolutely.

 Generate static content offline

Main idea of such approach is to have a project with sources like data, html templates or includable parts and containers to wrap all those elements together and configure navigation between pages. On another hand, we need a tool or even several utilities to build the project into destination representation of static web site. First time, our team experienced such technology in the Fitness project for very famous Top 50 public Web Portal 10 years ago.

Read more