Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Dropwizard
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ran Tavory
October 15, 2014
Programming
610
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Dropwizard
A gentle introduction to Dropwizard - a java microservices framework
Ran Tavory
October 15, 2014
More Decks by Ran Tavory
See All by Ran Tavory
go-grpc-channelz: a Go based UI for gRPC's channelz
rantav
0
670
Code Review (Navy Hackathon)
rantav
0
130
Infrastructure Testing Using Kubernetes And Golang
rantav
0
130
Infrastructure testing using Kubernetes
rantav
0
620
Interview Workshop - Technical Questions
rantav
0
390
Code Review Best Practices
rantav
0
140
Code Review @ AppsFlyer
rantav
0
120
GraphQL at Yodas
rantav
2
200
Git for champs
rantav
0
190
Other Decks in Programming
See All in Programming
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
800
[DroidKaigi 26] How We Moved from Android Studio to Slack
thisaay
0
190
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
0
130
My Marp Sample
sinoue0108
0
140
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
260
ALB ログから Trace を気合で繋げる技術
fohte
7
860
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
120
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
1
440
Foundry Localでエージェント開発
seosoft
0
120
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
2
990
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
4.3k
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
200
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Accessibility Awareness
sabderemane
1
200
YesSQL, Process and Tooling at Scale
rocio
174
15k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
700
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
370
WCS-LA-2024
lcolladotor
0
820
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
It's Worth the Effort
3n
188
29k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Transcript
A GENTLE INTRODUCTION TO DROPWIZARD Ran Tavory @rantav Gormim Totango
ABOUT ME • Developer developer developer • Gormim • We
help developers find awesome jobs. • You should register! www.gormim.com • Totango • Previously: outbrain, google, youtube, microsoft
MY EXPERIENCE WITH DROPWIZARD • So far implemented 3 microsevices
with DW • At Totango
WHAT IS DROPWIZARD? • A collection of libraries • And
some glue code • Goal: • Make it easy to write (micro)services, in Java
MICROSERVICES, YEAH • Goal: easy to create new services •
Goal: simple to use • Goal: easy to deploy • Goal: easy to monitor, manage • devops friendly
DROPWIZARD IS OPINIONATED* • Jetty for HTTP • Jersey for
REST (JAX-RS) • Jackson for JSON • Metrics for metrics • SLF4J, Logback for logging
… IS OPINIONATED* • Guava b/c it’s useful • Hibernate
Validator (JSR-303) for data validation • Apache HTTP Client for low level HTTP • Jersey HTTP client for high level HTTP • jDBI for relational databases • Liquibase for DB schema maintenance
… IS OPINIONATED* • Freemarker and Mustach for templating •
Joda Time
*SOME MODULARITY IN PLACE • Maven artifacts: • dropwizard-core! •
dropwizard-client (http client) • dropwizard-jdbi! • dropwizard-migrations (liquibase) • dropwizard-hibernate! • dropwizard-auth (HTTP basic and oauth2) • dropwizard-views- mustache and dropwizard-views- freemarker! • dropwizard-scala! • dropwizard-testing
GETTING STARTED • Maven • Application class • Configuration class
• Representation class (optional) • Resource class (optional) • Healthcheck
MAVEN
APPLICATION CLASS
CONFIGURATION CLASS Reads from yml file
CONFIGURATION FILE Example yml file
REPRESENTATION CLASS
RESOURCE CLASS
REGISTER THE RESOURCE
HEALTHCHECK
HEALTHCHECK
RUNNING
RUNNING
ADD COOL BANNERS
OPS FRIENDLY • Now you can access the following URLs:
• /ping • /healthcheck • /metrics • /threads
EXTRA • Nice test support. • Validation • Servlets, Filters
• Custom Representations • HTML Views
EXTRA • Streaming output • Caching • Error Handling •
SSL • Logging
EXTRA • Metrics and Metrics Reporters • Commands (CLI) •
Tasks (admin HTTP interface) • Managed Objects
SUMMARY • Pros: • Easy, simple • Performant • ops
friendly • Opinionated • No web container • Community! • Cons: • Opinionated • Eran will say more ;-)
REFS • https://dropwizard.github.io/dropwizard/ • http://martinfowler.com/articles/microservices.html