Applications of GIS in Infrastructure Assesment and Development-TRANSPORTATION
Applications and Infrastructure
description
Transcript of Applications and Infrastructure
![Page 1: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/1.jpg)
Applications and Infrastructure
![Page 2: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/2.jpg)
Agenda Architecture and Environments Computing Environments Computing Orientations Transaction Processing Monitor Object Transaction Monitor
![Page 3: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/3.jpg)
Architecture and Environments Architecture: not just form, function, style Also heavily influenced by environment,
orientation, history, materials, & technology environment: the context into which the architected
entity is placed or used for example: building set in the woods, CD player for
those who jog, a lively musical piece for dancing environment: often the source for the parts and tools
to be used during construction
![Page 4: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/4.jpg)
Computing Environments Architecture: state, behavior, paradigm Environment: "business"/application domain,
hardware configuration, reusable software What resources are available to develop
software? How can the software be deployed? What environment will support the developed
software when it runs?
![Page 5: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/5.jpg)
Computing Environments: Basic Hardware Resources
Hardware: Processor: instruction set, registers, etc. Main memory (RAM) Input/output (I/O) mechanism what’s missing?
Programming in old microcomputer days toggle switches for input and lights for output program persisted only while power was on tedious; could not save/reload useful programs to re-run
without re-toggling in program
![Page 6: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/6.jpg)
Computing Environments: Precursor to Operating Systems
Some kind of secondary, non-volatile storage Some software to boot up computer
loads just enough instructions and data to be able to read more instructions and data from the secondary storage
now present in the boot sector of a diskette, CDROM disc, or hard disk drive
Some software kept track of fixed locations where other programs were loaded
Bootstrap code was first runtime environment
![Page 7: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/7.jpg)
Computing Environments: Early Operating Systems
Key advances in peripheral hardware... tele-typewriter console, magnetic media (drum, disk, tape),
serial communications ...as well as operating system software...
process and memory management device management
...lead to easier system management of expensive computing resources and assembly programming
![Page 8: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/8.jpg)
Computing Environments: Operating Systems
Faster processors, more RAM, more peripherals allowed sharing of expensive computing resources inspired virtual memory management in software
later in hardware for better address range protection/performance managed file systems to organize data
Trend: better/more hardware better/more underlying software to exploit hardware better programming model: less concerns about hardware
Structured programming; modules used
![Page 9: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/9.jpg)
Computing Environments: Modularization Support
Driving factors: Relocatable programs supported in OS As OS size grew and number of users sharing RAM grew,
need to efficiently manage expensive RAM increased Compilers compiled source code to "object code"
Static linker concatenated object code files, resolved external references to relative addresses, created load module file
Loader found available RAM location for load module file, added starting address to all relative addresses, and transferred control to starting address
![Page 10: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/10.jpg)
Computing Environments: Dynamic/Shared Link Libraries
Relocatable load modules optimized memory use Libraries of useful object code were developed
Static linking of library object code in multiple running load modules caused many copies of code to reside in RAM
Dynamic linking: references to any shared library's object code can be
resolved at runtime one copy shared by all
Shared object code must be re-entrant and serially reusable
![Page 11: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/11.jpg)
Computing Environments: Desktop Application Environment
Where we are today: DLLs
Windows OS and GUI are DLL based Linux has shared libraries
also GNOME/KDE on X Window System configuration repository (e.g., Windows registry) deploy by retail or Internet download user installs and configures persistence of data: predominantly via files browsers as clients of external computer systems
![Page 12: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/12.jpg)
Computing Environments: Java Runtime Environment
Java Virtual Machine (JVM) “java” executable
class loader (like DLL system, plus security) byte code verifier (for security and integrity)
“standard” class files native platform interface libraries plus:
application’s class files
![Page 13: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/13.jpg)
Computing Environments: Enterprise App. Environment
Business environment, not personal environment need to share resources to minimize cost mission critical software came from (for example):
competition (e.g., streamline order processing) internal policy (e.g., consolidate accounting) best practices (e.g., integrate diverse systems)
Early enterprise apps (for example): banking, flight reservation stock ticker feeds batch processing
![Page 14: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/14.jpg)
Enterprise App. EnvironmentDiagrams from:
Building Java Enterprise Systems with J2EE, Perrone & Chaganti, Sams Publishing, 2000.
![Page 15: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/15.jpg)
Computing Orientations Data oriented
distributed, persistent state high overhead, high availability, complex development
Process oriented distributed, volatile state low overhead, high availability, lack of standardization
Message oriented one-way, send-and-forget low/high overhead, low/high availability
![Page 16: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/16.jpg)
Transaction Processing Monitor:Introduction
early client-server development environment manages applications, load and availability “operating environment” that monitors and controls
transaction processing in and among applications includes managing:
DB connections network resources OS resources
![Page 17: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/17.jpg)
Transaction Processing Monitor:Characteristics
reliable transactions consistent client response time maintaining throughput (transactions per second) large number of terminals and active users associative and random accesses to files fine-grained failure handling intensity of DB and communication management vs.
computation requirement for high availability business logic in procedural code proprietary interfaces
![Page 18: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/18.jpg)
Transaction Processing Monitor:Transactions
unit of work (“bracketed” by start…end) ACID properties commit or roll back changes
not operations are undoable multiple DBMSes per transaction are possible
2 phase commit: Phase 1: all DBMSes write updates to stable storage Phase 2: after Phase 1 acks, all DBMSes commit
transactions not restricted to DBMSes
![Page 19: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/19.jpg)
Transaction Processing Monitor:Requests
user-oriented, but may originate from app may require several transactions to complete
For example, one request may consist of these transactions enter order request shipment issue bill
application developer delimits transaction boundaries of requests
![Page 20: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/20.jpg)
Transaction Processing Monitor:Services
Naming: map application name to app instance Connection: funnels requests from clients to apps Resource Routing: request indicates set of
resources to use, TPM provides access Activation: detect and respond to faults by
creating and/or utilizing redundant parts
![Page 21: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/21.jpg)
Object Request Brokers conceptually:
communication bus for object access and interaction in reality, shared libraries of code used by
client objects to access distributed services server objects to provide distributed services client stubs and server skeletons that handle:
marshaling/unmarshaling method identification and location object activation (server side)
foundation for object services
![Page 22: Applications and Infrastructure](https://reader036.fdocuments.net/reader036/viewer/2022062520/56816023550346895dcf28cb/html5/thumbnails/22.jpg)
Object Transaction Monitor fueled by need to build enterprise apps:
more rapidly with higher reliability high interoperability better development environments
focus on objects, not application procedures ORB + TPM using objects also called Component Transaction Monitor(CTM)