SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
Spring MVC



   Ifnu Bima
     Artivisi

   ifnu.artivisi.com
 ifnubima@gmail.com
Spring Framework

Spring is a non-invasive application development
framework that aims to make the life easier for
Java/J2EE developers, by
●   Providing a DI (or IoC) container.
●   Providing an AOP framework that delivers services such as
    declarative transaction management.
●   Providing abstraction for more complicated (J2EE) services and
    APIs, which removes lot of ”boilerplate code”.
●   DI + AOP + Service Abstraction = Power to the POJO
Modules Of The Spring Framework


                                   Spring ORM                      Spring Web
                                Hibernate support              WebApplicationContext
                                  iBatis support                 Struts integration
                                   JDO support                   Tiles integration
                                                                   Web utilities
                                                                                               Spring MVC
        Spring AOP
                                                                                          Web MVC Framework
    AOP infrastructure
                                                                                               JSP support
     Metadata support
                                                                                       Velocity/FreeMarker support
   Declarative transaction
                                                                                           PFD/Excel support
       management
                                   Spring DAO                     Spring Context
                             Transaction Infrastructure           and Integration
                                  JDBC support                   ApplicationContext
                                  DAO support                  JNDI, EJB, JMS,Email,
                                                               Remoting, WebService




                                                    Spring Core
                                                    IoC Container
Spring MVC At A Glance

●   Spring’s own implementation of Web MVC (Model2)
●   Integrates nicely with the middle-tier via DI
●   Annotation Configuration significantly reduce XML
    configuration
●   The components of the web framework is loosely coupled
●   Supports several view technologies
          –   JSP/Tiles, Velocity, FreeMarker
●   Full control on HTTP low level aspect,
          – e.g. HTTP Response Header, Pragma Cache, Content Type, etc
●   Support all HTTP Method
          –   GET, POST, PUT,DELETE, HEAD, OPTIONS, TRACE
Spring MVC At A Glance

●   Great documentation
●   Spring Web Flow for conversational flow processing
●   Powerful security support with Spring Security :
         –   LDAP Authentication, X509, Role Based Authorization,
         –   Domain Object Access Control List, etc
●   Highly configurable URL :
         –   http://localhost/mystore/product/list
         –   Even we can do : http://localhost/mystore/productlist.php
●   Portlet MVC Framework
         –   Out of the box portlet developement to integrate with portlet container such
               as liferay
Spring MVC At A Glance

●   REST support coming up (Spring 3.0 currently Milestone 2)
         –   Pretty url, for example :
               http://localhost/mystore/product/list/id/2 Instead of
               http://localhost/mystore/product/list?id=2
●   Easy integration with javascript and Ajax library
         –   jQuery, Prototype, Dojo
●   Commonly used as backend data provider for Rich Client
    Frameworks
         –   GWT, Flex, OpenLaszlo
Spring Integration

Spring framework is not just about database and web. Spring also
support a lot of integration channel through different technology
such as:
●   Spring WebService
●   Remoting using RMI,Hessian or Burlap
●   Enterprise java beans (EJB) support
●   Java Messaging Service
●   Email
●   Scheduling
Whats new around spring?
●   OSGi is modular architecture where you simply put additional
    jar to your application, and all part of application recognice it as
    new application module, just as easy as plugin system.
●   SpringSource dm server
         –   completely module-based Java application server that is
               designed to run enterprise Java applications and
               Spring-powered applications with a high degree of
               flexibility and reliability
●   Spring Security
         –   provides powerful and flexible security solutions for
               enterprise applications developed using the Spring
               Framework
Whats new around spring?
●   Spring WS
     –   aims to facilitate contract-first SOAP service development, allowing
         for the creation of flexible web services using one of the many ways
         to manipulate XML payloads
●   Spring Integration
     –   provide a simple model for building enterprise integration solutions.
●   Spring Dynamic Module
     –   makes it easy to build Spring applications that run in an OSGi
         framework
●   Spring Batch
     –   provide bulk processing to perform business operations in mission
         critical environments
Whats new around spring?

●   Spring acquire Covalent, company which provide Tomcat
    commercial support
         –   Springsource is realy serious to transform SpringFramwork as full stack
               java ee solution
