Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Virtualization
A Typical Enterprise EnvironmentFrom small businesses to large enterprises there are some common technological patterns that can be observed.  We open the course by introducing the world of the enterprise, the past and current attempts that have been made to integrate the many disparate systems within these enterprises.
Distributed SystemsWhat is a distributed system, what function does it serve, and what are the core distributed system principles.  How to think and design distributed systems, thinking logically and physically. Client/Server and Peer/Peer architectures.
Middleware ConceptsThe complexities of connecting distributed systems, RPC basics, middleware defined, TCP, UDP and IP, Sockets, Multi-processing vs. Multi-threading, Communication modes and styles, middleware technologies - CORBA, Java RMI, .Net Remoting, MS WCF, SOAP, Web Services, MOMs and DDS.
The need for ArchitectureJustify the need for an architecture, what is its function, what concerns does it address and how do those concerns get addressed.
ORPC style middlewareIntroduction to O/RPC, and the key concept of interfaces.  An introduction to the patterns Adaptors, Proxies, NV Listing and Factories to help design and build scalable, extensible and maintainable distributed systems.  What is and how is a software bus designed and implemented.
SOAP, ReST and Web Services

The motivation behind SOAP, the narrower and leaner implementation of SOAP with ReST, ReST as it was envisioned by Roy Thomas Fielding in his research paper "Architectural Styles and the Design of Network-based Software Architectures" the de-facto way in which ReST is being used, what is web service (ignoring the technology), web services at work.

MOMs

Message Oriented Middleware has become a de facto technology standard for many organisations in their bid to build robust EAI systems.  So we ask the question what is a Message Oriented Middleware and how different is it to an O/RPC middleware.   MOM connected patterns, interaction patterns, and message flows.  Advice of channel design and message type designs.  MOM patterns likes Channel Adapter for ETL, and pipes and filters for increasing processing performance.

ESBEnterprise Service Bus. Details the core components required to build a robust and scalable message bus that is more than a MOM or a CORBA like piece of middleware.
XMLThis chapter looks at what is XML and why it has become so pervasive within the IT industry, and how to process XML documents using DOM, XML streaming and XSLT.
QoS RequirementsDefine what is a Quality of Service, identify the source of a QoS, specify how a QoS affects the system.  Examine the concepts of high availability and fault tolerance, and how to design fault tolerant systems using distributed consensus models like Raft.  Take a brief tour of ATAM (Architectural Trade-off Analysis Method)
Persistence strategiesDiscover different strategies for persisting objects using relational, object relational and object oriented databases. The chapter also looks at basic relational theory such as tables, data integrity and transactions, OODBMS, NoSQL DBs, Data Centre resiliency, and Data Replication.  With examples of two NoSQL DBs, AWS DynamoDB and ArangoDB.
Architecture and Architectural patternsWhat is architecture and is it really that different from design?  The four architecture perspectives, technology, application, data and business.
Common Distributed System  PatternsGain an understanding of what is a pattern, architectural patterns and common technical architecture patterns.  Common patterns that will be considered are interfaces, adaptor, proxy, NV Listing, broker, software bus and enterprise software bus, 2-tier architectures, 3-tier architectures, N+ tier architectures, resources pooling, ETLs, data warehouses and marts, data mining, real-time message delivery, workflow systems, content management systems and enterprise enabled search.
Common Distributed System Solutions

A side by side comparison of how JEE, .NET and the Open Source community have delivered solutions to the Common Distributed System Patterns.

Brief introduction to the many JEE technologies that are available to an systems implementer such as; JDBC, EJBs, J2EE Connectors, RMI, JNDI, JAXP, Web Containers, Java Server Faces, JMS, JTA, JavaMail, and the Management and Security technologies.  The J2EE Blueprints.

Brief introduction to the many Microsoft .NET technologies that are available to an systems implementer such as; ODBC and ADO.NET, LINQ, WPF, WCF, Winforms and ASP.NET.  The Microsoft Enterprise Library.

Web Container TechnologyGain an understanding of a web based world, learn about Web Servers and the HTTP protocol, basic HTML, client side scripting with JavaScript and JQuery, server side scripting supported by technologies like Java Servlets and JSPs, and .NET ASPs.  Learn how we integrate mid-tier components with web fronts ensuring that within each layer there is no cross pollution.
SOAThinking about capabilities, the OASIS SOA-RAF model for SOA and how it defines capabilities as a way of defining SOA services.
VirtualizationVirtualization and Distributed SystemsVirtualization basics, styles and modes, Type I and Type II VS, desktop virtualization, server virtualization, what can be virtualized, why virtualize, the VM bus.
Containers (Docker) and Distributed SystemsSince 2008/9 when the concept of Agile Infrastructure was debuted to the world, there has been explosion in the growth techniques and technologies to aide infratstructure and operations teams develop solutions for their clients in a faster and more productive manner. Docker containers take virtualization in new direction, simplifying the development, testng and deployment environments. In this hands on module we show why containers are not another approach the virtualization and the pros and cons of working with containers.
Cloud Computing Principlesand Distributed Systems What is cloud computing, types of cloud models - IaaS, PaaS, SaaS and XaaS, private, public and hybrid cloud models, cloud bursting.  With examples from Amazon AWS.  The 12 factor application.
SOAThinking about capabilities, the OASIS SOA-RAF model for SOA and how it defines capabilities as a way of defining SOA services.
MicroservicesMicroservices, aren't these just web services renamed?  Or maybe there is some correlation between microservices, SOA and containers? We examine the technical requirement for a microservice landscape and the technology stack required for each microserviceto build them.
Security BasicsWhose doing the attacks?  Thinking like a intruder.  The kill-chain.  The way in which we need to defend ourselves on the WWW, thinking about the STRIDE model, what is Confidentiality, Integrity, Authentication, Authorisation, Auditing, Non-repudiation and Availability of services, Symmetric and Asymmetric encryption, Identity and how can identity be distributed securely, digests and digital signatures, digital certificates online transactional behaviour, SSL, and VPNs.
Architectural AnalysisLearn the basics of RM-ODP, Zachman and TOGAF®.  

Establish the need for a development method, what methods are available, describe workflows and the four key phases of an iterative and incremental development process, and define iterative process outputs.

Planning


Examine the primary issues that need to be considered in a DOS, such as; capacity, extensibility, security etc. Prepare plans for these “qualities”, and define a logical architecture. Students will learn how to create basic, business, application, data and technology architecture blueprints that can be used for planning.

...