Friday, March 29, 2019

REST Services


REST stands for Representational State Transfer which was introduced by Roy Fielding in 2000.It is an architectural style of client/ server networked hypermedia applications.The web services based on REST architecture are known as RESTful web services.These services are build to work best on the web and it specifies contains such as uniform interface.
Data and functionalities are considered resources and accessed using URIs. REST uses various representation to represent a resource like text,JSON and XML.And it designed to use stateless communication protocol like HTTP.Some of the most commonly used methods can be taken as PUT,DELETE,POST,OPTIONS. Not only its sate-less but also some e of the key features are its simple than SOAP ,the errors or mistakes can be known while working ,lightweight ,maintainable and scalable.
Some of the principles to encourage REST to be simple and lightweight because of the self-descriptive messages ,stateful interactions through hyperlinks, recourse identification through URI.
Advantages of REST
  • Separation between the client and the server
  • visibility and reliability
  • Its independent from the type of platform or language.
  • Sate-less communication, replicated repository make for a good scalability potential.
REST advantages over SOAP
  • Low use of resources.
  • Client doesn’t need routing information with the initial URI
  • Usually simple to build and adapt.
  • Process instances are created explicitly.

Friday, March 15, 2019

Introduction to Maven


Maven was created by Jason Van Zyl in 2002 which  is a software project management and comprehension tool which based on the concept of a project object model(POM) which is a XML file including the details of software project,configuration details. Maven can manage projects in other programming language like c# and Ruby .In Yaddish, Maven means “accumulator of knowledge.”It helps manage builds reporting, documentation from a central piece of information. Mavens all the work is depend on plugins such as plug-ins for building, testing, SCM, running a Web server etc.The objectives of the maven is to making the build process easy, providing quality project information, providing a uniform build system as well as giving  guidelines for best practices development.

What are the features of the Maven?
  • Ability of working with multiple projects concurrently.
  • Ability to easily write plugins in Java or scripting languages.
  • There are simple and easy ways to build projects since it hides the unnecessary details.
  • Model based builds which means ability of building any number of projects into predefined output types. 
  • Dynamic downloading of necessary Java libraries and plug-ins from Maven repositories.

Commands of Maven

test.         : Runs all the tests for the project.
clean.      : Delete all the old build files
package  : packages the project to a jar.
install.      : Places the project in the local maven repository.
deploy.      :  Places the project in the remote maven repository

Friday, March 1, 2019

What is NoSQL?


NoSQL is an approach of database management system that do not follow all the rules of a relational DBMS which do not rely on the structures like tables, columns ,rows and use more flexible data models.Its stands for “not only SQL” or “No SQL”.
No SQL based systems are typically used in very large databases and to store unstructured data such as user and session data, chat, messaging etc. Some of the notable implementations of NoSQL are facebook’s Cassandra DB ,Google’s BigTable and Amazon’s SimpleDB.
Types of NoSQL databases
  • Document database- Document is pairing each key with a complex data structure .It can contains different key value pairs. It stores self describing JSON ,XML documents .And also it is used for content management and mobile application data handling as well. Couchbase server ,Marklogic ,MongoDB are some of the examples for document database.
  • Key values stores - These are the simplest NoSQL databases that pairs a unique key with an associated value which can be any type of binary object. These are highly effective at scaling applications such as BerkeleyDB ,Redis and Riak.
  • Graph stores- Uses graph structure to map, store and query relationship and to store information about network of data such as social connection. IBM Graph, Neo4j and Titan etc.
  • Wide-column stores - Organize data tables as columns instead of rows .It group columns of related data together.Wide-column stores can query large data volumes faster than conventional relational DB. Google Big table,Cassandra can be taken as the examples for wide-column stores.
Benefits of NoSQL
  • Scalability-Its a distributed scale-out architecture which makes easy to add or reduce the capacity quickly.
  • Flexibility- Object Oriented programming that is easy to use and flexible.Its a simpler interaction between the application and the DB and faster more agile development.
  • Performance-Enables organizations s to continue to deliver reliable faster user experience.
  • High availability- Design to ensure high availability and reduce the complexity with the RDBMS architecture.It uses masterless architecture to avoid node failures by distributing data equally among multiple resources.