I would suggest that you go through the OpenGeo workshop: Introduction to the OpenGeo Suite
Though this workshop deals with the Opengeo suite in particular, it has enough general advice and knowledge, to serve as a good starting point.
Now let me try to answer your questions:
How to publish these maps to any open webservices?
The easiest way is to take your shapefiles that you created in ArcMap, and upload those into PostGIS. Using a GIS server(either geoserver or MapServer), you can create web service. The WMS and WFS are the standard GIS enable services which give out the data in a open GIS format.
You will then require a client that can use those services. If you want to show the services/Map in the web browser, then you would have to create a Openlayers based webpage.
If you want to see the services/Map in your desktop based GIS software like ArcGIS, or any of the FOSS like Qgis, or udigg, you can consume the service directly in those.
For what purpose we need Database like postGIS. How are webservices
differ from databases. With out database, can we build a webGIS?
A database just contains the data. A webservice is required to query the database, and provide information in a standard complaint format. The webservice and database are complimentary to each other.
(As as aside, it is possible to make a webservice use your shapefiles directly. It is not recommended because the performance is better with a database.)