Tag Info

Hot answers tagged

8

client/server refers to a relationship between two networked computers in which one machine (the client) initiates a connection and makes requests of the other machine (the server), which in turn to fulfill those requests. Servers exist to provide a service which clients consume. Also, have you checked the Wikipedia article on REST? The second paragraph ...


7

The client and server are basically two parts of a distributed computing model. In this model, a user uses a client computer which sends requests to the server. The server then processes the request and creates the appropriate response which it sends back to the client. In this model, it is often the client that initiates the interaction and not the ...


5

A growing common way of a web application is a mix of both, tending one or other side. The first approach is more traditional, has been there for years and its well documented, (although c++ is not generally a language popular for that). The second option is more modern, and are in the development blogs and forums nowadays. One of the reasons for that, is ...


5

This is an ordinary sandbox model (the one which is used with plugins/addins). Instead of calling the libraries directly, you load them in a different AppDomain. Doing this actually allows you to update the corresponding libraries while the application is still running. If you want to automate the process, the client application can monitor the directory ...


5

If the server only responds to requests from the client and new interface versions only add new requests (existing requests and responses are never changed), then disallowing newer clients means that neither client nor server need to explicitly support multiple versions of the protocol. In that case, if a version 8 client connects to a version 10 server, ...


4

You can use a technique often referred to long-polling or comet, which allows to implement a "push"-based event/update system. Principle The principle is rather simple: clients sends a request to server and keeps connections alive; server keeps a handle on the connection and waits; when updates are available, server sends back data to client; (depending ...


4

For such "intranet" applications I use the fat-client (JavaScript/HTML5-app + JSON) approach with ExtJS4. For normal "internet" websites I would use a more "classical" approach. The clients have to render the site anyway, so why not charging them with the whole process and just give them the data to fill in. It simplyfies the server code for generating ...


4

There are no silver bullets in design or architecture. ( Sorry ) It sounds like you're still at the beginnings of the Design phase and I think you need to focus more on the "divide and conquer" aspects of mapping out your application. Rushing into the lower level details before you have a comprehensive design means you may miss otherwise "obvious" ...


4

I've done two relevant (for this question) projects. The first uses SOAP, a Java server and a .NET-Client. The second uses REST, but both, client and server, are written in Java. Your pros and cons seem all valid to me. I personally like REST-style messages more. The main-reason for this is, that it's very lightweight (in action and development), what you ...


3

Why Rewrite What you can Get Off the Shelf? Why not use RedDwarf Server (formerly Project DarkStar)? RedDwarf Server is an open source middleware solution for developing the server-side of massively multiplayer online games. It is the official community fork of Project Darkstar, an open source project supported and managed by Sun Microsystems. - from ...


3

How much domain logic you have in the client-side UI will depend largely on how much interactivity and responsiveness you want in the UI. For example, let's say you want to validate some field that the user enters. Maybe that validation involves other fields on the form (you asked for socks, but you didn't specify what color of socks you wanted). In most ...


2

Learn HTML 4/5, JavaScript, and CSS. All are client side technologies and you are required to learn them. HTML is the markup. JavaScript brings dynamic behavior in browser. CSS is used for styling. Choose a server-side technology like, PHP, ROR, JavaEE etc. and learn it by building programs. PHP is easy to learn. JavaEE/Servlet/JSP/JSF are hard. ROR is ...


2

I suppose you need some sort of session which does not expire fast (say lasts a couple of weeks). In most mobile apps I have used you have to "create account" and login at the first time (maybe imitating their web counterparts) and then an occasional log in after some time or after a firmware update erases local storage. Alternatively you can have the user ...


2

AJAX I think your question boils down to, "Should my web application generate HTML on the client side or on the server side?" Client-side generation communicates to the server using AJAX, although the X (XML) has generally been replaced with JSON, but most people still call it AJAX because it sounds better. Server-side, the server just makes HTML on the ...


2

