Here's an example use of the mentioned tcolorbox package for you:
Output

Code
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\usepackage{tcolorbox}
\usepackage{tikz}
\usetikzlibrary{shapes}
\tcbuselibrary{skins,breakable}
\newcounter{example}
\newtcolorbox[use counter=example]{defi}[3][]{%
enhanced,
breakable,
drop fuzzy shadow, % shadow
colback=yellow!40, % background color of main box
colframe=black, % frame color of main box
top=4mm, % inserted space on top
arc=4mm, % edge arc
enlarge top by=\baselineskip/2+1mm,
enlarge top at break by=0mm,pad at break=2mm,
fontupper=\normalsize,label={#3},
overlay unbroken and first={%
\node[rectangle,rounded corners=10pt,draw=black,fill=white, % first heading box
inner sep=1.5mm,anchor=west] (def) at ([xshift=3.6mm]frame.north west)
{\textbf{\Large Definition \thetcbcounter.}};
\node[ellipse,draw=black,fill=white, % second heading box
inner sep=1mm,anchor=west] at ([xshift=-11mm]def.east)
{\textbf{\footnotesize\hspace{3mm} #2}};
\node[rectangle,rounded corners=10pt,draw=black,fill=white, % first heading box
inner sep=1.5mm,anchor=west] (def) at ([xshift=3.6mm]frame.north west)
{\textbf{\Large Definition \thetcbcounter.}};},
#1}%
\begin{document}
\begin{defi}{Metric Projection}{label:metricprojection}
\blindtext
\end{defi}
\end{document}
This is an adapted version of some code from the tcolorbox manual which additionally gives you the oportunity of labelling the box ("label:metricprojection" in my example). The heading boxes are simple tikz nodes for which you can find numerous examples etc. all over TEX.SE and the web in general, so adjusting them to your exact needs shouldn't be a thing.
The first node is printed two times in order to overlap the second one, which aligns to it. There might be a better way to achieve this, but honestly I don't know how (comments on this are welcome!). It works perfectly well this way though.
Page breaks are not a problem for this, but your requirements regarding footnotes seem to be not possible to match with tcolorbox, see question 124546.