Spring introduction

30
Spring framework Motto: Musíte rozbít vejce když chcete udělat omeletu Spring framework training materials by Roman Pichlík is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License . Sunday 13 May 2012

Transcript of Spring introduction

Page 1: Spring introduction

Spring frameworkMotto: Musíte rozbít vejce když chcete udělat omeletu

Spring framework training materials by Roman Pichlík is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

Sunday 13 May 2012

Page 2: Spring introduction

INTRODUCTIONKurz jak používat Java EE a nezbláznit se z toho

Sunday 13 May 2012

Proč vzniknul SpringSpring koncepce a organizaceCo spring nabízí a k čemu jej můžete použít

Page 3: Spring introduction

Java EE Aneb jak to všechno

začalo

Sunday 13 May 2012

Page 4: Spring introduction

Na počátku všeho byla

Potřebujeme platformu

Sunday 13 May 2012

- rok 2001, nejednotny pristup k n-tier aplikaci- snaha sjednoceni techn. podvozku (komplexni pokryti potreb vicevrtsve aplikace)- Mission critical, Robust, Scalable, Secure, Interoperable, Kecy

Page 5: Spring introduction

A tak vzniklo J2EE

Dobrá myšlenkaHorší provedení

Sunday 13 May 2012

Page 6: Spring introduction

• One size fits all

• Komplexnost

• Zpětná kompatibilita

• Dlouhá perioda

• Vagní/Chybějící specifikace

Sunday 13 May 2012

80% aplikací 20% funkcionality, přiliš složité (learning curve EJB + JTA), špatná rozhodnutí na věky, adopce/flexibilita změn, deployment a konfigurace,

Page 7: Spring introduction

Střih do roku 2002

Sunday 13 May 2012

Page 8: Spring introduction

Rod Johnson

• Návod jak dobře a úspěšně používat

J2EE

Sunday 13 May 2012

- velká popularita, na 30000 řádků kódu, zaklad pro Spring framework- Johnson hřebíček na hlavičku, co lidé doopravdy chtějí a potřebují

Page 9: Spring introduction

Co lidé opravdu chtějí

• Jednoduchost

• Testovatelnost

• Vývoj

• Nasazení

• Agilnost

• myšlenky

Sunday 13 May 2012

Page 10: Spring introduction

Jak vypadá nejenom vaše applikace

Sunday 13 May 2012

Page 11: Spring introduction

Sunday 13 May 2012

Page 12: Spring introduction

Client tier

Middle tier

Data tier

Sunday 13 May 2012

- client tier (pouze prezentační logika)- middle tier (aplikační logika), J2EE, aplikační server- data tier (vrstva dat, poskytovatel dat)

Page 13: Spring introduction

This is your app

Sunday 13 May 2012

Page 14: Spring introduction

Spring framework

Sunday 13 May 2012

Page 15: Spring introduction

Spring framework

• Komplexní řešení

• Poskytovatel služeb

• Rozhraní aplikace/Prostředí

• Rozhraní aplikace/Technologie

Sunday 13 May 2012

- jakým způsobem do toho celého zapadá Spring framework- jak lze na Spring nahlížet

Page 16: Spring introduction

• > Poskytovatel služeb

• Transakce

• AOP

• Konfigurace

• Security

Spring framework

Sunday 13 May 2012

- základní služby, které každá aplikace vyžaduje

Page 17: Spring introduction

• > Rozhraní aplikace/Prostředí

• Aplikační server

• Klientská aplikace

• Testy

Spring framework

Sunday 13 May 2012

- adaptace aplikace a využítých služeb na dané prostředí (transakce, datasource/JNDI)

Page 18: Spring introduction

Spring framework

• > Rozhraní aplikace/Technologie

• ORM/JDBC

• JSF

• EJB

• XML

• ...Sunday 13 May 2012

Page 19: Spring introduction

Co možná o Springu uslyšíte

• Náhrada J2EE a především EJB

• Sada modulů pro různé použití

• Továrna na továrny

• Webový framework

• Sada pomocných API pro Hibernate

Sunday 13 May 2012

Page 20: Spring introduction

Pro stromy nevidí les

Sunday 13 May 2012

- velice zjednodušený náhled- neúplné využití vlatstností Springu

Page 21: Spring introduction

Největší mýty

• Spring se nehodí pro Enterprise aplikace

• Spring nepoužívají velké firmy

• Spring nejde škálovat

Sunday 13 May 2012

- vice jak polovina firem Fortune 500 (spolecnosti podle obratu)- WebSphere certifikavana platforma deployment Spring aplikaci Weblogic, JBoss- škálovatelnost aplikačního rámce je nesmysl

Page 22: Spring introduction

Základní myšlenkyZjednodušení komplexnostiNeinvazivnost

Sunday 13 May 2012

- nejenom J2EE, ale i API abstrakce, Jednoduche veci jednoduse, slozite jednoduse- Zaměření na architekturu aplikace- Vem si jenom to co potrebujes

Page 23: Spring introduction

Řečí technologie

Inversion Of ControlAOP (Aspect Orie.

Program.)

Sunday 13 May 2012

- OOP programování rozhraním/abstraktní třídou- otázka rozdíl rozhrani/abstraktní třída z pohledu API- Open-Closed princip (otevřený pro rozšíření, uzavřený pro modifikace)

Page 24: Spring introduction

Základní stavební kameny

• Core container

• Data Access/Integr.

• Web

• AOP

• Test

Sunday 13 May 2012

- 20 modulu => oddělení odpovědností

Page 25: Spring introduction

Scénáře použití

Sunday 13 May 2012

Page 26: Spring introduction

Kompletní aplikace

Sunday 13 May 2012

Page 27: Spring introduction

Integrace s web frameworky

Sunday 13 May 2012

Page 28: Spring introduction

Integrace s EJB

Sunday 13 May 2012

Page 29: Spring introduction

•Spring Web Flow•Spring BlazeDS Integration•Spring Web Services•Spring Security•Sring Dynamic Modules•Spring Batch•Spring Integration•Spring Roo•Spring IDE•Spring JavaConfig•Spring .NET•SpringSource dm Server

Sunday 13 May 2012

- velký ekosystém framework - tooly - runtime

Page 30: Spring introduction

Interface21 SpringSource

SpringSource akvizice VMWare

2000 2002 2003 2004 2006 2007 2009

J2EE

Kniha Design and Development

Založení OSS projektu

1.0 2.0 2.5 3.0

G2One akvizice

Sunday 13 May 2012- the framework for the 21st Century, August 2009, 429$M VMWare- silna spolecnost behind the scene