I would like to know the differences between an Endpoint, Skeleton and Servant.
For me it's the same thing, they are all "Implementation Classes", but when I do SOAP I see "Endpoint", when I do RMI I see "Skeleton", and when I do CORBA I see "Servant" words...
Can you explain me the differences / subtleties ?
Thanks
I would recommend you to read the CORBA Explained Simply book. In CORBA all three terms are used.
Related
I have just recently started to learn some clojure and in order to make something like types (more like contracts) for validations etc, the go-to solution is a library named schema.
Recently I learned that clojure 1.9 however will have something similar named clojure.spec
Can anyone please tell me the differences between them?
When should I use one or the other, pros and cons, etc?
Eric Normand did this comparison, but as already pointed out you should definitely check the rationale, and there is also the guide and a podcast where Rich Hickey talks abouts clojure.spec.
The spec rationale is quite in-depth, I would suggest reading it: https://clojure.org/about/spec after that feel free to compare it with any other library you may be considering.
We all can "see" from the number of articles, news, scientific papers and questions (here!) that REST and SOAP are two highly used web services protocols, but I was wondering if there's a tangible way to know which one (if there isn't another) is the most used one, or if there's some any information about the number of applications that are using one or other.
Thanks.
I am bordering on classifying this as off topic, but..
[WARNING:personal opinion]
SOAP is still used in "plain old and rigid enterprise environments".
They say it has its own merits, but nobody could convince me about it yet.
REST is a great idealistic thing, however it is nothing "rest", and, most importantly, most things that state they are "RESTful" are actually not.
Your API Is Not RESTful
That said, whilst REST is practically a buzzword, SOAP is actually standardised.
Does this justify its bloatedness? To me, it does not. I'd still go with however-much-REST-that-is. But this is just preference.
[/WARNING]
I was asked this question in an interview and had no idea. And I still don't. I thought they were created for this purpose, not to replace something that already exists. Any thoughts?
In oversimplified terms web services 'replaced' older RPC technologies like COM+ and CORBA
CORBA might be what the interviewer had expected you to answer. Or maybe RMI for java2java communication.
Probably the interviewer wanted to name some particular term but they improved the way different applications and systems communicate with each other.
I've heard a lot of buzz through the years about "Self Describing" web services and I'm curious what it means. I've flipped through the W3C standard and it doesn't really help.
I understand you can say "Give me this argument and call this functionality and I'll return something like this", but how is that actually helpful? How can software know what is relevant to a client given some context?
Can anyone give real world examples of this concept, and explain how it's better than some other alternative? Or maybe how useful/useless it is?
It's really designed as a standard for describing in a cross-platform cross-language manner an interface that a developer can use to develop a SOAP based way to exchange information with a web service.
Another alternative would be providing a library that provides a local interface to a blackbox communcation scheme, which is fraught with compatability/security issues.
Or providing documentation, which may be difficult to find, have compatibility issues, be out of date, or incomplete.
In short, it's very useful.
I'm implementing an SOA at a large company, and I'm not sure which web service specifications (WS-*) actually make sense to implement. At a minimum, I'm looking at WS-Addressing, WS-Security, WS-Eventing, and WS-ReliableMessaging. However, there are several other standards that look interesting, but I don't know which ones are widely adapted. I don't want to implement a standard (and force all the developers to follow them) if they're not mature or necessary.
EDIT:
I'm asking this question not about a specific situation, but in general. There are quite a few WS-* standards that don't seem to have a lot of practical use (at least to me), so I'm really curious about which ones are widely used.
Thanks for your help!
KA
WS-Adressing is widely used, and quite useful. For WS-Security, consider the set of mechanisms you'll need (based on your usage scenarios).
Only SOAP is widely adopted. If you care about reach, going beyond WS-Security and WS-Addressing is asking for trouble (even WS-Security can be hard for a lot of people). If you are creating services for internal use in a large company, then I wouldn't worry as much. Something like WCF would allow you to provide endpoints with different bindings for a wide range of consumers without writing any additional code.
There are two types of web services : REST and SOAP. They represent different protocols of sending data over the internet.
SOA is an acronym standing for Service Oriented Architecture. It is a way of architecturing your system using multiplet tiers (applications) one atop the other. Web services, mostly soap based are used to implement this archtecture, but they are not the only way.