Software Architecture Books

UML
http://www.omg.org/ocup-2/index.htm
http://www.omg.org/ocup-2/study-material.htm
Amazon.com: Buying Choices: OCUP 2 Certification Guide: Preparing for the OMG Certified UML 2.5 Professional 2 Foundation Exam
by Michael Jesse Chonoles
Link: https://www.amazon.com/gp/offer-listing/0128096403

—–
SEI CMM Software Architecture Series Books

Amazon.com: Buying Choices: Software Architecture in Practice (3rd Edition) (SEI Series in Software Engineering)
by Len Bass et al.
Link: https://www.amazon.com/gp/offer-listing/0321815734

Amazon.com: Buying Choices: Designing Software Architectures: A Practical Approach (SEI Series in Software Engineering)
by Humberto Cervantes et al.
Link: https://www.amazon.com/gp/offer-listing/0134390784

Amazon.com: Buying Choices: Evaluating Software Architectures: Methods and Case Studies (SEI Series in Software Engineering) by Paul Clements (22-Oct-2001) Hardcover
by Paul Clements
Link: https://www.amazon.com/gp/offer-listing/B012HTRZD6
Note: As a senior architect we should know how to evaluate/compare and understand existing projects.

Amazon.com: Buying Choices: Documenting Software Architectures: Views and Beyond (2nd Edition)
by Paul Clements et al.
Link: https://www.amazon.com/gp/offer-listing/0321552687

ATAM: Architecture Tradeoff Analysis Method
CBAM: Cost-Benefit Analysis Method

—–
TOGAF framework is very useful.

Amazon.com: Buying Choices: TOGAF Version 9.1
by Van Haren Publishing
Link: https://www.amazon.com/gp/offer-listing/9087536798
Note: Certification helps a lot

Catalog
http://www.togaf.info/togaf9/togafSlides9/TOGAF-V9-Sample-Catalogs-Matrics-Diagrams-v2.pdf

—–
Patterns: These are important to know and easy to re-use

Amazon.com: Buying Choices: Patterns of Enterprise Application Architecture
by Martin Fowler
Link: https://www.amazon.com/gp/offer-listing/0321127420

Amazon.com: Buying Choices: Security Patterns in Practice: Designing Secure Architectures Using Software Patterns
by Eduardo Fernandez-Buglioni
Link: https://www.amazon.com/gp/offer-listing/1119998948

Amazon.com: Buying Choices: Head First Design Patterns: A Brain-Friendly Guide
by Eric Freeman et al.
Link: https://www.amazon.com/gp/offer-listing/0596007124
Note: Look for the latest edition

Amazon.com: Buying Choices: Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
by Gregor Hohpe et al.
Link: https://www.amazon.com/gp/offer-listing/0321200683

Amazon.com: Buying Choices: Domain-Driven Design: Tackling Complexity in the Heart of Software
by Eric Evans
Link: https://www.amazon.com/gp/offer-listing/0321125215
Note: This is very important when working with specific domains like Finance, Media, Auto, Insurance,…etc

Amazon.com: Buying Choices: Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services
by Robert Daigneau
Link: https://www.amazon.com/gp/offer-listing/032154420X

——-

Data

Amazon.com: Buying Choices: NoSQL and SQL Data Modeling: Bringing Together Data, Semantics, and Software
by Ted Hills
Link: https://www.amazon.com/gp/offer-listing/1634621093

Amazon.com: Buying Choices: Database Design Using Entity-Relationship Diagrams, Second Edition (Foundations of Database Design)
by Sikha Bagui et al.
Link: https://www.amazon.com/gp/offer-listing/1439861765
Note: Buy a similar book

Amazon.com: Buying Choices: The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling
by Ralph Kimball et al.
Link: https://www.amazon.com/gp/offer-listing/1118530802

———-

Software Frameworks
https://www.upwork.com/hiring/development/understanding-software-frameworks/

