Developing Applications with VMforce


Published on

VMforce gives Java developers a direct path to the cloud. This session will include technical discussions and feature a demo using Spring Roo and services to quickly create a Java application and deploy it to the cloud.

Published in: Business
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Show how quick and easy it is to build and deploy – had to stretch out the content because it is so quick to build and dev.
  • Conceptually Introduce relationship betw VMF PaaS and; highlight benefits of each/bothWe take care of running everything (we manage how it runs)Pre-integrated to all these cloud services
  • Conceptually Introduce relationship betw VMF PaaS and; highlight benefits of each/bothWe take care of running everything (we manage how it runs)Pre-integrated to all these cloud services
  • Vmforce works by providing a multi-tenant jvm cloud that Spring developers can deploy their apps to. Once deployed the Java apps will be able to access services on the platform including search, reporting and the database for persistance. In the reverse, and this is what is more important for developers to understand is that they can leverage existing apps, routines, logic and developer skillsets.Now lets jump into for the cloud
  • JPA and Hibernate are not mutually exclusive. Hibernate is itself a JPA provider. But Hibernate only works with JDBC drivers. VMforce uses DataNucleus as a JPA provider because DataNucleus' SPI (plugin points) is a better fit for the database than JDBC.
  • More details in stagingRabitmqRoutingAdoption: -> Java, open source techs
  • Talk about Sandbox
  • oauth2
  • Tie into CRM activities, reporting, campaigns, contact management etc. – don’t reinvent the wheel.
  • Developing Applications with VMforce

    1. 1. App Development with VMforce<br />Developers<br />Quinton Wall:<br />RamnivasLaddad: VMware<br />
    2. 2. Safe Harbor<br />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, 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.<br />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 outcome of intellectual property and other litigation, risks associated with possible mergers and acquisitions, 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 products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of, inc. is included in our annual report on Form 10-K for the most recent fiscal year ended January 31, 2010. This documents and others are available on the SEC Filings section of the Investor Information section of our Web site. <br />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., inc. assumes no obligation and does not intend to update these forward-looking statements.<br />
    3. 3. @ramnivas<br />Spring framework committer<br />Main interests – Aspect-oriented programming<br />Lightweight enterprise Java<br />Cloud computing<br />Author of books and articles – AspectJ in Action (1st and 2nd edition)<br />Speaker at many professional conferences<br />JavaOne, JavaPolis, SpringOne, Software Development, No Fluff Just Stuff, EclipseCon, O’Reilly OSCON etc.<br />Active involvement in AspectJ since its early form<br />RL<br />
    4. 4. @quintonwall<br /><ul><li> Developer Evangelist
    5. 5. Toolkit Manager for
    6. 6. Apple IOS
    7. 7. Android
    8. 8. Facebook
    9. 9. Google etc..
    10. 10. Founding member of Australian Java Users Group (1995!)
    11. 11. Regular Speaker at many professional conferences
    12. 12. JavaOne, SpringOne, Dreamforce, Paypal X etc.
    13. 13. Fiction author in my copious spare time.
    14. 14. YACA
    15. 15. Yet Another Crazy Aussie</li></ul>QW<br />
    16. 16. What is this session about?<br />The Current State of Software Development<br />Identify ‘typical’ VMforce Use Cases<br />Gets hands on with VMforce<br />What’s next for VMforce<br />RL<br />5<br />
    17. 17. State of Software Development<br />Technologies“Я” Us<br />Batch Job<br />AJAX<br />JAXB<br />TopLink<br />EJB<br />JSF<br />CORBA<br />RMI<br />Hibernate<br />JavaSpaces<br />Servlet<br />OSGi<br />ESB<br />Clustering<br />JSF<br />Security<br />Quartz<br />JDBC<br />JMX<br />JTA<br />Mail<br />Struts<br />JMS<br />SOAP<br />Reporting<br />Testing<br />JPA<br />Web Services<br />Caching<br />Scripting<br />LDAP<br />RL<br />
    18. 18. Traditional Software Development<br />Complexity is increasing at rapid pace<br />More functionality<br />Complex integration<br />Higher stake in quality<br />Confusing technology landscape<br />Coping with complexity a challenge<br />RL<br />
    19. 19. Inherent vs. Apparent Complexity<br /> What can we do about this?<br />Apparent <br />complexity<br />Inherent <br />complexity<br />Implementation<br />Implementation overhead<br />Functional logic<br />RL<br />
    20. 20. Many facets of complexity<br />Development complexity<br />Isolating stable business logic from fast-shifting technology choices<br />Creating high quality systems<br />Responding to changing business needs<br />Deployment and operations complexity<br />Choosing the right hardware, operating system, web/application server<br />Monitoring applications<br />Responding to scalability needs<br />Dealing with hardware- and system-level failures<br />Upgrading without substantial down time<br />Spring<br />VMforce<br />RL<br />15<br />
    21. 21. Want Proof?Demo: Spring Roo & VMforce<br />
    22. 22. What did we just do?<br />
    23. 23. What is VMforce?<br />Develop your Java app locally<br />Eclipse<br />Spring FrameworkJPA<br />Your Java apps can leverage services<br />Relational cloud database<br />Security & user management<br />Search & Chatter APIs<br />Reporting<br />We run it for you in our cloud<br />Managed Java Stack<br />Automatic Scalability<br />Backups and DR<br />Pre-integrated to database<br />
    24. 24. Why VMforce?<br />Develop your Java app locally<br />Leverage existing Java skills and assets<br />Your Java apps can leverage services<br />Centralize data management<br />Centralize user managementFaster time-to-value<br />We run it for you in our cloud<br />No complex HW and SW stacks to build, tune, scale, patch and upgrade<br />Trusted performance, reliability, backup, and disaster recovery<br />
    25. 25. Enterprise Java Developers Don’t Have a Path to the Cloud<br />?<br />6 Million Java Developers<br />
    26. 26. VMforce brings the cloud to Java Developers<br />?<br />6 Million Java Developers<br />QW<br />20<br />
    27. 27. How VMforce works<br />Your app gets search, reporting, mobile and all other services out of the box <br />You deploy a Java Web App<br /><br />VMforce Multi-tenant JVM Cloud<br />JVM<br />Servlet Engine<br />.war<br />API<br />It gets its own servlet engine and JVM<br /> provides the database for your Java app<br />It connects to using existing APIs with JPA layer<br />
    28. 28. Why JPA?<br />Standard way to access relational data<br />Many implementations<br />Hibernate, EclipseLink, OpenJPA, DataNucleus<br />Favored approach even with non-relational databases<br />Google App Engine (Big Table)<br />SimpleJPA (Amazon SimpleDB)<br />Works well with tools such as Spring Roo<br /> Hibernate only works with JDBC drivers.<br />DataNucleus’s SPI is a better fit for DB <br />
    29. 29. VMForce – Building Blocks<br />TODO: update graphics<br />Developers<br />Applications <br />IDE<br />Portal<br />CLI<br />User authentication<br />SFDC Services<br />Routing and load balancing<br />Cloud Controller<br />Spring tc Server<br />Monitoring<br />vSphere<br />VMWARE<br />Physical Infrastructure Layer<br />SFDC<br />
    30. 30. D<br />A<br />B<br />C<br />VMforce 101: The ‘typical’ 10,000 foot view<br />Services<br />VMforce Multi-tenant JVM<br />User Administration<br />Web Services API<br /> ‘Org’<br />Workflow & Approvals<br />Forms & Page Layout Editor<br />Reporting & Analytics<br />Multi-Device<br />Multiple Spring Apps, Java Libraries etc..<br />Search<br />Security<br />Database<br />Each Org has its own instance<br />
    31. 31. 10,000 foot view – App Dev Lifecycle<br />Local Environment<br /> Sandbox<br />Build, Deploy, Test Locally<br />Use DB & Services<br />dev<br />VMforce Cloud<br />Deploy to the Cloud<br />test<br /> Production<br />Multiple Web Apps pointing to different Orgs<br />
    32. 32. Typical VMforce Use Cases<br />
    33. 33. Integration apps<br /><br />Java App<br />On Premise<br />VMforceApp app = <br /> new VMforceApp();<br />Policies__c[] result =<br />app.getPolicies(customerId);<br />public SObject[] getPolicies(String id) {<br /> return convert2SObject(<br /> soap.getPolicies(id));<br />}<br />Delegate complex integration logic to Java tier<br />Reuse existing Java assets (e.g. mapping, parsing logic)<br />Delegate work to Java skilled people<br />
    34. 34. Data processing apps<br /><br />VMforce App<br />public SObject[] process(SObject[] input) {<br /> return myMagician.performMagic(input);<br />}<br />VMforceApp app = new VMforceApp();<br />SObject[] result = app.process(sobjects);<br />sync<br />VMforceApp app = new VMforceApp();<br />app.process(sobjects,callback);<br />public void callback(SObject[] result) {<br /> checkResults(result);<br />}<br />async<br />Delegate heavy-weight processing to Java tier<br />Reuse existing Java assets, libraries etc<br />Delegate dev work to Java skilled people<br />
    35. 35. Authenticate with Salesforce Login<br />Unauthenticated request<br />Redirect for authentication<br />Logged in as Scott<br />to VMforce App<br />Access data as Scott<br /><br />
    36. 36. Hybrid Apps. Leverage Services<br />Public<br />Private<br />Single Data Source<br /> DB<br />QW<br />
    37. 37. Real World Example: E-Commerce before VMforce<br />Decrypt HMAC-SHA<br />(Not supported in Apex)<br />CloudConversion native App<br />Respond with specific SOAP Message<br />(Not supported in Sites)<br />Subscription & Billing Services<br />
    38. 38. Real World Example: E-Commerce with VMforce<br />
    39. 39. Summary<br />VMforce brings the cloud to Java Developers<br />Code the way you know, and you want!<br />Simplified Development<br />Spring: Java Dev<br /> DB & Services in the Cloud<br />VMforce: Cloud Deployment<br />VMforce Use Cases<br /> Databases & Services<br />
    40. 40. Where to get more info<br />Vmforce Lab!<br />Magnolia C (get hands on, and free stuff!)<br />VMforce Developer Home Page<br /><br />VMforce FAQ<br /><br />Vmforce Webinar Series<br /><br /> <br />
    41. 41. App Development with VMforce<br />
    42. 42. Visit the Developer Training and Support Booth in Zone<br />D I S C O V E R<br />Developer training, certification and support resources <br />that help you achieve<br />S U C C E S S<br />Find us in the Partner Demo Area of <br /> Zone 2nd Floor Moscone West<br />Learn about Developer Certifications<br />Discover Developer Learning Paths<br />
    43. 43. Remember. . .<br /><ul><li>Check Chatter for additional session information
    44. 44. Get your developer Workbooks and Cheat Sheets in the Zone
    45. 45. Visit for more information related to this topic</li></ul>Don’t forget the survey!<br />
    46. 46. How Could Dreamforce Be Better? Tell Us!<br />Log in to the Dreamforce app to submit<br />surveys for the sessions you attended<br />Use the Dreamforce Mobile app to submit surveys<br />OR<br />Every session survey you submit is a chance to win an iPod nano!<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.