architecture in it outlinearchitecture in it architecture conceptually as opposed to the description...

58
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 Directions Munindar P. Singh (NCSU) Electronic Commerce Technologies Spring 2012 82 / 345

Upload: others

Post on 03-Jun-2020

5 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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