دانلود کتاب Building Evolutionary Architectures :
http://dl.hadiahmadi.ir/Books/Architecture-Design/Building-Evolutionary-Architectures-Support-Constant-Change.pdf
http://dl.hadiahmadi.ir/Books/Architecture-Design/Building-Evolutionary-Architectures-Support-Constant-Change.pdf
پادکست : آقای ریچاردسون از معماران صاحب نظر در حوزه ی مایکروسرویس ها، در مورد بهره گیری از DDD و CQRS در پیاده سازی مایکروسرویس ها صحبت میکند. برخی نکات جالب در صحبت های ایشون :
- به زبان DDD، هر سرویس یک Bounded Context بوده که دارای مدل و Ubiquitous Language مخصوص به خود است.
- قوانین DDD بیان می کند که در هر Transaction تنها باید یک Aggregate ایجاد و یا ویرایش شود. این به این معناست که در معماری مایکروسرویس ها، Distributed Transaction نخواهیم داشت.
- اگر قصد دارید مایکروسرویس ها را به درستی پیاده سازی کنید، ابتدا کتاب DDD را بخوانید.
لینک کامل پادکست :
https://www.infoq.com/podcasts/chris-richardson
(پادکست بر روی سرویس SoundCloud می باشد، در صورت لود نشدن از پروکسی استفاده کنید)
- به زبان DDD، هر سرویس یک Bounded Context بوده که دارای مدل و Ubiquitous Language مخصوص به خود است.
- قوانین DDD بیان می کند که در هر Transaction تنها باید یک Aggregate ایجاد و یا ویرایش شود. این به این معناست که در معماری مایکروسرویس ها، Distributed Transaction نخواهیم داشت.
- اگر قصد دارید مایکروسرویس ها را به درستی پیاده سازی کنید، ابتدا کتاب DDD را بخوانید.
لینک کامل پادکست :
https://www.infoq.com/podcasts/chris-richardson
(پادکست بر روی سرویس SoundCloud می باشد، در صورت لود نشدن از پروکسی استفاده کنید)
Enterprise Software Development
bdd-at-the-heart-of-devops.pdf
در دنیای رقابتی امروز، تمام سازمان ها و شرکت ها نیاز به Deliver کردن سریعتر نرم افزار دارند. به همین علت تعداد شرکت هایی که به سمت تحولات Agile و DevOps می روند افزایش پیدا میکند. روش ها و فرهنگ DevOps هم در Deliver کردن سریع تر نرم افزار و هم در کیفیت بهتر آن تاثیر گذار است. اما پیاده سازی DevOps و تحول سازمان و تیم های فنی کار آسانی نیست و بسیاری از شرکت ها در آن با چالش مواجه می شوند.
در این کتابچه آقای John Ferguson (نویسنده کتاب BDD in Action) به بررسی 4 جنبه ی کلیدی در تحولات موفق DevOps میپردازد و BDD را به عنوان یک الزام جهت حرکت به سوی DevOps معرفی میکند.
نام کتابچه : BDD at the heart of any DevOps transformation story
در این کتابچه آقای John Ferguson (نویسنده کتاب BDD in Action) به بررسی 4 جنبه ی کلیدی در تحولات موفق DevOps میپردازد و BDD را به عنوان یک الزام جهت حرکت به سوی DevOps معرفی میکند.
نام کتابچه : BDD at the heart of any DevOps transformation story
پیاده سازی و نگهداری Acceptance Test ها با چالش های مخصوص به خود همراه است، اما تیم هایی که بتوانند این چالش ها را حل کنند و تست های کاملی بنویسند، به سطح بالایی از اطمینان در رفتار و عملکرد سیستم دست پیدا میکنند. این سطح بالای اطمینان، برای راه اندازی Continuous Delivery الزامی است. در این ویدیو اقای Dave Farely در مورد رویکرد ها و الگوهای نوشتن Acceptance Test ها و همچنین چالش های این مسیر صحبت میکند.
https://www.youtube.com/watch?v=SBhgteA2szg
https://www.youtube.com/watch?v=SBhgteA2szg
YouTube
Acceptance Testing for Continuous Delivery • Dave Farley • GOTO 2016
This presentation was recorded at GOTO Berlin 2016
http://gotober.com
Dave Farley - Co-Author of 'Continuous Delivery' @ContinuousDelivery
You can find more content like this on Dave’s "Continuous Delivery YouTube Channel": https://www.youtube.com/cha…
http://gotober.com
Dave Farley - Co-Author of 'Continuous Delivery' @ContinuousDelivery
You can find more content like this on Dave’s "Continuous Delivery YouTube Channel": https://www.youtube.com/cha…
شرکت اریکسون از "۷ هفته زمان تست, ۶ ماه زمان Deploy و ۲-۳ سال زمان توسعه" به مدل "۹۰ دقیقه زمان تست, ۳ هفته زمان deploy و سیکل های توسعه ی ۶ هفته ای" رسید.
مقاله ی زیر را در مورد Continuous Delivery در اریکسون بخوانید :
https://www.infoq.com/news/2017/10/continuous-delivery-ericsson
مقاله ی زیر را در مورد Continuous Delivery در اریکسون بخوانید :
https://www.infoq.com/news/2017/10/continuous-delivery-ericsson
InfoQ
Continuous Delivery of Telecom Software at Ericsson
The telecom industry has seen changes in service delivery processes in recent years via the adoption of DevOps principles and tools. Ericsson’s talk at the DevOps Enterprise Summit 2017 in London and their and continuous delivery paper outline the challenges…
روش ها و راهکارهای Validate کردن Command های کاربر در CQRS و DDD
http://danielwhittaker.me/2016/04/20/how-to-validate-commands-in-a-cqrs-application/
http://danielwhittaker.me/2016/04/20/how-to-validate-commands-in-a-cqrs-application/
Learn CQRS and Event Sourcing
How To Validate Commands in a CQRS Application | Learn CQRS and Event Sourcing
Do you know the 4 places to validate commands in a CQRS application? Find out what Superficial validation is and how to manage it in code.
چهار روش برای مدیریت Eventual Consistency در سطح UI جهت نمایش اخرین وضعیت داده ها به کاربر
http://danielwhittaker.me/2014/10/27/4-ways-handle-eventual-consistency-ui/
http://danielwhittaker.me/2014/10/27/4-ways-handle-eventual-consistency-ui/
Learn CQRS and Event Sourcing
4 Ways to Handle Eventual Consistency on the UI | Learn CQRS and Event
Ever tried to hold a slippery eel in your hands? In case you haven't, its hard. On the UI, eventual consistency needn't be that slippery with these 4 tips
Top-10-DDD-Mistakes.png
393.5 KB
فایل گرافیکی 10 اشتباه رایج در DDD
مقدمه ای بر Event Storming و بررسی تاثیر آن در طراحی با رویکرد DDD
https://techbeacon.com/introduction-event-storming-easy-way-achieve-domain-driven-design
https://techbeacon.com/introduction-event-storming-easy-way-achieve-domain-driven-design
TechBeacon
An introduction to event storming: The easy way to achieve
Event storming is a fast, lightweight group modeling technique you can use to accelerate developer productivity and facilitate domain-driven design.
https://www.youtube.com/watch?v=hv2dKtPq0ME
در سیستم های نرم افزاری بزرگ، یک مدل داده ای که به تنهایی بتواند نیاز کل سیستم را پاسخ دهد، وجود ندارد. تمام دیتابیس ها (چه SQL و چه NoSQL) اگر در جای نامناسب استفاده شوند و مدل داده ای آنها متناسب با نیاز پروژه نباشد،حجم زیادی از پیچیدگی را به همراه خواهند داشت.
در این ویدیو آقای Greg Young پس از بررسی Event Sourcing به مشکلات انتخاب مدل نامناسب پرداخته و سپس به موضوع نگهداری اشکال مختلف داده برای نیازهای مختلف می پردازد.
در سیستم های نرم افزاری بزرگ، یک مدل داده ای که به تنهایی بتواند نیاز کل سیستم را پاسخ دهد، وجود ندارد. تمام دیتابیس ها (چه SQL و چه NoSQL) اگر در جای نامناسب استفاده شوند و مدل داده ای آنها متناسب با نیاز پروژه نباشد،حجم زیادی از پیچیدگی را به همراه خواهند داشت.
در این ویدیو آقای Greg Young پس از بررسی Event Sourcing به مشکلات انتخاب مدل نامناسب پرداخته و سپس به موضوع نگهداری اشکال مختلف داده برای نیازهای مختلف می پردازد.
YouTube
Polyglot Data • Greg Young • GOTO 2014
This presentation was recorded at GOTO Chicago 2014
http://gotochgo.com
Greg Young - Independent Consultant & Entrepreneur
ABSTRACT
We are forced to solve many problems with respect to handling data. Many concepts work in our current models, many do not.…
http://gotochgo.com
Greg Young - Independent Consultant & Entrepreneur
ABSTRACT
We are forced to solve many problems with respect to handling data. Many concepts work in our current models, many do not.…
مثالی از نحوه Denormal کردن Read Model در CQRS جهت افزایش بازدهی و کاهش پیچیدگی :
http://danielwhittaker.me/2014/10/05/build-master-details-view-using-cqrs-event-sourcing/
http://danielwhittaker.me/2014/10/05/build-master-details-view-using-cqrs-event-sourcing/
Learn CQRS and Event Sourcing
How to Build a Master Details View when using CQRS and Event Sourcing
Creating a master details screen with CQRS
اقای Konrad Garus تجربیات اخیر خود را از پیاده سازی سیستمی با Event Sourcing و CQRS در قالب ۳ مقاله ارائه داده است.
مقاله اول : نحوه رسیدن به Consistency در CQRS
http://squirrel.pl/blog/2015/09/14/achieving-consistency-in-cqrs-with-linear-event-store/
مقاله اول : نحوه رسیدن به Consistency در CQRS
http://squirrel.pl/blog/2015/09/14/achieving-consistency-in-cqrs-with-linear-event-store/
مقاله دوم : بررسی مفهوم Projection و نحوه ساخت Read Model در CQRS
http://squirrel.pl/blog/2015/09/22/writing-an-event-sourced-cqrs-read-model/
http://squirrel.pl/blog/2015/09/22/writing-an-event-sourced-cqrs-read-model/
مقاله سوم : نگاهی بر برخی تکنیک های ذخیره سازی دیگر در CQRS
http://squirrel.pl/blog/2015/09/28/persistence-in-cqrs-read-models/
http://squirrel.pl/blog/2015/09/28/persistence-in-cqrs-read-models/
مقاله : نگاهی بر تکنیک User Story Mapping و نحوه ی ترکیب آن با DDD و مزایای این کار
https://blog.eriksen.com.br/en/mapping-domain-knowledge
https://blog.eriksen.com.br/en/mapping-domain-knowledge
blog.eriksen.com.br
Mapping your domain knowledge
We build software to help people - the users and customers - reach their goals. This is the only way your organization can get what it wants: revenue for for...