Differences RESTEasy and RESTful web services - rest

What is the main differences between restful and resteasy webservices? Have been working with resteasy and it works with jboss. That's all I know.

What is REST?
REST stands for Representational State Transfer, which is an architectural style for distributed hypermedia systems, used to build web services that are lightweight, maintainable, and scalable.
The REST architecture was defined by Roy Thomas Fielding in his dissertation and should follow this set of constraints:
Client-server
Stateless
Cache
Uniform interface
Resources identification
Resources representation
Self-descriptive messages
Hypermedia
Layered system
Code-on-demand
The fundamental concept in a RESTful API is the resource and resources can have different representations. For more details, this answer can be helpful.
It's also worth mentioning that the REST architectural style is protocol independent but it's frequently designed over the HTTP protocol because it's largely adopted.
What is RESTful?
A service based on the REST architecture, following the constraints mentioned above, is called a RESTful service.
What is RESTEasy?
RESTEasy is framework provided by JBoss to create RESTful services in Java. It implements the JAX-RS specification (the Java API for RESTful web services).

RESTful is a term, it means that the actual service fulfills all of the required REST constraints, while RESTEasy is a framework for building REST services.

RESTful term refers to those systems that conform to the constraints of REST.
Java API for RESTful Web Services is JAX-RS.
Different vendors offers their implementation of JAX-RS and RestEasy is one of them:
- Jersey
- Apache CXF
- JBoss RESTEasy
- Wrapping Up

Related

REST Assured vs RESTful web services

Is there any difference between REST Assured and RESTful web services?
What is REST?
REST stands for Representational State Transfer, which is an architectural style for distributed hypermedia systems, frequently used to build web services that aim to be lightweight, maintainable and scalable.
The REST architecture was defined by Roy Thomas Fielding in his dissertation and should follow this set of constraints:
Client-server
Stateless
Cache
Uniform interface
Layered system
Code-on-demand
The fundamental concept in a REST architecture is the resource and resources can have different representations. For more details, this answer can be helpful.
It's also worth mentioning that the REST architectural style is protocol independent but it's frequently designed over the HTTP protocol because it is largely adopted and well known.
What is RESTful?
A service based on the REST architecture, following the constraints mentioned above, is called RESTful.
What is REST Assured?
REST Assured is a tool that aims to bring simplicity for testing and validating the response of REST services in Java.

When can we say a design is completely RESTful?

I am currently studying about REST interfaces for directory services and I'm confused about RESTful interfaces. When can we say that the design is completely RESTful?
The REST architectural style
REST stands for Representational State Transfer. This architecture is protocol independent but it is frequently implemented over the HTTP protocol.
The REST architectural style was defined in the chapter 5 of Roy Thomas Fielding's PhD dissertation. And the following set of constraints was added to this architectural style:
Client-server
Stateless
Cache
Uniform interface
Layered system
Code-on-demand
Through the application of the constraints defined above, certain architectural properties are induced, such as visibility, portability, reliability, scalability and network efficiency.
What does RESTful mean?
The term RESTful could be compared to the term object-oriented. Programming languages could be considered object-oriented when they follow a set of concepts. An application can be considered RESTful when such application does not break the constraints defined above.
REST is a resource-oriented architecture. When implementing REST applications over the HTTP protocol, for example, the resource is identified by the URI and the operation over the resource is expressed by the HTTP method.

Why Google uses a lot of SOAP in spite of the following advantages in REST?

Why Google uses a lot of SOAP in spite of the following advantages in REST.
REST is an architectural style.
REST stands for REpresentational State Transfer.
REST can use SOAP web services because it is a concept and can use any protocol like HTTP, SOAP.
REST uses URI to expose business logic. REST uses (generally) URI and methods like (GET, PUT, POST, DELETE) to expose resources. JAX-RS is the java API for RESTful web services.
REST does not define too much standards like SOAP.
REST requires less bandwidth and resource than SOAP.
RESTful web services inherits security measures from the underlying transport.
REST permits different data format such as Plain text, HTML, XML, JSON etc.
REST more preferred than SOAP.
REST is an architectural style, unlike SOAP which is a standardized protocol.
REST follows stateless model
REST has better performance and scalability. REST reads can be cached. JSON usually is a better fit for data and parses much faster
No accepted standard for a JSON schema.
SOAP
SOAP is a protocol.
SOAP stands for Simple Object Access Protocol.
SOAP can't use REST because it is a protocol.
SOAP uses services interfaces to expose the business logic. JAX-WS is the java API for SOAP web services.
SOAP defines standards to be strictly followed.
SOAP requires more bandwidth and resource than REST.
SOAP defines its own security.
SOAP permits XML data format only.
SOAP is less preferred than REST.
SOAP is actually agnostic of the underlying transport protocol and can be sent over almost any protocol such as HTTP, SMTP, TCP, or JMS.
SOAP has a standard specification
SOAP has specifications for stateful implementation as well.
SOAP based reads cannot be cached.
The marshalling costs are higher but one of the core advantages of XML is interoperatibility. For XML, a schema allow message formats to be well-defined. Data typing and control is also much richer under XML.
Thanks in advance.
Steve Francia has a great comparison article on the subject, though I was under the impression (and Steve mentions) that Google had moved away from SOAP to REST. I would be curious if you are asking about a specific API? Then maybe I could formulate a more specific answer regarding that API.
However, overall, while REST is superior in almost every way, here is why you would use SOAP:
Web Service Security - SOAP supports WS-Security in addition to SSL, which adds some enterprise security features and identity through intermediaries, not just point to point (SSL). It also provides a standard implementation of data integrity and data privacy.
Web Service Atomic Transaction - WS-AtomicTransactions are necessary if you need Transactions that are ACID compliant (though probably not why Google would have been using it).
Web Service Reliable Messaging - SOAP has standard messaging through WS-ReliableMessaging, enabling built in successful/retry logic and provides end-to-end reliability even through SOAP intermediaries.

using aspnet web api for other than rest purposes?

In this question, I am told that web API is specifically purposed for making rest services. What are the options for not wanting to follow rest? What are Web API alternatives to REST?
WCF was earlier used to write RESTful services. But, WCF is strongly used towards SOAP based architecture and doesn't fully support (or it is quite difficult to write) the entirety of RESTful architecture.
Hence, WebApi was developed as a lightweight solution to support only RESTful services.

At which point does a SOAP based Webservice not meet the REST Architecture?

There is a huge discussion about Webservices using SOAP and RESTful Webservices. But i don't know precisely at which point does a Webservice which use WSDL, UDDI and SOAP not meet the REST Architecture ?
A REST service is defined by its interface. To be RESTful, it must have:
Identification of resources
Manipulation through representations
Self-descriptive error messages
Hypermedia as the engine of application state
SOAP does a decent job of the first 3, though it does significantly reimplement #2 and #3 so it is more verbose and less stable than relying on HTTP's underlying protocol. Where SOAP really diverges from REST is in #4 - HATEOAS. A properly designed REST service should be fully functional directly in a web browser. Admittedly, most purported "REST" services don't do this either, but it is at least possible. SOAP requires significant tools to use. (SoapUI is a decent one.)
At most of the points. I have a more elaborate answer here. But to be short. I guess you are talking about SOAP webservices with RPC binding style... They are XML/RPC, while REST is REST. There are very specific REST constraints defined here: Architectural Styles and
the Design of Network-based Software Architectures by Roy Fielding.
How a SOAP RPC webservice meets the REST constraints:
client-server architecture - always
stateless - possibly
cache - possibly
uniform interface - never
layered system - never
code on demand (optional) - possibly