CS 548 Enterprise Software Architecture and Design

This course covers the issues in designing and engineering large enterprise and cloud-based software systems. Such systems are distributed and require increasingly complex inter-enterprise as well as intra-enterprise coordination. Technologies such as Web Services and cloud computing provide platforms for building such systems, and architectures such as, microservices and cloud native applications, event-driven architecture (EDA), domain-driven design (DDD), representational state transfer (REST), command query responsibility segregation (CQRS), serverless and blockchain are idioms for structuring such systems. Data modeling includes E-R designs, XML and JSON Schemas, NoSQL data models, semantic data modeling (OWL), and object relational mapping (ORM). Process modeling includes BPMN, Workflow and Petri nets. The course includes hands-on application of the concepts with tools such as Jakarta EE and Eclipse MicroProfile, Docker, Kubernetes and Kafka, and Hyperledger Fabric. Knowledge of Java or C# is required.

Credits

3

Prerequisite

(CS 385 or CS 590) and (Grad Student or (Junior or Senior))

Distribution

Computer Science Program

Typically Offered Periods

Fall Semester Spring Semester