activebiz
activebiz

Reputation: 6230

Client Server architecture design

The application is a client server model.

Client application has local database which the customer will use on their day to day transaction.

The server holds another database which have consolidated information from client along with some other key things.

Periodically, client and server need to communicate for: data migration, accessing data from server (which is not available at client side), etc.

Neither the client or the server has static IP addresses.

How to make sure client can connect to the server seamlessly?

To put everything at a single location (e.g. in cloud or at a datacentre) is not an option due to the business requirements.

Upvotes: 0

Views: 1097

Answers (1)

Aadaam
Aadaam

Reputation: 3739

If there's a single server, why can't it have a static IP?

Does it always have an outside-visible IP? Then dynamic DNS is for you - the server notifies DNS servers on IP address change.

If neither of them have a publicly reacheable address, you'll need a mediator (proxy), which has. Now, this mediator will either know of the data, or the data will be encrypted to it.

Such a mediator could be anything, for example XMPP server, where the server would be assigned a specific JID, like server@mydomain, and clients would be assigned to their own IDs (like, customername@mydomain), or perhaps some PubSub solution, or it could be even an e-mail based solution (yeah, that's dirty), where both the client and server periodically read their mailboxes.

I guess also most ESB solutions would do.

The main thing is, in order to create a client-server architecture on the internet, the server (or a mediator which helps to reach the server with its own application-specific protocol) must be publicly reachable.

Upvotes: 3

Related Questions