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
Functional Design for Reference Architectures
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Jeferson David Ossa
March 19, 2018
Technology
2
250
Functional Design for Reference Architectures
https://nescala.io/2018/#schedule
https://scala.io/2018/talks.html#/#TOX-4454
Jeferson David Ossa
March 19, 2018
Tweet
Share
More Decks by Jeferson David Ossa
See All by Jeferson David Ossa
implicit def bias = stereotypes |+| prejudices
jedossa
0
790
Exploring the Scala's Tooling Ecosystem
jedossa
0
800
Consistency without Clocks: The FaunaDB Distributed Transaction Protocol
jedossa
0
260
akka-cluster-k8s
jedossa
0
490
Other Decks in Technology
See All in Technology
Cosmos World Foundation Model Platform for Physical AI
takmin
0
770
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
920
Greatest Disaster Hits in Web Performance
guaca
0
200
Digitization部 紹介資料
sansan33
PRO
1
6.8k
What happened to RubyGems and what can we learn?
mikemcquaid
0
270
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
210
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
2
180
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
MCPでつなぐElasticsearchとLLM - 深夜の障害対応を楽にしたい / Bridging Elasticsearch and LLMs with MCP
sashimimochi
0
150
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
210
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
Featured
See All Featured
How to Ace a Technical Interview
jacobian
281
24k
Prompt Engineering for Job Search
mfonobong
0
160
Utilizing Notion as your number one productivity tool
mfonobong
3
220
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
110
Site-Speed That Sticks
csswizardry
13
1.1k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
96
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Being A Developer After 40
akosma
91
590k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
Transcript
Functional Design for Reference Architecture An experience report
About me Jeferson David Ossa @unyagami on twitter FP Professor
Developer at Seven4n
Context • Engineers with Java background (mostly) • Monolithic architecture
• Emerging market • Increasing business complexity • Need for speed • New needs, new approaches
Rediscovering FP • Reducing complexity ◦ Data in => Data
out ◦ Parameterize all things ◦ Type-safe ◦ Immutability • Growing complexity ◦ Apomorphisms ◦ Dynamorphisms ◦ Chronomorphisms ◦ Zygohistomorphic prepromorphisms
Object-Oriented Meets Functional FP Functions Functions Functions Functions Functions in
the small, objects in the large OO Single responsibility Open/Close Dependency inversion Factory pattern etc.
Challenges • Continue delivering business value • Onboarding new team
members • Lack of experts on FP • Stop doing “better Java” • Knowledge management
Our approach • Fine-grained control of decisions • Code/Tests as
documentation • An easy to evolve artifact • Everyone in the team can contribute • A framework was not enough
Reference architecture “A reference architecture is a set of documents
to which an interested party can refer to for best practices, common standards, specifications and patterns” - DDD - Microservices - CQRS - ADT - DSL/Tagless - Onion/Clean/Hexagonal architecture
Service View µ-service Ports/Adapters Domain Services Infrastructure ACL
Let's check out some code warning: boilerplate code ahead
Final thoughts • It is complex to get simple •
Abstractions have complexity costs • Keep studying • Focus on people • Measures of success
Thank you for listening! s4n.co