architecture in it outlinearchitecture in it architecture conceptually as opposed to the description...
TRANSCRIPT
![Page 1: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/1.jpg)
Architecture in IT
Outline
Challenges of Electronic Business
Specification Approaches
Commitments
Architecture in IT
Contracts and Governance
XML Concepts and Techniques
XML Modeling and Storage
Summary and DirectionsMunindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 82 / 345
![Page 2: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/2.jpg)
Architecture in IT
Architecture in ITIn the sense of information systems
I Important themesI Conceptualizing architectureI Enterprise architecturesI Tiered architecturesI Architecture as a basis for governance (next section)
I Not quite the same as conventional software architecture, though thetopics are converging
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 83 / 345
![Page 3: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/3.jpg)
Architecture in IT
Architecture ConceptuallyAs opposed to the description of a system via a blueprint
I How a system is organizedI An over-used, vaguely defined term
I Software architectureI Standards, e.g., Berners-Lee’s “layer cake” and the networking
standardsI May include processes
I That exercise the systemI By which the system is built and maintainedI By which the system is administered
I May include human organizations
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 84 / 345
![Page 4: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/4.jpg)
Architecture in IT
Understanding Architecture: 1Conception and description of a system
I Two main ingredients of a systemI What: ComponentsI How put together: Interconnections
I Openness entails specifying the interconnections cleanlyI Physical components disappearI Their logical traces remain
I Information environments mean that the interconnections areprotocols
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 85 / 345
![Page 5: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/5.jpg)
Architecture in IT
Exercise: Examples of ArchitectureIdentify the main components and interconnections
I Buildings
I Plumbing
I Power systems
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 86 / 345
![Page 6: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/6.jpg)
Architecture in IT
Understanding Architecture: 2
I Components and interconnections are not sufficient to characterize anarchitecture
I Two additional ingredients go into an architectural styleI Constraints (hard requirements) on the components and
interconnnectionsI Patterns involving the components and interconnnections
I Openness entails the constraintsI Do not apply on the physical components directly
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 87 / 345
![Page 7: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/7.jpg)
Architecture in IT
Exercise: Examples of ArchitectureIdentify the main constraints and key patterns
I Buildings
I Plumbing
I Power systems
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 88 / 345
![Page 8: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/8.jpg)
Architecture in IT
Understanding ProtocolsProtocols encapsulate IT interactions
I Interconnections over which information is the main thing that flowsI Connect: conceptual interfacesI Separate: provide clean partitions among logical components
I Wherever we can identify protocols, we canI Make interactions explicitI Enhance reuseI Improve productivityI Identify new markets and technologies
I Protocols yield standards; their implementations yield products
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 89 / 345
![Page 9: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/9.jpg)
Architecture in IT
Examples of Logical Architectural ComponentsEach logical component class serves some important purpose
I Power: UPS
I Network connectivity
I Storage: integrity, persistence, recovery
I Policy management
I Decision making
I Knowledge and its management
What are some products in the above component classes?
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 90 / 345
![Page 10: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/10.jpg)
Architecture in IT Enterprise Architecture
OutlineChallenges of Electronic Business
Specification Approaches
Commitments
Architecture in ITEnterprise ArchitectureTiered ArchitectureWeb ArchitectureMiddlewareDeployment Architecture
Contracts and Governance
XML Concepts and Techniques
XML Modeling and Storage
Summary and Directions
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 91 / 345
![Page 11: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/11.jpg)
Architecture in IT Enterprise Architecture
IT Architectures
The term architecture is used more broadly in IT settingsI The organization of an IT system
I Bad usage: the implementation of a system
I The extensibility and modifiability of a systemI Versus the system having no discernible structure
I Even the governance of a system, which inevitably accommodates thehuman organization where the system is deployed
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 92 / 345
![Page 12: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/12.jpg)
Architecture in IT Enterprise Architecture
IT and SOA GovernanceThe human administration of an IT system
I IT Governance: How IT resources are administered
I SOA Governance: How services are created, deployed, removed, . . .I Goes hand-in-hand with architecture
I IncorporatesI The stakeholders (human organization) of a systemI The processes through which a system is updated or upgradedI Nontechnical aspects, such as flows of responsibility
I Sometimes confused with architecture, but distinct
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 93 / 345
![Page 13: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/13.jpg)
Architecture in IT Enterprise Architecture
Governance in the Resource Life CycleKey determinations
I Identifying a need is inherently creative
I Developing might involve merely configuring a COTS toolsuite
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 94 / 345
![Page 14: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/14.jpg)
Architecture in IT Enterprise Architecture
Exercise: Consider Kleenex Tissue Boxes in the GraduateProgram Area
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 95 / 345
![Page 15: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/15.jpg)
Architecture in IT Enterprise Architecture
Enterprise Models: Information ResourcesCapture static and dynamic aspects
I Static: snapshot of the enterprise’s resourcesI Databases and knowledge basesI Applications, business processes, and the information they create,
maintain, and use
which through explicit representations enableI Dynamic: ways to add or modify enterprise resources
I Integrity validationI ReusabilityI Change impact analysisI Software engineering: Automatic database and application generation
via CASE tools
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 96 / 345
![Page 16: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/16.jpg)
Architecture in IT Enterprise Architecture
Enterprise Models: Rationales
I Capture (human) organizational structureI Document business functions
I Rationales behind designs of databases and knowledge basesI Justifications for applications and business processes
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 97 / 345
![Page 17: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/17.jpg)
Architecture in IT Enterprise Architecture
Enterprise Architecture ObjectivesEnable governance to support the business objectives of the enterprise
I Accommodating change by introducing new instances and types ofI UsersI Ways of interaction (e.g., ongoing push toward mobility)I Applications
I Administering information resourcesI Preserving prior investments by interoperating with legacy systemsI Upgrading resources
I Developing blueprints to guide resource and application installationand decommissioning
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 98 / 345
![Page 18: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/18.jpg)
Architecture in IT Enterprise Architecture
Exercise: Creating a Web Interface for the State HealthCare System for the Public
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 99 / 345
![Page 19: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/19.jpg)
Architecture in IT Enterprise Architecture
Enterprise Architecture Observations
I IT is usually not a profit centerI Continual squeeze on IT resources
I Demand for rapid development and deployment of applicationsI Demand for greater return on investment (ROI)
I Essential tension, involving stakeholders (users and suborganizations)I Empowerment ensures satisfaction of their needsI Ad hoc approaches complicate interoperability and governance
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 100 / 345
![Page 20: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/20.jpg)
Architecture in IT Enterprise Architecture
Enterprise Architecture PrinciplesBusiness processes should drive the technical architecture
I Define dependencies and other relationships among stakeholders(including users) and suborganizations of an organization
I Message-driven approaches are desirable because they decouplesystem components
I Event-driven approaches are desirable because they help make asystem responsive to events that are potentially visible and significantto users
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 101 / 345
![Page 21: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/21.jpg)
Architecture in IT Enterprise Architecture
Architecture Modules: ApplicationsTypically, frontends of business processes
I Often directly visible to usersI Application deploymentI Data modeling and integrityI Business intelligence: decision support and analytics
I More technical but indirectly visible to users
I Interoperation and cooperationI Ontologies: representations of domain knowledge
I Component and model repositoriesI Business process management
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 102 / 345
![Page 22: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/22.jpg)
Architecture in IT Enterprise Architecture
Architecture Modules: Systems
Functionality used by multiple applications
I Middleware: enabling interoperation, e.g., via messaging
I Identity management, e.g., ID across a system to support Single SignOn
I Security and audit
I Accessibility
I Policy repositories and engines
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 103 / 345
![Page 23: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/23.jpg)
Architecture in IT Enterprise Architecture
Architecture Modules: Infrastructure
I Connectivity
I Platform: hardware and operating systems
I Storage
I System management
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 104 / 345
![Page 24: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/24.jpg)
Architecture in IT Enterprise Architecture
Functionalities in a Working Enterprise SystemCompare with three-tier architectures
I Presentation: user interactionI A large variety of concerns about device constraints and usage scenarios
I Business logicI Application-specific reasoningI General rules
I Data managementI Ensuring integrity, e.g., entity and referential integrity (richer than
storage-level integrity)I Enabling access under various kinds of problems, e.g., network
partitionsI Supporting recovery, e.g., application, operating system, or hardware
failures
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 105 / 345
![Page 25: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/25.jpg)
Architecture in IT Enterprise Architecture
Enterprise FunctionalitiesBases for choosing among architectures
For three-tier architectures
I Size of implementations
I Organizational structure: who owns what and who needs whatI Staff skill sets
I User Interface: usability and designI ProgrammingI DatabaseI Policy tools
I Products available in the marketplace
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 106 / 345
![Page 26: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/26.jpg)
Architecture in IT Tiered Architecture
OutlineChallenges of Electronic Business
Specification Approaches
Commitments
Architecture in ITEnterprise ArchitectureTiered ArchitectureWeb ArchitectureMiddlewareDeployment Architecture
Contracts and Governance
XML Concepts and Techniques
XML Modeling and Storage
Summary and Directions
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 107 / 345
![Page 27: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/27.jpg)
Architecture in IT Tiered Architecture
One-Tier and Two-Tier Architectures
I One tier: monolithic systems; intertwined in the code baseI Historically the first (usually early approaches are monolithic)I Common in legacy systemsI Difficult to staff, maintain, and scale up
I Two-tier: separate data from presentation and business logicI Classical client-server (or fat client) approachesI Mix presentation with application business rulesI Change management
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 108 / 345
![Page 28: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/28.jpg)
Architecture in IT Tiered Architecture
Three-Tier Architecture
I Presentation tier or frontendI Provides a view to user and takes inputsI Invokes the same business logic regardless of interface modalities:
voice, Web, small screen, . . .
I Business logic tier or middle tierI Specifies application logicI Specifies business rules
I Application-level policiesI InspectableI Modifiable
I Data tier or backendI Stores and provides access to dataI Protects integrity of data via concurrency control and recovery
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 109 / 345
![Page 29: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/29.jpg)
Architecture in IT Tiered Architecture
Multitier ArchitectureAlso known as n-tier
I Best understood as a componentized version of three-tier architecturewhere
I Functionality is assembled from parts, which may themselves beassembled
I Supports greater reuse and enables greater dynamismI But only if the semantics is characterized properly
I Famous subclass: service-oriented architectureI Enterprise version: when the services are internalI General: some services are external
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 110 / 345
![Page 30: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/30.jpg)
Architecture in IT Tiered Architecture
Architectural Tiers EvaluatedThe tiers reflect logical, not physical partitioning
I The more open the architecture the greater the decoupling amongcomponents
I Improves development through reuseI Enables composition of componentsI Facilitates governance, including scaling up of resourcesI Sets boundaries for organizational control
I In a narrow sense, having more moving parts can complicateadministration
I But improved architecture facilitates administration through divideand conquer
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 111 / 345
![Page 31: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/31.jpg)
Architecture in IT Tiered Architecture
XML-Based Information System
Let’s place XML in a multitier architecture
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 112 / 345
![Page 32: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/32.jpg)
Architecture in IT Tiered Architecture
How About Database Triggers?
I Pros: essential for achieving high efficiencyI Reduce network load and materializing and serializing costsI Leave the heavy logic in the database, under the care of the DBA
I Cons: rarely port well across vendorsI Difficult to introduce and manage because of DBA controlI Business rules are context-sensitive and cannot always be applied
regardless of how the data is modified
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 113 / 345
![Page 33: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/33.jpg)
Architecture in IT Web Architecture
OutlineChallenges of Electronic Business
Specification Approaches
Commitments
Architecture in ITEnterprise ArchitectureTiered ArchitectureWeb ArchitectureMiddlewareDeployment Architecture
Contracts and Governance
XML Concepts and Techniques
XML Modeling and Storage
Summary and Directions
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 114 / 345
![Page 34: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/34.jpg)
Architecture in IT Web Architecture
Web ArchitecturePrinciples and constraints that characterize Web-based information systems
I URI: Uniform Resource Identifier
I HTTP: HyperText Transfer ProtocolI Metadata must be recognized and respected
I Enables making resources comprehensible across administrativedomains
I Difficult to enforce unless the metadata is itself suitably formalized
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 115 / 345
![Page 35: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/35.jpg)
Architecture in IT Web Architecture
Uniform Resource Identifier: 1
I URIs are abstract
I What matters is their (purported) uniqueness
I URIs have no proper syntax per seI Kinds of URIs include
I URLs, as in browsing: not used in standards any moreI URNs, which leave the mapping of names to locations up in the air
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 116 / 345
![Page 36: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/36.jpg)
Architecture in IT Web Architecture
Uniform Resource Identifier: 2
Good design requirements
I Ensure that the identified resource can be located
I Ensure uniqueness: eliminate the possibility of conflicts throughappropriate organizational and technical means
I Prevent ambiguity
I Use an established URI scheme where possible
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 117 / 345
![Page 37: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/37.jpg)
Architecture in IT Web Architecture
HTTP: HyperText Transfer Protocol
Intended meanings are quite strict, though not constrained byimplementations
I Text-based, statelessI Key verbs (and some others)
I GetI PostI Put
I Error messages for specific situations, such as resources not available,redirected, permanently moved, and so on
ReST: Representational State Transfer
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 118 / 345
![Page 38: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/38.jpg)
Architecture in IT Web Architecture
Representational State Transfer
ReST is an architectural style for networked systems that constrains theconnectors
I Models the Web as a network of hyperlinked resources, each identifiedby a URI
I Models a Web application as a (virtual) state machine
I A client selecting a link effects a state transition, resulting in receivingthe next page (next state) of the application
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 119 / 345
![Page 39: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/39.jpg)
Architecture in IT Web Architecture
Characteristics of ReST
I Client-ServerI Statelessness: in terms of sessions
I What is an advantage of statelessness?I Where is the session state kept then?
I Focus on resources being manipulated and their representations beingtransferred
I Uniform Interface: URIs, hypermedia
I Caching: responses can be labeled as cacheable
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 120 / 345
![Page 40: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/40.jpg)
Architecture in IT Middleware
OutlineChallenges of Electronic Business
Specification Approaches
Commitments
Architecture in ITEnterprise ArchitectureTiered ArchitectureWeb ArchitectureMiddlewareDeployment Architecture
Contracts and Governance
XML Concepts and Techniques
XML Modeling and Storage
Summary and Directions
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 121 / 345
![Page 41: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/41.jpg)
Architecture in IT Middleware
Middleware PracticallyComponents with routine, reusable functionality
I Abstracted from the application logic or the backend systems
I Any functionality that is being repeated is a candidate for beingfactored out into middleware
I Enables plugging in endpoints (e.g., clients and servers) according tothe stated protocols
I Often preloaded on an application server
I Simplify programmer’s task and enable refinements and optimizations
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 122 / 345
![Page 42: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/42.jpg)
Architecture in IT Middleware
Middleware ConceptuallyComponents that implement important architectural interfaces
Key examples: transaction and persistenceI Explicit:
I Invoke specialized APIs explicitlyI Ties application to middleware API: Difficult to create, maintain, port
I Implicit:I Container invokes the appropriate APIsI Based on declarative specificationsI Relies on request interceptions or reflection
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 123 / 345
![Page 43: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/43.jpg)
Architecture in IT Middleware
ContainersDistributed object management
I Architectural abstraction geared for hosting business components(objects)
I Remote method invocationI ThreadingI MessagingI TransactionsI Connection pooling
I Implementations for JEE and .NET
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 124 / 345
![Page 44: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/44.jpg)
Architecture in IT Middleware
JEE TechnologyVernadat
EJB Server
Entity Bean
Session
Bean
J2EE
Connector
Relational
DBMS
Legacy
System
CORBA Client
Java Applet in
Browser
Java
Applications
(Swing, AWT)
Web Browser
Servlet JSP
RMI, IIOP
XML, HTML, HTTP (SSL)
RMI
RMI
RMI
Java Message
Service
Java Naming and
Directory
Interface
Operating System (Windows,
Linux, Mac, Solaris…)
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 125 / 345
![Page 45: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/45.jpg)
Architecture in IT Middleware
.NET TechnologyVernadat
Microsoft Transaction Server
Shared Property
Manager
COM+
COMPONENT
Babylon Integration
Server
Relational
DBMS
Legacy
System
ADO,
OCEDB,
ODBC
CORBA Client
ActiveX Control
in Browser
Applications
Web Browser
IIS/ASP
XML, HTML, HTTP (SSL)
Microsoft
Message
Queue
Active Directory
Windows Operating System
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 126 / 345
![Page 46: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/46.jpg)
Architecture in IT Middleware
Basic Interaction Models
Interactions among autonomous and heterogeneous partiesI Adapters: what are exposed by each party to enable interoperation
I Sensors ⇐ informationI Effectors ⇒ actions
I Invocation-based adapters
I Message-oriented middleware
I Peer-to-peer computing
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 127 / 345
![Page 47: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/47.jpg)
Architecture in IT Middleware
Invocation-Based Adapters: TypesRealized in distributed objects, e.g., EJB, DCOM, CORBA
I Synchronous: blocking method invocation
I Asynchronous: nonblocking (one-way) method invocation withcallbacks
I Deferred synchronous: (in CORBA) sender proceeds independently ofthe receiver, but only up to a point
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 128 / 345
![Page 48: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/48.jpg)
Architecture in IT Middleware
Invocation-Based Adapters: ExecutionExecution is best effort: application must detect any problems
I At most onceI More than once is
I OK for idempotent operationsI Not OK otherwise: application must check
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 129 / 345
![Page 49: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/49.jpg)
Architecture in IT Middleware
Message-Oriented Middleware
I Main varietiesI Queues: point to point, support posting and reading messagesI Topics: logical multicasts, support publishing and subscribing to
application-specific topics; thus more flexible than queuesI Blackboards: Variant of topics wherein data items can be over-written
and consumed
I Can offer reliability guarantees of delivery or failure notification tosender
I Analogous to store and forward networksI Usually implemented over databases
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 130 / 345
![Page 50: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/50.jpg)
Architecture in IT Middleware
A standardized callback for messages
I Accessed only via messages, not invoked
I No need for specialized interfaces, such as home, remote, . . .I Easy interface to implement: onMessage() as a callback
I Programmer defines what actions to take on receipt of a messageI Limited message typing
I Stateless: thus no conversations
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 131 / 345
![Page 51: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/51.jpg)
Architecture in IT Middleware
Peer-to-Peer ComputingTraditionally, hard coded into specific applications, such as file sharing
I Symmetric client-server: (callbacks) each party can be the client ofthe other
I Asynchrony: while the request-response paradigm corresponds to pull,asynchronous communication corresponds to push
I Generally to place the entire intelligence on the server (pushing) side
I Federation of equals: (business partners) when the participants canenact the protocols they like
I Revisited from a cross-organizational perspectiveI Business protocols being defined in terms of business interactions, not
low-level messaging
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 132 / 345
![Page 52: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/52.jpg)
Architecture in IT Middleware
Enterprise Best Practices
I Enterprise Service BusI Builds on top of messagingI Provide orchestration as a way to realize business processesI Shields programmer from transport and location considerations
I Asset repositoryI Building on directory services
I Data dictionaryI Evolving into one based on ontologies
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 133 / 345
![Page 53: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/53.jpg)
Architecture in IT Deployment Architecture
OutlineChallenges of Electronic Business
Specification Approaches
Commitments
Architecture in ITEnterprise ArchitectureTiered ArchitectureWeb ArchitectureMiddlewareDeployment Architecture
Contracts and Governance
XML Concepts and Techniques
XML Modeling and Storage
Summary and Directions
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 134 / 345
![Page 54: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/54.jpg)
Architecture in IT Deployment Architecture
Deployment Architecture: Web Server
I Frontend
I Supports HTTP operations
I Usually multithreaded
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 135 / 345
![Page 55: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/55.jpg)
Architecture in IT Deployment Architecture
Deployment Architecture: Application Server
I Mediates interactions between browsers and backend databases: runscomputations, invoking DB transactions as needed
I Provides a venue for the business logicI Different approaches (CGI, server scripts, servlets, Enterprise
JavaBeans) with tradeoffs inI Overhead: OS processes versus threadsI ScalabilityI Security
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 136 / 345
![Page 56: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/56.jpg)
Architecture in IT Deployment Architecture
Application Server as an Architectural AbstractionSeparates business logic from infrastructure
I Load balancing
I Distribution and clustering
I Availability
I Logging and auditing
I Connection (and resource) pooling
I Security
Separate programming from administration roles
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 137 / 345
![Page 57: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/57.jpg)
Architecture in IT Deployment Architecture
Deployment Architecture: Database Server
I Holds the data, ensuring its integrityI Manages transactions, providing
I Concurrency controlI Recovery
Transaction monitors can manage transactions across database systems,but within the same administrative domain
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 138 / 345
![Page 58: Architecture in IT OutlineArchitecture in IT Architecture Conceptually As opposed to the description of a system via a blueprint I How a system is organized I An over-used, vaguely](https://reader035.vdocuments.us/reader035/viewer/2022070721/5ee1b09cad6a402d666c7a2c/html5/thumbnails/58.jpg)
Architecture in IT Deployment Architecture
Data Center Architecture
I Demilitarized zone (DMZ)I External routerI Load balancer
I Firewall: only the router can contact the internal networkI Internal networkI Web serversI Application serversI Database servers
Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 139 / 345