RevolutionPlot3D is a good tool for handling this question. The Airy function is given by
airy[r_?NumericQ, β_?NumericQ] := ((1 - E^(-(2/β^2))) BesselJ[1, (2 π r)/β]^2)/(π r^2 β^2)
Because 3D plotting is much slower, before proceeding to 3D, I recommend making a 2D plot to check that the parameter β has been chosen to give a good looking curve.
Plot[airy[r, 1.], {r, 0, 1.5}, AspectRatio -> Automatic, PlotRange -> All]

Because the revolution will be made about the z-axis, the arguments from the 2D plot can be transferred directly. To get the right look, it is necessary to adjust some the display options away from their default values.
plot = RevolutionPlot3D[airy[r, 1.], {r, 0, 1.5}, Boxed -> False, BoxRatios -> {1, 1, 1}, Axes -> None, PlotRange -> All, Mesh -> 20, PlotPoints -> 100, Lighting -> {{"Ambient", White}}]

A fine witches hat for Halloween.
To extract the polygons used to draw the RevolutionPlot3D, you can use kguler's function getVrtxCoords from this answer. Here is what you will get
polygons = Polygon@getVrtxCoords[plot, {Polygon}]; Graphics3D[polygons]
