I am moving forward with my Cashless Catering system, and am now planning the Sharepoint WebPart for it.
Now, the problem I have is this - creating one which is installed on a local sharepoint install, within the local network is easy. There's no issues there. However, our sharepoint install isn't local. It is provided by our LEA and as such has its own set of usernames and passwords etc...
This means I have to maintain a link within my software between the LEA provided account names and our parent database. Relatively easy to do, yes.
The big question comes to accessing the data on our network. As far as I can see it, I have a couple of choices.
1. Use a web service - which can be limited to exactly what I want to expose. Disadvantage is adding an extra layer of complexity, and therefore an extra thing to go wrong/maintain.
2. Open the MSSQL server to the internet, and using a limited user account to restrict what that user can do. Disadvantage - potentially easier to 'hack' the server, as it is a direct link to MSSQL rather than via IIS.
3. Hire teams of racing pigeons to carry the data...
I'm surprised you have to ask - a web service is nearly always safer, because it's controllable and it can keep detailed logs.
Best practise would be to implement this as a web service - the added layer has a couple of benefits which I think out-weigh the disadvantage of extra maintenance. Web service:
- ensures that data is always in provided in the correct format, regardless of DB changes behind the scenes.
- can easily be manipulated and interrogated at a later date by other software (also ties in with #1)
- security - goes without saying that this is more secure than opening up SQL to outside, even with IP and user-based access in place
The web service layer also allows you to do anything you want - cache, log, format, and add custom security where appropriate.
My preference would be for a web service, but I don't really know the exact situation you're trying to sort out so that's just my completly un-informed opinion.
Also, I think I may end up biting the bullet and building a web service. They're not hugely complex to build, and as people have said, they have some advantages.
I would try to keep it as simple as possible - SOAP with WSDL can get mega-complex. Stick with the most native REST/JSON/XML implementation that is available to both platforms/systems.
Ah, easier than I anticipated. Sounds like you have your solution sorted then
There are currently 1 users browsing this thread. (0 members and 1 guests)