Link to home
Start Free TrialLog in
Avatar of Mike2015
Mike2015

asked on

Setting up a IIS 8 Web Server to send and receive XML files

Hello,

I'm new to IIS and need to set up a site to communicate with a vendor of ours to exchange xml data.  The data we receive will be uploaded into our database. I don't need a interactive web page for users, just something that can accept and handle xml data.

Does anyone have any good links, templates, or step by step guides I could use? I'm a VB and SQL programmer, so details using VB would be a plus.  I have access to Visual Studio 15, but am unsure if visual studio may make things more complex then I need vs using IIS Manger interface.

Environment:
    Windows Server 2012 R2 Datacenter
    IIS 8.5
    Not sure if this is a given, but I'll be using ASP.NET as the engine.

Any help is greatly appreciated!
SOLUTION
Avatar of Jeff Tennessen
Jeff Tennessen
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
ASKER CERTIFIED SOLUTION
Avatar of Dan McFadden
Dan McFadden
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Mike2015
Mike2015

ASKER

First off, Thanks Jeff! That's an awesome walk through.

Dan, I've tried to answer your questions below. Please let me know if additional information would he helpful.

1. Is the file transfer (upload) process automated?
          Yes, the upload process will be automated.
2. Did you "want" to build a website that allows inbound files to be saved to a directory structure?
          Ideally yes.  I'd like a save the files for record keeping purposes. Instead of just relying on other tracking\auditing sources.
3. Will this web application do the import of the data into the database?
          Yes(?), with the automated transfer (upload) I'm not sure how SQL Server would know there is new data to import.
4. Or will a process in SQL Server (I'm assuming MS SQL Server) be doing the import?
           I use SQL Server 2008 R2 standard, with plans to migrate to 2016 standard this year.
4a.  If so, what version of SQL Server?
           same as above
5.  Will or is the web server in a DMZ?
           I'm not fully sure on this aspect of the project. I do not believe the web server will be in a DMZ.  This will not be publicly available. It is between us and a vendor, with all data encrypted and sent with a certificate.  I believe the plan is to create the vendor a user account and limit their access to only the folder they upload their data to.
6.  Where is the database server?  Also in a DMZ?
          The database server is not in the DMZ
Based on what you answered, the functionality that you want does not need to be implemented with a web site.

It is far easier to control access and authorization thru an FTP Service than thru a web application.  Records (files) uploaded to an FTP service are nothing more than being saved to the configured directory structure on a volume on the server.  As I mentioned previously, you could user the bulk import utility in SQL Server.  You can setup a scheduled task (in SQL) to look at the FTP directory where the XML files are uploaded.

From my experience, it would be much more of a challenge to build a website to do this.

This process is exactly what FTP is made for... controlled transfer (upload/download) of file based information.  The FTP Service can be configured to allow the vendor to drop the files in to just about any volume that is accessible to the FTP server.  It could be on the web server or it could be on the SQL Server.

Using the existing functionality of the IIS Role allows to deploy a solution faster in a more manageable way.

As for getting the XML data into the database, here is a simple example of using SQL Server to do the importing of the data from the XML file.

Links:
Example = https://www.tangrainc.com/blog/2008/11/import-xml-file-to-sql-table/
MSDN = https://msdn.microsoft.com/en-us/library/ms171993(SQL.90).aspx
SQL Server Central Forum discussion:  https://www.sqlservercentral.com/Forums/Topic616181-338-1.aspx

IMO, building a web application is overkill for this process.  Also, I'd venture a guess that your SQL Server has more resources than your IIS server.  Therefore moving the import process into SQL Server where the import functionality already exists, is a more practical implementation.  This is especially true if the data starts to grow in volume.  Let the file transfer server (ftp/http/smtp)  to the job of moving files and let the data be managed by the server running the database.

Dan
Any additional info for this question?

Dan
Any feedback?

Dan
Apologies, None at this time. Thank you both for your help.