providing web services on linux/perl

Hello

This is an exploratory question. I have already searched google for publish/provide web services on linux and not found anything that means that much to me.

I would like to publish some web services on a linux machine and don't really know where to start. The web services, at present, will be called by me from the same linux machine by various things such as perl programs and taverna ( a workflow tool which is based on web services).

I don't know anything about web servers on linux and only have basic knowledge of IIS. My guess is that i will have to install apache and configure it somehow to run web services. I guess i will also have to learn how to write a perl program so that it behaves as a web service. I will also have to learn how to call the web service on the local apache server from perl.

Is this what the task entails? I don't want to be barking up the wrong tree for hours if I can avoid it.

Any pointers/starters welcomed. I have found a free book chapter on the web to configure apache. ANy help on the perl side welcomed. I've been advised to use REST rather than SOAP for the web services so I don't know how that affects perl and apache. I imagine for perl it involves a different set of modules. I don't know how this will affect apache.

Thanks for your help
andiejeAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

mwochnickCommented:
To give you a basic background - web services are programs that use a web server(in you case apache)  to accept and respond to requests and generally requests need some programming on the client side to process the result of the call.  

So one option is to use perl to write the programs that respond to these requests, many other languages can be used.  If you are familiar with another language I'd suggest using that language.  (one less thing to learn)

Apache needs to be configured as you have surmised to allow programs to respond to the request.  You will need to install this engine and configure apache to use it.  For instance if you are familiar with java,  Apache Tomcat is a good java engine.

Probably a good place to start is to look for tutorials on how to write a web service in the language of your choice, and look for tutorials on how to configure the apache module for your chose language
here's a tutorial I found for perl - I googled <tutorial perl rest service>
http://onlamp.com/pub/a/onlamp/2008/02/19/developing-restful-web-services-in-perl.html
and here's one to configure apache for perl - I googled <tutorial configure apache mod_perl>
http://perl.apache.org/docs/2.0/user/intro/start_fast.html

I hope this helps

The only other question I would ask, since you don't know much about web services, is why do you want to create web services?  Is it a learning exercise? The reason I ask is its not always a good idea to use services.

Finally, a comment on REST services vs SOAP services.  SOAP services have a lot of additional capability and complexity over REST, but for instance if security and interoperability are important SOAP has a leg up on REST.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
andiejeAuthor Commented:
what does this mean:

Apache needs to be configured as you have surmised to allow programs to respond to the request.  You will need to install this engine and configure apache to use it.  For instance if you are familiar with java,  Apache Tomcat is a good java engine.

what engine?
andiejeAuthor Commented:
do you mean mod_perl?
Your Guide to Achieving IT Business Success

The IT Service Excellence Tool Kit has best practices to keep your clients happy and business booming. Inside, you’ll find everything you need to increase client satisfaction and retention, become more competitive, and increase your overall success.

andiejeAuthor Commented:
Does it make a difference to configuring apache if i use REST or SOAP? I presume mod_perl handles both?
mwochnickCommented:
what I meant by this engine is whatever your choice is for programming - you need an environment that runs your programming language - mod_perl is it for perl along with perl itself - as far as your last question - if you need to use security then there could be more configuration depending on how you do it, but if you are just going to use REST - then mod_perl should do it.
andiejeAuthor Commented:
thanks
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Linux

From novice to tech pro — start learning today.