Skip to main content

RESTful Service Java Implentaions


Jax RS API and its implementation Clarification

  1. The API does not provide any implementation code (concrete classes that do the actual processing). The API only specifies interfaces, annotations, exceptions. There can be concrete classes with some very basic, core behavior. The idea of standard APIs, like JAX-RS, is to give developers something to code against regardless of the underlying platform and implementation.
  2. Jersey, RestEasy and CXF are the implementations - it includes many concrete classes that actually handle the business promised by the API according to JSR  (Java Specification Request) 311. In JAX-RS case - it handles requests and responses.

Apache CXF - CXF is the implementation from Apache Group.

Jersey - the JAX-RS Reference Implementation from Sun.
We're using Jersey as its packed full of features (e.g. WADL, implicit views, XML/JSON/Atom support) has a large and vibrant developer community behind it and has great spring integration.
RESTEasy - JBoss's JAX-RS project. 
If you use JBoss/SEAM you might find REST easy integrates a better option.

Note: Since Jboss acquired by RedHat Linux, Jboss origination has re-named the open Source Jboss to Wildfly and started releasing the version of Jboss after 7.0. Now the current Wildfly (Jboss) version is  10. Check for more info at http://wildfly.org/downloads/

Now RedHat Jobss now called as Jboss EAP and enterprice version is now licensed.
 https://www.redhat.com/en/eap-calculator

Comments

Popular posts from this blog

Compress a String

package com.sbs.java8.praticse; public class StringCompression { public StringCompression() { // TODO Auto-generated constructor stub } public static void main(String[] args) { System.out.println(compressString("aaaabbbbbccccAAAAccccccccdefg")); } public static String compressString(String str) { //String str = "aaaabbbbbcccc"; char[] charArray = str.toCharArray(); String compressedString = ""; int i = 0; while (i charArray.length)? str: compressedString; return output; } }

String Pool Vs String Definition (Using 'new' Operator)

Strings can be defined in Java in two ways. 1. String Literals 2  Traditional way(using 'new' operator) String Literals If a String is created by using String literal notation, memory will be allocated directly in string pool. String pool is subset of Heap memory (Where objects will be created). e.g. String companyName = "Surimenus";      String empName= "Bhargav";       Using 'New' Operator If a String is created using new operator, memory will be allocated in Heap Memory not in String pool. e.g. String companyName = new String("Surimenus"); String empName= new String("Bhargav"); String Pool vs Using 'new' Operator String which are created in String pool will re-reference by reference which contains the same content. For example consider the following. String cn1 = "Surimenu"; String cn2 = "Surimenu"; In the above scenario cn1 and cn2 references having the same content and these are created in Strin...

Self Signed Certificates Vs Signed Certificates (CA Certificates)

Certificates Certificates basically two categories. Self Signed Certificates  - will create by self CA Certificates  - will be  provided by Third party vendor with robust algorithms Depends on the location of installing the certificate these are two types 1. Public Key Certificates (Client Side) 2. Private Key Certificates (Server Side) Self Signed Certificates   If any one is using self signed certificates in their applications they have to make sure both server side and client side certificates are in sync. Other wise we should be ready to face SSLHandShake Exceptions. These will be preferable mostly for lower environments not for production. CA certificates  If you install CA certificates on server side, client side certificates are installed automatically whenever they access the server. So in production for CA certificates there is no need to install the client side certificates. We can generate a Self Signed Certificate using Java Key tool JAVA_HOME/bi...