Question
· Mar 21, 2016

Web Service & Client Service confusion

Please consider these two concepts:

Concept 1 - Web Service or Web Application or Server Side

Concept 2 - Client Service or Client Application or Client Side

Maybe I am just a Web/Zen newbie, if I am and you all understand this, I apologize. (no nasty remarks please)

The questions are numbered, if you wish to respond to an individual question please precede it by the question number.

  1. Is there consistency in naming these concepts?

 

  1. Are CSP, Caché Server Pages used for the Web Server Side only? Or both sides?

 

  1. The InterSystems documentation, Securing Caché Web Services, used for the Web Server side only?

I thought I understood Web Server Side and Client Server Side until I started looking into them, both in InterSystems documentation and outside documents.

It would help if the documentation were more consistent in this matter.

So I ask for your thoughts,

  1. What are various names for the Web Services and Client Services?

 

  1. In the InterSystems Zen application used for both sides? It seems that way from the documentation.

 

  1. Are there other issues concerning Web Server and Client Server I am missing and you want to enlighten the group on?

 

  1. Am I the only one having this confusion?

 

Thanks for your time - Mike

Discussion (2)0
Log in or sign up to continue

Mike - you are using the term "Client Services" and "Client Server" in several places, and I am not entirely sure what you are referring to.

I will tackle our 2nd and 5th questions as they are related and they make the most sense to me :)

CSP and Zen pages are defined on the Server and their logic defines what is sent to the Client when the page is requested or actioned against. In this case, the actual "Client Application" is a web browser, and the CSPGateway serves up content in response to requests from the web browser. The content that is served is control by the logic you bake into your CSP or Zen pages/classes. Some of what is served to the client is JavaScript, which controls the client's behavior, handles communication back to the server, etc. So there is logic that runs on the server and on the client - both of which are encapsulated in the CSP/Zen source.

Does that help?

There are lots of terms here that although may be related really pertain to different things.

This post mentions client/server and services and applications.  Both services and applications can be implemented in a client/server architecture.

A service is an application that typically has a client and a server side component.  Common types of web services are SOAP web services and RESTful web services.   They usually provide some very specific function.  For example; a USPS address verification service does nothing but receive a message containing an address that needs to be verified, verifies it, and then sends a response message back to the client with the results of that verification.

An application can also be developed using a client/server architecture where there is a software component that runs on the client and a separate software component that runs on the server.  Unlike a service, in a client/server application business logic may be handled at either the client or the server, or both, allowing for distribution of resources.  The client and server parts of an application typically communicate with each other using services.

CSP and Zen, as well as other technologies like PHP, Java Server Pages, ASP.Net are all server-side scripting languages.  The purpose of each is to generate some dynamic document that is then sent to a web-browser by a web server and then rendered (or presented) to the user by a web browser running on the user's computer.  Both Zen and CSP allow you to embed Javascript within the document in various ways.  Javascript is executable code that is run within the web browser.  Typically Javascript is used for form validation and different interactions between the various parts of a web-page.  It prevents the need to have to call the server every time that you want to update a web page.