Avatar of jasef
jasef asked on

Recommendations for a language for retrieving information from different datasources (Web based)

Hi Experts,
My background is primarily networking so please keep it simple and broad for now :) I am needing some steering as to the best language(s) and methodologies to utilise for the following scenario (I will most likely oversee development of the project, but could possibly be landed with the programming job too):

We have an inhouse SQL Server database that records our clients and their purchases.  Much of it is tailored to property details (our main investment 'product' ATM), but this will be expanding to possibly include shares and superannuation.
This info needs to be made available to clients online (securely of course, so will need to manage logons) AND also provide a facility to report on the current value of their investment by interrogating other websites or sources (some may be SQL, others might be using a querying tool provided by the website itself, obviously all these sources are subject to change, so adaptation or at least easy modification of data source(s) and interrogation will need to be a core component).

I suspect this is best done as a two stage process, firstly developing an application to handle the interrogation and reporting of the different datasources, and secondly (more web based) the customer portal and security etc. but have never attempted this kind of project before.

I have also posted this q to web development, but thought the information retrieval app would perhaps be better answered here.  I'm really groping in the dark (but not as much fun as usual) so any candle is appreciated.

Thanks for reading!
Programming

Avatar of undefined
Last Comment
Mayank S

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
Dabas

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
See how we're fighting big data
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
Mayank S

.NET seems to be a good option if you're on SQL Server.
SOLUTION
Melih SARICA

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
See how we're fighting big data
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
fcisler

depends alot here jasef

is your environment primarily windows machines, or do you have linux/bsd/unix machines?

what os is the sql server on?

what os are your web servers?

are you familiar with any languages?

.net is very robust, but i try and steer clear because then your locked into windows...

PHP is also a veyr robust and strong language, and i reccommend it if you dont know anything thus far...reasoning:

PHP runs on windows, bsd, linux, unix, mac, etc....it's not as closed as something .net
It also has sql connections (to MySQL) built in.

If your starting from scratch heres my reccommendation:

Setup a secure enviroment for your webserver (seperate from existing network using router and possibly ipsec)
Host MySQL and apache w/ php on a non windows OS (FreeBSD is my server os of choice, linux or any other BSD/UNIX variant is also acceptable...i don't care what ANYONE tells me windows IIS is NOT AS SECURE OR RELIABLE AS APACHE. PERIOD. i'm not going to get into a flame war over it, but look at the track records...they speak for themselves)
With no experience on FreeBSD, i had it setup, apache, mysql, php, and a firewall setup on a machine in a couple hours...it's very easy
If your currently using MS Sql Server, setup a "View" of all the data your going to need replicated and set it nightly or hourly...depending on how often you need it updated. Better yet, you should have the internet accessable SQL db on a seperate machine....

I suggest you do NOT have your production DB EVER, under ANY case accessable via the internet....reasoning being that if someone does hack the site and corrupt your db, it's nothing to just push the production data right back into the internet DB. Simple as that. We currently have several oracle DB's internal and several completely seperate oracle DB's, containing much of the same into, for the web servers.

