Simulate water by layering sine waves at different frequencies and directions to build a height field. Compute the surface normal from the height gradient for lighting. Strong specular highlights from pow(max(dot(reflect, viewDir), 0.0), shininess) sell the wet look. A Fresnel term makes edges more reflective, just like real water.
Key Concepts
layered sine waves
height-based normal
specular highlights
Fresnel effect
Try this shader live in the Shader Sandbox editor with real-time preview.