OpenLayers supports many protocols and formats to communicate with a server, but brace yourself, because the server part is the tough one.
There are basicly three options for webmapping:
-use a fully integrated proprietary WMS stack like ArcGIS server (don't know about that, never used). Perhaps if your users have to interact with shapefiles and such that will still be used in ArcGis, that's the most simple solution (yet somewhat expensive)
-use fully integrated open source stack like GeoDjango, Mapfish, Cartoweb... easy to set up, but can sometimes hinder you, depending on your needs. I heard GeoDjango is nice.
-build your own stack. Probably the most tedious way (i know for sure), but if you need to implement very specific functions, you're the master on board. You'll need a spatially enabled database like Postgres + Postgis, and maybe a web application framework (like Django, used by GeoDjango), which will process queries from your users (i, for one, use Ruby on Rails, which is sweet but sadly not really appreciated by GIS experts, so the available geo libraries are scarce).
FYI, Postgis ships with shp2pgsl, a command-line tool that converts shapefile into WKB/WKT, and builds SQL scripts to fill your database with these. Such a database is more or less mandatory if you expect many concurrent, simultaneous access (read & write) to your data (not to mention that knowing how to use such a database can help you do really powerfull things, like complex spatial algebra with reprojection on the fly on an awful lot of features).
Now, modern web development use ORMs to make database interactions less painfull, but most of the time you have to code out your own WMS.
there is a lot more info about existing solutions on comparison of the different open source gis servers