Jastrology is an astrology program written in Java using Swiss Ephemeris package. It provides a Swing UI for desktop interactive, and this package can also be used in an J2EE web application to produce dynamic horoscope diagrams.
I like this software. While it doesn't explain aspects or any other astrological stuff, it is good starting point. It creates very good natal picture. It is good starting point for any developer interested in astrology, who would wish to implement it further.