●   Spring acquire G2One Company behind groovy and grails.
         –   Groovy is new scripting language run in JVM
         –   Grails is groovy implementation of most productive framework rails
●   Spring acquire Terracota
         –   Terracota provide a technology that enable JVM clustering across multiple
                machine
         –   The most eficient and inovative way to cluster java application
Spring Community

●   Spring is very popular among java programmer.
●   Easy to find programmer with good spring skill.
●   Lots of forum, mailing list and QA site will answer spring related
    question. It means you will never stuck with unsolved problem.
●   Springframework.org is realy helpfull, all spring source
    employee, even rod johnson himself will answer any question in
    it's forum.
●   Spring official reference is documentation attached in spring
    framework download bundle. It cover almost all you need,
    means you never need to buy any book related to spring.
Case Study

●   LinkedIn
            –   34 million users around the world
            –   http://www.springsource.com/files/LinkedIn%20Case%20Study_0.pdf
●   Ariba
            –   Released AribaWeb as open source project. AribaWeb is actually an
                  internal framework used by Ariba over 10 years, it use spring heavily.
●   VOCA
            –   Voca processed over 5 billion transactions worth 4.5 million EURO in 2005
            –   http://java.dzone.com/links/voca_a_spring_casestudy.html
●   Many More
            –   http://www.springsource.com/customer/casestudies
Spring Stack

Spring provide full stack of java development, from core
application, middle tier (database), web and integration with other
system.
Implementing spring architecture means, putting the right
foundation for big and complex application. Once we use spring as
foundation, extending it with more feature is easy and seamless.
Big Spring implementation are there, so all related issue, bug,
pitfall or any problem are already solved. We need to learn from it
to avoid common mistake and to use proven architecture.
There all only positive opinion around internet about spring
implementation.
Springsource

●   Company behind Spring Framwork
●   Provide commercial support
●   Guarantee future development of Spring framework
●   Provide professional certification as spring developer
●   Actively involved in JCP to direct future of java
●   Mantain spring compatibility with older JVM Such as 1.4 version

Más contenido relacionado

La actualidad más candente

Spring Framework Tutorial | VirtualNuggets
Spring Framework Tutorial | VirtualNuggetsSpring Framework Tutorial | VirtualNuggets
Spring Framework Tutorial | VirtualNuggetsVirtual Nuggets
 
Java spring framework
Java spring frameworkJava spring framework
Java spring frameworkRajiv Gupta
 
Spring framework
Spring frameworkSpring framework
Spring frameworkAircon Chen
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring FrameworkRaveendra R
 
Building Web Application Using Spring Framework
Building Web Application Using Spring FrameworkBuilding Web Application Using Spring Framework
Building Web Application Using Spring FrameworkEdureka!
 
A Gentle introduction to Web Development & Django
A Gentle introduction to Web Development & DjangoA Gentle introduction to Web Development & Django
A Gentle introduction to Web Development & DjangoPRASANNAVENK
 
Java EE 8 Web Frameworks: A Look at JSF vs MVC
Java EE 8 Web Frameworks: A Look at JSF vs MVCJava EE 8 Web Frameworks: A Look at JSF vs MVC
Java EE 8 Web Frameworks: A Look at JSF vs MVCJosh Juneau
 
Spring framework-tutorial
Spring framework-tutorialSpring framework-tutorial
Spring framework-tutorialvinayiqbusiness
 
How Spring Framework Really Works?
How Spring Framework Really Works?How Spring Framework Really Works?
How Spring Framework Really Works?NexSoftsys
 
Java EE 8 Recipes
Java EE 8 RecipesJava EE 8 Recipes
Java EE 8 RecipesJosh Juneau
 
Berlin.JAR: Web future without web frameworks
Berlin.JAR: Web future without web frameworksBerlin.JAR: Web future without web frameworks
Berlin.JAR: Web future without web frameworksStephan Schmidt
 

La actualidad más candente (19)

Springboot Microservices
Springboot MicroservicesSpringboot Microservices
Springboot Microservices
 
Reactjs Basics
Reactjs BasicsReactjs Basics
Reactjs Basics
 