Must be working on at least one in each category
RDBMS (Oracle, MS SQL, Postgres, MySQL,…etc)
NO-SQL (MongoDB, MarkLogic,..etc)
Service (Java Services, Spring, Python Flask,…etc)
UI (NodeJS, React, Angular, HTML, JS, CSS)
Reporting (Jasper, Tableau)
Data Warehousing Fundamentals
ETL (Informatica,Apache Nifi,..etc)
OS (Linux Redhat, Ubuntu,…etc
Messaging (JMS, Kafka,…etc)
Cloud (AWS,Cloudera,IBM,MS Azure,…etc)
SEI CMM Process

Optional
BigData (Hadoop,..etc )
—-
Note: If you are coming from a non-software background, please do MS or BS in Computer Science
Or get textbooks from BS course and study in your free time.

Bible for Software Engineers
Amazon.com: Buying Choices: Software Engineering: A Practitioner’s Approach
by Roger S. Pressman et al.
Link: https://www.amazon.com/gp/offer-listing/0078022126

—-
Testing

Amazon.com: Buying Choices: Foundations of Software Testing ISTQB Certification
by Rex Black et al.
Link: https://www.amazon.com/gp/offer-listing/1408044056

Amazon.com: Buying Choices: Learning Selenium Testing Tools – Third Edition
by Raghavendra Prasad MG
Link: https://www.amazon.com/gp/offer-listing/1784396494
Note: Check different books on Selenium
—–
Project Management

Amazon.com: Buying Choices: PMP Exam Prep, Eighth Edition – Updated: Rita’s Course in a Book for Passing the PMP Exam
by Rita Mulcahy
Link: https://www.amazon.com/gp/offer-listing/1932735658

Amazon.com: Buying Choices: Essential Scrum: A Practical Guide to the Most Popular Agile Process (Addison-Wesley Signature Series (Cohn))
by Kenneth S. Rubin
Link: https://www.amazon.com/gp/offer-listing/0137043295

—-

Requirements / UX

Amazon.com: Buying Choices: Lean UX: Designing Great Products with Agile Teams
by Jeff Gothelf et al.
Link: https://www.amazon.com/gp/offer-listing/1491953608

Amazon.com: Buying Choices: Software Requirements (3rd Edition) (Developer Best Practices)
by Karl Wiegers et al.
Link: https://www.amazon.com/gp/offer-listing/0735679665

Advertisements

Serverless Architectures

https://martinfowler.com/articles/serverless.html

Backend as a Service or “BaaS”
Function as a Service or “FaaS” (Example: http://openwhisk.incubator.apache.org/)
AWS Lambda: https://aws.amazon.com/lambda/

Advantages:
1. Easy to develop and deploy light weight systems.
2. Good for systems, which use less CPU and low usage. Saves money on infrastructure.

Disadvantages:
1. Enterprise scale high throughput applications need to pay more money to IBM/Amazon/.etc.
2. We need to pay for each task
1. CPU
2. Data storage
3. Disk Space
4. Total number of calls
Almost it becomes like mainframe systems.

-o-

Software Architect Catalogue

IBM Cloud Catalog
https://console.bluemix.net/catalog/

Amazon Catalog
https://us-west-2.console.aws.amazon.com/console/home?region=us-west-2#
https://aws.amazon.com/documentation/

Architectural Patterns
https://en.wikipedia.org/wiki/Architectural_pattern

Software Security Patterns
https://en.wikipedia.org/wiki/Attack_patterns
https://en.wikipedia.org/wiki/Security_pattern
https://www.owasp.org/index.php/Security_by_Design_Principles
https://dzone.com/articles/9-software-security-design

Integration Patterns
http://www.enterpriseintegrationpatterns.com/patterns/messaging/
http://camel.apache.org/enterprise-integration-patterns.html

Software Architecture
SEI CMM
Oracle
TOGAF

-o-

Text Processing

Text Processing Architecture

Open Search Text Server
http://www.opentext.com/what-we-do/industries/legal/legal-content-management-edocs/opentext-search-server-edocs-edition

Noggle
https://www.noggle.online/knowledgebase/cognitive-search-engine/

http://blogs.forrester.com/mike_gualtieri/17-06-12-cognitive_search_is_the_ai_version_of_enterprise_search
Cognitive Search Is The AI Version Of Enterprise Search

https://www.elastic.co/guide/en/elasticsearch/guide/current/index.html

MicroServices

Micro Services is a quick way to serve UI needs.

https://jaxenter.com/microservices-trends-2017-survey-133265.html
Micro Services Comparison

Python and Flask
https://stackoverflow.com/questions/10938360/how-many-concurrent-requests-does-a-single-flask-process-receive

Micro Services – Performance Comparison
https://cdelmas.github.io/2016/06/20/Performance-of-Microservices-frameworks.html

References:
http://microservices.io/
https://apigee.com/about/blog/cto-musings/api-best-practices-microservices
https://www.mulesoft.com/webinars/api/microservices-architecture

Address following while choosing Micro Services

Domain Driven Design

Performance
Security
Concurrency
Availability of Engineers
Easy to install/maintain/monitor (Dev Ops)
Easy to develop (Developers)
Session handling
Testing
Debugging
Logging

Commercial Support when needed
Future of Project
License
Support in Amazon AWS and Microsoft Azure