a hitchhiker’s guide to springsource how to talk to a java developer (if you must) techc0211

42
Copyright © 2010 VMware, Inc. All rights reserved. This product is protected by U.S. and international copyright and intellectual property laws. VMware products are covered by one or more patents listed at http://www.vmware.com/go/patents . VMware is a registered trademark or trademark of VMware, Inc. in the United States and/or other jurisdictions. All other marks and names mentioned herein may be trademarks of their respective companies. A Hitchhiker’s Guide to SpringSource How to Talk to a Java Developer (if you must) TECHC0211 Aaron Sweemer, VMware

Upload: joyce

Post on 23-Feb-2016

49 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

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

Copyright © 2010 VMware, Inc. All rights reserved. This product is protected by U.S. and international copyright and intellectual property laws. VMware products are covered by one or more patents listed at http://www.vmware.com/go/patents. VMware is a registered trademark or trademark of VMware, Inc. in

the United States and/or other jurisdictions. All other marks and names mentioned herein may be trademarks of their respective companies.

A Hitchhiker’s Guide to SpringSourceHow to Talk to a Java Developer (if you must)

TECHC0211

Aaron Sweemer, VMware

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

Copyright © 2010 VMware, Inc. All rights reserved. This product is protected by U.S. and international copyright and intellectual property laws. VMware products are covered by one or more patents listed at http://www.vmware.com/go/patents. VMware is a registered trademark or trademark of VMware, Inc. in

the United States and/or other jurisdictions. All other marks and names mentioned herein may be trademarks of their respective companies.

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.

“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.”

Disclaimer – Include in All Presentations

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

Our itinerary

3 Confidential

What it means for us

Our new audience

The boring OS

The platform

Frameworks

Tools

Peace, Love and Spring

The vision

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

4

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

Confidential

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

Why does Steve Ballmer love developers?

5 Confidential

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

Idea Design Code Test & QA

Manage &

Monitor

Where does VMware fit in the Software Development Lifecycle?

6 Confidential

Developers IT AdministratorsBusiness Owners

vmware

Transient VMs Test VMs Production VMs

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

7

VMware needs to move up the stack

Confidential

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

8

There basically two choices for any serious, career minded developer

Confidential

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

Why SpringSource?

9 Confidential

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

=

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

Itinerary: what it means for us

10 Confidential

What it means for us

Our new audience

The boring OS

The platform

Frameworks

Tools

Peace, Love and Spring

The vision

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

What it means for us and why we should care

11 Confidential

New relationshipsDevelop new relationships with folks on the

development side of thingsStrengthen existing relationships

Bring Additional ValueDeliver services at a higher levelOffer complete, end-to-end solutions

Sell More of the Core BusinessThe Steve Ballmer effect “Top down” driven demand for more of the core

infrastructure and services

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

12

Do we all need to learn Java now?

Confidential

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

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

Itinerary: our new audience

13 Confidential

What it means for us

Our new audience

The boring OS

The platform

Frameworks

Tools

Peace, Love and Spring

The vision

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

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

14 Confidential

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

15

We need to find some common ground

Confidential

Understanding is the first step on the road to success.

Developers New ideas Drive innovation Very creative Deep focus Pro-change

Operations Stability Reliability Process driven Wide focus Anti-change

Hi

class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); }}

Dude! I think he just made fun of your sister!

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

Itinerary: the boring OS

16 Confidential

What it means for us

Our new audience

The boring OS

The platform

Frameworks

Tools

Peace, Love and Spring

The vision

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

Move along. Nothing to see here.

17 Confidential

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

Itinerary: the platform

18 Confidential

What it means for us

Our new audience

The boring OS

The platform

Frameworks

Tools

Peace, Love and Spring

The vision

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

19

Java 101: the Java programming language

Confidential

Windows

Bytecode

JVM

Linux

Bytecode

JVM

Mac

Bytecode

JVM

Bytecode

Compiler

Source code

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.

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

Java 101: the J2EE platform

20 Confidential

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

Java 101: the Java Virtual Machine (JVM) as a platform

21 Confidential

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

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

Typical Java challenges

22 Confidential

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

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

Itinerary: frameworks

23 Confidential

What it means for us

Our new audience

The boring OS

The platform

Frameworks

Tools

Peace, Love and Spring

The vision

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

Application Frameworks

24 Confidential

Application

Class Library

Component B

Component A

Component C

Component D

Component E

Component F

A

E

BD

C

Application

Application Framework

Component B

Component A

Component C

Component D

Component E

Component F

A D

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.

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

The Spring Framework

25 Confidential

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

Groovy & Grails: Ruby on Rails for Java developers

26 Confidential

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.

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

Java challenges? We ain’t got no stinking Java challenges!

27 Confidential

Tangled Code

Code Duplication

JDBC

Dependency InjectionDecouples components Test a component in isolation

Aspect Oriented ProgrammingManagement in one placeDedupe code chunks

Simplified Transaction FrameworkNo low levels calls to manage

Handles opening, exceptions, cleanup, etc.

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

Itinerary: tools

28 Confidential

What it means for us

Our new audience

The boring OS

The platform

Frameworks

Tools

Peace, Love and Spring

The vision

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

An analogy

29 Confidential

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

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

Spring STS

30 Confidential

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

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

Spring Roo

31 Confidential

“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 JavaRoo is development-time only (no Roo runtime)Roo is a hybrid code generator (both active and passive)Uses Java’s strengths

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

Itinerary: peace, love and Spring

32 Confidential

What it means for us

Our new audience

The boring OS

The platform

Frameworks

Tools

Peace, Love and Spring

The vision

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

Bringing it all together

33 Confidential

Spring

Groovy and Grails

Tool Suite (Eclipse)

tc Server (Tomcat)

dm Server (OSGi)

ERS (Apache)

Hyperic HQ

Hyperic IQ

Run

Manage

Build

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

tc Server = enterprise grade Tomcat

VMware Infrastructure Virtual Datacenter OS

vSphere

Application vServices

ScalabilitySecurityAvailability

VM

HypericHQ

VM

tc Server

Grails App

VM

tc Server

Spring App

SpringSource Tool Suite

Key Highlights

Familiar Developer Experience

Tomcat-Compatible Lean Application Server

Centralized Management

Advanced Alerting, Monitoring, Diagnostics

Deployment Automation, Scheduled Control

Enforce SLAs

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

Another analogy

35 Confidential

VMware vCenter ServerOur 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”

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

The grand vision

36 Confidential

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

37

The grand vision from a different point of view

Confidential

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

Unified Application LifecycleDevelopers to Operations, Datacenter to Cloud

Developers

Tech Selection

ImplementationRequirements

/ Design

Operations

Monitor

ScaleDeploy

Build Run Manage

Physical Virtual Cloud

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

Peace, Love and Spring

40 Confidential

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

41 Confidential

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

Time for some Q&A

42 Confidential