Spring Framework Tutorial | VirtualNuggets
Spring Framework Tutorial | VirtualNuggetsSpring Framework Tutorial | VirtualNuggets
Spring Framework Tutorial | VirtualNuggets
 
Java spring framework
Java spring frameworkJava spring framework
Java spring framework
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
 
Building Web Application Using Spring Framework
Building Web Application Using Spring FrameworkBuilding Web Application Using Spring Framework
Building Web Application Using Spring Framework
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
Spring Framework Rohit
Spring Framework RohitSpring Framework Rohit
Spring Framework Rohit
 
A Gentle introduction to Web Development & Django
A Gentle introduction to Web Development & DjangoA Gentle introduction to Web Development & Django
A Gentle introduction to Web Development & Django
 
Java EE 8 Web Frameworks: A Look at JSF vs MVC
Java EE 8 Web Frameworks: A Look at JSF vs MVCJava EE 8 Web Frameworks: A Look at JSF vs MVC
Java EE 8 Web Frameworks: A Look at JSF vs MVC
 
Top 10 web application development frameworks 2016
Top 10 web application development frameworks 2016Top 10 web application development frameworks 2016
Top 10 web application development frameworks 2016
 
Spring framework-tutorial
Spring framework-tutorialSpring framework-tutorial
Spring framework-tutorial
 
Mini-Training Owin Katana
Mini-Training Owin KatanaMini-Training Owin Katana
Mini-Training Owin Katana
 
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško VukmanovićJavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
 
Spring boot jpa
Spring boot jpaSpring boot jpa
Spring boot jpa
 
How Spring Framework Really Works?
How Spring Framework Really Works?How Spring Framework Really Works?
How Spring Framework Really Works?
 
Java EE 8 Recipes
Java EE 8 RecipesJava EE 8 Recipes
Java EE 8 Recipes
 
Berlin.JAR: Web future without web frameworks
Berlin.JAR: Web future without web frameworksBerlin.JAR: Web future without web frameworks
Berlin.JAR: Web future without web frameworks
 

Destacado

Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Tuna Tore
 
Mvc pattern and implementation in java fair
Mvc   pattern   and implementation   in   java fairMvc   pattern   and implementation   in   java fair
Mvc pattern and implementation in java fairTech_MX
 
Java power to the SOA developer (ODTUG Kaleidoscope 2010)
Java power to the SOA developer (ODTUG Kaleidoscope 2010)Java power to the SOA developer (ODTUG Kaleidoscope 2010)
Java power to the SOA developer (ODTUG Kaleidoscope 2010)Lucas Jellema
 
Quartz: What is it?
Quartz: What is it?Quartz: What is it?
Quartz: What is it?alesialucy14
 
Comparable and comparator – a detailed discussion
Comparable and comparator – a detailed discussionComparable and comparator – a detailed discussion
Comparable and comparator – a detailed discussionDharmendra Prasad
 
Getting Started with Spring Boot
Getting Started with Spring BootGetting Started with Spring Boot
Getting Started with Spring BootDavid Kiss
 
Spring 4 final xtr_presentation
Spring 4 final xtr_presentationSpring 4 final xtr_presentation
Spring 4 final xtr_presentationsourabh aggarwal
 
Spring Portlet MVC
Spring Portlet MVCSpring Portlet MVC
Spring Portlet MVCJohn Lewis
 
Introduction To Angular.js - SpringPeople
Introduction To Angular.js - SpringPeopleIntroduction To Angular.js - SpringPeople
Introduction To Angular.js - SpringPeopleSpringPeople
 
the Spring 4 update
the Spring 4 updatethe Spring 4 update
the Spring 4 updateJoshua Long
 
SpringPeople Introduction to Spring Framework
SpringPeople Introduction to Spring FrameworkSpringPeople Introduction to Spring Framework
SpringPeople Introduction to Spring FrameworkSpringPeople
 
Java web services using JAX-WS
Java web services using JAX-WSJava web services using JAX-WS
Java web services using JAX-WSIndicThreads
 
Banking Cards And Emv
Banking Cards And EmvBanking Cards And Emv
Banking Cards And EmvKingshuk1
 
