• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 243
  • Last Modified:

Application for gathering data

I need some solutions for these questions:
1. Is it possible to create Web server to collect information from remote devices by using Delphi 2010 Professional. the idea is to send data from many sources to one point and allow specific customer to check these data.
2. If it`s possible to create such app which components should i use.
3. what do i need besides Delphi to create such app.
  • 3
  • 3
  • 2
  • +1
3 Solutions
Ephraim WangoyaCommented:

You can create a delphi database application and access it through terminal service, (RDP, CITRIX etc) You can use data control components which would include ADO, DBExpress, AnyDAC, there are quite a number. For the back end database, you have a couple of choices, SQL Server or ORACLE (Commercial). There are also free databases such as Firebird and MySQL
(Just dont get into desktop databases like Paradox or MS Access)

Having said that, I would prefer to create a Web application using Delphi PRISM or C#. This would be more robust in my opinion.
Again the choices for backend databases are yours to make.
Make use of web services and sql database...

A good book to learn about implementing web services with Delphi 2010 is...

Delphi 2010 XML, SOAP and Web Services courseware manual

For a free SQL database I recommend SQLLite...
Geert GOracle dbaCommented:
i think thommy and ewangoya have the concept in the reverse order
you want a tool for monitoring remote devices/programs ?

well, i just started on something like this:
my goal is to get alerts about all databases i monitor in 1 central location

my concept:
On a remote server: X
Service running on a remote machine which gather systeminfo (like database running)
and stores this information locally
With TIdTcpCmdServer component which can return all the retrieved info

On a local server: Y
Service (or standard delphi program) running, connected with 1 TIdTcpClient per remote computer X to the TIdTcpCmdServer
Also contains a TIdTcpCmdServer for returning information to visual clients
and possibly a database backend for storing a history of all data

On a client computer: A
Standard delphi app with TIdTcpClient connected to local server Y TIdTcpCmdServer
on this app, you then visualize all retrieved info from the Y server

this is my concept i am trying to setup.
But that would work (and it requires a lot :(  )

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

VaalarAuthor Commented:
Thank you for your replies, I`ve made a simple scheme which shows what i want to do.
I hope it will explain everything
VaalarAuthor Commented:
I have also question about REST Server - can I use it for my idea?
Geert GOracle dbaCommented:
i'm just checking bob swart's video tutorial's ... on embarcadero
i'm gonna follow that approach ... that REST has popped up there too :)
VaalarAuthor Commented:
Hi Geert,
I`ve spent a couple days with tutorials - i think that the best option is to use Delphi Prism as Ewan said in first reply. Of course as always the money are main problem. I`ll try to dig deeper and try to solve my problem and idea with D2010 prof. We will see am I able to do this.
I have seen the bob tutorials - great job - the problem is connected with a large number of solutions and possibilities - I have no idea what should i choose.
I`m trying to create a cgi module for server - it will allow me to configure the gprs modems to send data up there.
Ephraim WangoyaCommented:

We have already pointed the Author in the correct direction and the information given in this thread should be a good guide towards a proper solution be it in Delphi PRISM, C#
Geert GOracle dbaCommented:
i think you will not be able to write 1 piece of software to accomplish all
you'll have to come up with a protocol first (on top of another protocol like tcp/ip) to send info back and forth

next you'll have to try and write a piece of software which implements the protocol on a type of device
once you have 1 or 2 working you can extend

i am assuming that you can install software on the remote devices
if not then you will need to figure out how the remote devices communicate and write the piece of software on a place where you can install

i am doing something similar > but with only oracle servers
on a oracle server:
  a service is running to check aspects like disk free space, memory, database stats, etc
    it contains a protocol for sending back info upon request
  a secondary service is running a central machine periodically gathering data from the remote servers
    it caches all the latest data and writes history to it's local database
    > setting up a webserver to provide a webpage shouldn't be too difficult
  a reporting tool (just an exe) on my pc (or on another) connects to the central service and retrieves the data
    the reporting tool can also send requests for the latest info
for this i use the TSQLConnection with the DBXconnection
i only have to communicate with windows servers
if they ever come up with unix/aix/linux i'll have to write something to run on those machines with respect to the protocol
once that is achieved i can use my existing network for information

looks like you don't have an an easy task ... a real challenge
if you separate the tasks in layers, you should be able to get something working ...
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

  • 3
  • 3
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now