SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
The need for OSGi

                                                         and the SpringSource dm Server




Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.
Who is this guy anyway?


      •Alef Arendsen (Dutch)
                  – Co-founder of SpringSource
                  – Currently strategic advisor at JTeam
                  – Key contributor to Spring Framework
      •SpringSource
                  – The company creating and sustaining many
                    open source technologies
                             • Spring, Integration, Web Flow, Batch, et cetera
                             • AspectJ, Groovy, Grails, ActiveMQ, ServiceMix
                             • Apache Tomcat, Apache HTTPd
                  – Consulting, training and support subscriptions for these
                    many open source technologies and other value-adds


Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.   2
Complexity is your Enemy!

  “Complexity leads to disaster. Your application should be built
    around simple constructs and understandable layers, which
   combine to perform complex tasks. The code itself, however,
  should avoid complexity at every stage. This is much easier to
  say than to do, though, since many programmers are afraid of
        missing important pieces, or of oversimplifying.”
                                                                                                                              -- Justin Gehtland




Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.
Toward Lean Software

             “Lean software is an approach to building software that
          promotes simplicity and minimizes resource usage. Forrester
               analyst John Rymer says he believes the application
            development industry must move to lean software as the
           next development paradigm to move ahead. Lean software
             could be the antidotes to bloated vendors and could be
                          helpful in a down economy.”
                                                                                                    -- Daryl K. Taft – eWeek ( December 2008)




Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.
Towards modular middleware

            “...thus a container is no longer a fixed monolithic concept,
              but a runtime infrastructure that can be assembled from
              existing building blocks. There's no longer a set menu of
             declarative middleware services; you can create your own
                                selection à la carte...”
                                                                                                     -- Rod Johnson – J2EE without EJB (2004)




Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.
Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.
Java API 1.0.2 (9 in total)




Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.   7
Java API 1.1.3 (25 in total)




Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.   8
Java API 1.2                                                               (59 in total)




Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.   9
Java API 1.3 (76 in total)




Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.   10
Further evolution of Java


      •Java                      1.4         had               135 packages
      •Java                      5–          166               packages
      •Java                      6–          203               packages
      •Java                      7–          204               packages (in the current beta)




Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.   11
Spring Framework


      •Spring                         1.0 – 95 packages
      •Spring                         1.1 – 110 packages
      •Spring                         1.2 – 137 packages
      •Spring                         2.0 – 197 packages
      •Spring                         2.5.6 – 231 packages
      •Spring                         3.0 milestone 1 – 232 packages




Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.   12
Spring Framework


      •It looks like we continue to keep on
      dumping stuff in there!




Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.   13
Before we move on...


      •We do seem to get more stuff done
      •Spring 3.0 for example
                  – Introduces REST support
                  – Incorporates XML marshalling support
                             • With JiBX, JAXB, XStream
                             • With XMLBeans and Castor
                  – Introduces an expression language
      •We write applications
                  – That are more feature-rich
                  – Are better to interface with
                  – Et cetera


Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.   14
The types problem


      •All these types do form a problem though
                  – Larger footprint of our applications
                             • Ever heard of 10 to 50 MB WAR or EAR files?
                  – Larger footprint of infrastructure software
                             • If you've ever installed
                               <insert-favorite-vendor>'s
                               application server, you know
                               what I mean
                  – With changing infrastructure
                    landscape this is going to form
                    a real problem very soon
                    (think cloud, et cetera)!



Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.   15
The services problem


      •Even if we fix the types problem
                  – We still can't seem to share services in an elegant way!
                  – To be able to share services
                             • You have to write web services
                             • You have to write RMI interfaces
                  – Redeployment of services
                    seems to be quite hard




Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.   16
It's all about modularity and sharing




Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.
Using OSGi to solve


      •The types problem
                  – Export-Package: I offer types in package XYZ
                  – Import-Package: I need types from package XYZ
      •The services problem
                  – <osgi:service/>: I offer a instance of a service
                  – <osgi:reference/> I need an instance of a service




Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.   18
On to the IDE




Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.
So what if I don't want OSGi


      •Spring + Tomcat: a widely used combo
      •Tomcat however does not have everything you
      might need such as cluster management, diagnostics
      and other monitoring and management features

      •SpringSource tc Server
                  –      The Tomcat you know
                  –      The enterprise capabilities you need
                  –      Nothing new to learn, just plain Tomcat + some extras
                  –      Commercial offering, easy way to get started
                         (€2500,= for 4 CPUs/sockets & a training seat)


Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.   20
Questions?
                        We offer training session in Milano & Roma.
                 Visit http://www.springsource.com/training for more info.
                   There are also possibilities to do a training in-house.

                        Further information about dm Server, tc Server and
                                       SpringSource Tool Suite,
                                 visit http://www.springsource.com

