10
Ajay Dubedi Salesforce Expert

Developer Transition from Java to Salesforce

Embed Size (px)

Citation preview

Page 1: Developer Transition from Java to Salesforce

Ajay DubediSalesforce Expert

Page 2: Developer Transition from Java to Salesforce

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­ Hibernate combination.

Developer Transition from Java to Salesforce

www.cloudanalogy.com

Page 3: Developer Transition from Java to Salesforce

Multi-tenant 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 Multi-tenant 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.

Developer Transition from Java to Salesforce

www.cloudanalogy.com

Page 4: Developer Transition from Java to Salesforce

Developer Transition from Java to Salesforce

www.cloudanalogy.com

Page 5: Developer Transition from Java to Salesforce

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.

Developer Transition from Java to Salesforce

www.cloudanalogy.com

Page 6: Developer Transition from Java to Salesforce

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.

Developer Transition from Java to Salesforce

www.cloudanalogy.com

Page 7: Developer Transition from Java to Salesforce

Developer Transition from Java to Salesforce

www.cloudanalogy.com

Page 8: Developer Transition from Java to Salesforce

Packaging and Deployment:

Java Classes developed needs packaging before deployment and every developer needs to do

their own end of unit testing & bug fixing. Creating Jar is a standard process done manually

or by IDE whereelse Force.com gives some readymade restrictions, governor limits and

process for Apex code development, Testing, bug fixing and Deployment. Salesforce has a

much strict validation and deployment steps for live orgs. Feature development in Salesforce

CRM is always specific to certain edition. All the development components like Apex classes,

Visualforce pages, Validation rules etc can be added to Changesets, Managed or Unmanaged

Packaging and Metadata. All of these methods have different purposes Manage Package is for

application development in Appexchange, Changeset and metadata group is for code

deployment.

Developer Transition from Java to Salesforce

www.cloudanalogy.com

Page 9: Developer Transition from Java to Salesforce

Developer Transition from Java to Salesforce

www.cloudanalogy.com

Page 10: Developer Transition from Java to Salesforce

Ajay DubediSalesforce Expert

www.cloudanalogy.com

+1 (415) [email protected] ajay.dubedi