dropwizard
framework for developing ops-friendly, highperformance, RESTful web services
обо мне

● Андрей Панфилов
● Java Developer
история вопроса
● распространенное мнение: java ==
кровавый энтерпрайз
● некоторым хочется легкости (не в
ущерб преимущест...
об авторе

● Coda Hale (codahale.com)
● «I’m a software engineer in Berkeley,
CA.»
● Principal Software Developer
(Microso...
определение
● Dropwizard is a Java framework for
developing ops-friendly, highperformance, RESTful web services.
● Основна...
комикс
компоненты dropwizard'а
●
●
●
●
●
●
●
●
●
●
●
●

Jetty for HTTP
Jersey for REST
Jackson for JSON
Metrics for metrics
Guava...
Jetty
●
●
●
●
●
●
●
●

Incredibly tuned embedded HTTP server.
Running your service as a simple process.
No PermGen issues
...
Jersey
● JAX-RS (JSR 311: Java API for RESTful
Web Services)
● full-featured RESTful web framework
● nothing beats in term...
Jackson

● lightning fast
● has a sophisticated object mapper
● allows to export domain models directly
Metrics
● powerful toolkit of ways to measure the
behavior of critical components in your
production environment
● with mo...
hello
world
hello
world
hello
world
hello
world
hello
world
hello
world
hello
world
сборка

● Apache Maven
● Fat JAR
запуск приложения

java -jar target/hello-world-0.0.1-SNAPSHOT.
jar server hello-world.yml
лицензия

● Apache License v2.0
интересности

● Отсутствие IoC
● Optional:
Optional<Integer> possible = Optional.of(5);
possible.isPresent(); // returns t...
SWOT
● Strengths
○
○
○
○
○
○

Provisioning
Deployment
Monitoring and Logging
Alerting
Tend to Service Oriented Architectur...
ссылки

● dropwizard.codahale.com
● github.com/codahale/dropwizard
конец

Вопросы?
Upcoming SlideShare
Loading in...5
×

Dropwizard

417

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
417
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Dropwizard

  1. 1. dropwizard framework for developing ops-friendly, highperformance, RESTful web services
  2. 2. обо мне ● Андрей Панфилов ● Java Developer
  3. 3. история вопроса ● распространенное мнение: java == кровавый энтерпрайз ● некоторым хочется легкости (не в ущерб преимуществ java) ● dropwizard -- легковесный фреймворк для веб (It's an answer to the complexity of Java Web and Application Containers, which tend to be overkill for 90% of your use-cases.)
  4. 4. об авторе ● Coda Hale (codahale.com) ● «I’m a software engineer in Berkeley, CA.» ● Principal Software Developer (Microsoft), Infrastructure Architect (Yammer)
  5. 5. определение ● Dropwizard is a Java framework for developing ops-friendly, highperformance, RESTful web services. ● Основная идея: pulls together stable, mature libraries from the Java ecosystem into a simple, light-weight package. ● Название: что такое dropwizard?
  6. 6. комикс
  7. 7. компоненты dropwizard'а ● ● ● ● ● ● ● ● ● ● ● ● Jetty for HTTP Jersey for REST Jackson for JSON Metrics for metrics Guava (highly optimized immutable data structures, speed up development) Logback and slf4j for performant logging Hibernate Validator (JSR-303) Apache HttpClient and Jersey client (interaction with other web services) JDBI or Hibernate Liquibase Freemarker or Mustache (simple template system) Joda Time (handling dates and times)
  8. 8. Jetty ● ● ● ● ● ● ● ● Incredibly tuned embedded HTTP server. Running your service as a simple process. No PermGen issues No application server configuration and maintenance No arcane deployment tools No ClassLoader troubles No hidden application logs No trying to tune a single garbage collector to work with multiple application workloads
  9. 9. Jersey ● JAX-RS (JSR 311: Java API for RESTful Web Services) ● full-featured RESTful web framework ● nothing beats in terms of features and performance ● allows to write clean, testable classes which gracefully map HTTP requests to simple Java objects ● supports streaming output, matrix URI parameters, conditional GET requests ● and much, much more
  10. 10. Jackson ● lightning fast ● has a sophisticated object mapper ● allows to export domain models directly
  11. 11. Metrics ● powerful toolkit of ways to measure the behavior of critical components in your production environment ● with modules for common libraries like Jetty, Logback, Log4j, Apache HttpClient, Ehcache, JDBI, Jersey and reporting backends like Ganglia and Graphite, Metrics provides you with full-stack visibility.
  12. 12. hello world
  13. 13. hello world
  14. 14. hello world
  15. 15. hello world
  16. 16. hello world
  17. 17. hello world
  18. 18. hello world
  19. 19. сборка ● Apache Maven ● Fat JAR
  20. 20. запуск приложения java -jar target/hello-world-0.0.1-SNAPSHOT. jar server hello-world.yml
  21. 21. лицензия ● Apache License v2.0
  22. 22. интересности ● Отсутствие IoC ● Optional: Optional<Integer> possible = Optional.of(5); possible.isPresent(); // returns true possible.get(); // returns 5 ● Immutability
  23. 23. SWOT ● Strengths ○ ○ ○ ○ ○ ○ Provisioning Deployment Monitoring and Logging Alerting Tend to Service Oriented Architecture Loose Coupling ● Weaknesses ● Opportunities ● Threats ○ Support
  24. 24. ссылки ● dropwizard.codahale.com ● github.com/codahale/dropwizard
  25. 25. конец Вопросы?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×