Copyright 2007   SpringSource.   Copying, publishing or distributi   ng without   express written permission is prohibited.

Más contenido relacionado

La actualidad más candente

Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T WardCloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
mfrancis
 
Jimwebber soa
Jimwebber soaJimwebber soa
Jimwebber soa
d0nn9n
 
Jim Webber R E S Tful Services
Jim  Webber    R E S Tful  ServicesJim  Webber    R E S Tful  Services
Jim Webber R E S Tful Services
SOA Symposium
 
Jim Webber Martin Fowler Does My Bus Look Big In This
Jim Webber Martin Fowler Does My Bus Look Big In ThisJim Webber Martin Fowler Does My Bus Look Big In This
Jim Webber Martin Fowler Does My Bus Look Big In This
deimos
 
Velocity china2012kit life on edge —— 如何使用 esi 完成任务
Velocity china2012kit life on edge —— 如何使用 esi 完成任务Velocity china2012kit life on edge —— 如何使用 esi 完成任务
Velocity china2012kit life on edge —— 如何使用 esi 完成任务
Michael Zhang
 

La actualidad más candente (20)

Jenkins Enterprise by CloudBees Webinar
Jenkins Enterprise by CloudBees WebinarJenkins Enterprise by CloudBees Webinar
Jenkins Enterprise by CloudBees Webinar
 
Whats Cool in Java E 6
Whats Cool in Java E 6Whats Cool in Java E 6
Whats Cool in Java E 6
 
DA with Wa - Desktop Apps With Web Apps
DA with Wa - Desktop Apps With Web AppsDA with Wa - Desktop Apps With Web Apps
DA with Wa - Desktop Apps With Web Apps
 
Taking the Application Server to Web Scale with Netflix Open Source Software
Taking the Application Server to Web Scale with Netflix Open Source SoftwareTaking the Application Server to Web Scale with Netflix Open Source Software
Taking the Application Server to Web Scale with Netflix Open Source Software
 
The xsp starter kit
The xsp starter kitThe xsp starter kit
The xsp starter kit
 
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T WardCloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
 
Websphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open SourceWebsphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open Source
 
Subsystems in the Wild - G Charters
Subsystems in the Wild - G ChartersSubsystems in the Wild - G Charters
Subsystems in the Wild - G Charters
 
Windows and Linux Interopability
Windows and Linux InteropabilityWindows and Linux Interopability
Windows and Linux Interopability
 
PHP Apps on the Move - Migrating from In-House to Cloud
PHP Apps on the Move - Migrating from In-House to Cloud  PHP Apps on the Move - Migrating from In-House to Cloud
PHP Apps on the Move - Migrating from In-House to Cloud
 
Integrating Apple Macs Using Novell Technologies
Integrating Apple Macs Using Novell TechnologiesIntegrating Apple Macs Using Novell Technologies
Integrating Apple Macs Using Novell Technologies
 
20120723 aws meister-reloaded-awssd-kfor_ruby-php-python-public
20120723 aws meister-reloaded-awssd-kfor_ruby-php-python-public20120723 aws meister-reloaded-awssd-kfor_ruby-php-python-public
20120723 aws meister-reloaded-awssd-kfor_ruby-php-python-public
 
Jimwebber soa
Jimwebber soaJimwebber soa
Jimwebber soa
 
Akamai 如何幫您的客戶用網站賺錢 how to monetize your site
Akamai 如何幫您的客戶用網站賺錢 how to monetize your siteAkamai 如何幫您的客戶用網站賺錢 how to monetize your site
Akamai 如何幫您的客戶用網站賺錢 how to monetize your site
 
