Hi, Would like some general advice... Background: I have created a quite large and integrated ERP application written in T-SQL in SQL Server 2008 R2.(Obviously my preferred way of doing things!!) It liberally uses Stored Procs , many having table valued parameters and whatnot. I have also currently created a Frontend for the same using Access (with some custom workarounds to support TVP's from Access ADO). I designed it such that the Access frontend is quite delinked from the SQL Server, quite similar to an
ADO.NET application (which would have used datasets, datatables etc to achieve the same thing with
VB.NET and Windows Forms tech). Access was chosen by me coz - 1) i knew it well and could quickly and easily design 1000's of frontend forms in a very short time, supporting the backend. 2) One can use local tables (for caching), SQL, Reports and other stuff in Access to give the user a good and complete solution. Known Pitfalls - 1) Not Web based at all. 2) Fully reliant on user access from a Windows desktops 3) Uses outdated tech like VBA and ADO.(although i guess user doesnt care so long as things work). Coming to the query.... 1) what would be a good yet easy solution to build a frontend for the ERP, that can be accessible from multiple devices (not necessarily Windows), and can easily use SQL Stored procs, TVP's and the like. PS 1)...i quite liked
ADO.Net datatables with
ASP.NET WebForms etc. but am now a little dismayed that Microsoft seems to be pitching Entity Framework which treats the database as a poor cousin, and i dont think it supports TVP's. Also, Web Forms, a relatively easy tech is fading out in favour of MVC which seems like something quite complicated and needing a large team of programmers to support. MVC again seems to like the Entity framework.... Need some help...is there any other custom application/framework that would do a good job for building a frontend for an ERP application?
First, although Access does have some downsides, I don't think it is right to call it outdated. Access keeps getting updated and I can't see it, or VBA etc going away anytime soon. You should carefully decide if a re-write is actually necessary. However, if we assume that you need a web based version then you have several decisions. You clearly have experiance with VBA so we'll ignore options like PHP and focus on an
ASP.NET / VB .NET platform. Having decided to go with
ASP.NET you have the choice of web forms or MVC or even Silverlight for the actual presentation. I don't believe that web forms are an outgoing technology, if web forms are what you are comfortable with then use them. Although MVC has been created because it does make developing large well structured web site easier. (In some ways anyway) Your next decision is a choice of data access layer. Any of the data access layers will work with any of the "presentation" technologies. The choices for data access are many and include entity framework, or an open source or paid for equilavent down to just opening datareaders and processing the data. With strongly typed datasets sitting somewhere in the middle. You can also potentially use entity framework where possible and go for opening your own datareaders where necessary. I don't think I'd recommend this, my feeling is that it will make the application un-necessarily complex and hard to follow. PS. I don't think Entity Framework treats the database as a poor cousin. It simply attempts to bridge the gap between how the database stores data and how the application probably wants to consume it.