Few questions on SOAP

Muhammad Alkarouri malkarouri at gmail.com
Thu Feb 18 21:00:17 CET 2010


Your question is borderline if not out of topic in this group. I will
make a few comments though.

On Feb 18, 3:36 pm, joy99 <subhakolkata1... at gmail.com> wrote:
> Dear Group,
>
> I was reading on SOA or Service Oriented Architecture for last few
> days and got some questions. As this is a room for the expert computer
> scientists, if you can help me solve my queries.
>
> As per I read and felt SOA is an architecture, which relies on few
> basic principles as,
> the system must be modular, the modules must be distributive, module
> interfaces must be clearly defined and documented, module that
> implements a service can be swapped out for another module that offers
> the same service and interface, service provider modules must be
> shareable.
> SOA is an architecture which is now a days governed like XML by W3C.

SOA is an architecture which can be implemented using any of a number
of different middleware choices. It is not governed or controlled by
anyone. You are mixing it up with SOAP, which is a web services
technology, currently governed by W3C.
For example, I tend to use SOA implemented using REST
(Representational State Transfer).

All of these technologies are somewhat explained in wikipedia. You
probably want to start there.

> The latest version is SOAP 1.2.

This is the latest of SOAP, not SOA.

> SOA is implemented mainly in a client/server environment, where
> applications have the use of service, thus we can say it is a service-
> oriented architecture.
> It is a step towards cloud computing with its sister WSDL and BPM.

A SOAP web service is described using WSDL. BPM is not really
connected with them, but is probably more connected with SOA as an
architecture. BPM can be implemented using SOAP/WSDL web services, as
can SOA.

>
> If both client/server are following the SOA then they can communicate
> and exchange information without worrying for platform.

You mean SOAP here.
In real life, there are interoperability issues. So various
implementations of SOAP will need a bit of work to actually work
together.

SOA is an architecture and does not help exchanging information in a
direct way.

>
> SOAP is a software implementation of Python,.NET,J2EE based on this
> principle.

SOAP is a web services protocol that was created before the concept of
SOA was developed enough for use and is largely independent of it.
SOAP has been implemented in many different languages, like
Java, .Net, C/C++, Python, etc.

> SOAPPy is a Python implementation.

SOAP implementations in Python are not of the best quality (in my
opinion, there are better ways to achieve the ends needed). SOAPpy is
currently a bit out of date. The better ones are ZSI (for client and
server) and suds (for clients).

I guess I have already answered some of your questions.

>
> My questions are:
> (i)     Am I understanding correctly?

See above.

> (ii)    Does SOAP has any standard architecture like UML other than the
> W3C one?

Depends on what you mean by architecture. SOAP is a standard. UML is a
way of modelling software and can be used to model web services, which
can then be implemented in SOAP.

> (iii)   Can I write short programs to check the SOAP using my personal
> computer as client as well as Server?

Yes. Try ZSI examples (http://pywebsvcs.sourceforge.net/zsi.html).

> (iv)    Is SOAPpy fine?

See above.

> (v)     What is the difference among SOAP, WSDL and BPM.

SOAP standardise the communication between client and server. WSDL
describes the methods provided by a server to be consumed by a client
(interfaces in Java language). BPM is a management method to improve
business and is not a software protocol but an approach.

> (vi)    As SOAP is for communication with a server if I pick a URL and
> start to communicate with Google/Yahoo would they allow?

To be able to talk SOAP to a server, it must understand SOAP. Some of
those companies do provide SOAP web service access, but their standard
search pages are accessible in pure HTTP (the way you browser uses
them).
To access a SOAP service you need to know the functions exported by
it, which are usually defined in a WSDL document.

> (vii)   Can I design a web based robot/crawler with SOAP?

No. Web pages are accessed using simple HTTP. SOAP is usually deployed
on top of HTTP, but most web pages are not communicated using SOAP.
You can search for Python web crawling; there are a lot of examples on
the web.


Regards,

k



More information about the Python-list mailing list