Application Developers of this type are Java programmers whose focus is on developing client-side JMS applications, and working with other engineering, QA, and database teams to implement messaging features. Application Developers have in-depth knowledge of Java programming, especially an in-depth knowledge of the JMS API and other J2EE components, such as the JNDI, EJB, and JTA APIs.