* Jakým způsobem můžeme vystavovat aplikační logiku
* RPC versus výměna zpráv
* Rozdíl SOAP a REST služby, za jakých okolností bychom měli použít jedno nebo druhé
* Spring WS
* Návrh kontraktu
* Ukázka Endpointu
* Spring MVC REST
* Návrh REST resourcu
* Ukázka REST controlleru
Tips for writing software that do not wake you up at 2am. A topic highly influenced by Michael T. Nygard's book Release It and lessons we've learnt at GoodData.
Uživatelské testování (User experience) v praxi. Přednáška Jiřího Komára v rámci konference Maraton e-commerce vědomostí od společnosti NetDirect ze dne 5.6.2012.
* Jakým způsobem můžeme vystavovat aplikační logiku
* RPC versus výměna zpráv
* Rozdíl SOAP a REST služby, za jakých okolností bychom měli použít jedno nebo druhé
* Spring WS
* Návrh kontraktu
* Ukázka Endpointu
* Spring MVC REST
* Návrh REST resourcu
* Ukázka REST controlleru
Tips for writing software that do not wake you up at 2am. A topic highly influenced by Michael T. Nygard's book Release It and lessons we've learnt at GoodData.
Uživatelské testování (User experience) v praxi. Přednáška Jiřího Komára v rámci konference Maraton e-commerce vědomostí od společnosti NetDirect ze dne 5.6.2012.
The document discusses various features of the Spring framework including EJB support, creating custom beans, JNDI lookup, remoting, JMS, and mail support. Spring can simplify creation of EJB session and message-driven beans. Custom beans can implement interfaces to define business logic. Spring supports lookup of resources through JNDI and exposing services via remoting protocols like RMI, HTTP invoker, and JMS. It also provides utilities for sending mail.
This document provides an overview of the Spring Integration framework. It discusses key concepts like channels, endpoints, routers, filters and transformers. It describes common integration scenarios like file transfer, database integration and messaging. The goals of Spring Integration are to provide a simple model for complex enterprise integration and facilitate asynchronous, message-driven behavior within Spring applications. An example demonstrates converting a message to uppercase using a service activator and channels.
The document discusses using MongoDB as an alternative to a relational database in Java applications. It outlines some of the drawbacks of using an ORM with an RDBMS, such as complexity in the data access layer. MongoDB offers a simpler document model where data is stored in JSON-like documents without a predefined schema. The presentation demonstrates basic CRUD operations in MongoDB from the Java driver and discusses architecture considerations like lack of transactions when using MongoDB. It also provides an example of how MongoDB is deployed in a clustered configuration for the GoodData platform.
The document discusses the author's experience with NoSQL databases from a Java developer perspective. Prototypes were created using Voldemort, CouchDB, and Neo4J. Implementing connectors for new databases required creating new Java classes, mappings, and DDL for each. CouchDB provides a simpler approach with three document types, a schemaless structure, elastic extensibility, and direct mapping between Java beans and JSON without an ORM or need for deep ORM knowledge.
The document discusses various features of the Spring framework including EJB support, creating custom beans, JNDI lookup, remoting, JMS, and mail support. Spring can simplify creation of EJB session and message-driven beans. Custom beans can implement interfaces to define business logic. Spring supports lookup of resources through JNDI and exposing services via remoting protocols like RMI, HTTP invoker, and JMS. It also provides utilities for sending mail.
This document provides an overview of the Spring Integration framework. It discusses key concepts like channels, endpoints, routers, filters and transformers. It describes common integration scenarios like file transfer, database integration and messaging. The goals of Spring Integration are to provide a simple model for complex enterprise integration and facilitate asynchronous, message-driven behavior within Spring applications. An example demonstrates converting a message to uppercase using a service activator and channels.
The document discusses using MongoDB as an alternative to a relational database in Java applications. It outlines some of the drawbacks of using an ORM with an RDBMS, such as complexity in the data access layer. MongoDB offers a simpler document model where data is stored in JSON-like documents without a predefined schema. The presentation demonstrates basic CRUD operations in MongoDB from the Java driver and discusses architecture considerations like lack of transactions when using MongoDB. It also provides an example of how MongoDB is deployed in a clustered configuration for the GoodData platform.
The document discusses the author's experience with NoSQL databases from a Java developer perspective. Prototypes were created using Voldemort, CouchDB, and Neo4J. Implementing connectors for new databases required creating new Java classes, mappings, and DDL for each. CouchDB provides a simpler approach with three document types, a schemaless structure, elastic extensibility, and direct mapping between Java beans and JSON without an ORM or need for deep ORM knowledge.
1. 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
2. INTRODUCTION
Kurz jak používat Java EE a nezbláznit se z toho
Sunday 13 May 2012
Proč vzniknul Spring
Spring koncepce a organizace
Co spring nabízí a k čemu jej můžete použít
3. Java EE
Aneb jak to všechno
začalo
Sunday 13 May 2012
4. 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
5. A tak vzniklo
J2EE
Dobrá myšlenka
Horší provedení
Sunday 13 May 2012
6. • 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,
8. 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í
9. Co lidé opravdu chtějí
• Jednoduchost
• Testovatelnost
• Vývoj
• Nasazení
• Agilnost
• myšlenky
Sunday 13 May 2012
15. 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
16. Spring framework
• > Poskytovatel služeb
• Transakce
• AOP
• Konfigurace
• Security
Sunday 13 May 2012
- základní služby, které každá aplikace vyžaduje
17. Spring framework
• > Rozhraní aplikace/
Prostředí
• Aplikační server
• Klientská aplikace
• Testy
Sunday 13 May 2012
- adaptace aplikace a využítých služeb na dané prostředí (transakce, datasource/JNDI)
18. Spring framework
• > Rozhraní aplikace/
Technologie
• ORM/JDBC
• JSF
• EJB
• XML
• ...
Sunday 13 May 2012
19. 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
20. Pro stromy nevidí les
Sunday 13 May 2012
- velice zjednodušený náhled
- neúplné využití vlatstností Springu
21. 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
22. Základní
myšlenky
Zjednodušení
komplexnosti
Neinvazivnost
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
23. Řečí
technologie
Inversion Of Control
AOP (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)
24. Základní stavební kameny
• Core container
• Data Access/Integr.
• Web
• AOP
• Test
Sunday 13 May 2012
- 20 modulu => oddělení odpovědností
29. •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
30. Kniha Design and Development
Založení OSS projektu
J2EE
1.0 2.0 2.5 3.0
2000 2002 2003 2004 2006 2007 2009
SpringSource akvizice VMWare
Interface21 SpringSource
G2One akvizice
Sunday 13 May 2012
- the framework for the 21st Century, August 2009, 429$M VMWare
- silna spolecnost behind the scene