Jim Webber R E S Tful Services
Jim  Webber    R E S Tful  ServicesJim  Webber    R E S Tful  Services
Jim Webber R E S Tful Services
 
Jim Webber Martin Fowler Does My Bus Look Big In This
Jim Webber Martin Fowler Does My Bus Look Big In ThisJim Webber Martin Fowler Does My Bus Look Big In This
Jim Webber Martin Fowler Does My Bus Look Big In This
 
Xen.org Overview 2009
Xen.org Overview 2009Xen.org Overview 2009
Xen.org Overview 2009
 
Comparing JSF, Spring MVC, Stripes, Struts 2, Tapestry and Wicket
Comparing JSF, Spring MVC, Stripes, Struts 2, Tapestry and WicketComparing JSF, Spring MVC, Stripes, Struts 2, Tapestry and Wicket
Comparing JSF, Spring MVC, Stripes, Struts 2, Tapestry and Wicket
 
Velocity china2012kit life on edge —— 如何使用 esi 完成任务
Velocity china2012kit life on edge —— 如何使用 esi 完成任务Velocity china2012kit life on edge —— 如何使用 esi 完成任务
Velocity china2012kit life on edge —— 如何使用 esi 完成任务
 
Sun Startup Essential Program
Sun Startup Essential ProgramSun Startup Essential Program
Sun Startup Essential Program
 

Destacado (6)

LINQ, Entities Framework & ORMs
LINQ, Entities Framework & ORMsLINQ, Entities Framework & ORMs
LINQ, Entities Framework & ORMs
 
C# Chat for Windows: Network infrastructure + file sharing + clipboard sharin...
C# Chat for Windows: Network infrastructure + file sharing + clipboard sharin...C# Chat for Windows: Network infrastructure + file sharing + clipboard sharin...
C# Chat for Windows: Network infrastructure + file sharing + clipboard sharin...
 
Introduction to C#
Introduction to C#Introduction to C#
Introduction to C#
 
JMeter
JMeterJMeter
JMeter
 
Playing with parse.com
Playing with parse.comPlaying with parse.com
Playing with parse.com
 
Java 9 by Alessio Stalla
Java 9 by Alessio StallaJava 9 by Alessio Stalla
Java 9 by Alessio Stalla
 

Similar a Server Day 2009: Spring dm Server by Alef Arendsen

Sai devops - the art of being specializing generalist
Sai   devops - the art of being specializing generalistSai   devops - the art of being specializing generalist
Sai devops - the art of being specializing generalist
Odd-e
 
OSGi made simple - Fuse Application Bundles
OSGi made simple - Fuse Application BundlesOSGi made simple - Fuse Application Bundles
OSGi made simple - Fuse Application Bundles
Rob Davies
 

Similar a Server Day 2009: Spring dm Server by Alef Arendsen (20)

Operations and Monitoring with Spring
Operations and Monitoring with SpringOperations and Monitoring with Spring
Operations and Monitoring with Spring
 
Enterprise Applications With OSGi and SpringSource dm Server
Enterprise Applications With OSGi and SpringSource dm ServerEnterprise Applications With OSGi and SpringSource dm Server
Enterprise Applications With OSGi and SpringSource dm Server
 
History of Java 1/2
History of Java 1/2History of Java 1/2
History of Java 1/2
 
Servlet 4.0 JavaOne 2017
Servlet 4.0 JavaOne 2017Servlet 4.0 JavaOne 2017
Servlet 4.0 JavaOne 2017
 
Choosing a JVM Web Framework
Choosing a JVM Web FrameworkChoosing a JVM Web Framework
Choosing a JVM Web Framework
 
History of Java 2/2
History of Java 2/2History of Java 2/2
History of Java 2/2
 
Sai devops - the art of being specializing generalist
Sai   devops - the art of being specializing generalistSai   devops - the art of being specializing generalist
Sai devops - the art of being specializing generalist
 
Succeding with the Apache SOA stack
Succeding with the Apache SOA stackSucceding with the Apache SOA stack
Succeding with the Apache SOA stack
 
Serverless @ oracle meetup
Serverless @ oracle meetupServerless @ oracle meetup
Serverless @ oracle meetup
 
