Solved

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

Posted on 2004-03-28
15
335 Views
Last Modified: 2010-04-17
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!
0
Comment
Question by:jasef
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
  • 2
  • +2
15 Comments
 
LVL 27

Accepted Solution

by:
Dabas earned 20 total points
ID: 10701113
Hi jasef,
I would recommend you give Visual Studio.NET a go, as it is provides great support for SQL Server + Web development tools
It might be a hard learning curve to begin with, but you will find that the .NET TA here at EE will help you get through most of the stumble blocks!

Dabas
0
 
LVL 30

Expert Comment

by:Mayank S
ID: 10701271
.NET seems to be a good option if you're on SQL Server.
0
 
LVL 19

Assisted Solution

by:Melih SARICA
Melih SARICA earned 20 total points
ID: 10704574
If ur good at delphi ..

U can Use Delphi.NET it can be used both in windows platform and Web Deployment

0
Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

 
LVL 1

Expert Comment

by:fcisler
ID: 10704653
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.
0
 
LVL 3

Author Comment

by:jasef
ID: 10711338
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.
 
0
 
LVL 30

Expert Comment

by:Mayank S
ID: 10711565
>> 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.
0
 
LVL 1

Expert Comment

by:fcisler
ID: 10713621
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
0
 
LVL 30

Assisted Solution

by:Mayank S
Mayank S earned 20 total points
ID: 10713670
>> in implementation, it just plain out sucks

That's the idea which most people have but its actually not true. There isn't anything which is more portable on any platform than Java code. Its just that perhaps there are no Java drivers for SQL Server (if there are, then I don't know of any).

Java was built to perform on very very low power CPUs (it was initially designed for chips) and it is actually faster than people think that it is. Plus, it is more secure and robust than anything else. You can also use JIT and you also have the option of compiling your Java code to native.

Anyway, it is more suited for more extensible applications. If the database *is* SQL Server, I really can't advise anything else other than .NET.
0
 
LVL 1

Assisted Solution

by:fcisler
fcisler earned 20 total points
ID: 10713765
there is nothing quite as portable as java, i will give you that...all i stated was that speed on it SUCKS...it's just plain slow....thats one of the major sacrafices of having to pipe java > java processor > os...not much could be done except if the OS has a core of java, which some do.

java may perform on very low cpu power, but not on windows (majority of most workstations) with a slow cpu...good luck with that. As far as more secure and robust than anything else, that i don't agree with at all. It has alot of good qualities about it, but secure? no, i have seen many many many tutorials on how to decompile java. So with that, there goes your security. Anything that can be that easily reverse engineered looses security that easily. And "more robust...than anything else"...i don't think you can rightfully state that right after stating there are no drivers for SQL Server (although i am not sure of that point....if you can use oracle in java i'm sure theres got to be a way to use sql). Don't want to stomp all over java or you, but i still think it's seriously lacking.
0
 
LVL 30

Expert Comment

by:Mayank S
ID: 10721109
>> 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.
0
 
LVL 3

Author Comment

by:jasef
ID: 10771433
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?
0
 
LVL 27

Expert Comment

by:Dabas
ID: 10771455
jasef,
I suggested .NET ages ago.....

Dabas
0
 
LVL 30

Expert Comment

by:Mayank S
ID: 10771820
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.
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Today, the web development industry is booming, and many people consider it to be their vocation. The question you may be asking yourself is – how do I become a web developer?
What do responsible coders do? They don't take detrimental shortcuts. They do take reasonable security precautions, create important automation, implement sufficient logging, fix things they break, and care about users.
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
Six Sigma Control Plans

617 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question