software engineering i cs361 announcements review github
play

Software Engineering I cs361 Announcements Review Github usage for - PowerPoint PPT Presentation

Software Engineering I cs361 Announcements Review Github usage for Assignment 1 architectural patterns Cont Architectural Patterns MVC Layers Microservices Peer-to-Peer Pipe and Filter Service-Oriented architecture


  1. Software Engineering I cs361

  2. Announcements

  3. Review Github usage for Assignment 1

  4. architectural patterns Cont

  5. Architectural Patterns ✖ MVC ✖ Layers ✖ Microservices ✖ Peer-to-Peer ✖ Pipe and Filter ✖ Service-Oriented architecture ✖ Event-Driven Architecture ✖ Blackboard

  6. Layers The Layers architectural pattern helps to structure applications that can be decomposed into groups of subtasks in which each group of subtasks is at a particular level of abstraction.

  7. Layers Application Application Presentation Presentation Session Session Application Application Network Network Data Link Data Link Physical Physical

  8. Layers Benefits: Makes reuse easier Makes individual layers interchangeable Layers interact clearly defined

  9. Layers Drawbacks: Possibly less efficient then monolithic solution Layers sometimes introduce unnecessary work

  10. Microservices A pattern where software systems provide minimal functional core which then can be expanded with extended functionality.

  11. Microservices https://speakerdeck.com/rossbachp/wjax2014-docker-tomcat-microservices

  12. Microservices http://techblog.netflix.com/2013/01/announcing-ribbon-tying-netflix-mid.html

  13. Microservices Benefits: Strong Module Boundaries Independent deployment High diversity of technology

  14. Microservices Drawbacks: Distribution adds complexity Eventual Consistency must be managed Higher operational complexity

  15. Peer-To-Peer A group of peer nodes where every peer simultaneously functions as a client and a server

  16. Peer-To-Peer Peer Peer Peer Peer Peer Peer

  17. Peer-To-Peer Benefits All resource shared More reliable with no single point of failure Costs less to build and maintain the network

  18. Peer-To-Peer Drawbacks Less Secure Hard to Backup No centralized authority

  19. Pipe and Filter Provides a structure for systems that process a stream of data. Each step (filter) processes the data and passes is on to the next step. Can be composed in any order.

  20. Pipe and Filter cat input.txt | grep "text" | sort > output.txt

  21. Pipe and Filter Symantic Bytecode Scanner Parser Checker Generator

  22. Pipe and Filter Benefits Flexible behavior Filters can be reused Ease of debugging

  23. Pipe and Filter Drawbacks Error handling can be difficult Cannot share state between filters

  24. Event Driven Architecture An external change in state (event) causes the application to respond to the change in events. Built with component models with no direct connection with each other.

  25. Event Driven Architecture http://infospheres.caltech.edu/sites/default/files/Event-Driven%20Applications%20-%20Costs,%20Benefits%20and%20Design%20Approaches.pdf

  26. Event Driven Architecture Benefits: Broadcast Communications Asynchrony built in Events distributed in timeliness

  27. Event Driven Architecture Drawbacks: Can be a little Brittle Different understanding of events can lead to problems

  28. Credits Special thanks to all the people who made and released these awesome resources for free: ✖ Presentation template by SlidesCarnival ✖ Photographs by Unsplash

Recommend


More recommend