Serverless Computing 친해지기,Hands on실습 (한국오라클 김종규 컨설턴트)
Serverless Computing 친해지기,Hands on실습 (한국오라클 김종규 컨설턴트)Serverless Computing 친해지기,Hands on실습 (한국오라클 김종규 컨설턴트)
Serverless Computing 친해지기,Hands on실습 (한국오라클 김종규 컨설턴트)
 
OSGi made simple - Fuse Application Bundles
OSGi made simple - Fuse Application BundlesOSGi made simple - Fuse Application Bundles
OSGi made simple - Fuse Application Bundles
 
Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1
 
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
 
WebAssembly & Zero Trust for Code
WebAssembly & Zero Trust for CodeWebAssembly & Zero Trust for Code
WebAssembly & Zero Trust for Code
 
Introducing CrossWorlds for IBM Domino
Introducing CrossWorlds for IBM DominoIntroducing CrossWorlds for IBM Domino
Introducing CrossWorlds for IBM Domino
 
Spring Book – Chapter 1 – Introduction
Spring Book – Chapter 1 – IntroductionSpring Book – Chapter 1 – Introduction
Spring Book – Chapter 1 – Introduction
 
Getting Started with SQL Server Compact Edition 3.51
Getting Started with SQL Server Compact Edition 3.51Getting Started with SQL Server Compact Edition 3.51
Getting Started with SQL Server Compact Edition 3.51
 
Getting Started with Sql Server Compact Edition
Getting Started with Sql Server Compact EditionGetting Started with Sql Server Compact Edition
Getting Started with Sql Server Compact Edition
 
API Description Languages: Which Is The Right One For Me?
 API Description Languages: Which Is The Right One For Me?  API Description Languages: Which Is The Right One For Me?
API Description Languages: Which Is The Right One For Me?
 
Dean4j@Njug5
Dean4j@Njug5Dean4j@Njug5
Dean4j@Njug5
 

Más de JUG Genova

Más de JUG Genova (8)

Lcds & Blaze Ds by Corneliu Creanga
Lcds & Blaze Ds by Corneliu CreangaLcds & Blaze Ds by Corneliu Creanga
Lcds & Blaze Ds by Corneliu Creanga
 
Flex Air Intro
Flex Air IntroFlex Air Intro
Flex Air Intro
 
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo RamassoServer Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
 
Server Day 2009: GlassFish 3 by Alexis Moussine-Pouchkine
Server Day 2009: GlassFish 3 by Alexis Moussine-PouchkineServer Day 2009: GlassFish 3 by Alexis Moussine-Pouchkine
Server Day 2009: GlassFish 3 by Alexis Moussine-Pouchkine
 
Server Day 2009: JBoss 5.0 by Alessio Soldano
Server Day 2009: JBoss 5.0 by Alessio SoldanoServer Day 2009: JBoss 5.0 by Alessio Soldano
Server Day 2009: JBoss 5.0 by Alessio Soldano
 
Java IDE Day 2008 - Introduction by JUG Genova
Java IDE Day 2008 - Introduction by JUG GenovaJava IDE Day 2008 - Introduction by JUG Genova
Java IDE Day 2008 - Introduction by JUG Genova
 
Java Ide Day 2008 - Presentation on JDeveloper by Paolo Ramasso
Java Ide Day 2008 - Presentation on JDeveloper by Paolo RamassoJava Ide Day 2008 - Presentation on JDeveloper by Paolo Ramasso
Java Ide Day 2008 - Presentation on JDeveloper by Paolo Ramasso
 
Java Ide Day 2008 - Presentation on Intelli J Idea by Vaclav Pech
Java Ide Day 2008 - Presentation on Intelli J Idea by Vaclav PechJava Ide Day 2008 - Presentation on Intelli J Idea by Vaclav Pech
Java Ide Day 2008 - Presentation on Intelli J Idea by Vaclav Pech
 

Último

