1 / 42

A Hitchhiker’s Guide to SpringSource How to Talk to a Java Developer (if you must) TECHC0211

A Hitchhiker’s Guide to SpringSource How to Talk to a Java Developer (if you must) TECHC0211 Aaron Sweemer, VMware. This session may contain product features that are currently under development.

joyce
Download Presentation

A Hitchhiker’s Guide to SpringSource How to Talk to a Java Developer (if you must) TECHC0211

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Hitchhiker’s Guide to SpringSourceHow to Talk to a Java Developer (if you must) TECHC0211 Aaron Sweemer, VMware

  2. This session may contain product features that are currently under development. This session/overview of the new technology represents no commitment from VMware to deliver these features in any generally available product. Features are subject to change, and must not be included in contracts, purchase orders, or sales agreements of any kind. Technical feasibility and market demand will affect final delivery. Pricing and packaging for any new technologies or features discussed or presented have not been determined. Disclaimer – Include in All Presentations “These features are representative of feature areas under development. Feature commitments are subject to change, and must not be included in contracts, purchase orders, or sales agreements of any kind. Technical feasibility and market demand will affect final delivery.”

  3. Our itinerary The boring OS Our new audience Peace, Love and Spring The platform The vision What it means for us Tools Frameworks

  4. What the heck is VMware doing? SpringSource? Really?!

  5. Why does Steve Ballmer love developers?

  6. Where does VMware fit in the Software Development Lifecycle? IT Administrators Business Owners Developers Transient VMs Test VMs Production VMs vmware

  7. VMware needs to move up the stack

  8. There basically two choices for any serious, career minded developer

  9. Why SpringSource? = 73% percent of organizations surveyed said they either use Spring now or plan to use it within the next two years. Application developer productivity and reduced complexity stand out as key reasons for using Spring in building enterprise applications. http://www.eweek.com/c/a/Application-Development/Survey-Spring-Framework-Adoption-Soars

  10. Itinerary: what it means for us The boring OS Our new audience Peace, Love and Spring The platform The vision What it means for us Tools Frameworks

  11. What it means for us and why we should care • New relationships • Develop new relationships with folks on the development side of things • Strengthen existing relationships • Bring Additional Value • Deliver services at a higher level • Offer complete, end-to-end solutions • Sell More of the Core Business • The Steve Ballmer effect • “Top down” driven demand for more of the core infrastructure and services

  12. Do we all need to learn Java now? • We do NOT need to become software developers. • But we DO need to: • Understand developer challenges • Know developer tools • Understand developer lingo • Simply put, we need to … • KNOW OUR NEW AUDIENCE

  13. Itinerary: our new audience The boring OS Our new audience Peace, Love and Spring The platform The vision What it means for us Tools Frameworks

  14. Programmers are translators of human ideas into the language of computers --wikipedia

  15. We need to find some common ground • Understanding is the first step on the road to success. Hi • Developers • New ideas • Drive innovation • Very creative • Deep focus • Pro-change class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); }} Dude! I think he just made fun of your sister! • Operations • Stability • Reliability • Process driven • Wide focus • Anti-change

  16. Itinerary: the boring OS The boring OS Our new audience Peace, Love and Spring The platform The vision What it means for us Tools Frameworks

  17. Move along. Nothing to see here.

  18. Itinerary: the platform The boring OS Our new audience Peace, Love and Spring The platform The vision What it means for us Tools Frameworks

  19. Java 101: the Java programming language The Java programming language is a high-level, object-oriented language. The language is unusual because it is both compiled and interpreted. Compilation translates Java code into an intermediate language called bytecode. Bytecode is then interpreted by the Java Virtual Machine (JVM) for the the underlying operating system and hardware. Source code Compiler Bytecode Windows Linux Mac Bytecode Bytecode Bytecode JVM JVM JVM

  20. Java 101: the J2EE platform

  21. Java 101: the Java Virtual Machine (JVM) as a platform The JVM has also proven to be a robust platform for executing languages other than the Java programming language. For example, Groovy, Scala, and special implementations of Ruby and Python give developers the versatility to program for the JVM in a dynamic or functional language. http://www.ibm.com/developerworks/java/newto/?ca=dgr-lnxw961New2Javadth-J&S_TACT=105AGX59&S_CMP=GRlnxw961

  22. Typical Java challenges • Tangled CodeInfrastructure and business logic interspersed • Code DuplicationMany versions of the update routine • JDBCVery low level code = Error Prone • Result? • Slow to Change • Awful code that nobody wants to maintain

  23. Itinerary: frameworks The boring OS Our new audience Peace, Love and Spring The platform The vision What it means for us Tools Frameworks

  24. Application Frameworks Application Application D A A D B Class Library Application Framework E C Component A Component A Component D Component D Component B Component B Component E Component E Component C Component C Component F Component F Frameworks contain some functionality or flow and calls your code to extend or make the flow a specific one. The principle of frameworks calling your code is known as Inversion of Control.

  25. The Spring Framework

  26. Groovy & Grails: Ruby on Rails for Java developers Grails is an advanced and innovative open source web application platform that delivers new levels of developer productivity by applying principles like Convention over Configuration. Groovy is the leading open source dynamic language for the Java Virtual Machine that offers a flexible Java-like syntax that most Java developers can learn in matter of hours. Groovy provides features seen in other dynamic languages like Ruby, Python or Smalltalk.

  27. Java challenges? We ain’t got no stinking Java challenges! Tangled Code • Dependency Injection • Decouples components • Test a component in isolation • Aspect Oriented Programming • Management in one place • Dedupe code chunks Code Duplication • Simplified Transaction Framework • No low levels calls to manage • Handles opening, exceptions, cleanup, etc. JDBC

  28. Itinerary: tools The boring OS Our new audience Peace, Love and Spring The platform The vision What it means for us Tools Frameworks

  29. An analogy VIC (VMware Infrastructure Client) Our primary interface to the virtual environment IDE (Integrated Development Environment) A developer’s primary interface to the application development environment

  30. Spring STS • SpringSource Tool Suite™ (STS) provides the best Eclipse-powered development environment for building Spring-powered enterprise applications. • Task focused development • OSGi made easy • Guided learning • Resolve problems faster

  31. Spring Roo • “Roo is a little genie who sits in the background and handles the things I don't want to worry about” • Roo is an extensible, text-based RAD tool for Java • Roo is development-time only (no Roo runtime) • Roo is a hybrid code generator (both active and passive) • Uses Java’s strengths

  32. Itinerary: peace, love and Spring The boring OS Our new audience Peace, Love and Spring The platform The vision What it means for us Tools Frameworks

  33. Bringing it all together Spring Groovy and Grails Tool Suite (Eclipse) tc Server (Tomcat) dm Server (OSGi) ERS (Apache) Hyperic HQ Hyperic IQ

  34. VM VM VM tc Server = enterprise grade Tomcat Key Highlights Familiar Developer Experience Tomcat-Compatible Lean Application Server Centralized Management Advanced Alerting, Monitoring, Diagnostics Deployment Automation, Scheduled Control Enforce SLAs Hyperic HQ SpringSource Tool Suite tc Server tc Server Grails App Spring App Application vServices Scalability Security Availability VMware Infrastructure  Virtual Datacenter OS vSphere

  35. Another analogy VMware vCenter Server Our primary interface to the virtual environment Hyperic HQ “Hyperic is Awesome. It’s sort of like a combination of vCenter Monitoring, Alerting, and Performance stats combined with AppSpeed-like discovery and analysis at the app level”

  36. The grand vision

  37. The grand vision from a different point of view

  38. vCloud Express Partners (vCloud Pavilion, Exhibit) (vCloud Pavilion, Exhibit) (vCloud Pavilion)

  39. Unified Application LifecycleDevelopers to Operations, Datacenter to Cloud Tech Selection Monitor Developers Operations Requirements / Design Deploy Implementation Scale Build Run Manage Physical  Virtual  Cloud

  40. Peace, Love and Spring

  41. Time for some Q&A

More Related