Thursday, September 22, 2016

Developer Transition from Java to Salesforce



This post is for those Java Developers who are looking for a transition to Salesforce or might have already started. Understanding the basic points mentioned here will help them with in this transition.

Salesforce products knowhow: Salesforce is a product with well defined release cycles. Every developer should be on top of the new features of Salesforce release announcements. Salesforce comes with bag full of useful side products like Desk.com, Work.com, Data.com, Communities etc and knowledge of these are very much required. Salesforce out of box Sales and Service model which completes it as a CRM tool are a must to be learned for a Java developer. One should also be aware of the internal Data model which is accessible via direct Object referencing much as in Java-Spring-Hibernet combination.

Multitenant Architecture: Java application run on a JVM and can be hosted on Servers or run locally but Salesforce is a pure Cloud based Technology. For Java developers it is a must to understand that this Multitenant Architecture. The multi tenant design of a cloud service can have a dramatic impact on the application delivery and productivity of an IT organization, yet most CIOs, CTOs, system architects, and developers who use clouds don’t give it a second thought because it’s all magic that transparently happens behind the scenes.

Test

Integration: Salesforce being a CRM need lots of integration with other 3rd party tool. This is one of the most common scenario in which a Java developer learns about Salesforce and take the path of enlightenment. Salesforce also provide ready made APIs for integration. Java developers have several options for integrating Java-based systems with Force.com and Database.com.
  • RESTful APIs, such as the Force.com REST API, Bulk API, and Streaming API.
  • Web Services Connector (WSC)
WSDL generation and consumption is much as a one click process.

Programming Language: Salesforce Apex and Java programming language are quite similar. Apex Code uses a Java-like syntax, and like Java, Apex Code is strongly typed, which is that the code is compiled by the developer before it is executed, and that variables must be associated with specific object types during this compile process. Control structures are also Java-like, with for/while loops and iterators being exactly the same. Apex Code is much more limited in scope; whereas a language and platform like Java can be used to build almost any kind of application. Apex is exclusively for building business applications to manage data and processes within Force.com platform framework. Salesforce library of functions and system commands are must for a Java developer to learn and understand as quickly as possible. Salesforce and Java have some common Design patterns as well.

Apex-topic

No comments:

Post a Comment