You had said you were mainly networking orientated? Look up a reg/orange/green network enviroment (it's called several other things..) i will give a quick rundown (forgive me if you know this)
red - internet. untrusted. Firewalled to other zones. No explicit access to orange/green.
orange - INTERNET server zone. Ability to reach red and internet, and may need access from red > orange. No access to green. Green MAY have access to orange.
Green - Further firewalled from orange and red. access to internet (red) through strict security standards. Some clients may have access to orange (i prefer using ipsec for those needing).

If i mixed anything there up or left things out i am sure someone will fill me in on it.
I know i sound very anti MS products in this post, but my feeling is that if its going to be on the internet it shouldent be run on a windows OS.


Bottom line:
Keep production and internet DB seperate
Keep internet server OFF of your LAN (do not keep it on seperate ip range)
Try not to lock yourself into one OS or vender. MS has a habbit of trying to keep you locked into their products.
Look around. If someone is acomplishing something similar, see how they did it.

If i missed anything or you have anymore questions ask away.
ASKER
jasef

Thanks for your responses everyone.
.NET seems to be the most common answer here (and the only one on the web dev post), however for the areas I know, fcislers' advice mirrors my own thoughts (hosting the server seperately, using an IPSEC etc), so I'm leaning that way;
We will most likely have the database (at least a copy of it) hosted by an ISP, so the MS security aspect isn't EXTREMELY important - it's their problem (I wouldn't use it as a preferred practice, but I'm not going to get blasted for recommending it if that turns out best).  Being locked into MS products is also not an extreme issue (unless it won't work with linux browsers etc. etc. which I hope won't be a problem)...  So fcisler, with these things in mind, which

Our environment is windows, but that is irrelevant, the clients will be using god knows what, and I can upload from our Win2K Server MS SQLServer database to mySQL or Postgre if that is a superior solution.

I'm familiar a little with SQL, VB, html & javascript, but not enough to count; So I don't mind picking up a new language from scratch as long as I know it's the best choice.
 
This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.
rwheeler23
Mayank S

>> the clients will be using god knows what

Then I would recommend Java :-)

But I don't know of any Java drivers for SQL Server.
fcisler

nooo mayankeagle

java, in theory, is a very good idea


in implementation, it just plain out sucks
soooo slow on windows machines

jasef, if your gonna go .net do it! being locked into a technology refered to your server environment, not clients...provided you don't use anything ie only/ns only then your fine.....net is all (mostly) implemented server side

Look up MySQL....it's advantages are mainly for web based development (quick selects, sorts...slow updates...etc) i may be wrong on this, but read up...

good luck
SOLUTION
Log in to continue reading
Log In
Sign up - Free for 7 days
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
SOLUTION
Log in to continue reading
Log In
Sign up - Free for 7 days
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
Mayank S

>> all i stated was that speed on it SUCKS...it's just plain slow

Maybe you should try working with Eclipse.

>>  but not on windows (majority of most workstations)

I have been developing Java applications since years using WSAD and Windows - never faced a problem with that. After development, we usually deploy the application to a Solaris or UNIX server because its more secure than Windoce. Hardly takes a few seconds.

>> So with that, there goes your security

I was not talking about de-compilation. I meant that a Java program runs within an instance of the JVM, and the JVM sees to it that it should not interfere with other processes. Neither do malicious processes affect it. Nor does it affect any outside processes.

>> more robust...than anything else

Because it is architecture-neutral. You change your processor, have upgrades on your system, etc - your C/ C++/ C# programs might stop running - but your Java programs will still run as good as ever.

>> after stating there are no drivers for SQL Server

I am not sure if there are or not. But its not the job of Java to provide drivers for all databases. I don't know whether the JdbcOdbcDriver it provides works for SQL Server or not (it works for Oracle and Access, at least). But generally, third parties provide drivers for their databases in the form of JAR files.

>> but i still think it's seriously lacking.

I don't think it lacks anything. It is portable to any platform -> that way I might say that M$ products are lacking much more than it is (if it is lacking anything).

Just wanted to tell you a litte more about Java, nothing else. Since in this case, it is SQL Server, I have already recommended the use of .NET. But just a moment - *if* the client is on Linux or anything other than Windows, you don't have another option but Java.
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
ASKER
jasef

Hi everyone, thanks for your responses.  I am currently having a good look at PHP, might try .NET if having too much trouble on PHP.  Would try Java, but seeing as you guru's aren't too sure about SQL Server integration even though likely (no offence to mayankeagle) I'll give it a miss at this stage.
Intendting to awarding points to fcisler.  Any objections?
Dabas

jasef,
I suggested .NET ages ago.....

Dabas
Mayank S

I found out that there is a Microsoft SQL Server driver (and even if it was not there, it was not Sun's fault ;-) )

BTW, I'm ok with whoever gets the points - whether there's a split or a single accept.
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes