BDPAers, I am writing about Web Services to learn more about
the technology. Writing on a topic helps me to crystallize the concept and form
an opinion on when and how to
use a technology.
What are Web Services?
Web Services are software components that allow software
applications on different servers to exchange data across the internet.
Web Services, like many new technologies take a different
approach to solving old problems. One of the most basic tasks in software
systems is to have
one program to call another to perform tasks. Web Services take
this function to the next level by allowing
this kind of transaction over the internet. There were technologies
available prior Web Services that performed this same functions over
distributed networks (Corba and DCOM). CORBA is the
acronym for Common Object Request Broker
Architecture.
DCOM is the
acronym for the Distributed Component Object Model, Microsoft’s offering to support communication
among objects on different computers.
Web Services have an advantage over previous technologies because they
are easier to implement and safely overcome firewall barriers.
That is, Web Services can more easily communicate through firewalls.
Web Services are also platform independent. Applications running on Windows,
Unix and Main Frame servers
can communicate with each other. From an implementation perspective, If you
decided to take advantage of a Web Service somewhere on the Internet you
can have it working in short period of time.
Previous technologies would require a much larger infrastructure
improvement.
Practical Applications
Electronic Fax Machine – Faxes can be sent from the
internet to remote fax machines and from fax machines to email using Web
Services.
Credit Card Validation – Credit Card processing
transactions can be completed with Merchant Service gateways using Web Services
( A much simpler and easier interface)
Language Translation – With the world being flat,
wouldn’t it be nice to understand what the rest of the world is thinking
and doing?
RSS (Really Simple Syndication) News Feeds – Have news
highlights delivered to your website or for that matter to you desktop computer
with minimum effort
What’s Under the Hood?
Web Services use HTTP, the protocol we all know and love,
along with XML to code and decode data. Web Services
also use SOAP to transmit messages. SOAP with stands for
Simple Object Access Protocol. SOAP is embedded within the HTTP protocol.
The trigger for Web Services looks very much like a standard
web page request and response from the user perspective.
Let’s take the example of the Electronic Fax application:
The client, you, enters a url www.MyFaxClient.com/faxit.aspx
(Not real URL)
The
application presents you with a form, you enter your name, from/To phone
numbers, fax message
Your data is
encoded into XML and sent to an application on a remote server, lets just say www.MyFaxServer.com/send-to-real-fax.asmx(Not real URL)
The
server application performs the transaction and returns a success or fail
response back to client.
Web Service Example
The next level of learning anything is to build a prototype.
I extracted this code from the Microsoft ASP.NET 2.0 SDK and installed the client
and server code on different servers to see how it works and improve my comfort
level when working with the technology. The sample application is essentially a
calculator where the client presents the user a form. When the button is
clicked the server does the calculation and returns the results to the client
for display. Click the link below and check-out the Web Service example.
http://www.bdpa-camp.org/client/MathServiceClient.aspx
The server part lives on the hiltronics.com server
Conclusion
I have shared an overview on Web Services. There are many
more details on the topic. I encourage you to use google to get additional
details.
In my opinion it is a very useful technology, however,
it’s still maturing. The W3C organization continues to revise standards.
Also, like most
technologies, one size doesn’t fit all. Making technology decisions
requires careful thought and analysis. A wrong decision can cause “Big
Headaches.”
The big plus is that it is much easier to implement compared
to previous technologies.
Happy Computing!
Frank