I compared REST + JSON for interchanging data between .NET client and Java server against traditional SOAP client/server approach. In all both cases, the Java server app is running as a standalone process, and not inside J2EE container. For .NET client, I tested RestSharp to send the REST requests and handle responses. I found RestSharp to be elegant, ...


2

Essentially, you want to tighten your feedback loop. To answer your direct question, there are tons of tools or plugins to automatically refresh the browser when it detects changes in your project. There are both browser-level plugins, as well as editor integrations. For example, when I save a file in vim, I can have it automatically refresh my browser ...


2

I would say that giving the sysadmin control over when the update is applied is the best way - this means that an admin can delay updating if he's working at a critical time (say, over christmas) when demand is likely to be high and staff availability low, and also the potential for a screwup to be really damaging is much higher than usual. So an fully ...


2

Based on what you are describing, a simple REST style interface should be more than sufficient. You'd compile the orders up into a chunk of XML, and post it to your server to add them. You can also respond to gets, puts, and deletes. Most desktop langauges/tools should have the necessary client libraries available for this. Any of the more common server ...


1

Point 2 is reasonable argument against the use of the given approach. I worked on something similar where user can have data in different form depending on the entry point. Obviously, complexity of your code is going to increase as per the number of new flows you introduce but depending on benefits involved sometimes you have to add new user flows. If you do ...


1

From your limited code snippet, what I understand is that the Collection class is a data-centric class that holds a vector of Client* and so on. The other 2 classes are method-centric and use a Collection object (not sure how, but presumably the object is a member of this class or is being passed to the methods somehow). My suggestion would be to merge ...


1

There are any number of different options, and the best one would depend on your specific (much more specific than we have so far) circumstances: Create separate per-environment configuration files as part of your build script. Then have your deployment script replace the default (usually empty) files with the correct environment. Have only one ...


1

The answer of Auto Update or Manual Update depends on two basic parameters. 1. How Important/Urgent is the Update? 2. How Big is the Update? For Enterprise software, first priority is 'Security', second is 'System Availability' , new features or cool features are last things to care about. I work for Fortune 500 INCs and my experience is that many ...


1

Have you tried using (eclipse) Springsource Tool Suite with maven and embedded Tomcat? On my web projects I have a "Run configuration" with maven goals of clean tomcat7:run. I edit my JSPs and hit refresh on the browser. Server side java code I have to stop the server and rerun the above - takes seconds, 2-3 mouse clicks.


1

From Wikipedia: A server is a computer system that selectively shares its resources; a client is a computer or computer program that initiates contact with a server in order to make use of a resource.


1

So the question is: should you change the protocol to be more flexible (allowing variations of the format), or should the clients adhere to what you currently have? I don't think there is a one size fits all solution here, the answer is totally up to the parties involved to negotiate. All have to agree on the protocol (the current one or something more ...


1

I think the most important things in this case are Response time (on page load) and Responsivity (in the GUI during interaction). There is a part of the application use case where some static, more or less constant data is sent to the browser, but thereafter the interaction with the user will determine what data will actually have to be calculated. If you ...


1

My teacher said once something like this (somehow it wont dissapear from my head): In the real world, businesses have clients. In the computer world, servers have clients. The "client-server" architecture is common in both local and wide area networks. For example, if an office has a server that stores the company's database on it, the other computers in ...


1

Client/server describes the relationship between two computer programs in which one program, the client, makes a service request from another program, the server, which fulfills the request. For more information see: What is a client/server?


1

In short, the answer to your colleague is "encapsulation." What are you going to do when you need to spin up a ninth manager? Or more slave processes per client? Or you need to adjust the interaction logic just enough that it would force updating and invalidating all of the existing clients? Do you have full control over all of the clients in order to do ...


1

Using multiple connections per user could be problematic because you will hit the servers connection limit earlier when you have a lot of users. TCP, however, has the advantage that packets are always received in whole and in order. You can use that to implement your own application-level session handling system which works in a preemtive ("time-sharing") ...



Only top voted, non community-wiki answers of a minimum length are eligible