• An Introduction to Domain Driven Design

    Attended: 172
    Start Time:

    Sep 13, 2018 6:00 PM

    End Time:

    Sep 13, 2018 8:45 PM


    0


    Speakers: Indrika Hikkaduwa Vadim Kisen

    Today’s enterprise applications are complex, distributed and mission critical. In this session we want to share how the concepts, tools and patterns introduced by Domain Driven Design helped us in enterprise application architecture and design. DDD is invaluable in strategic architectural decision making. DDD was instrumental for us to layout our microservices architecture. We learned to speak DDD and adopted that as our medium of communication to build our team. DDD made our communication with outside teams and integration within the enterprise easier. It made us conscious about implications of enterprise integration at strategic and implementation level.

     

    This presentation will include concepts of strategic and tactical DDD. It is also organized in such a way to encourage discussion rather than follow a strict lecturing mode.

    Speaker Biography

    Indrika Hikkaduwa

    Indrika Hikkaduwa has been a full-stack architect for over 15 years. He is heading the engineering department of PayPal In-store.


    Vadim Kisen

    Vadim Kisen is heading architecture of PayPal In-store and has extensive hands-on experience architecting and building distributed enterprise computer systems as well as providing consulting and training services for variety of clients.


  • Comments/Conversations

    jeff kurtz on Nov 1, 2018 12:21 PM
    This was a great DDD talk! Can you please share the slide deck? Thanks!


NEJUG Calendar

Recent Events
  • You’ve probably heard of MicroProfile, but how do you go from buzz to production? In this code-heavy, interactive presentation, we’ll describe how to use OpenTracing (http://opentracing.io/) with Jaeger (https://www.jaegertracing.io/)  and annotations in MicroProfile and other Microservice architectures to reliably improve and deploy updated versions your applications to OpenShift and Kubernetes in the cloud.  Topics include best practices for performance analysis, maintaining delivery pipelines using the Linux command line, plus tips on the best free OpenTracing tools and SDKs available on GitHub.

     

    NOTE: This meeting is NOT on our normal "second-Thursday" schedule.

     

  • The popularity of Amazon's Alexa and Google Home has been inspiring both developers and businesses to think about Voice computing. From a banking assistant on your phone to grocery shopping on your TV - it is truly exciting to see how Voice Interfaces could be used. The challenge, however, is that most Voice Apps are fairly limited in what they can do.

    In this talk, Vineet shares experiences from prototyping and building over a dozen Voice Apps. He shows how practical decisions can make implementing great apps easy, reviews existing tools that have been built and talks about Violet (http://helloviolet.ai/) an Open-Source Voice App Framework designed to help developers create Voice Apps. Violet uses an approach inspired by Angular and React to simplify the complexity needed when manually building using other lower-level frameworks, while providing for more flexibility than the drag-and-drop non-technical tools on the market.

  • Learning a new programming language doesn’t have to be hard. Sure, there’s a lot of new stuff to wrap your head around: syntax, keywords and symbols, conventions, how to define variables and methods, arrays, and the list go on and on! But what if there were a technique and toolkit you could use to master a new language fast?

    In this session, Richard Kasperowski introduces mob programming and code koans. Mobbing is about getting all the best minds working on the same computer at the same time. Code koans are a series of micro-puzzles that teach you the new language in little chunks, using test-driven development. We’ll mob together on a set of code koans to learn a new language. Even better, we’ll decide on the language together! Current choices include C++, Java, JavaScript, Python, and Ruby.

    Who should attend? Anyone who wants to learn about mob programming and how to learn a new language.

     

    We would like to thank our event host Chewy.com for all the support for making this event possible in Downtown Boston. 

     

    • The venue will open at 5:30 PM for networking, so come early and meet everyone else. 
    • Pizza, drinks (including beer!)  sponsored by Chewy --- there will be some Gluten free pizza as well.
    • There will be a 15 minutes Lighting Talk at 6:00 by Marco Ferrer, Software Engineer at Chewy.

     

    If you have any questions, feel free contact Mahesh Acharya (Nejug Event Coordinator) at 617 767 Three One Seven One.

    We would like to thank the following volunteers:

    Photography: George Yazbeck

    Videography:  Francis Solis Olivares

     

     

  • Resilient architecture is crucial for all cloud implementations. In this talk, we explore different design patterns to make a distributed application more resilient. 

    As part of this journey, for any process, we need to ask what if something goes wrong? Then, plan a course of action to the process auto heal without any human intervention and how to lower risks by performing canary deployments. Design starts with at first understanding of requirements and performing empathy map and value chain analysis. 

    Thinking application as stateless for all the API calls makes the system available most of the time requires creating a cache for common distributed data. Next, we examine how to deal with cascading failures, and timeouts scenarios.  Applications, as part of auto-healing, need to Detect, Prevent, Recover, Mitigate, Complement so that the service is resilient. 

    Key takeaways for the audience are as follows:

    • Resiliency is essential for any feature in cloud
    • Understanding the value chain is critical to identify failure points
    • Challenges come in identifying if there is a failure and design the system for auto healing
    • Focus should be first to prevent a failure to occur. 
    • Identifying key challenges in your company and tools and techniques to auto-heal and provide a sustainable solution