Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
Now a days I hear different terms like Web-service, API, Rest, RestFulAPI, SOAP etc. We write a RestApi by using google cloud end points for our mobile application.
Even though we are implementing RestAPI, I have a lot of confusion about the terms which I have mentioned. Can I call my RestAPI (using google cloud end points) as a Web-service?
I googled about it a lot but I did not get any clarification. Can I assume RestAPI and RestFulAPI are the same?
There are basically two differnt type of Webservices
RESTFul and SOAP based
Representational state transfer (REST) is a style of software architecture. As described in a dissertation by Roy Fielding, REST is an "architectural style" that basically exploits the existing technology and protocols of the Web. RESTful is typically used to refer to web services implementing such an architecture.
To find difference between RESTFul Webservices and RESTApi check this out
More about REST in this thread
Hope this will give you good insight.
Web services are services communicating over a network. This is a general term, and they cover services over HTTP or not, RESTful services or not. An example of non-RESTful web services is SOAP.
To answer your question: a REST API is a web service. REST and RESTful services mean the same thing.
Some prefer not to use the terminology 'web service' when using REST principles and prefer to say 'REST(ful) API' in order to differentiate from 'old school' services, e.g. with RCP or SOAP.
To increase confusion even more, some call their APIs 'RESTful', just because they use JSON over HTTP. This is not REST!
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I'am writing an android app that needs some data from the server. I am also writing the server side in Java.
What is the best way to pass data from the server to the android device: with REST or Sockets (like Kryonet)?
In what format: XML/JSON (for REST) or plain Java objects?
Thanks in advance.
"Best" is very subjective, I think a very good way to communicate with a RESTful api is via Square's Retrofit library, which can be found here:
http://square.github.io/retrofit/
There is also Volley from Google,
http://developer.android.com/training/volley/index.html
Agree with nPn, "Best" depends on lot of app and user considerations. That said,
REST is preferred as it is most widely used and you have access to stable and optimized client libraries. Most of the these libraries support all kinds of use-cases and customizations. Web Sockets are well suited for real time or live content. If you have a different use-case , REST is strongly recommended.
With Android, JSON is well supported. There is a core JSON API included with Android that you can use without any client libraries. XML can be helpful if you plan to expose your APIs for public consumption (some platforms eg: JAVA, windows have strong XML legacy).
REST + JSON seems to be most commonly used combination in recent times, and lot of client libraries usually enable this use-case.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I'm here to pose a kinda noob question, so please no hate here mates.
The java application I'm trying to create has the following structure.
login request via net Validation(same machine)
**JAVA PROGRAM** ---------------------------------> **WebService** ---------------------------------------> **db**
Response Response
**db** --------------> **WebService** ----------------> **JAVA PROGRAM**
But my doubt is on how to build that webservice.
I've watched several glassfish tutorials, but none of them seem to explain how to actually create this type of connections.
Thank you!
You should divide your problem into several sub-problems and then tackle them one by one. I'm not sure if I understood your setup correctly, but to me it seems like you need the following:
Client Java application and the application logic
Server Java application and the application logic
Database
Connection from the server application to the database
Connection from the client Java application to the server application
In addition, you need to decide what kind of a connection you are going to use between your client and a server. Would it be a SOAP-based web service, a ReST service, plain HTML, just a simple POST/GET, or something else? Also, what kind of frameworks are you using? Spring, perhaps? Wicket? Something else?
Do you have any of those decided or done yet? Feel free to start a new question, I foresee this one being closed in the near future, because it's not clear what you are asking. Do study the What topics can I ask about here? page. If you can show any code in your question, you are much more likely to get answers.
Anyway, to give at least some kind of an answer to your question, I'd use the Spring Framework. Google for spring sql tutorial and then either spring restful web services tutorial, spring servlet tutorial or spring soap web service tutorial based on your technology of choice.
Your database interaction will be same as normal does. You just need to broadcast your Validator class as a WebService.
Below links will help you to do so.
For connecting java class with MySql
For broadcasting your class as Webservice.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I am new to Java environment. I have to create a java utility to extract information from an external application using web-services.For that I need to send an XML request and receive the response. I am browsing around the web and couldn't find any better article. I want to know how to send a XML request and print the request and the response using Java. Any good reference should also help.
Given that you are using Java, you should check out the Java specifications for
JAX-RS: Spec for Java REST services
JAX-WS: Spec for Java XML Web services (this roughly is the SOAP spec)
Both of these topics are extensive. FWIW REST seems to be the style-of-choice today. SOAP was prevalent several years back, but for several reasons (simplicity, ease of implementation), REST has surpassed SOAP. Of course if you have a target web service in mind, the style of the service makes the REST/SOAP choice for you.
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
I have to create a RESTful web service. But, I was thinking for a generic RESTful web service for SOA. I don't know is it a good or bad idea for RESTful SOA.
How can I create generic web service which also satisfying REST concept.
Quite an endeavour.
At a first thought you would have to provide some kind of abstraction layer over the resources that you would typically expose. And that's just the API. Then you would have to execute custom logic for every resource you access.
The short answer is that it's not worth trying to figure out. Going with the typical solutions we have now is far better than over-generalising REST.
There is no one-size-fits-all.
I totally agree with #Gabriel Ruiu - "There is no one-size-fits-all."
But if you are thinking about building an API kind of thing (maybe a library) using which one could build RESTful Services easily, then you can generalize some of things and expose the features via your API.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I want to learn Java WebServices. I read couple of articles on IBM developer works but I think I am getting confused about where to start. My main interest is Restful webservices. Where can i start from? I also prefer book with web service development example based on eclipse platform.
I always find very useful response from this site and always respect the people who responds to all these questions, so as always this time too I am expecting top answers.
Thanks a lot
The Spring Framework has great support for RESTful web services in java. It is a huge library for web development in Java so it might be a bit heavy handed. However, in my experience you eventually end up needing a lot of what's provided by Spring whether you plan on it or not.
http://static.springsource.org/spring/docs/current/reference/mvc.html
So with Spring Web MVC, you can create web controllers that handle requests in a really clean way, something to the effect of (but not tested for exact correctness):
#Controller
public class PetController {
#RequestMapping("/pets/{petId}")
public void findPet(#PathVariable String petId) {
// implementation omitted
}
}
In terms of learning about RESTful web service design, I'd suggest RESTful Web Services by Richardson, Ruby, DHH.