Case history of an Industrial Architecture (or, what is in an architecture?) Howard Chivers Typical System Business Processes Workflow On-Line Transaction Processing Operational Data Data Transform & Cleansing Imported Reference Data Data Warehouse Data Marts System Issues Individual (Sub-)systems have distinctive Requirements, Users & Developers But the enterprise needs: Common Infrastructure, Deployment, Management Effective overall Business Workflows Some System Wide properties (e.g. Security) Legacy integration Problem: Good-enough-set-of-block-diagrams and infrastructure constraints (=Architecture) to constrain the implementation of individual systems Design Approaches 9 9 Clear Contracts Scales well X X X 9 9 9 Flexible Maximises immediate value COTs infrastructure X X X X High Initial Cost Inflexible Can result in bespoke sub-system design Unspecific Contract Assumes infrastructure Ignores whole life-cost Difficult to scale Process objectives Defer as much as possible to each delivery phase: Minimise constraints on sub-systems Avoid early over-specification Component based design Address choice of infrastructure early These process slides are not complete – they just illustrate that process interacts with architecture content. Architecture Views Application Infrastructure Frameworks Application model ‘Architecturally significant’ use-cases Functional model Scope of major business services & interfaces Deployment into (application) sub-systems Quantitative model Management & Support Infrastructure Model Foundation Layers: Network & Computing Application Environments (EJB, web, database …) Infrastructure Services (security, directories, event logging, data storage, messaging …) Quantitative model Application Deployment Model Product types (e.g. components, applications) & their lifecycles System management features (e.g. event monitoring, system control) Interfaces Layered from infrastructure to application Transport Generic interoperability Generic infrastructure, protocols & services Format & content or messages Environment – e.g. namespaces Services required to interpret content Application integration Behaviour of application (high level protocol) May need to include deployment information e.g. required data, services, environment properties Frameworks, for example … Data access Defines ‘n-tier’ access architecture between user and data. Ensures common approach between several systems. Security Policy framework for whole system. Required services. Required constraints on parts of the system (infrastructure & application models). End