vmforce: the trusted enterprise platform as a service
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
First Look at New Force.com Technology: Spring into the Cloud
Developers
Josh Long: Spring Developer Advocate SpringSource, a division of VMware
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.
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
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
But we’re Force.com developers,How can we take advantage of VMforce and Spring?
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
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
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
Josh Long
Spring Developer Advocate
SpringSource, a division of
VMware
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
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
Spring’s Aim: Bring Simplicity to Java Development
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
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
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
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
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
Demo 2
Walk through setting up JPA – (will demonstrate using the STS support to add Maven
dependencies)
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
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
Spring & MVC
Demo 3
Walk through using our existing CustomerService
from a simple web application and then
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
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
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!
Thank You!
First Look at New Force.com Technology: Spring into the Cloud
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
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