Último (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 

Server Day 2009: Spring dm Server by Alef Arendsen

  • 1. The need for OSGi and the SpringSource dm Server Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited.
  • 2. Who is this guy anyway? •Alef Arendsen (Dutch) – Co-founder of SpringSource – Currently strategic advisor at JTeam – Key contributor to Spring Framework •SpringSource – The company creating and sustaining many open source technologies • Spring, Integration, Web Flow, Batch, et cetera • AspectJ, Groovy, Grails, ActiveMQ, ServiceMix • Apache Tomcat, Apache HTTPd – Consulting, training and support subscriptions for these many open source technologies and other value-adds Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited. 2
  • 3. Complexity is your Enemy! “Complexity leads to disaster. Your application should be built around simple constructs and understandable layers, which combine to perform complex tasks. The code itself, however, should avoid complexity at every stage. This is much easier to say than to do, though, since many programmers are afraid of missing important pieces, or of oversimplifying.” -- Justin Gehtland Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited.
  • 4. Toward Lean Software “Lean software is an approach to building software that promotes simplicity and minimizes resource usage. Forrester analyst John Rymer says he believes the application development industry must move to lean software as the next development paradigm to move ahead. Lean software could be the antidotes to bloated vendors and could be helpful in a down economy.” -- Daryl K. Taft – eWeek ( December 2008) Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited.
  • 5. Towards modular middleware “...thus a container is no longer a fixed monolithic concept, but a runtime infrastructure that can be assembled from existing building blocks. There's no longer a set menu of declarative middleware services; you can create your own selection à la carte...” -- Rod Johnson – J2EE without EJB (2004) Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited.
  • 6. Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited.
  • 7. Java API 1.0.2 (9 in total) Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited. 7
  • 8. Java API 1.1.3 (25 in total) Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited. 8
  • 9. Java API 1.2 (59 in total) Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited. 9
  • 10. Java API 1.3 (76 in total) Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited. 10
  • 11. Further evolution of Java •Java 1.4 had 135 packages •Java 5– 166 packages •Java 6– 203 packages •Java 7– 204 packages (in the current beta) Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited. 11
  • 12. Spring Framework •Spring 1.0 – 95 packages •Spring 1.1 – 110 packages •Spring 1.2 – 137 packages •Spring 2.0 – 197 packages •Spring 2.5.6 – 231 packages •Spring 3.0 milestone 1 – 232 packages Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited. 12
  • 13. Spring Framework •It looks like we continue to keep on dumping stuff in there! Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited. 13
  • 14. Before we move on... •We do seem to get more stuff done •Spring 3.0 for example – Introduces REST support – Incorporates XML marshalling support • With JiBX, JAXB, XStream • With XMLBeans and Castor – Introduces an expression language •We write applications – That are more feature-rich – Are better to interface with – Et cetera Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited. 14
  • 15. The types problem •All these types do form a problem though – Larger footprint of our applications • Ever heard of 10 to 50 MB WAR or EAR files? – Larger footprint of infrastructure software • If you've ever installed <insert-favorite-vendor>'s application server, you know what I mean – With changing infrastructure landscape this is going to form a real problem very soon (think cloud, et cetera)! Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited. 15
  • 16. The services problem •Even if we fix the types problem – We still can't seem to share services in an elegant way! – To be able to share services • You have to write web services • You have to write RMI interfaces – Redeployment of services seems to be quite hard Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited. 16
  • 17. It's all about modularity and sharing Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited.
  • 18. Using OSGi to solve •The types problem – Export-Package: I offer types in package XYZ – Import-Package: I need types from package XYZ •The services problem – <osgi:service/>: I offer a instance of a service – <osgi:reference/> I need an instance of a service Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited. 18
  • 19. On to the IDE Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited.
  • 20. So what if I don't want OSGi •Spring + Tomcat: a widely used combo •Tomcat however does not have everything you might need such as cluster management, diagnostics and other monitoring and management features •SpringSource tc Server – The Tomcat you know – The enterprise capabilities you need – Nothing new to learn, just plain Tomcat + some extras – Commercial offering, easy way to get started (€2500,= for 4 CPUs/sockets & a training seat) Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited. 20
  • 21. Questions? We offer training session in Milano & Roma. Visit http://www.springsource.com/training for more info. There are also possibilities to do a training in-house. Further information about dm Server, tc Server and SpringSource Tool Suite, visit http://www.springsource.com Copyright 2007 SpringSource. Copying, publishing or distributi ng without express written permission is prohibited.