Servoy can be extended in various ways:
With this you can essentially use nearly any existing Java functionality inside Servoy and even integrate with native applications such as web-browsers. Writing extensions requires understanding of Java.
Plugins can be written for the Server, SmartClient and WebClient, see IServerPlugin, ISmartClientPlugin and IClientPlugin from API docs.
Many plugins shipped with servoy are opensource and even shipping with Java source inside, see for example the mail.jar plugin file in default install 'plugins' directory.
Servoy allows usage of regular Java Beans in SmartClient, to utilize some databinding they can implement IServoyAwareBean (or subclasses) see API docs.
To make beans for Web and SmartClient the IServoyBeanFactory can be utilized, see the source of the DBTreeView bean (which is shipping with Servoy)
For information on the usable Servoy API, see the Servoy API documentation online at: http://www.servoy.com/docs/public-api/
Checkout the comprehensive overview for building plugins and beans for Servoy.