Use Core EF to build Instant Web API? Representational State Transfer (REST or RESTful) is a technical description of how the World Wide Web works. If to imagine that the Web is a device, and it could have an operating system, its architectural style would be RESTful. A RESTful API is a type of web server that enables user-operated or automated clients to access resources that model a system’s data and functions. A well-designed REST API entice developers to use the web service and is today a must-have feature.

SOAP’s standard HTTP protocol makes it easier for it to operate across firewalls and proxies without modifications to the SOAP protocol itself. But because it uses the complex XML format, it tends to be slower compared to middleware such as ICE and COBRA. Additionally, while it’s rarely needed, some use cases require greater transactional reliability than what can be achieved with HTTP (which limits REST in this capacity). If you need ACID-compliant transactions, SOAP is the way to go. In some cases, designing SOAP services can actually be less complex compared to REST. For web services that support complex operations, requiring content and context to be maintained, designing a SOAP service requires less coding in the application layer for transactions, security, trust, and other elements.

Begin with the API User in Mind: Bestselling author and architect Sam Newman’s great book on microservices provides a powerful alternative to the database-driven approach for designing REST web services. It’s useful even if you don’t plan to use microservices. Newman suggests that you divide your application into bounded contexts (similar to business areas). Each bounded context should provide an explicit interface for those who wish to interact with it. Implementation details of the bounded context that don’t need to be exposed to the outside world are hidden behind the interface. You should use this explicit interface as the basis for your API design. Start by asking yourself what business capabilities do the API user needs, rather than what data that should be shared. In other words, ask yourself what does this bounded context do? and then ask yourself what data does it need to do that?

I see that this software is using Visual Studio 2017. Do I need a license for this product? No, as a single developer you can qualify for the free edition. You can download it from Microsoft site: Visual Studio Community 2017 I don’t have a license for Microsoft SQL Server. Do I need one? No, Microsoft provides a free download for SQL Express Edition server. You can get yours here. I see that a backup of AdventureWorks database is provided with the installation. How can I restore it on the server? In order to restore the backup file please download SSMS from this site: SQL Server Management Studio (SSMS). Once the code is generated am I able to modify it? Yes, by purchasing a license you should be able to modify the code however you see fit. Find more info at Instant Rest API from your MS SQL database.