450 likes | 560 Views
Information architectures theory and practice continued (Internet, Web, Grid, Cloud) and class project definitions. Peter Fox Xinformatics – Week 7, March 6, 2012. Contents. Review of last class, reading
E N D
Information architectures theory and practice continued (Internet, Web, Grid, Cloud) and class project definitions Peter Fox Xinformatics – Week 7, March 6, 2012
Contents • Review of last class, reading • Information architecturestheory and practice (Reference, Internet, Web, Grid, Cloud) and class project definitions • Project assignment • Next classes
(Information) Architecture • Definition: • “is the art of expressing a model or concept of information used in activities that require explicit details of complex systems” (wikipedia) • “… I mean architect as in the creating of systemic, structural, and orderly principles to make something work - the thoughtful making of either artifact, or idea, or policy that informs because it is clear.” Wuman
Theory • Look back through the first half of the course – the topics • Many theoretical considerations contained therein: • On a discipline basis – informatics comprises parts of computer science, social and cognitive science and library science, as well as its own science • On a decomposition basis: Context, Content, Structure; Syntax, Semantics, Pragmatics; etc. • On a methodological basis: Use cases; functional requirements, information models, etc.
Reference architectures • “provides a proven template solution for an architecture for a particular domain. It also provides a common vocabulary with which to discuss implementations, often with the aim to stress commonality. • A reference architecture often consists of a list of functions and some indication of their interfaces (or APIs) and interactions with each other and with functions located outside of the scope of the reference architecture.” (wikipedia)
U.S. Federal Enterprise Arch • E.g. The Federal Enterprise Architecture Reference Model Ontology (FEA-RMO) is a domain specific ontology of the Federal Enterprise Architecture reference models. • FEA-RMO directly translates the Performance, Business, Service Component, and Technical reference models into their executable representation in OWL-DL. • http://web-services.gov/fea-rmo.html
MVC • Model • View • Controller
Internet/ Intranet • Communications versus information architecture? • http://www.slideshare.net/postwait/scalable-internet-architecture • See the reading for this week, RFC1958 and the role of the Internet Engineering Task Force (IETF) and the Request for Comment Process
WWW • Design for the web (Tim Berners Lee) • “Principles such as simplicity and modularity are the stuff of software engineering; decentralization and tolerance are the life and breath of Internet. To these we might add the principles of least powerful language, and the test of independent invention when considering evolvable Web technology.”
Original design issues • See http://www.w3.org/DesignIssues/Overview.html • Here are the criteria and features to be considered: • Intended uses of the system. • Availability on which platforms? • Navigational techniques and tools: browsing, indexing, maps, resource discovery, etc • Keeping track of previous versions of nodes and their relationships • Multiuser access: protection, editing and locking, annotation. • Notifying readers of new material available • The topology of the web of links • The types of links which can express different relationships between nodes
Original design issues • These are the three important issues which require agreement between systems which can work together • Naming and Addressing of documents • Protocols • The format in which node content is stored and transferred • Implementation and optimization • Caching , smart browsers, knowbots etc., format conversion, gateways
Web architectural elements URI HTML HTTP
Web page/site architecture • Hierarchies, we call them levels: • Top level (the main page) • Second (and further) level (via navigation) • Balancing the levels • Remember your use case, the actors, the resources, the information model, information entropy, the signs, ...
Grid • “One of the main strategies of Grid computing is to use middleware to divide and apportion pieces of a program among several computers, sometimes up to many thousands. • Grid computing involves computation in a distributed fashion, which may also involve the aggregation of large-scale cluster computing based systems.” (wikipedia)
“What is the Grid?” • A Three Point Checklist, Ian Foster lists these primary attributes: • Computing resources are not administered centrally • Open standards are used. • Nontrivial quality of service is achieved.
Statefull versus stateless • A key distinction between Grids and Web environments is state, i.e. the knowledge of ‘who’ knows and remembers ‘what’ • Increasingly there is a need for maintaining some form of state, i.e. reducing information entropy in web and internet-based architectures • Thus, enter the need for ‘state for a defined purpose’…
Cloud • "a computing capability that provides an abstraction between the computing resource and its underlying technical architecture (e.g., servers, storage, networks), enabling convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction.” (wikipedia) • Logical extension of virtualization • Often tied to the cost model
Primary Benefits of Cloud Computing • To deliver a future state architecture that captures the promise of Cloud Computing, architects need to understand the primary benefits of Cloud computing • Decoupling and separation of the business service from the infrastructure needed to run it (virtualization) • Flexibility to choose multiple vendors that provide reliable and scalable business services, development environments, and infrastructure that can be leveraged out of the box and billed on a metered basis—with no long term contracts • Elastic nature of the infrastructure to rapidly allocate and de-allocate massively scalable resources to business services on a demand basis • Cost allocation flexibility for customers wanting to move CapEx into OpEx • Reduced costs due to operational efficiencies, and more rapid deployment of new business services
Software as a service (SaaS) • A SaaS provider typically hosts and manages a given application in their own data center and makes it available to multiple tenants and users over the Web. • Some SaaS providers run on another cloud provider’s PaaS or IaaS service offerings. • Oracle CRM On Demand, Salesforce.com, and Netsuite are some of the well known SaaS
Infrastructure as a service (IaaS) • is the delivery of hardware (server, storage and network), and associated software (operating systems virtualization technology, file system), as a service. It is an evolution of traditional hosting that does not require any long term commitment and allows users to provision resources on demand. • Unlike PaaS services, the IaaS provider does very little management other than keep the data center operational and users must deploy and manage the software services themselves--just the way they would in their own data center. Amazon Web Services Elastic Compute Cloud (EC2) and Secure Storage Service (S3) are examples of IaaS offerings.
Platform as a service (Paas) • is an application development and deployment platform delivered as a service to developers over the Web. • facilitates development and deployment of applications without the cost and complexity of buying and managing the underlying infrastructure, providing all of the facilities required to support the complete life cycle of building and delivering web applications and services entirely available from the Internet. • consists of infrastructure software, and typically includes a database, middleware and development tools. • A virtualized and clustered grid computing architecture is often the basis for this infrastructure software.
Platform as a service (Paas) • Some PaaS offerings have a specific programming language or API. • For example, Google AppEngine is a PaaS offering where developers write in Python or Java. • EngineYard is Ruby on Rails. • Sometimes PaaS providers have proprietary languages like force.com from Salesforce.com and Coghead, now owned by SAP
Cloud domain decompostion By functional domain
Discussion • About architecture in general? • Design? • Internet, web, grid, cloud?
Project Assignment • A) Analysis of existing information system content and architecture, critique, redesign and prototype redeployment • B) Pursuit of a detailed use case around a particular area of informatics, includes developing a prototype IS, architecture, design, etc. • Due April 24 (write up) and May 1 (presentation) • That’s 7 (8) weeks • Check in on progress in ~ 3 weeks
Teams (*tentative*) • Red– Jeff, Nikhita, Thiru, Joengmin, Yue R • Orange – Daniel, Han, Sapan, Liying, Ram • Yellow – Akeem, Eric, Sherry, Conyang, Brendan • Green – Linyun, Randy, Weijing, Steve, Anshuman • Blue– Jin, Lily, Robin, Kiran, Chen Z • Indigo – Apurva, Amruta, Mike, Chen W • Violet – Nupoor, Jay, Naveen, Ruiwen
What is next • Reading for this week • Design, color • Architectures • Life cycle • Week 8 – Information Integration, Life-cycle and Visualization • Week 9 – Information Management, Workflow, and Discovery and project check in/ discussion