VMforce: The Trusted Enterprise Platform as a Service

29
First Look at New Force.com Technology: Spring into the Cloud Developers Josh Long: Spring Developer Advocate SpringSource, a division of VMware

description

Great news! VMforce is a joint offering between VMware and salesforce.com that provides an open path to the cloud for Java developers. VMforce enables enterprise developers and IT to instantly tap into the Force.com database and services using the popular Spring Development Platform for Java. With VMforce, developers can easily build and deploy next-generation cloud enterprise apps, while also leveraging VMware¹s proven and trusted enterprise cloud infrastructure software. Join us as we explain how VMforce address IT¹s application maintenance challenges. Need more? We'll also delve into VMforce components, use-cases, and available services.

Transcript of VMforce: The Trusted Enterprise Platform as a Service

Page 1: VMforce: The Trusted Enterprise Platform as a Service

First Look at New Force.com Technology: Spring into the Cloud

Developers

Josh Long: Spring Developer Advocate SpringSource, a division of VMware

Page 2: VMforce: The Trusted Enterprise Platform as a Service

Safe Harbor

Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services.

The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our quarterly report on Form 10-Q for the fiscal year ended October 31, 2009 and our other filings. These documents are available on the SEC Filings section of the Investor Information section of our Web site.

Any unreleased services or features referenced in this or other press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.

Page 3: VMforce: The Trusted Enterprise Platform as a Service

What is VMforce?

We run it for you in our cloud

Managed Java StackAutomatic Scalability

Backups and DR

Pre-integrated to Force.com database

Develop your Java app locally

EclipseSpring Framework

JPA

Your Java apps can leverage Force.com services

Relational cloud databaseSecurity & user management

Search & Chatter APIsReporting

Page 4: VMforce: The Trusted Enterprise Platform as a Service

Why VMforce?

We run it for you in our cloud

No complex HW and SW stacks to build,

tune, scale, patch and upgrade

Trusted performance, reliability, backup, and

disaster recovery

Develop your Java app locally

Leverage existing Java skills and assets

Your Java apps can leverage Force.com services

Centralize data managementCentralize user management

Faster time-to-value

Page 5: VMforce: The Trusted Enterprise Platform as a Service

But we’re Force.com developers,How can we take advantage of VMforce and Spring?

Page 6: VMforce: The Trusted Enterprise Platform as a Service

VMforce Multi-tenant JVM Cloud

JVM

Servlet Engine

It gets its own servlet engine and JVM

How VMforce Works

.war

You deploy a Java Web App

It connects to Force.com using existing APIs with JPA layer

Force.com

API

Force.com is the database for your Java app

Your app gets search, reporting, mobile and all other Force.com services out of the box

Page 7: VMforce: The Trusted Enterprise Platform as a Service

Integration Apps

VMforceApp app = new VMforceApp();Policies__c[] result =app.getPolicies(customerId);

public SObject[] getPolicies(String id) { return convert2SObject( soap.getPolicies(id));}

Force.com Java App On-prem

Delegate complex integration logic to Java tier

Reuse existing Java assets (e.g., mapping, parsing logic)

Delegate work to Java skilled people

Page 8: VMforce: The Trusted Enterprise Platform as a Service

Data Processing Apps

VMforceApp app = new VMforceApp();SObject[] result = app.process(sobjects);

public SObject[] process(SObject[] input) { return myMagician.performMagic(input);}

VMforceApp app = new VMforceApp();app.process(sobjects,callback);

public void callback(SObject[] result) { checkResults(result);}

Force.com VMforce App

sync

async

Delegate heavy-weight processing to Java tier

Reuse existing Java assets, libraries etc

Delegate dev work to Java skilled people

Page 9: VMforce: The Trusted Enterprise Platform as a Service

Josh Long

Spring Developer Advocate

SpringSource, a division of

VMware

Page 10: VMforce: The Trusted Enterprise Platform as a Service

About Josh

SpringSource developer

advocate (and committer!)

Author of Apress’

“Spring Recipes, 2nd

Edition.”

Editor for InfoQ.com

Open source fiend and

Hackaholic –

github.com/joshlong or http://joshlong.com

Page 11: VMforce: The Trusted Enterprise Platform as a Service

About SpringSource

SpringSource is the organization that develops the

Spring framework, the leading enterprise Java

framework

SpringSource was acquired by VMware in 2009

VMware and SpringSource are working with

salesforce.com to build a best-of-breed, next generation

cloud for Spring and Salesforce developers alike

Page 12: VMforce: The Trusted Enterprise Platform as a Service

Spring’s Aim: Bring Simplicity to Java Development

Page 13: VMforce: The Trusted Enterprise Platform as a Service

The Spring Framework (lay of the land)

Framework Description

Spring framework The foundation

