I am using OpenGeo and OpenLayers 3. I managed to set a WMS layer from PostGis (Configure new SQL view) where I show points from coordinates I have in database. I also managed (following tutorial on docs.geoserver) to set the custom icon as graphic.
The next step is that this graphic icon changed on mouse over. I understand, that only image is transferred to client from GeoServer since I am using WMS. But there must be a way to do that. Is it? I think I must use WFS, but maybe I am wrong. What then? There are not plenty examples for OpenLayers3.
Icon style:
<FeatureTypeStyle>
<Rule>
<PointSymbolizer>
<Graphic>
<ExternalGraphic>
<OnlineResource
xlink:type="simple"
xlink:href="image.png" />
<Format>image/png</Format>
</ExternalGraphic>
<Size>32</Size>
</Graphic>
</PointSymbolizer>
</Rule>
</FeatureTypeStyle>