58
IEEE Day 2013 Ilkin Ashrafli Internal Applications team Developer Azercell Telecom LLC http://www.linkedin.com/in/ilkinesrefli https://www.facebook.com/ilkin.esrefli 01 October 2013, Qafqaz University Spring Framework overview and Spring MVC

IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

Embed Size (px)

DESCRIPTION

http://bit.ly/ieeeSpring

Citation preview

Page 1: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

IEEE Day 2013

Ilkin AshrafliInternal Applications team DeveloperAzercell Telecom LLC

http://www.linkedin.com/in/ilkinesreflihttps://www.facebook.com/ilkin.esrefli

01 October 2013, Qafqaz University

Spring Framework overview and Spring MVC

Page 2: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

me

Graduated from Applied Mathematics of Baku State UniversityJava, Java EE, PL/SQL DeveloperInternal Applications team developer at Azercell Telecom LLC

04/10/232

Page 3: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

outline

Spring frameworkInversion of Control(IoC)Spring framework and JEESpring MVCSome statisticsSurvey? {}

04/10/233

Page 4: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

SPRING FRAMEWORK

04/10/234

Page 5: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

what is spring framework?

04/10/235

Page 6: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

what is spring framework?

First version Released in 2003 by Rod JohnsonJava Enterprise application framework for easy and quick developmentOpen sourceUsing PojoMost popular application development framework for enterprise java

04/10/236

Page 7: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

what is spring framework?

LightweightInversion of control (IOC)Aspect oriented (AOP)MVC FrameworkJDBC Exception Handling

04/10/237

Page 8: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

why use spring framework?

ModularTestableAdaptive to change

04/10/238

Page 9: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

why use spring framework?

ProvenPower of IoC, wiring components (JavaBeans) through DependencyEasy testEasy use other frameworksInsulates a user of a functionality from implementation detailsHides unnecessary exceptions

04/10/239

Page 10: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring framework architecture

04/10/2310

Page 11: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

solutions

Modern web (rest, html5, ajax)Data access (rdbms, nosql, mapreduce, cloud)Integration (messaging, batch applications)Mobile (android, ios)Social network (facebook twitter linkedin)Security (authentication and authorization)Cloud ready (google app engine, amazon ec2, cloud foundry)

04/10/2311

Page 12: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

solutions

Spring frameworkSpring frameworkSpring BatchSpring IntegrationSpring SecuritySpring Web ServiceSpring DataSpring Hadoop

Spring MobileSpring SocialSpring Web FlowSpring BlazeDSSpring RooSpring .NETSpring PythonGrails etc.

04/10/2312

Page 13: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

INVERSION OF CONTROL(DEPENDENCY INJECTION) - IOC

04/10/2313

Page 14: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

inversion of control - IoC

Hollywood principle

Don’t call me, I’ll call youDon’t call me, I’ll call you

04/10/2314

Page 15: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

inversion of control - IoC

IoC – is a common characteristic of frameworks.Inversion of Control serves as a design guidelineAccording to Martin Fowler the etymology of the phrase dates back to 1988

04/10/2315

Page 16: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

inversion of control - IoC

In OO Design, components/objects are desired to be reusableHowever, components depends with one another to deliver the solutionSuch dependencies among components results the tight coupling

04/10/2316

Page 17: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

inversion of control - IoC

Component dependency resolutionAmong ComponentsWithin Component

Configuration managementLifecycle management

04/10/2317

Page 18: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

inversion of control - IoC

Apache AvalonApache HivemineDagger (for Android and Java)Google Guice

Butterfly DI DSLNano ContainerPico ContainerSilk DI

Spring FrameworkSpring Framework

04/10/2318

Page 19: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

inversion of control - IoC

Java EE: EJB and EJB ContainerSpring: POJO and POJO ContainerSpring vs Java EE – LightweightObject CreationObject LookupObject Life Cycle Management

04/10/2319

Page 20: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

inversion of control - IoC

04/10/2320

Page 21: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

inversion of control - IoC

04/10/2321

Page 22: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

inversion of control - IoC

04/10/2322

Page 23: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

inversion of control - IoC

04/10/2323

Page 24: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

inversion of control - IoC

04/10/2324

Page 25: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

SPRING FRAMEWORK AND JEE

04/10/2325

Page 26: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring framework and jee

It’s hard to say whish is the best

04/10/2326

Page 27: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring framework and jee

Spring

Spring is framework and single vendor solutionsHas made tremendous contributions to the development communitySupports for almost any web container

Jee

JEE is standardJava Community Process Program - Java Specification Request(JSR)JEE needs application server(glassfish, jboss, weblogic etc.)

04/10/2327

Page 28: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring framework and jee

Spring

Have a look at the job postings in Monster or Dice. A very large proportion of Java jobs require Spring experienceThere has been a lot of innovation lately in the cloud space

Jee

Java finally woke up and responded with Java EE 6JEE, JSF 2.0 is more critical. Java badly needs a modern MVC framework

04/10/2328

Page 29: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring framework and jee

04/10/2329

Page 30: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring framework and jee

04/10/2330

Page 31: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring framework and jee

04/10/2331

Page 32: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

SPRING MVC

04/10/2332

Page 33: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring mvc

Comes with Spring distributionWell integrated with the rest of SpringVery extensible

04/10/2333

Page 34: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring mvc

MVC for Java Web Application

Model : Java POJOView : JSP pagesController : Java Servlet

MVC for Spring

Model : Java MapView : Pluggable view technology(JSP, tiles, velocity etc)Controller : Spring controller classes

04/10/2334

Page 35: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring mvc

04/10/2335

Page 36: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring mvc

04/10/2336

Page 37: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring mvc

04/10/2337

Page 38: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring mvc

04/10/2338

Page 39: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring mvc

04/10/2339

Page 40: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring mvc

04/10/2340

Page 41: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring mvc

04/10/2341

Page 42: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring mvc

04/10/2342

Page 43: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring mvc

04/10/2343

Page 44: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring mvc

04/10/2344

Page 45: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring mvc

Spring MVC provide a clear separation between a model, view and ControllerProvide both XML-based and annotation-based approachesEnriched by Spring application contextTakes convention over configuration approachUses open-close principle

04/10/2345

Page 46: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring ide

04/10/2346

Page 47: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

spring ide

SpringSource Tool Suite (STS) http://spring.io/tools/stsEclipse-powered development environment for building Spring-powered enterprise applications Supports Java, Spring, Groovy and Grails Comes with developer edition of vFabric tc Server vFabric tc Server is Tomcat that is optimized for Spring

04/10/2347

Page 48: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

SOME STATISTICS

04/10/2348

Page 49: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

some statistics

04/10/2349

Page 50: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

some statistics

InfoQ Research– Top 20 Web Frameworks for the JVM (2012)– http://www.infoq.com/research/jvm-web-frameworks

04/10/2350

Page 51: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

some statistics

04/10/2351

Page 52: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

some statistics

Raible Designs – JVM Web framework matrix– http://bit.ly/jvm-frameworks-matrix

04/10/2352

Page 53: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

some statistics

04/10/2353

Page 54: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

references

Spring – www.spring.io Inversion of Control - http://www.martinfowler.com/articles/injection.htmlJava Development With Spring Framework – Johnson, Hoeller et al.Spring in Action – Walls, Breidenbach

04/10/2354

Page 55: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

books

04/10/2355

Page 56: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

survey

http://bit.ly/ieeeSpring

04/10/2356

Page 57: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

? ?

04/10/2357

Page 58: IEEE Day 2013 Baku - Spring Framework overview and Spring MVC

Thanks !!