Spring Security (a.k.a. Acegi) Extensible framework providing authentication, authorization and instance-level security

Spring Web Flow An excellent web framework for building multi-page flows

Spring Web Services Contract-first, document–centric SOAP and XML web services

Spring Dynamic Modules for OSGI Deploy Spring applications on OSGI

Spring Batch Powerful batch processing framework

Spring Integration Implements enterprise integration patterns

Spring BlazeDS integration Support for Adobe BlazeDS

SpringSource dm Server OSGI based application server

Spring AMQP Framework to interface with AMQP message brokers

Page 14: VMforce: The Trusted Enterprise Platform as a Service

At Its Core…Spring Framework is:

The de-facto standard in lightweight Java enterprise

applications

Unified Component Model – Plain Old Java Objects

(POJOs!)

(from day one!)

Inversion of Control / Dependency Injection

Aspect Oriented Programming

Best Practices-Oriented– N-Tier architectures

Page 15: VMforce: The Trusted Enterprise Platform as a Service

Demo 1

Here, we walk through getting STS

Creating a new preconfigured Maven project from STS

Writing a main() method and launching a Spring context– This live coding will go up until we have injected a

Map<String,Object> into a service impl

Page 16: VMforce: The Trusted Enterprise Platform as a Service

Demo 1: Recap for Force.com Developers

Spring Force.com

Java Language Syntax similar to Apex

STS Force.com IDE

POJOs Standard/Custom objects without DML

Develop Locally Develop in the Cloud

Dependency Injection Extract logic from code/app similar to meta-data

Page 17: VMforce: The Trusted Enterprise Platform as a Service

Spring’s Data Access APIs

Flexible– No vendor lock-in:

• Built on Standards like JPA (Java Persistence Architecture)

• Popular alternative implementations: Hibernate

• Simplifying APIs for straight JDBC

– Very clean APIs• You write the code that’s relevant for your business, leave

boilerplate to Spring

Page 18: VMforce: The Trusted Enterprise Platform as a Service

Demo 2

Walk through setting up JPA – (will demonstrate using the STS support to add Maven

dependencies)

Page 19: VMforce: The Trusted Enterprise Platform as a Service

Demo 2: Recap for Force.com Developers

Spring Force.com

Data Access API DML Operations

JDBC DB Connectivity handled by platform

JPA – Java Persistence Architecture– Preferred Java standard for data access

– VMforce will provide a JPA adapter to connect to Force.com DB

Page 20: VMforce: The Trusted Enterprise Platform as a Service

Spring’s Web Tier Support

Web Containers Offer Servlet API– Servlets are low level request/response handlers in a Java web

server (like Tomcat, or SpringSource’s tcServer)

Spring @MVC framework sits on top of Servlet API

Page 21: VMforce: The Trusted Enterprise Platform as a Service

Spring & MVC

Page 22: VMforce: The Trusted Enterprise Platform as a Service

Demo 3

Walk through using our existing CustomerService

from a simple web application and then

Page 23: VMforce: The Trusted Enterprise Platform as a Service

Demo 3: Recap for Force.com Developers

Spring Force.com

Annotations Operate the same as @future, @istest annotations

Web Container Force.com Org

Spring MVC Force.com MVC

Maven Builds handled by platform

Page 24: VMforce: The Trusted Enterprise Platform as a Service

Summary

VMforce enables Java developers to

reach the Cloud– And leverage Force.com Services

(search, reporting, mobile etc)

Force.com developers can leverage

VMforce– leverage Spring (existing apps, logic

etc)

– Will only require a JPA config change

Spring Simplicity– And leverage existing developer

skillsets

Page 25: VMforce: The Trusted Enterprise Platform as a Service

Want to Learn More?

How to get started with Spring & JPA– www.springsource.org

– http://bit.ly/awJ4ix (a tour through Spring 3)

VMforce home page– http://developer.force.com/vmforce

Vmforce Workbook– Get hands on at the DevZone!

Page 26: VMforce: The Trusted Enterprise Platform as a Service

Thank You!

Page 27: VMforce: The Trusted Enterprise Platform as a Service

First Look at New Force.com Technology: Spring into the Cloud

Page 28: VMforce: The Trusted Enterprise Platform as a Service

D I S C O V E R

Visit the Developer Training and Support Booth in Force.com Zone

Discover

Developer

Learning Paths

Developer training, certification and support resources

S U C C E S SFind us in the Partner Demo Area of

Force.com Zone 2nd Floor Moscone West

that help you achieve

Learn about Developer

Certifications

Page 29: VMforce: The Trusted Enterprise Platform as a Service

How Could Dreamforce Be Better? Tell Us!

Log in to the Dreamforce app to submit

surveys for the sessions you attendedUse the

Dreamforce Mobile app to submit

surveysEvery session survey you submit is

a chance to win an iPod nano!

OR