Web Services - A brief overview
Web Services -  A brief overviewWeb Services -  A brief overview
Web Services - A brief overviewRaveendra Bhat
 

Destacado (20)

Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5
 
Mvc pattern and implementation in java fair
Mvc   pattern   and implementation   in   java fairMvc   pattern   and implementation   in   java fair
Mvc pattern and implementation in java fair
 
Java power to the SOA developer (ODTUG Kaleidoscope 2010)
Java power to the SOA developer (ODTUG Kaleidoscope 2010)Java power to the SOA developer (ODTUG Kaleidoscope 2010)
Java power to the SOA developer (ODTUG Kaleidoscope 2010)
 
Quartz: What is it?
Quartz: What is it?Quartz: What is it?
Quartz: What is it?
 
Spring 3 to 4
Spring 3 to 4Spring 3 to 4
Spring 3 to 4
 
Comparable and comparator – a detailed discussion
Comparable and comparator – a detailed discussionComparable and comparator – a detailed discussion
Comparable and comparator – a detailed discussion
 
Getting Started with Spring Boot
Getting Started with Spring BootGetting Started with Spring Boot
Getting Started with Spring Boot
 
Spring 4 final xtr_presentation
Spring 4 final xtr_presentationSpring 4 final xtr_presentation
Spring 4 final xtr_presentation
 
Spring Portlet MVC
Spring Portlet MVCSpring Portlet MVC
Spring Portlet MVC
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Introduction To Angular.js - SpringPeople
Introduction To Angular.js - SpringPeopleIntroduction To Angular.js - SpringPeople
Introduction To Angular.js - SpringPeople
 
Spring framework core
Spring framework coreSpring framework core
Spring framework core
 
the Spring 4 update
the Spring 4 updatethe Spring 4 update
the Spring 4 update
 
SpringPeople Introduction to Spring Framework
SpringPeople Introduction to Spring FrameworkSpringPeople Introduction to Spring Framework
SpringPeople Introduction to Spring Framework
 
Ado.net
Ado.netAdo.net
Ado.net
 
Java web services using JAX-WS
Java web services using JAX-WSJava web services using JAX-WS
Java web services using JAX-WS
 
Spring 4 - A&BP CC
Spring 4 - A&BP CCSpring 4 - A&BP CC
Spring 4 - A&BP CC
 
Banking Cards And Emv
Banking Cards And EmvBanking Cards And Emv
Banking Cards And Emv
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Web Services - A brief overview
Web Services -  A brief overviewWeb Services -  A brief overview
Web Services - A brief overview
 

Similar a Spring Mvc

Enterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable ApplicationsEnterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable ApplicationsGordon Dickens
 
Spring Framework
Spring Framework  Spring Framework
Spring Framework tola99
 
The spring 32 update final
The spring 32 update finalThe spring 32 update final
The spring 32 update finalJoshua Long
 
Multi client Development with Spring
Multi client Development with SpringMulti client Development with Spring
Multi client Development with SpringJoshua Long
 
Spring Basics
Spring BasicsSpring Basics
Spring BasicsEmprovise
 
Spring boot vs spring framework razor sharp web applications
Spring boot vs spring framework razor sharp web applicationsSpring boot vs spring framework razor sharp web applications
Spring boot vs spring framework razor sharp web applicationsKaty Slemon
 
Spring Framework
Spring FrameworkSpring Framework
Spring Frameworknomykk
 
Latest Web development technologies 2021
 Latest Web development technologies 2021 Latest Web development technologies 2021
Latest Web development technologies 2021SWATHYSMOHAN
 
java web framework standard.20180412
java web framework standard.20180412java web framework standard.20180412
java web framework standard.20180412FirmansyahIrma1
 
Spring Book – Chapter 1 – Introduction
Spring Book – Chapter 1 – IntroductionSpring Book – Chapter 1 – Introduction
Spring Book – Chapter 1 – IntroductionTomcy John
 
TheSpringFramework
TheSpringFrameworkTheSpringFramework
TheSpringFrameworkShankar Nair
 
Spring presentecion isil
Spring presentecion isilSpring presentecion isil
Spring presentecion isilWilly Aguirre
 
