For the tightest integration to your applications, you can use the Java API. From high-level to the deepest customization, this is the definitive reference document.