[verb (plain)] + 上に [i-adj] + 上に [na-adj] + な + 上に [noun] + の + 上に [noun] + である + 上に
上に means "on top of that", "not only… but also": a second point piles onto the first. It follows the plain form of a verb or い-adjective, a な-adjective with な, and a noun with の or である. The second half often has も.
Both halves are good news, or both are bad. To set a good point against a bad one, use けど or のに instead.
The second half states a fact. An order, a request or an invitation does not follow 上に: ×安い上に、買ってください. To give reasons for a request, use し or から.
The same 上に after a noun with の is also the plain place word, "on top of": つくえ机のうえ上にほん本がある, "there's a book on the desk". The "in addition" 上に is followed by a second statement, usually with も.