Spring presentecion isil
Spring presentecion isilSpring presentecion isil
Spring presentecion isilWilly Aguirre
 
Spring tutorials
Spring tutorialsSpring tutorials
Spring tutorialsTIB Academy
 
The Complete Spring Tutorial
The Complete Spring TutorialThe Complete Spring Tutorial
The Complete Spring Tutorialcribes
 
Introduction To J Boss Seam
Introduction To J Boss SeamIntroduction To J Boss Seam
Introduction To J Boss Seamashishkulkarni
 

Similar a Spring Mvc (20)

Enterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable ApplicationsEnterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable Applications
 
Spring ppt
Spring pptSpring ppt
Spring ppt
 
Spring Framework
Spring Framework  Spring Framework
Spring Framework
 
The spring 32 update final
The spring 32 update finalThe spring 32 update final
The spring 32 update final
 
Multi client Development with Spring
Multi client Development with SpringMulti client Development with Spring
Multi client Development with Spring
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Spring Basics
Spring BasicsSpring Basics
Spring Basics
 
Spring boot vs spring framework razor sharp web applications
Spring boot vs spring framework razor sharp web applicationsSpring boot vs spring framework razor sharp web applications
Spring boot vs spring framework razor sharp web applications
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
Frameworks in java
Frameworks in javaFrameworks in java
Frameworks in java
 
Latest Web development technologies 2021
 Latest Web development technologies 2021 Latest Web development technologies 2021
Latest Web development technologies 2021
 
java web framework standard.20180412
java web framework standard.20180412java web framework standard.20180412
java web framework standard.20180412
 
Spring Book – Chapter 1 – Introduction
Spring Book – Chapter 1 – IntroductionSpring Book – Chapter 1 – Introduction
Spring Book – Chapter 1 – Introduction
 
TheSpringFramework
TheSpringFrameworkTheSpringFramework
TheSpringFramework
 
Spring presentecion isil
Spring presentecion isilSpring presentecion isil
Spring presentecion isil
 
Spring presentecion isil
Spring presentecion isilSpring presentecion isil
Spring presentecion isil
 
Spring tutorials
Spring tutorialsSpring tutorials
Spring tutorials
 
Spring
SpringSpring
Spring
 
The Complete Spring Tutorial
The Complete Spring TutorialThe Complete Spring Tutorial
The Complete Spring Tutorial
 
Introduction To J Boss Seam
Introduction To J Boss SeamIntroduction To J Boss Seam
Introduction To J Boss Seam
 

Más de ifnu bima

Northstar Metrics and OKR
Northstar Metrics and OKRNorthstar Metrics and OKR
Northstar Metrics and OKRifnu bima
 
A brief history of metrics
A brief history of metricsA brief history of metrics
A brief history of metricsifnu bima
 
Blibli.com Technology Team
Blibli.com Technology TeamBlibli.com Technology Team
Blibli.com Technology Teamifnu bima
 
IT Today IPB 2017 : bring new era of business with e-commerce
IT Today IPB 2017 : bring new era of business with e-commerceIT Today IPB 2017 : bring new era of business with e-commerce
IT Today IPB 2017 : bring new era of business with e-commerceifnu bima
 
Our Battle Against Technical Debt
Our Battle Against Technical DebtOur Battle Against Technical Debt
Our Battle Against Technical Debtifnu bima
 
Architecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering CultureArchitecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering Cultureifnu bima
 
Lesson learned in developing UI and mobile apps blibli.com
Lesson learned in developing UI and mobile apps blibli.comLesson learned in developing UI and mobile apps blibli.com
Lesson learned in developing UI and mobile apps blibli.comifnu bima
 
java-fundamental-dan-java-web-blibli-dot-com-ilmu-komputer-IPB
java-fundamental-dan-java-web-blibli-dot-com-ilmu-komputer-IPBjava-fundamental-dan-java-web-blibli-dot-com-ilmu-komputer-IPB
java-fundamental-dan-java-web-blibli-dot-com-ilmu-komputer-IPBifnu bima
 
Development di Blibli
Development di BlibliDevelopment di Blibli
Development di Blibliifnu bima
 
