Jlouro
Jlouro

Reputation: 4555

Need my apps to talk to each other

In a DELPHI 2007 application that I am developing some prospect clients just found interesting to be able to share data and information with each other.

They all have the same application.

All have independent Databases

But all have the same installed application and there are some data types that they might want to share (replicate) between their databases.

How can I enable them to share data with other users of the same application program, but not to everybody on the whole internet.

I would like this to be as automatic as possible, as I already have considered approaches that involve manually sending emails.

I know Datasnap is an option, is there any other.

UPDATE:

The idea is to enable companies that have the same application to be able to share data.

They should be able to select what partner and what to send.

I have been investigating datasnap, but would like to know if there is another way to do this

Upvotes: 1

Views: 489

Answers (2)

Warren  P
Warren P

Reputation: 68952

One standard way to connect applications to other applications is to make a web-service, and make a client that consumes that web-service, called a web-client. Technologies like SOAP and REST refer to such web service and web clients.

Your question is vague, perhaps due to english not being your language, but you should probably edit it and be more specific.

If all your applications are going to talk directly to each other that is called "peer to peer networking" and there are huge problems with enabling that kind of communication directly over the internet. It is much easier if you build a server that all these applications will connect to.

As a sample, consider the IRC Chat service, and consider writing a Web Service that will be the Chat Server, and consider all your clients to be "Chat clients". Sharing data could be the same idea as creating "rooms" or "channels" on a chat server.

I get the idea that you want something like a Peer to Peer Data Replication Service. I think that the closest you're going to get to that is something like "RSS Feeds" (used by blog syndication services). You subscribe to them via a simple web service, and pull down the new content on some periodic basis. Since that data has to be published to a central server, that means, that a peer to peer approach is out of the question. If you don't have your own web server running on a web hosting service, or on a "cloud", and you need a truly peer to peer solution, I am not aware of any way to do that, at least not without an incredible custom engineering effort.

Upvotes: 2

mjn
mjn

Reputation: 36654

Another standard way to connect distributed applications and share data and information is through some Message-oriented middleware (MOM). There are many open source middleware products (message brokers) available, which can be used over Delphi client libraries, even in multithreaded Delphi server applications. (Disclaimer: I am the author of message broker client libraries for Delphi and Free Pascal)

There are many essential differences between web services and message brokers, like peer-to-peer and publish/subscribe communication models. They also play a key role in enterprise application integration patterns.

Upvotes: 5

Related Questions