System and Software Architectures Ed Green Pennsylvania State University The Abington College July 19, 2010
Types of Architectures <ul><li>Physical – reflects the hardware elements </li></ul><ul><li>Logical – reflects the software...
Understanding the Environment <ul><li>Each architecture element must be well understood </li></ul><ul><ul><li>Components o...
Architecture – a Definition <ul><li>Technical blueprint that illustrates the deployment of services across a topology </li...
Opening Round – Some Definitions <ul><li>Topology – the depiction showing  where  component elements of the architecture a...
Elements of Architecture <ul><li>Services </li></ul><ul><ul><li>What services? </li></ul></ul><ul><li>Topology </li></ul><...
Network Architecture
Network Architecture – Backbone of the Architecture <ul><li>Explains the communications configuration </li></ul><ul><ul><l...
Transportation Model <ul><li>“ Import” from Operations Research </li></ul><ul><ul><li>Developed originally to optimize rou...
Applying the Transportation Model <ul><li>NORNE , a large energy services company, has business centers located in Baltimo...
Applying the Transportation Model Which route will the data take?
Applying the Transportation Model <ul><li>Route not predictable in advance  </li></ul><ul><ul><li>Will vary based on condi...
Components of Network Architectures <ul><li>Routers – a physical or logical device that determines the next network point ...
Components of Network Architecture <ul><li>Bandwidth – the capacity of a network measured in terms of throughput rate </li...
Network Architecture – Showing the Components Mainframe Router Local Servers Router Local Servers With Clients
Network Architecture – Showing the Topology Mainframe Router Local Servers Router Local Servers With Clients
Network Architecture – Mapping to Products Should have vendor’s URL Technical Spec’s  Model Vendor Component Network Node
Physical Architecture
Physical Architecture – Computers and Things <ul><li>Identifies the hardware components that are used in the architecture ...
Physical Architecture – What is Involved? <ul><li>Data center components </li></ul><ul><li>Office environment components <...
Physical Architecture – View of a Typical Environment Clients Web Server Application Servers Data Server
Physical Architecture in a Typical Enterprise Factory Office Lab Stores
Physical Architecture – What it Really Involves <ul><li>What workstations or terminals? </li></ul><ul><ul><li>How many (of...
Physical Architecture – The Keys <ul><li>Physical Architecture is  not   just a list of computers </li></ul><ul><li>Physic...
Physical Architecture – The Keys <ul><li>Physical Architecture should be based on capacity plan </li></ul><ul><ul><li>Grow...
Physical Architecture – Mapping to Products Should have vendor’s URL Technical Spec’s  Model Vendor Component Network Node
Logical Architecture
Logical Architecture <ul><li>Shows the configuration of software </li></ul><ul><ul><li>Operating System(s) </li></ul></ul>...
Importance of the Logical Architecture <ul><li>Consistency </li></ul><ul><ul><li>Must align to physical architecture assig...
Logical Architecture – a First Look – the Framework Operating System Network Managers Data/Database Managers Applications ...
A Logical Architecture Exists at Every Node <ul><li>Recalling the distributed topology described in an earlier chart invol...
Node Specific Logical Architecture <ul><li>Framework only constant </li></ul><ul><li>Products likely to be different </li>...
Logical Architecture – a Case to Consider <ul><li>NORNE, the large energy company mentioned earlier, was formed as the res...
Logical Architecture – a Case to Consider None ERwin; BPwin; Poertbuilder ERwin; BPwin Developer 2000 Designer 2000 Powerb...
Logical Architecture – Presenting the Case <ul><li>Clearly complex </li></ul><ul><li>Some overlap but no consistency </li>...
Logical Architecture Displayed IBM S/390 Key:  Model, page 30 VM/CMS; MVS SNA IMS; DB2 Applications FORTRAN COBOL; C None ...
Application Architecture
Application Architecture <ul><li>Reflects the decomposition of applications into objects and components </li></ul><ul><li>...
Decomposition of Applications <ul><li>Applications comprised of a set of subcomponents  </li></ul><ul><ul><li>Analogous to...
Decomposition of Applications Application Function Function Function Reusable Objects Tasks Programs
Application Architecture – Considerations <ul><li>Applications exist to support the accomplishment of a business process <...
Application Architecture -  Considerations <ul><li>Computer programs must associate product technology dependencies </li><...
Depicting the Applications Architecture Tasks Red White Blue Program DBMS REUSABLE OBJECT LIBRARY LIBRARY SERVICES LOCAL L...
Depicting the Application Architecture – Level of Detail <ul><li>At the application level </li></ul><ul><ul><li>Must show ...
Presenting the Application  Architecture <ul><li>Not depicting in context detracts from value </li></ul><ul><ul><li>Follow...
Data Architecture
Data Architecture <ul><li>Representation of the enterprise in terms of its data </li></ul><ul><li>Primary concern – data a...
Subject Data (or, Data Subjects) <ul><li>Robert Holland circa 1979 – 1980 </li></ul><ul><ul><li>An enterprise can be repre...
Data Models <ul><li>Conceptual data model  </li></ul><ul><ul><li>Logical groupings of data ( ENTITIES ) </li></ul></ul><ul...
Data Distribution <ul><li>Data models describe relationships </li></ul><ul><ul><li>Independent of data usage </li></ul></u...
Data Architecture Issues and Constraints <ul><li>Database must be recoverable in the event of failure </li></ul><ul><ul><l...
Organization of Data <ul><li>Categories </li></ul><ul><ul><li>Distribution </li></ul></ul><ul><ul><ul><li>Distributing the...
Distributed Databases With distributed databases,  a different segment of the  database is stored at each of   several nod...
Replicated Databases With replicated databases, all  or part of the database content  exists at more than one system node....
Mirroring <ul><li>Image copy of all or part of the database  </li></ul><ul><li>Located at the  same  node </li></ul><ul><u...
Segmentation <ul><li>Technique for grouping data in a way that logically supports processing requirements </li></ul><ul><l...
Other Aspects of Data Architecture <ul><li>Physical files </li></ul><ul><ul><li>File assignment </li></ul></ul><ul><ul><ul...
Data Architecture Impacts and Implications Architecture Activity Explain how each architecture feature impacts the various...
Interface Architecture
Interface Architecture <ul><li>Describes the interfaces among architecture components </li></ul><ul><ul><li>Abstraction </...
Interface Architecture:  Context Diagram View Application System Input Input Output Output Interfaces are sometimes descri...
Interface Architecture:  Understanding the Components <ul><li>An interface exists whenever two processing components commu...
Interface Architecture:  By way of Explanation Application 2 Application 1 Data Store  Each interface is unique based on t...
Abstraction <ul><li>The destination application has no need to know any more information than is contained in the interfac...
Encapsulation <ul><li>The knowledge of the source application is limited to the information published by the source applic...
Interface Architecture:  An Example <ul><li>NORNE (the large energy conglomerate described earlier) has selected SAP/R3 as...
Interface Architecture:  An Example <ul><li>SAP/R3 is a closely coupled COTS application product </li></ul><ul><ul><li>Ful...
Interface Architecture:  An Example NORNE Paycheck Program SAP/PR ACH Published  interface from SAP ABAP or BAPI Published...
Interface Architecture:  Capturing the Rules Target Applications Source  Applications Interface Rules Go Here
Integration Architecture
Integration Architecture <ul><li>High-level framework that shows relationship of component architectures </li></ul><ul><ul...
Integration Architecture:  Topology Start by showing the topology and connectivity of the environment
Integration Architecture: Network Components Show how the network  architecture maps to the  topology Mainframe Router Loc...
Integration Architecture:  Physical Components Clients Web Server Application Servers Data Server Establish a hyperlink fr...
Integration Architecture:  Logical Components Establish a hyperlink from each physical architecture component to the logic...
Integration Architecture: Application Components Establish a hyperlink from each physical architecture component to the lo...
Integration Architecture: Data Components Establish a hyperlink from each physical architecture component to the logical a...
Integration Architecture:  Interface Components <ul><li>Interface rules </li></ul><ul><ul><li>Associated with each object ...
Types of Architectures <ul><li>Physical – reflects the hardware elements </li></ul><ul><li>Logical – reflects the software...
Upcoming SlideShare
Loading in …5
×

System and Software Architectures Ed Green

494 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
494
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

System and Software Architectures Ed Green

  1. 1. System and Software Architectures Ed Green Pennsylvania State University The Abington College July 19, 2010
  2. 2. Types of Architectures <ul><li>Physical – reflects the hardware elements </li></ul><ul><li>Logical – reflects the software elements </li></ul><ul><li>Network – reflects the communications topology elements </li></ul><ul><li>Application – reflects the decomposition of each application into objects and components </li></ul><ul><li>Data – models the enterprise based upon its data subjects </li></ul><ul><li>Interface – describes how key architectural components interact or interoperate with each other </li></ul><ul><li>Integration – reflects the combination of physical, logical, network, and applications into one common view </li></ul>
  3. 3. Understanding the Environment <ul><li>Each architecture element must be well understood </li></ul><ul><ul><li>Components of each will help to develop the integrated picture </li></ul></ul><ul><ul><ul><li>Some components will appear in more than one depiction </li></ul></ul></ul><ul><ul><ul><li>Inclusion may be required for clarity </li></ul></ul></ul><ul><li>Each kind of architecture must be understood “in context” </li></ul><ul><ul><li>Need a frame of reference </li></ul></ul><ul><ul><li>Architectures do not exist in a vacuum </li></ul></ul><ul><ul><li>Dependence on business framework and architecture </li></ul></ul>
  4. 4. Architecture – a Definition <ul><li>Technical blueprint that illustrates the deployment of services across a topology </li></ul><ul><li>Description of the interoperation among the service components </li></ul><ul><li>Identification of specific products that can be or are being used to implement the blueprint </li></ul><ul><li>Process of specific steps to be achieved to implement the technical blueprint </li></ul>
  5. 5. Opening Round – Some Definitions <ul><li>Topology – the depiction showing where component elements of the architecture are located </li></ul><ul><li>Component – an identifiable part of the architecture </li></ul><ul><li>Application – an information system that is intended to solve a specific problem </li></ul><ul><ul><li>Architecture-oriented </li></ul></ul><ul><ul><li>Enterprise-oriented </li></ul></ul><ul><li>System – set of things working together to achieve a goal or objective </li></ul><ul><ul><li>Information System – a set of computer modules working in concert with people to meet a goal/objective of providing accurate and timely information that supports business analysis and/or decision making </li></ul></ul>
  6. 6. Elements of Architecture <ul><li>Services </li></ul><ul><ul><li>What services? </li></ul></ul><ul><li>Topology </li></ul><ul><ul><li>Located where? </li></ul></ul><ul><li>Process </li></ul><ul><ul><li>Done how? </li></ul></ul>Communication Services S E C U R I T Y S E R V I C E S Application and Application Enabling Services Distributed Systems Services Data Interchange Services Data Management Services Presentation Services Applications Application Development Services Object/Component Services Application Workgroup and Collaboration Services Foundation Services
  7. 7. Network Architecture
  8. 8. Network Architecture – Backbone of the Architecture <ul><li>Explains the communications configuration </li></ul><ul><ul><li>What elements will be used for communication? </li></ul></ul><ul><li>Defines the topology of the architecture </li></ul><ul><ul><li>Where will these communications be located? </li></ul></ul><ul><li>Describes the routing </li></ul><ul><ul><li>How will data get from one node to the next? </li></ul></ul><ul><ul><li>Considers alternatives </li></ul></ul><ul><ul><ul><li>Transportation model </li></ul></ul></ul><ul><li>Addresses protocols </li></ul><ul><ul><li>What is the communications mechanism? </li></ul></ul><ul><ul><li>Are multiple protocols used and is translation needed? </li></ul></ul>
  9. 9. Transportation Model <ul><li>“ Import” from Operations Research </li></ul><ul><ul><li>Developed originally to optimize routing of freight hauling vehicles (trains and trucks) </li></ul></ul><ul><ul><li>Represents a realistic algorithm set that directs transports to the path of least obstruction </li></ul></ul><ul><ul><ul><li>Minimum Traffic </li></ul></ul></ul><ul><ul><ul><li>Minimum delays </li></ul></ul></ul><ul><li>Example </li></ul><ul><ul><li>A shipment of Volkswagens arrives at the Port of Baltimore. These cars are to be shipped to various locations across the United States, including Pittsburgh, Fort Wayne, Kansas City, Denver, and Missoula. What is the optimal route? </li></ul></ul><ul><ul><li>At each city, what is the best route to the next stop based on all routing conditions? </li></ul></ul><ul><ul><ul><li>Traffic </li></ul></ul></ul><ul><ul><ul><li>Construction </li></ul></ul></ul><ul><ul><ul><li>Weather </li></ul></ul></ul>
  10. 10. Applying the Transportation Model <ul><li>NORNE , a large energy services company, has business centers located in Baltimore, Pittsburgh, Fort Wayne, Kansas City, Denver, and Missoula. Payroll for the entire company is processed at the Baltimore computer center. Individual time and attendance data is collected for employees at individual locations and then forwarded to Baltimore. Since payroll is a time critical application, time and attendance data must arrive in a timely manner. </li></ul>
  11. 11. Applying the Transportation Model Which route will the data take?
  12. 12. Applying the Transportation Model <ul><li>Route not predictable in advance </li></ul><ul><ul><li>Will vary based on conditions </li></ul></ul><ul><li>Will follow “path of least resistance” </li></ul><ul><ul><li>ALL network managers work to minimize latency and maximize throughput </li></ul></ul><ul><li>Data will depart from a given node with </li></ul><ul><ul><li>Next node identified </li></ul></ul><ul><ul><li>General itinerary </li></ul></ul><ul><li>General itinerary identified upon arrival at destination </li></ul><ul><ul><li>Routing re-planned should conditions warrant </li></ul></ul>
  13. 13. Components of Network Architectures <ul><li>Routers – a physical or logical device that determines the next network point to which a packet should be forwarded </li></ul><ul><ul><li>Connected to at least two networks </li></ul></ul><ul><ul><li>Decision based on current understanding of network state </li></ul></ul><ul><ul><ul><li>Table of routing alternatives and current conditions </li></ul></ul></ul><ul><ul><li>Located at any gateway </li></ul></ul><ul><li>Gateway – the place where one network or network segment meets another </li></ul><ul><li>Switch – a physical or logical device that redirects a packet from one network segment to another </li></ul>
  14. 14. Components of Network Architecture <ul><li>Bandwidth – the capacity of a network measured in terms of throughput rate </li></ul><ul><ul><li>Gigabits per second </li></ul></ul><ul><li>TCP/IP communications language of the internet </li></ul><ul><li>Packet – the “data unit” that is transported from one node to another </li></ul>
  15. 15. Network Architecture – Showing the Components Mainframe Router Local Servers Router Local Servers With Clients
  16. 16. Network Architecture – Showing the Topology Mainframe Router Local Servers Router Local Servers With Clients
  17. 17. Network Architecture – Mapping to Products Should have vendor’s URL Technical Spec’s Model Vendor Component Network Node
  18. 18. Physical Architecture
  19. 19. Physical Architecture – Computers and Things <ul><li>Identifies the hardware components that are used in the architecture </li></ul><ul><li>Also identifies various sub-components </li></ul><ul><ul><li>Workstations and “dumb” terminals </li></ul></ul><ul><ul><li>Secondary storage </li></ul></ul><ul><ul><ul><li>Disks </li></ul></ul></ul><ul><ul><ul><li>Tapes </li></ul></ul></ul><ul><ul><ul><li>RAID </li></ul></ul></ul><ul><ul><ul><li>Optical storage </li></ul></ul></ul><ul><ul><li>Communications processors </li></ul></ul><ul><li>Describes component connectivity </li></ul><ul><li>May include key technical specifications </li></ul>
  20. 20. Physical Architecture – What is Involved? <ul><li>Data center components </li></ul><ul><li>Office environment components </li></ul><ul><ul><li>Includes integrated laboratory components </li></ul></ul><ul><li>Central data collection components </li></ul><ul><li>Central display components </li></ul>
  21. 21. Physical Architecture – View of a Typical Environment Clients Web Server Application Servers Data Server
  22. 22. Physical Architecture in a Typical Enterprise Factory Office Lab Stores
  23. 23. Physical Architecture – What it Really Involves <ul><li>What workstations or terminals? </li></ul><ul><ul><li>How many (of each)? </li></ul></ul><ul><li>What server(s)? </li></ul><ul><ul><li>How many? </li></ul></ul><ul><li>What separate configurable items? </li></ul><ul><ul><li>Disk </li></ul></ul><ul><ul><li>Tape </li></ul></ul><ul><ul><li>Printers </li></ul></ul><ul><ul><li>Monitors </li></ul></ul>
  24. 24. Physical Architecture – The Keys <ul><li>Physical Architecture is not just a list of computers </li></ul><ul><li>Physical Architecture requires the identification and specification of all separately configurable computer hardware components </li></ul><ul><li>Physical Architecture includes all physical components in Network Architecture </li></ul><ul><li>Physical Architecture must identify connectivity </li></ul><ul><li>Physical Architecture should be mapped to topology </li></ul>
  25. 25. Physical Architecture – The Keys <ul><li>Physical Architecture should be based on capacity plan </li></ul><ul><ul><li>Growth expectations included </li></ul></ul><ul><ul><li>Expansion understood </li></ul></ul><ul><li>Physical Architecture should be based on guidelines and standards </li></ul><ul><ul><li>Seek a common denominator </li></ul></ul><ul><ul><li>Embrace heterogeneity – before it eats you alive </li></ul></ul>
  26. 26. Physical Architecture – Mapping to Products Should have vendor’s URL Technical Spec’s Model Vendor Component Network Node
  27. 27. Logical Architecture
  28. 28. Logical Architecture <ul><li>Shows the configuration of software </li></ul><ul><ul><li>Operating System(s) </li></ul></ul><ul><ul><li>Network Manager(s) </li></ul></ul><ul><ul><ul><li>Browsers </li></ul></ul></ul><ul><ul><li>Data and Database Manager(s) </li></ul></ul><ul><ul><li>Compilers/Interpreters </li></ul></ul><ul><ul><li>Service Utilities </li></ul></ul><ul><ul><li>Security Services </li></ul></ul><ul><ul><li>System Management Tools </li></ul></ul><ul><ul><li>Development and Test Tools </li></ul></ul><ul><ul><li>Applications </li></ul></ul><ul><li>System-wide and local views </li></ul><ul><ul><li>Product-specific </li></ul></ul>
  29. 29. Importance of the Logical Architecture <ul><li>Consistency </li></ul><ul><ul><li>Must align to physical architecture assignment </li></ul></ul><ul><li>Interoperability </li></ul><ul><ul><li>Bounds (or, at least defines) requirements for software compatibility </li></ul></ul><ul><li>Management </li></ul><ul><ul><li>Number of instances </li></ul></ul><ul><ul><li>Number of licenses </li></ul></ul><ul><ul><li>Number of users </li></ul></ul><ul><ul><li>Cost basis </li></ul></ul>
  30. 30. Logical Architecture – a First Look – the Framework Operating System Network Managers Data/Database Managers Applications Compilers and Interpreters Development and Test Tools Service Utilities System Management Tools Security Services Browsers
  31. 31. A Logical Architecture Exists at Every Node <ul><li>Recalling the distributed topology described in an earlier chart involving: </li></ul><ul><li>Baltimore </li></ul><ul><li>Pittsburgh </li></ul><ul><li>Fort Wayne </li></ul><ul><li>Kansas City </li></ul><ul><li>Denver </li></ul><ul><li>Missoula </li></ul><ul><li>It is important to note that the logical architecture must exist at each node </li></ul>Operating System Network Managers Data/Database Managers Applications Compilers and Interpreters Development and Test Tools Service Utilities System Management Tools Security Services Browsers
  32. 32. Node Specific Logical Architecture <ul><li>Framework only constant </li></ul><ul><li>Products likely to be different </li></ul><ul><ul><li>By brand </li></ul></ul><ul><ul><li>By version within brand </li></ul></ul><ul><li>Reflect the character of the enterprise </li></ul><ul><ul><li>Degree to which stovepipe environments exist </li></ul></ul><ul><ul><ul><li>Impact of M & A (mergers and acquisitions) </li></ul></ul></ul><ul><ul><ul><li>Divisional, departmental, and workgroup independence </li></ul></ul></ul><ul><ul><li>Technology heritage </li></ul></ul><ul><ul><li>Experience base </li></ul></ul><ul><ul><li>Strategic partnerships and relationships </li></ul></ul><ul><ul><li>Management strategies </li></ul></ul>
  33. 33. Logical Architecture – a Case to Consider <ul><li>NORNE, the large energy company mentioned earlier, was formed as the result of a “merger of equals” involving six local energy companies. Each of the partner companies had its own logical architecture. The new NORNE used a “best of breed” approach to select the logical architecture for resulting environment given the presumption that the physical architecture was to be reused. </li></ul>
  34. 34. Logical Architecture – a Case to Consider None ERwin; BPwin; Poertbuilder ERwin; BPwin Developer 2000 Designer 2000 Powerbuilder None Development and Test Tools None Tivoli Unicenter; OPENVIEW None Unicenter Standard IBM System Management Tools Active Directory X.500 X.500 Active Directory X.500 None Security Services None BMC Tivoli; BMC BMC BMC, Sun Platinum; Tivoli Service Utilities C; C++ C; COBOL; Java C; Java C; C++; COBOL C; C++; Java FORTRAN; COBOL; C Compilers / Interpreters SQL Server DB2 Sybase Oracle Informix; Sybase; DB2 IMS; DB2 Data/Database Manager Internet Explorer Netscape Netscape Netscape Netscape TSO; CICS; Tuxedo Browsers TCP/IP Ethernet TCP/IP TCP/IP TCP/IP SNA Network Manager Windows 2000 Solaris V7.2 HP-UX Windows NT 4.0 Solaris V7.1 VM/CMS; MVS Operating System Dell Sun E10000 Hewkett Packard Gateway SUN E450 IBM S/390 Physical Architecture Missoula Denver Kansas City Fort Wayne Pittsburgh Baltimore
  35. 35. Logical Architecture – Presenting the Case <ul><li>Clearly complex </li></ul><ul><li>Some overlap but no consistency </li></ul><ul><ul><li>Each node different </li></ul></ul><ul><li>Present each node independently </li></ul><ul><li>Summarize the net result </li></ul>
  36. 36. Logical Architecture Displayed IBM S/390 Key: Model, page 30 VM/CMS; MVS SNA IMS; DB2 Applications FORTRAN COBOL; C None Platinum; Tivoli Standard IBM None TSO; CICS; Tuxedo IBM S/390 SUN E450 Solaris V 7.1 TCP/IP Informix Sybase DB2 Applications C C++ Java Powerbuilder BMC; Sun Unicenter X.500 Netscape SUN E450 Windows NT 4.0 TCP/IP Oracle Applications C C++ Cobol Designer 2000 Developer 2000 BMC Unicenter Active Directory Netscape Gateway Gateway Hewlwtt-Packard HP-UX TCP/IP Sybase Applications C Java Powerbuilder ERwin BPwin Tivoli BMC Unicenter OPENVIEW X.500 Netscape Hewlwtt-Packard Solaris V 7.2 Ethernet DB2 Applications C COBOL Java ERwin BPwin BMC Tivoli X.500 Netscape SUN E10000 Windows 2000 TCP/IP SQL Server Applications C C++ None None None Active Directory Internet Explorer Dell
  37. 37. Application Architecture
  38. 38. Application Architecture <ul><li>Reflects the decomposition of applications into objects and components </li></ul><ul><li>Every application has an architecture </li></ul><ul><li>Application architecture mirrors decomposition of business processes and functionality </li></ul><ul><ul><li>Functional rather than technical </li></ul></ul><ul><ul><li>Not product specific (generally speaking) </li></ul></ul><ul><ul><ul><li>Exception may be when a COTS* product is used to provide application functionality </li></ul></ul></ul>* COTS  Commercial Off The Shelf
  39. 39. Decomposition of Applications <ul><li>Applications comprised of a set of subcomponents </li></ul><ul><ul><li>Analogous to the systems of the human body </li></ul></ul><ul><li>Subcomponents can be further decomposed until objects and modules are identified </li></ul><ul><ul><li>Organization structure model </li></ul></ul>
  40. 40. Decomposition of Applications Application Function Function Function Reusable Objects Tasks Programs
  41. 41. Application Architecture – Considerations <ul><li>Applications exist to support the accomplishment of a business process </li></ul><ul><ul><li>MUST logically mirror “how business gets done” </li></ul></ul><ul><ul><li>MUST improve accuracy and timeliness </li></ul></ul><ul><ul><ul><li>Applications have been funded to improve productivity </li></ul></ul></ul><ul><li>Programs most closely align with functional tasks </li></ul><ul><ul><li>Not (necessarily) a 1::1 relationship </li></ul></ul><ul><ul><ul><li>Can be M::M </li></ul></ul></ul><ul><ul><ul><ul><li>One task may require more than one program </li></ul></ul></ul></ul><ul><ul><ul><ul><li>One program may support achievement of several tasks </li></ul></ul></ul></ul><ul><ul><li>Constructed from library of reusable objects </li></ul></ul><ul><ul><ul><li>Logic to execute an atomic business process </li></ul></ul></ul>
  42. 42. Application Architecture - Considerations <ul><li>Computer programs must associate product technology dependencies </li></ul><ul><ul><li>COTS facilitation </li></ul></ul><ul><ul><li>Compilers/interpreters </li></ul></ul><ul><ul><li>Data managers </li></ul></ul><ul><ul><li>Library services </li></ul></ul><ul><ul><ul><li>Including repositories and/or data dictionary services </li></ul></ul></ul><ul><li>Computer programs must understand data architecture </li></ul><ul><ul><li>Conceptual data model </li></ul></ul><ul><ul><li>Logical data model </li></ul></ul><ul><ul><li>Physical data model </li></ul></ul>
  43. 43. Depicting the Applications Architecture Tasks Red White Blue Program DBMS REUSABLE OBJECT LIBRARY LIBRARY SERVICES LOCAL LOGIC DBMS REUSABLE OBJECT LIBRARY LIBRARY SERVICES LOCAL LOGIC DBMS REUSABLE OBJECT LIBRARY LIBRARY SERVICES LOCAL LOGIC DBMS REUSABLE OBJECT LIBRARY LIBRARY SERVICES LOCAL LOGIC DBMS REUSABLE OBJECT LIBRARY LIBRARY SERVICES LOCAL LOGIC DBMS REUSABLE OBJECT LIBRARY LIBRARY SERVICES LOCAL LOGIC DBMS REUSABLE OBJECT LIBRARY LIBRARY SERVICES LOCAL LOGIC DBMS REUSABLE OBJECT LIBRARY LIBRARY SERVICES LOCAL LOGIC DBMS REUSABLE OBJECT LIBRARY LIBRARY SERVICES LOCAL LOGIC DBMS REUSABLE OBJECT LIBRARY LIBRARY SERVICES LOCAL LOGIC DBMS REUSABLE OBJECT LIBRARY LIBRARY SERVICES LOCAL LOGIC DBMS REUSABLE OBJECT LIBRARY LIBRARY SERVICES LOCAL LOGIC
  44. 44. Depicting the Application Architecture – Level of Detail <ul><li>At the application level </li></ul><ul><ul><li>Must show all functions (subsystems) </li></ul></ul><ul><li>At the function (subsystem) level </li></ul><ul><ul><li>Must show all tasks </li></ul></ul><ul><ul><li>Tasks may occur in more than one subsystem (e.g., Reporting) </li></ul></ul><ul><li>At the task level </li></ul><ul><ul><li>Must show all programs </li></ul></ul><ul><ul><li>Programs may be used to support more than one task </li></ul></ul><ul><li>At the program level] </li></ul><ul><ul><li>Must show all engaged components </li></ul></ul>
  45. 45. Presenting the Application Architecture <ul><li>Not depicting in context detracts from value </li></ul><ul><ul><li>Follow the “application structure tree” </li></ul></ul><ul><ul><li>Use hyperlinks to call up details </li></ul></ul>Hyperlink DBMS REUSABLE OBJECT LIBRARY LIBRARY SERVICES LOCAL LOGIC
  46. 46. Data Architecture
  47. 47. Data Architecture <ul><li>Representation of the enterprise in terms of its data </li></ul><ul><li>Primary concern – data as a managed asset </li></ul><ul><ul><li>Data only non-renewable information asset </li></ul></ul><ul><ul><li>Data only irreplaceable information asset </li></ul></ul><ul><li>Secondary concern – data stores </li></ul><ul><ul><li>Databases </li></ul></ul><ul><ul><li>Data Warehouses </li></ul></ul><ul><ul><li>Archives </li></ul></ul><ul><ul><li>Files </li></ul></ul><ul><li>Not concerned with DBMS software and supporting utilities </li></ul><ul><ul><li>Considered as part of Logical Architecture </li></ul></ul>
  48. 48. Subject Data (or, Data Subjects) <ul><li>Robert Holland circa 1979 – 1980 </li></ul><ul><ul><li>An enterprise can be represented by modeling its data </li></ul></ul><ul><ul><li>An enterprise can be initially decomposed into data subjects </li></ul></ul><ul><ul><ul><li>Represent a major enterprise focus area </li></ul></ul></ul><ul><ul><ul><li>Decomposable </li></ul></ul></ul><ul><ul><ul><ul><li>Iterative until “atomic level” of data has been reached </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Complexity of decomposition is a function of the enterprise </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Enterprise size </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Enterprise diversity </li></ul></ul></ul></ul></ul><ul><ul><li>Data will “overlap” across data subjects </li></ul></ul><ul><ul><ul><li>Basis for identifying relationships amongst data </li></ul></ul></ul><ul><li>Foundation for developing the conceptual data model </li></ul>
  49. 49. Data Models <ul><li>Conceptual data model </li></ul><ul><ul><li>Logical groupings of data ( ENTITIES ) </li></ul></ul><ul><ul><li>Relationships among entities </li></ul></ul><ul><ul><li>NO physical characteristics </li></ul></ul><ul><ul><li>Normalized (to at least BCNF*) </li></ul></ul><ul><li>Logical data model </li></ul><ul><ul><li>Ascribes physical characteristics to conceptual model </li></ul></ul><ul><ul><ul><li>Data type </li></ul></ul></ul><ul><ul><ul><li>Data size </li></ul></ul></ul><ul><ul><li>Identifies initial values and/or value ranges </li></ul></ul><ul><ul><li>De-normalized based on performance requirements </li></ul></ul><ul><li>Physical data model </li></ul><ul><ul><li>Describes the logical model in terms of the DBMS or file management software to be used for implementation </li></ul></ul>*BCNF  Backus-Codd Normal Form
  50. 50. Data Distribution <ul><li>Data models describe relationships </li></ul><ul><ul><li>Independent of data usage </li></ul></ul><ul><li>Data usage organization or enterprise dependent </li></ul><ul><ul><li>Depends on business rules, processes, and topology </li></ul></ul><ul><ul><ul><li>Distributed organizations tend to distribute processing </li></ul></ul></ul><ul><ul><ul><li>Data must be proximate to where it is processed </li></ul></ul></ul><ul><ul><ul><ul><li>Minimize network traffic </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Optimize network capacity </li></ul></ul></ul></ul><ul><ul><li>Data must be available </li></ul></ul><ul><ul><ul><li>Accessible </li></ul></ul></ul><ul><ul><ul><li>Reliable </li></ul></ul></ul><ul><ul><ul><li>Current to established standards </li></ul></ul></ul><ul><ul><ul><li>Maintainable </li></ul></ul></ul>
  51. 51. Data Architecture Issues and Constraints <ul><li>Database must be recoverable in the event of failure </li></ul><ul><ul><li>Backing up of the database must be practical </li></ul></ul><ul><li>Database must be available to users during published hours </li></ul><ul><li>Data must be available to meet functional needs </li></ul><ul><li>Data must be grouped to optimize processing throughput </li></ul>
  52. 52. Organization of Data <ul><li>Categories </li></ul><ul><ul><li>Distribution </li></ul></ul><ul><ul><ul><li>Distributing the contents of the database across several system nodes </li></ul></ul></ul><ul><ul><li>Replication </li></ul></ul><ul><ul><ul><li>Repeating the contents of all or part of the database across several system nodes </li></ul></ul></ul><ul><ul><li>Mirroring </li></ul></ul><ul><ul><ul><li>Making an image copy of the database (or a part) at the same node </li></ul></ul></ul><ul><ul><ul><li>Provides an online backup for the database when continuous processing is required </li></ul></ul></ul><ul><ul><li>Segmentation </li></ul></ul><ul><ul><ul><li>Organizing the database is sections so as to optimize processing </li></ul></ul></ul><ul><li>Tables, views, indexes, tablespaces, databases etc are domain of DBMS’s </li></ul>
  53. 53. Distributed Databases With distributed databases, a different segment of the database is stored at each of several nodes.
  54. 54. Replicated Databases With replicated databases, all or part of the database content exists at more than one system node. In this example, three parts of the database are replicated at two sites each and three are not replicated. Database
  55. 55. Mirroring <ul><li>Image copy of all or part of the database </li></ul><ul><li>Located at the same node </li></ul><ul><ul><li>Differs from replication </li></ul></ul><ul><ul><ul><li>Different node </li></ul></ul></ul><ul><li>Intended to provide real time continuity </li></ul>Database Mirror
  56. 56. Segmentation <ul><li>Technique for grouping data in a way that logically supports processing requirements </li></ul><ul><li>Can be used in conjunction with </li></ul><ul><ul><li>Distribution </li></ul></ul><ul><ul><li>Replication </li></ul></ul><ul><ul><li>Mirroring </li></ul></ul><ul><li>Frequently application dependent </li></ul>
  57. 57. Other Aspects of Data Architecture <ul><li>Physical files </li></ul><ul><ul><li>File assignment </li></ul></ul><ul><ul><ul><li>What data groupings exist within a given physical file? </li></ul></ul></ul><ul><ul><li>File allocation </li></ul></ul><ul><ul><ul><li>What physical files reside on which physical storage devices? </li></ul></ul></ul><ul><ul><li>Compatibility or conflict </li></ul></ul><ul><ul><ul><li>Contention for I/O services </li></ul></ul></ul><ul><li>Database sizing must be a factor </li></ul>
  58. 58. Data Architecture Impacts and Implications Architecture Activity Explain how each architecture feature impacts the various activities involving the database. User Updates User Queries Database Reorg’tn Database Recovery Database Backup Database Sizing File Assign & Allocation Segmented Database Mirrored Database Replicated Database Distributed Database
  59. 59. Interface Architecture
  60. 60. Interface Architecture <ul><li>Describes the interfaces among architecture components </li></ul><ul><ul><li>Abstraction </li></ul></ul><ul><ul><li>Encapsulation </li></ul></ul><ul><li>Focus on software </li></ul><ul><ul><li>Applications within the Application Architecture </li></ul></ul><ul><ul><li>Access to COTS* software packages </li></ul></ul><ul><li>Provides information to elevate understanding to the interface level </li></ul><ul><ul><li>Details of interface participants less relevant </li></ul></ul>*Commercial Off the Shelf
  61. 61. Interface Architecture: Context Diagram View Application System Input Input Output Output Interfaces are sometimes described in terms of “goesinto” and “goesoutof” constructs
  62. 62. Interface Architecture: Understanding the Components <ul><li>An interface exists whenever two processing components communicate with each other </li></ul><ul><ul><li>Example - Application program with database management system via DML* </li></ul></ul><ul><li>An interface involves sharing between two processing components </li></ul><ul><ul><li>Data </li></ul></ul><ul><ul><li>Business rules and logic </li></ul></ul><ul><li>An interface involves two and only two processing components </li></ul><ul><ul><li>Many components may share a generalized ICD** </li></ul></ul>*Data Manipulation Language **Interface Context Definition
  63. 63. Interface Architecture: By way of Explanation Application 2 Application 1 Data Store Each interface is unique based on the particular requirements
  64. 64. Abstraction <ul><li>The destination application has no need to know any more information than is contained in the interface </li></ul><ul><ul><li>Subroutine parameter list </li></ul></ul><ul><ul><li>Module invocation </li></ul></ul><ul><ul><li>Query construct </li></ul></ul>
  65. 65. Encapsulation <ul><li>The knowledge of the source application is limited to the information published by the source application </li></ul><ul><li>NOT possible to know any more about the internal workings of the source application than the published interface </li></ul><ul><li>Encapsulation typical of </li></ul><ul><ul><li>Operating systems </li></ul></ul><ul><ul><li>Database management systems </li></ul></ul><ul><ul><li>COTS application packages (e.g., SAP/R3) </li></ul></ul><ul><ul><li>System management tools </li></ul></ul>
  66. 66. Interface Architecture: An Example <ul><li>NORNE (the large energy conglomerate described earlier) has selected SAP/R3 as its ERM* tool. As an ERM tool, SAP/R3 provides a payroll processing module (SAP/PR). However, the SAP/R3 designers have decided that the responsibility for preparing pay check advisories and initiating direct deposit processing is the responsibility of the client </li></ul>*ERM – Enterprise Resource Management
  67. 67. Interface Architecture: An Example <ul><li>SAP/R3 is a closely coupled COTS application product </li></ul><ul><ul><li>Fully encapsulated </li></ul></ul><ul><ul><li>Published interfaces </li></ul></ul><ul><ul><ul><li>ABAP </li></ul></ul></ul><ul><ul><ul><li>BAPI </li></ul></ul></ul><ul><li>NORNE has legacy program(s) </li></ul><ul><ul><li>Prepare pay check advisories </li></ul></ul><ul><ul><li>Initiate direct deposit processing </li></ul></ul><ul><li>ACH has published interfaces </li></ul><ul><ul><li>Automated Clearing House </li></ul></ul><ul><ul><li>Manages funds transfer from payer account to payee account </li></ul></ul>Programming languages that describe the interface(s) and transformations
  68. 68. Interface Architecture: An Example NORNE Paycheck Program SAP/PR ACH Published interface from SAP ABAP or BAPI Published interface from NORNE ABAP or BAPI code executes the logic required to pass data between the programs Event trigger; data; acknowledgement Published interface from ACH Published interface from NORNE Message-based Interface Banks Published interface from ACH Event trigger; data Message-based Interface
  69. 69. Interface Architecture: Capturing the Rules Target Applications Source Applications Interface Rules Go Here
  70. 70. Integration Architecture
  71. 71. Integration Architecture <ul><li>High-level framework that shows relationship of component architectures </li></ul><ul><ul><li>Network </li></ul></ul><ul><ul><li>Physical </li></ul></ul><ul><ul><li>Logical </li></ul></ul><ul><ul><li>Application </li></ul></ul><ul><ul><li>Data </li></ul></ul><ul><ul><li>Interface </li></ul></ul><ul><li>Initial profile subject to “drill down” </li></ul>
  72. 72. Integration Architecture: Topology Start by showing the topology and connectivity of the environment
  73. 73. Integration Architecture: Network Components Show how the network architecture maps to the topology Mainframe Router Local Servers Router Local Servers With Clients
  74. 74. Integration Architecture: Physical Components Clients Web Server Application Servers Data Server Establish a hyperlink from each location in the topology that provides a detailed configuration of what physical components are at that specific location
  75. 75. Integration Architecture: Logical Components Establish a hyperlink from each physical architecture component to the logical architecture on that component Clients Web Server Application Servers Data Server Establish a hyperlink from each location in the topology that provides a detailed configuration of what physical components are at that specific location Operating System Network Managers Data/Database Managers Applications Compilers and Interpreters Development and Test Tools Service Utilities System Management Tools Security Services Browsers
  76. 76. Integration Architecture: Application Components Establish a hyperlink from each physical architecture component to the logical architecture on that component Establish a hyperlink to the application decomposition at a particular location Clients Web Server Application Servers Data Server Establish a hyperlink from each location in the topology that provides a detailed configuration of what physical components are at that specific location Operating System Network Managers Data/Database Managers Applications Compilers and Interpreters Development and Test Tools Service Utilities System Management Tools Security Services Browsers Application Function Function Function Reusable Objects Tasks Programs
  77. 77. Integration Architecture: Data Components Establish a hyperlink from each physical architecture component to the logical architecture on that component Establish a hyperlink to the application decomposition at a particular location Replicated Mirrored Distributed Establish a hyperlink to the data component on each physical architecture component Clients Web Server Application Servers Data Server Establish a hyperlink from each location in the topology that provides a detailed configuration of what physical components are at that specific location Operating System Network Managers Data/Database Managers Applications Compilers and Interpreters Development and Test Tools Service Utilities System Management Tools Security Services Browsers Application Function Function Function Reusable Objects Tasks Programs
  78. 78. Integration Architecture: Interface Components <ul><li>Interface rules </li></ul><ul><ul><li>Associated with each object </li></ul></ul><ul><ul><ul><li>Independent </li></ul></ul></ul><ul><ul><ul><li>Reusable </li></ul></ul></ul><ul><li>For each component in the application architecture, </li></ul><ul><li>create a hyperlink that states the public interface rules </li></ul>Application Function Function Function Reusable Objects Tasks Programs DBMS REUSABLE OBJECT LIBRARY LIBRARY SERVICES LOCAL LOGIC
  79. 79. Types of Architectures <ul><li>Physical – reflects the hardware elements </li></ul><ul><li>Logical – reflects the software elements </li></ul><ul><li>Network – reflects the communications topology elements </li></ul><ul><li>Application – reflects the decomposition of each application into objects and components </li></ul><ul><li>Data – models the enterprise based upon its data subjects </li></ul><ul><li>Interface – describes how key architectural components interact or interoperate with each other </li></ul><ul><li>Integration – reflects the combination of physical, logical, network, and applications into one common view </li></ul>Together, they tell the story of an enterprise’s IT environment

×