solr @ blibli
solr @ bliblisolr @ blibli
solr @ blibliifnu bima
 
Java Technology
Java TechnologyJava Technology
Java Technologyifnu bima
 
Rembug Presentation
Rembug PresentationRembug Presentation
Rembug Presentationifnu bima
 
Free Software Foundation,FSF,Opensource
Free Software Foundation,FSF,OpensourceFree Software Foundation,FSF,Opensource
Free Software Foundation,FSF,Opensourceifnu bima
 

Más de ifnu bima (16)

Northstar Metrics and OKR
Northstar Metrics and OKRNorthstar Metrics and OKR
Northstar Metrics and OKR
 
A brief history of metrics
A brief history of metricsA brief history of metrics
A brief history of metrics
 
Blibli.com Technology Team
Blibli.com Technology TeamBlibli.com Technology Team
Blibli.com Technology Team
 
Clean code
Clean codeClean code
Clean code
 
IT Today IPB 2017 : bring new era of business with e-commerce
IT Today IPB 2017 : bring new era of business with e-commerceIT Today IPB 2017 : bring new era of business with e-commerce
IT Today IPB 2017 : bring new era of business with e-commerce
 
Our Battle Against Technical Debt
Our Battle Against Technical DebtOur Battle Against Technical Debt
Our Battle Against Technical Debt
 
Architecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering CultureArchitecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering Culture
 
Lesson learned in developing UI and mobile apps blibli.com
Lesson learned in developing UI and mobile apps blibli.comLesson learned in developing UI and mobile apps blibli.com
Lesson learned in developing UI and mobile apps blibli.com
 
java-fundamental-dan-java-web-blibli-dot-com-ilmu-komputer-IPB
java-fundamental-dan-java-web-blibli-dot-com-ilmu-komputer-IPBjava-fundamental-dan-java-web-blibli-dot-com-ilmu-komputer-IPB
java-fundamental-dan-java-web-blibli-dot-com-ilmu-komputer-IPB
 
Development di Blibli
Development di BlibliDevelopment di Blibli
Development di Blibli
 
solr @ blibli
solr @ bliblisolr @ blibli
solr @ blibli
 
Java Technology
Java TechnologyJava Technology
Java Technology
 
Why Java
Why JavaWhy Java
Why Java
 
Rembug Presentation
Rembug PresentationRembug Presentation
Rembug Presentation
 
IT Carier
IT CarierIT Carier
IT Carier
 
Free Software Foundation,FSF,Opensource
Free Software Foundation,FSF,OpensourceFree Software Foundation,FSF,Opensource
Free Software Foundation,FSF,Opensource
 

