Here are a few reasons you may want to use SOAP.
While SOAP supports SSL (just like REST) it also supports WS-Security which adds some enterprise security features. Supports identity through intermediaries, not just point to point (SSL). It also provides a standard implementation of data integrity and data privacy. Calling it “Enterprise” isn’t to say it’s more secure, it simply supports some security tools that typical internet services have no need for, in fact they are really only needed in a few “enterprise” scenarios.
Need ACID Transactions over a service, you’re going to need SOAP. While REST supports transactions, it isn’t as comprehensive and isn’t ACID compliant. Fortunately ACID transactions almost never make sense over the internet. REST is limited by HTTP itself which can’t provide two-phase commit across distributed transactional resources, but SOAP can. Internet apps generally don’t need this level of transactional reliability, enterprise apps sometimes do.
Rest doesn’t have a standard messaging system and expects clients to deal with communication failures by retrying. SOAP has successful/retry logic built in and provides end-to-end reliability even through SOAP intermediaries.
In Summary, SOAP is clearly useful, and important. For instance, if I was writing an iPhone application to interface with my bank I would definitely need to use SOAP. All three features above are required for banking transactions. For example, if I was transferring money from one account to the other, I would need to be certain that it completed. Retrying it could be catastrophic if it succeed the first time, but the response failed.
Both methods are used by many of the large players. It’s a matter of preference. My preference is REST because it’s simpler to use and understand.
SOAP (Simple Object Access Protocol):
- SOAP builds an XML protocol on top of HTTP or sometimes TCP/IP.
- SOAP describes functions, and types of data.
- SOAP is a successor of XML-RPC and is very similar, but describes a standard way to communicate.
- Several programming languages have native support for SOAP, you typically feed it a web service URL and you can call its web service functions without the need of specific code.
- Binary data that is sent must be encoded first into a format such as base64 encoded.
- Has several protocols and technologies relating to it: WSDL, XSDs, SOAP, WS-Addressing
REST (Representational state transfer):
- REST need not be over HTTP but most of my points below will have an HTTP bias.
- REST is very lightweight, it says wait a minute, we don’t need all of this complexity that SOAP created.
- Typically uses normal HTTP methods instead of a big XML format describing everything. For example to obtain a resource you use HTTP GET, to put a resource on the server you use HTTP PUT. To delete a resource on the server you use HTTP DELETE.
- REST is a very simple in that it uses HTTP GET, POST and PUT methods to update resources on the server.
- REST typically is best used with Resource Oriented Architecture (ROA). In this mode of thinking everything is a resource, and you would operate on these resources.
- As long as your programming language has an HTTP library, and most do, you can consume a REST HTTP protocol very easily.
- Binary data or binary resources can simply be delivered upon their request.
There are endless debates on REST vs SOAP on google.
Can we measure happiness like we measure weather/body temperature, blood pressure, sugar level etc scientifically? Some time, i feel, nothing is more important than being happy. This happiness or satisfaction quotient will be a score which one can show off. Those with high happiness score will be considered highly successful in life. People will not scramble for money, power etc.
While thinking of this type of score. Few more parameters hit my mind like:
GOD created sent us (living beings) on earth with an mandate to be happy, healthy, be in good mood and spread beauty, laughter and happiness.
Those who perform well they are rewarded with health, wealth, love, knowledge, wisdom.
Those who don’t, they are taken out of field or they just shrink or perish.
NoSQL database, also called Not Only SQL, is an approach to data management and database design that’s useful for very large sets of distributed data.
NoSQL, which encompasses a wide range of technologies and architectures, seeks to solve the scalability and big data performance issues that relational databases weren’t designed to address. NoSQL is especially useful when an enterprise needs to access and analyze massive amounts of unstructured data or data that’s stored remotely on multiple virtual servers in the cloud. .
Contrary to misconceptions caused by its name, NoSQL does not prohibit structured query language (SQL). While it’s true that some NoSQL systems are entirely non-relational, others simply avoid selected relational functionality such as fixed table schemas and join operations. For example, instead of using tables, a NoSQL database might organize data into objects, key/value pairs or tuples.
Arguably, the most popular NoSQL database is Apache Cassandra. Cassandra, which was once Facebook’s proprietary database, was released as open source in 2008. Other NoSQL implementations include SimpleDB, Google BigTable, Apache Hadoop, MapReduce, MemcacheDB, and Voldemort. Companies that use NoSQL include NetFlix, LinkedIn andTwitter.
NoSQL is often mentioned in conjunction with other big data tools such as massive parallel processing, columnar-based databases and Database-as-a-Service (DaaS)
Jenkins is a Java-based framework for a continuous build process like CruiseControl. It includes, but is not limited to, plugins for email notification, Ant, and various source control tools. A web interface is provided to view the details of the current and previous builds. It allows one to perform a continuous integration of any software development process.
Jenkins, previously known as Hudson, is an open source continuous integration tool written inJava. The project renamed itself after a dispute with Oracle, which claims the right to trademark the Hudson name and has applied for such a trademark as of December 2010. Complicating matters, Oracle has decided to continue development under the Hudson name, creating two parallel versions each considering the other a fork.
Jenkins provides continuous integration services for software development, primarily in the Java programming language. It is a server-based system running in a servlet container such as Apache Tomcat. It supports SCM tools including CVS, Subversion, Git, Mercurial andClearcase, and can execute Apache Ant and Apache Maven based projects as well as arbitrary shell scripts and Windows batch commands. The primary developer of Jenkins is Kohsuke Kawaguchi. Released under the MIT License, Jenkins is free software.
Builds can be started by various means, including being triggered by commit in a version control system, scheduling via a cron-like mechanism, building when other builds have completed, and by requesting a specific build URL.
I was thinking of researching & writing something on this article for a long time. One of the key reasons which compelled me to write & research abt it was that i have heard lot about clod computing, software as service (SAAS) etc but very little heard or seen abt ‘Database as a Service’.
Couple of key question I wanted to research and get answered for those reading this post are:
Posted in Cloud Computing, Database Technologies, Emerging Trends
Tagged Amazon EC2, AWS, ClearDB, database as service, Database on cloud, DB2 on Cloud, DBaaS, IBM SmartCloud Enterprise, MySQL on Cloud, Oracle Cloud, SQL Azure, SQL Server on Cloud, Xeround
Difficult people are a prime cause of job stress among workers. If unattended, this stress causes negative physiological, psychological, and social reactions in individuals. There are a number of ways to deal with difficult people to keep them from getting the better of you including:
- Looking at things objectively, not personally.
- Focusing on the issue, not the feelings.
- Reinforcing yourself with supportive colleagues.
- Communicating your frustrations to someone who is not involved, and
- Using “I will” and “Will you” phrases.