Spring Mvc

  • 1. Spring MVC Ifnu Bima Artivisi ifnu.artivisi.com ifnubima@gmail.com
  • 2. Spring Framework Spring is a non-invasive application development framework that aims to make the life easier for Java/J2EE developers, by ● Providing a DI (or IoC) container. ● Providing an AOP framework that delivers services such as declarative transaction management. ● Providing abstraction for more complicated (J2EE) services and APIs, which removes lot of ”boilerplate code”. ● DI + AOP + Service Abstraction = Power to the POJO
  • 3. Modules Of The Spring Framework Spring ORM Spring Web Hibernate support WebApplicationContext iBatis support Struts integration JDO support Tiles integration Web utilities Spring MVC Spring AOP Web MVC Framework AOP infrastructure JSP support Metadata support Velocity/FreeMarker support Declarative transaction PFD/Excel support management Spring DAO Spring Context Transaction Infrastructure and Integration JDBC support ApplicationContext DAO support JNDI, EJB, JMS,Email, Remoting, WebService Spring Core IoC Container
  • 4. Spring MVC At A Glance ● Spring’s own implementation of Web MVC (Model2) ● Integrates nicely with the middle-tier via DI ● Annotation Configuration significantly reduce XML configuration ● The components of the web framework is loosely coupled ● Supports several view technologies – JSP/Tiles, Velocity, FreeMarker ● Full control on HTTP low level aspect, – e.g. HTTP Response Header, Pragma Cache, Content Type, etc ● Support all HTTP Method – GET, POST, PUT,DELETE, HEAD, OPTIONS, TRACE
  • 5. Spring MVC At A Glance ● Great documentation ● Spring Web Flow for conversational flow processing ● Powerful security support with Spring Security : – LDAP Authentication, X509, Role Based Authorization, – Domain Object Access Control List, etc ● Highly configurable URL : – http://localhost/mystore/product/list – Even we can do : http://localhost/mystore/productlist.php ● Portlet MVC Framework – Out of the box portlet developement to integrate with portlet container such as liferay
  • 6. Spring MVC At A Glance ● REST support coming up (Spring 3.0 currently Milestone 2) – Pretty url, for example : http://localhost/mystore/product/list/id/2 Instead of http://localhost/mystore/product/list?id=2 ● Easy integration with javascript and Ajax library – jQuery, Prototype, Dojo ● Commonly used as backend data provider for Rich Client Frameworks – GWT, Flex, OpenLaszlo
  • 7. Spring Integration Spring framework is not just about database and web. Spring also support a lot of integration channel through different technology such as: ● Spring WebService ● Remoting using RMI,Hessian or Burlap ● Enterprise java beans (EJB) support ● Java Messaging Service ● Email ● Scheduling
  • 8. Whats new around spring? ● OSGi is modular architecture where you simply put additional jar to your application, and all part of application recognice it as new application module, just as easy as plugin system. ● SpringSource dm server – completely module-based Java application server that is designed to run enterprise Java applications and Spring-powered applications with a high degree of flexibility and reliability ● Spring Security – provides powerful and flexible security solutions for enterprise applications developed using the Spring Framework
  • 9. Whats new around spring? ● Spring WS – aims to facilitate contract-first SOAP service development, allowing for the creation of flexible web services using one of the many ways to manipulate XML payloads ● Spring Integration – provide a simple model for building enterprise integration solutions. ● Spring Dynamic Module – makes it easy to build Spring applications that run in an OSGi framework ● Spring Batch – provide bulk processing to perform business operations in mission critical environments
  • 10. Whats new around spring? ● Spring acquire Covalent, company which provide Tomcat commercial support – Springsource is realy serious to transform SpringFramwork as full stack java ee solution ● Spring acquire G2One Company behind groovy and grails. – Groovy is new scripting language run in JVM – Grails is groovy implementation of most productive framework rails ● Spring acquire Terracota – Terracota provide a technology that enable JVM clustering across multiple machine – The most eficient and inovative way to cluster java application
  • 11. Spring Community ● Spring is very popular among java programmer. ● Easy to find programmer with good spring skill. ● Lots of forum, mailing list and QA site will answer spring related question. It means you will never stuck with unsolved problem. ● Springframework.org is realy helpfull, all spring source employee, even rod johnson himself will answer any question in it's forum. ● Spring official reference is documentation attached in spring framework download bundle. It cover almost all you need, means you never need to buy any book related to spring.
  • 12. Case Study ● LinkedIn – 34 million users around the world – http://www.springsource.com/files/LinkedIn%20Case%20Study_0.pdf ● Ariba – Released AribaWeb as open source project. AribaWeb is actually an internal framework used by Ariba over 10 years, it use spring heavily. ● VOCA – Voca processed over 5 billion transactions worth 4.5 million EURO in 2005 – http://java.dzone.com/links/voca_a_spring_casestudy.html ● Many More – http://www.springsource.com/customer/casestudies
  • 13. Spring Stack Spring provide full stack of java development, from core application, middle tier (database), web and integration with other system. Implementing spring architecture means, putting the right foundation for big and complex application. Once we use spring as foundation, extending it with more feature is easy and seamless. Big Spring implementation are there, so all related issue, bug, pitfall or any problem are already solved. We need to learn from it to avoid common mistake and to use proven architecture. There all only positive opinion around internet about spring implementation.
  • 14. Springsource ● Company behind Spring Framwork ● Provide commercial support ● Guarantee future development of Spring framework ● Provide professional certification as spring developer ● Actively involved in JCP to direct future of java ● Mantain spring compatibility with older JVM Such as 1.4 version