The World Wide Web as a Distributed Object System
|
|
|
- Lesley Goodman
- 10 years ago
- Views:
Transcription
1 The World Wide Web as a Distributed Object System Travis Olds School of Computer Science The University of Adelaide SA, 5005, Australia [email protected] Abstract This paper considers the idea of the World Wide Web as a distributed object system, in contrast to the more traditional view of the Web as purely a distributed document system. There already exist significant indications of moves in this direct and some of the more compelling examples will be discussed. We believe this move is indeed a very positive one but question the overall approach that is taken. It is felt that not fully committing to this objective only results in the absence of many properties important for success. Those properties considered most critical are examined. The remainder of the paper presents an overview of our efforts: firstly in the use of object systems within individual components of a Web system, and secondly in looking towards achieving a genuinely distributed object Web system. 1 Introduction The World Wide Web is moving away from its roots as being purely a distributed document system towards what can better be categorised as a distributed object system. This statement is certainly justified given reference to a wealth of current standards, technology, and research. While this may be the case, replacing the Web with what could be considered a complete distributed object system is certainly not the deliberate, or intended, outcome of most of those involved. In fact, many would argue, that this is actually a most undesirable outcome because it would reduce the Web s flexibility and increase its complexity. Furthermore, it is conjectured that since this outcome is not the result of conscious effort, the resulting system, whilst characteristic of distributed object systems, will exhibit much unnecessary complexity and incoherence. Our approach to the Web is somewhat radical, arguing for something much closer to a genuine distributed object system and for a somewhat more direct and planned approach to this outcome. Before exploring things from this perspective however, some of the more convincing indicators of a move towards an object-based approach are discussed. This leads into examination of some of the more important deficiencies perceived in existing technology. Work is then presented that both demonstrates the benefits of strongly typed object-based approaches in the Web and provides compelling grounds for the basis for much of our beliefs. Finally, achieving our long-term objective of a genuine distributed object Web system is further discussed. 2 Signaling the move towards an object system The direction in which much of the World Wide Web is clearly moving is towards some form of object system. At the very least, object systems functionality will form the basis of many of the components within Web systems. Discussion of indicators of this move will focus around specifications of the World Wide Web Consortium (W3C). This is because standards, in addition to forming a critical component of existing technology, both reflect past activities considered as worthwhile steps forward and underpin all future mainstream efforts. Individual Web systems and other Web related research endeavors, on the other hand, whilst hopefully leaving some mark for future directions are far more likely to otherwise simply come and go. 2.1 The Document Object Model The W3C has developed its Document Object Model (DOM) [5] to support document structure navigation, and addition, modification, and deletion of elements and content within pages. The DOM is an Application Programming Interface (API) for documents. The interface essentially allows application programs to act upon a document as if it were represented as a graph of objects. The DOM is intended for both client and server side document processing and manipulation. Broad ranging and powerful functionality is provided for both of these situations. A good example of this functionality is DOM events which allows event listener registration for notification of document mutation and user interface actions. In the case of the client side, for example, such functionality could be used to support interactive document mutation on user mouse action within a web browser.
2 Programming language and implementation independence are major design objectives for the DOM. The DOM is implementation independent in that it defines only the interface and the logical structure of documents. Whilst the logical structure of a document is a form of object graph, an implementation conforming to the DOM can physically represent documents in whatever form is convenient. The relationship between objects can also be implemented in any manner. Programming language independence effectively means that operations on documents through use of the DOM are mostly very weakly typed. 2.2 The XML Infomation Set The XML Information Set (Infoset) [8] defines an abstract data model for XML documents. It is intended that the XML Infoset provide a consistent set of definitions for use by other specifications needing to refer to information within an XML document. The XML Infoset, in effect, specifies the result of parsing an XML document, in the form of a collection of information items. A document s infoset is therefore comprised of a number of information items, each of which is an abstract description of some part of the document and has a set of associated named properties. The XML Infoset defines eleven different types of information items that a document s infoset may contain. However, each document infoset must at least contain exactly one document information item, since all other information items are accessible, either directly or indirectly, from the properties of the document information item. The XML infoset data model is abstract because it defines neither an interface nor implementation. Whilst the abstract model is certainly a form of object graph, or tree, there is no requirement that a document s infoset be physically represented in this form. Equally, there is no requirement that an infoset be accessible through an interface that exposes a tree structure. Increasingly specifications are defining their activities purely as infoset to infoset transformations. That is they define operations on data as if, whilst being operated over, that data were actually represented in the form of the XML Infoset. 2.3 XQuery XQuery [10] is designed to be a standardised query language for XML data, in much the same way that Structured Query Language (SQL) is a standard for relational data. XQuery is a simple, yet powerful, high-level functional language where each query is an expression to be evaluated, and new expressions can be created through composition of existing expressions. XQuery is defined in terms of a formal data model, not in terms of XML text. Every input to a query is an instance of the data model, as is the output of every query. XQuery is defined purely as a transformation from one instance of the data model to another. Access to a data model instance for input and the outputting of a data model instance are handled by calling predefined XQuery input and output functions. Not surprisingly in the XQuery data model every document is represented as a tree of nodes, or objects. The kinds of nodes that may occur are: document, element, attribute, text, namespace, processing instruction, and comment. Every node has a unique node identity that distinguishes it from all other nodes, including those that would otherwise be considered identical. In addition to nodes, the data model also allows atomic values which are values having simple types such as strings, booleans, integers, floats and doubles. The operations that XQuery supports allow the querying of not only content but also the structure of data. XQuery operations therefore make heavy use of the logical tree-based structuring of data. Nodes can be located using path expressions, new structures can be created with element constructors, content may be sorted, and existing documents can be restructured and combined to form new documents. Predictably, there has been much discussion recently regarding what are to be referred to as native XML databases. As the name suggests these are databases designed specifically for storage and retrieval of XML data. A native XML Database Management System (DBMS) is expected to provide all the features of any DBMS, such as secondary storage management, protection and the enforcement of integrity constraints, and query processing, but specifically tailor them to the management of XML data. Essentially, a native XML DBMSs fundamental characteristic is the ubiquitous use of the XML data model, or more likely the XQuery data model, throughout. This includes storage, processing and in its communications interfaces. 2.4 Web services Web services are envisioned as the means for constructing distributed application systems in the Web. A Web service can simply be considered to be a software entity that is identified by a URL and that exposes interfaces defined and described using XML. Other entities may discover these interface definitions, so as to allow them to interact with the Web service using XML-based messages. In this way Web services can be used as components in the construction of some greater Web-based software service. The Web Service Architecture (WSA) specification [6] is intended to provide the common definition of a Web
3 service, and set out its role within the larger distributed architectural framework. It identifies functional components, defines their interrelationships, and prescribes any constraints on each component required to achieve the intended outcomes of the architecture. It does not, however, specify how Web services are implemented. The Web Services Architecture (WSA) is an instance of what is referred to as a Service Oriented Architecture (SOA). An SOA is a particular type of distributed system in which the discrete software entities making up the system perform a single well-defined role, that is provide a service. The Web Service Description Language (WSDL) [7] provides the standardised means for describing Web services. A Web Service Description (WSD), written in WSDL, therefore acts as a description of the programmatic interface to a publicly accessible component within the distributed application. WSD s are machine readable and provide sufficient information for the Web service to be invoked, and for request and response information to be exchanged correctly. An important note about Web services is to clarify that Web services are in fact only defined at the abstract level. That is, Web services are only abstract entities whose actual implementation is what is referred to as an agent. Agents are therefore the actual concrete entities implementing a service, whilst a service is merely the abstract set of functionality provided. The important point in this regard is that the notion of a Web service is completely implementation independent, agents can be implemented in any programming language, and using any approach, that is convenient. The WSA, and individual Web services themselves, can be strongly contrasted with distributed object systems and their constituent entities. An instantiation of the WSA clearly consists of a number of distributed interconnected entities, Web Services, each of which exposes an objectlike interface for use by others. Obviously, perceptible similarities do not end here; being in fact quite easily extended much deeper. 3 Important properties absent in the mainstream approach Having identified a number of indicators of a move towards object systems in the World Wide Web it is appropriate to consider some of the perceived deficiencies in existing approaches. It is only intended that some of the deficiencies in existing technology, perceived as being more major, will be addressed here. These deficiencies are seen not only as those most critical for the formulation and construction of Web systems as genuine distributed object systems, but also still important, to varying degrees, if the Web is to even be treated at some abstract level as an object system. 3.1 Lack of a single physical data model The XML Infoset specification was created to address the lack of a data model, a representation in structural form, in the original specifications of XML. This omission however, in combination with the fact that a number of technologies have ancestry which predate XML itself, means that the XML Infoset is not the only model used for representing XML data. Whilst it is intended that the XML Infoset form the data model for other XML related specifications, including hopeful future revisions of existing specifications, much inconsistency presently remains. This is particularly the case for the Document Object model, which is certainly a vastly different model to that of the XML Infoset. Furthermore, many specifications, such as XQuery have moved towards being based on an augmented version of XML Infoset s, referred to as a Post-Schema Validation Infoset (PSVI), that adds type information and normalises data values. Whilst inconsistencies between the data models of different component technologies remain there is little hope for their use in the construction of large, non-trivial, distributed software systems. Such disparate component technologies only leads to systems where much unnecessary complexity results; and where protection and efficiency are far less than optimal. Although, data model inconsistency is probably a soluble problem, the lack of a physical data model is far more concerning and inherent. The trouble is that all specifications for a standard data model for Web data are only logical in nature and as such do not prescribe actual physical representations. The lack of such a standardised physical data model means component implementors are free to use whatever physical representation they find convenient, so long as they present the illusion of the representation defined by the logical data model. This flexibility limits the guarantees that can be made about the behaviour of a component, thereby complicating its failure semantics and reducing its powerfulness. The spill-on effect of this a far more complicated overall system, much more likely to malfunction, more difficult to construct and reason about, and likely to be less powerful and less efficient. 3.2 Lack of uniform data protection The stages in the life-cycle of data within a Web system can be broadly partitioned into that of computation, storage, and communications. Throughout all these stages in data s lifetime, data should be strongly protected against accidental or deliberate misuse. The role of protection
4 has traditionally been handled by some form of type system provided by the support system of a given component technology. For example, the programming language type system in the case of computation within a programming language system. Not only does data need to be protected against misuse, protection must be achieved through both uniform enforcement and uniform expressibility of constraints. This is because without such uniformity, the protection offered cannot be guaranteed. This is due to the possibility of subversion of the type system during periods in which its constraints are less strongly enforced and the possibility of type incompatibilities, where less expressibility in one system results in loss of protection. A typically Web system is pieced together using a number of different implementation technologies and support systems, each providing facilities for one or more of the tasks necessary in the life-cycle of data. For example, programming languages are commonly used for computation, DBMSs and filesystems for storage, and communication is commonly either in the form of Web data items, such as XML, or some mechanism specific to the communicating entity technologies. The point here is that protection is clearly not uniform. Different component technologies enforce protection to varying degrees, if at all. Furthermore, even if each component technology strongly enforces protection, programming language types are most likely incompatible with DBMS schema, and different languages have stronger or weaker type systems to one another. 3.3 Lack of a powerful expressive type system Leading on from the need for uniform protection of data, guaranteeing protection has little worth unless the type system is sufficiently powerful to express the constraints necessary for the forms of data a system must support. The W3C s XML Schema [9] is often touted as the type system for the Web. The basis for this is that XML Schema is, to some extent, seen as the successor of Document Type Definitions (DTDs) - the original mechanism used in the XML recommendation for specifying constraints on the make-up of documents. XML Schemas have the significant benefit over DTDs of being themselves formulated in XML. Whilst XML Schema is also substantially more powerful in specificity to DTDs, it remains the case that XML Schema is designed for the typing of documents and not for the typing of data in general. The implication of this is that XML Schema can in fact be seen as equivalent to a context free grammar definition language, and not a full fledged type system. That is to say that XML Schema can constrain syntax. It cannot, however, express more general type constraints. Fortunately in the case of most of the types seen in basic XML documents, those of simple types such as floats and strings and of complex nested structures, all of which have literal values, constraints imposed on syntax can mostly be enough to affect necessary type constraints. Unfortunately, however, this is not the case for more general forms of data required in computation and storage. A prime example of this is that XML Schema cannot be used effectively to type constrain data values containing first-class functions. Furthermore, even basic documents do not escape entirely from the limitations of XML Schema. Importantly, references in a document, whilst being constrained to be well-formed URLs, are otherwise completely untyped. If Web systems are to be constructed so as to provide any guarantees as to their correctness and their protection of data, the type system used throughout needs to be significantly more complete than that which is offered by XML Schema. Whilst it is unclear what all the facilities necessary for this role may be, it is clear that such a type system must at least provide support for the typing of references, to allow guarantees of referential integrity to be made, and for the typing of first-class function values, since these are such an important part of almost all modern languages. 4 The beginnings of a Web object system We have already demonstrated an approach [3] to Web application safety, based in major part on the use of an orthogonally persistent object system [1, 2], that is simpler and more powerful than previous approaches. Our approach provides systemic enforcement of safety and results in a complete Web application server system that is implemented entirely within a strongly typed orthogonally persistent object system, with automatic storage management. 4.1 Overview of the approach A diagrammatic overview of our our approach, showing the important stages in the life cycle of a Web request is given in Figure 1. The key points relating to our approach are as follows. All storage in our system is of strongly typed object graphs, including first-class functions, and is completely orthogonal to the life-time of such data. All static and dynamic Web content is therefore represented in strongly typed structured form. All links within pages, including form actions, are represented as indirected strongly typed
5 Web server name space URL loc[fun(p) HTML] Session variables of content generator URL HTML view[o:loc[fun(p) HTML]] fun(p) HTML Web content generator referenced by URL Web page containing href or action link Structured representation of well-formed Web page, produced as result Figure 1: Web request life cycle with object-based representation pointers to their referent objects. Links are indirected to support external lookup based on URLs. All computation in our system is over typed and initialised values, with all updates of Web content being subject to strong type checking and referential integrity maintained for all pointers. Also, since our approach is based on a block structured programming language, operations of session oriented applications on session state can be completely statically checked. This is because dynamic content generators providing operations on session state are higher-order functions dynamically generated during the session and lexically nested within the scope of the function which created the session variable. Finally, all conversion to and from textual form for input and output are handled via system level processes, whose correctness can be guaranteed. 4.2 Benefits of the approach We have identified many benefits, mostly inherent to our approach. In summary, these benefits are that the following important safety properties are guaranteed: 1. all delivered HTML content is syntactically wellformed. 2. hyper-links in both static and dynamically generated content have referential integrity. 3. Web forms are consistent with the services processing form input. 4. the code of session operations has statically safe bindings to variables defined with session scope. These safety properties ensure that the following failures, otherwise exposed to human users of Web applications developed with traditional approaches, cannot occur within our approach: Malformed pages. Broken links. Inconsistencies in links to Web services responsible for processing user input. Failed session state linkage. In addition to the basic properties just outlined, our approach safely and efficiently supports many facilities desirable in the development of Web application systems. Some noteworthy examples are: Statically safe computation over Web content. System-wide safe and efficient shareability. It is important to emphasise the vital contribution that an othogonally persistent object system has in our approach. Orthogonal persistence enables us to avoid consideration of the issue of the need for persistence within the formulation of our approach. The result being a simplified model and the extension of the benefits of our approach to automatically include components that are required to persist. 4.3 Earlier realisation of the approaches benefits Hyper-programming [4] refers to a programming concept in which the source and executable representation of programs are unified. Hyper-progamming allows a much wider range of static checking of program safety than conventional approaches, and also promises to greatly simplify the task of incremental system development. At program construction, pointers to actual objects that will be involved in program execution are directly incorporated into the program description. These pointers replace the usual textual access path descriptions that are instead used to specify such objects for binding at link time. Hyper-programming therefore relies on the existence of referent objects within the environment of execution at program composition time, making use of this situation to allow direct binding and earlier checking.
6 Hyper-programming has been successfully applied to application development within closed world orthogonally persistent system. We are currently exploring the hyper-programming concept within the open system that is the Web. We envisage a hyper-programming system that supports program development external to the application server, with URLs forming the pointers that replace textual access paths. We see hyper-programming as being able to extend the benefits of a strongly typed objectbased representation, that being safety and increased capabilities, to the phases of system development and maintenance. 4.4 Present limitations The only major current limitation of our approach is its lack of standardised support facilities. Importantly, only a subset of data can be sufficiently type protected with means compatible with standard mechanisms available when data is communicated outside the system. This restricts the openness of the system for any non-proprietary components. These limitations, however, are considered to merely limit the current applicability of some of the possible benefits of our approach. 5 Achieving a genuine distributed object Web system It is clear from our work so far, and that of others, that object systems have many advantages for the representation of individual components of a Web system over systems which adopt purely document-based content representations. It is believed, however, that further exploitation of object-based representations offers even greater benefits and promises even further opportunities. Our aim is, essentially, to support safe distributed computation over Web content in much the same way that we believe we have mostly achieved this in the nondistributed context. Whilst the requirements here are much the same as in that case, the need for standardised mechanisms is even more critical. Our long-term goal is therefore to achieve a situation in which the Web is as close as possible to being what could be considered a genuine distributed object system. We believe this situation guarantees maximum safety whilst also providing maximum capabilities for the applications taking advantage of the environment. We seek to achieve this situation since it would allow all data to: have a uniform representation, be protected against misuse by means of a single type system, and be geographically distributed Figure 2 provides a simplified illustration of how we would hope such as system to look. Key points in the Web browser/client Server Secondary storage Server Server Main memory Legend Site boundary Site component boundary Document Object URL reference Figure 2: An example distributed object Web system figure are references and object graphs representing document entities. These emphasise the important concept of what is essentially a two level addressing scheme. Intradocument references are mostly implicit within a document, whilst inter-document references are made explicit by way of URLs. URLs are the standardised means for communicating references and as such delineate collections for communication. It is considered for the sake of implementation flexibility, that both forms of references may be physically represented by a variety of means. String-form URLs are certainly only necessary during transit, whilst direct memory addresses are otherwise generally more efficient. Whilst in reality individual components may choose to what extend they wish to be faithful in actually adopting the available attributes for data under their control, those that fully do so should be able to derive maximum benefit. On the other hand, components that choose to disregard these attributes merely offer limited functionality and protection. We are presently working towards achieving our goal and see the following as integral ingredients: 1. an object based representation for all data throughout its entire lifetime. 2. a type system with sufficient expressive power to protect all data throughout its entire lifetime. 3. strongly typed URLs for adding a level of indirection to references to support distribution. Finally, it is worthwhile noting that in contrast to more traditional distributed object systems, a distributed object system for the Web must provide additional flexibility to allow subsystem autonomy. It is seen as important that individual components be able to opt-in, or out, of different guarantees they provide. For example components should
7 be able to choose whether to: cooperate to preserve distributed referential integrity, provide some limited form of referential integrity such as a guarantee of referent type but not existence, or provide no referential integrity whatsoever. Supporting such functionality certainly requires significant investigation. 6 Conclusion The World Wide Web as a distributed object system is put forward as a considerably positive step forward. Significant indications of existing moves in this direction are presented. Whilst this effort offers much promise, it is shown not to currently be enough for the complete realisation of the potential of the Web as a distributed object system. Some of the more important of these deficiencies are examined. We seek to support a situation that realises the benefits of object systems for the Web. Having demonstrated an object-based single server system that can guarantee safe web application execution is presented as compelling evidence of these beginnings. Present work on further realisation of these benefits also shows promise. Finally, proceeding onwards toward a genuine distributed object Web system is introduced. Whilst achieving this goal is still some time off, it is hoped that this introduction serves at least to stimulate interest. [6] World Wide Web Consortium (W3C). Web service architecture (work in progress). TR/2003/WD-ws-arch /. [7] World Wide Web Consortium (W3C). Web service description working group /ws/desc/. [8] World Wide Web Consortium (W3C). XML information set. [9] World Wide Web Consortium (W3C). Xml schema. [10] World Wide Web Consortium (W3C). XQery 1.0: An XML query language. xquery/. References [1] M. P. Atkinson, P. J. Bailey, K. J. Chisholm, W. P. Cockshott, and R. Morrison. An approach to persistent programming. Computer Journal, 26(4): , [2] M. P. Atkinson and R. Morrison. Orthogonally persistent object systems. International Journal on Very Large Data Bases (VLDB), 4(3): , [3] H. Detmold, K. Falkner, D. Munro, T. Olds, R. Morrison, and S. Norcross. An integrated approach to static safety of web applications. In the 12th International World Wide Web Conference (WWW03), p309-detmold.html. [4] G. N. C. Kirby, R. C. H. Connor, Q. I. Cutts, and R. Morrison. Persistent hyper-programs. In Persistent Object Systems, pages Springer, [5] World Wide Web Consortium (W3C). Document object model (DOM) specifications.
Unified XML/relational storage March 2005. The IBM approach to unified XML/relational databases
March 2005 The IBM approach to unified XML/relational databases Page 2 Contents 2 What is native XML storage? 3 What options are available today? 3 Shred 5 CLOB 5 BLOB (pseudo native) 6 True native 7 The
XML Processing and Web Services. Chapter 17
XML Processing and Web Services Chapter 17 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of http://www.funwebdev.com Web Development Objectives 1 XML Overview 2 XML Processing
Service Oriented Architecture
Service Oriented Architecture Charlie Abela Department of Artificial Intelligence [email protected] Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline
Chapter 1: Introduction
Chapter 1: Introduction Database System Concepts, 5th Ed. See www.db book.com for conditions on re use Chapter 1: Introduction Purpose of Database Systems View of Data Database Languages Relational Databases
Application of XML Tools for Enterprise-Wide RBAC Implementation Tasks
Application of XML Tools for Enterprise-Wide RBAC Implementation Tasks Ramaswamy Chandramouli National Institute of Standards and Technology Gaithersburg, MD 20899,USA 001-301-975-5013 [email protected]
A Review of Database Schemas
A Review of Database Schemas Introduction The purpose of this note is to review the traditional set of schemas used in databases, particularly as regards how the conceptual schemas affect the design of
Importance of Data Abstraction, Data Virtualization, and Data Services Page 1
Importance of Data Abstraction, Data Virtualization, and Data Services David S. Linthicum The management of data is core to successful IT. However, few enterprises have a strategy for the use of data assets,
Modern Databases. Database Systems Lecture 18 Natasha Alechina
Modern Databases Database Systems Lecture 18 Natasha Alechina In This Lecture Distributed DBs Web-based DBs Object Oriented DBs Semistructured Data and XML Multimedia DBs For more information Connolly
Lesson 4 Web Service Interface Definition (Part I)
Lesson 4 Web Service Interface Definition (Part I) Service Oriented Architectures Module 1 - Basic technologies Unit 3 WSDL Ernesto Damiani Università di Milano Interface Definition Languages (1) IDLs
Technologies for a CERIF XML based CRIS
Technologies for a CERIF XML based CRIS Stefan Bärisch GESIS-IZ, Bonn, Germany Abstract The use of XML as a primary storage format as opposed to data exchange raises a number of questions regarding the
Introduction to Service Oriented Architectures (SOA)
Introduction to Service Oriented Architectures (SOA) Responsible Institutions: ETHZ (Concept) ETHZ (Overall) ETHZ (Revision) http://www.eu-orchestra.org - Version from: 26.10.2007 1 Content 1. Introduction
Database System Concepts
s Design Chapter 1: Introduction Departamento de Engenharia Informática Instituto Superior Técnico 1 st Semester 2008/2009 Slides (fortemente) baseados nos slides oficiais do livro c Silberschatz, Korth
DATABASE MANAGEMENT SYSTEM
REVIEW ARTICLE DATABASE MANAGEMENT SYSTEM Sweta Singh Assistant Professor, Faculty of Management Studies, BHU, Varanasi, India E-mail: [email protected] ABSTRACT Today, more than at any previous
DATA QUALITY DATA BASE QUALITY INFORMATION SYSTEM QUALITY
DATA QUALITY DATA BASE QUALITY INFORMATION SYSTEM QUALITY The content of those documents are the exclusive property of REVER. The aim of those documents is to provide information and should, in no case,
[Refer Slide Time: 05:10]
Principles of Programming Languages Prof: S. Arun Kumar Department of Computer Science and Engineering Indian Institute of Technology Delhi Lecture no 7 Lecture Title: Syntactic Classes Welcome to lecture
Combining SAWSDL, OWL DL and UDDI for Semantically Enhanced Web Service Discovery
Combining SAWSDL, OWL DL and UDDI for Semantically Enhanced Web Service Discovery Dimitrios Kourtesis, Iraklis Paraskakis SEERC South East European Research Centre, Greece Research centre of the University
1 File Processing Systems
COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.
Last Week. XML (extensible Markup Language) HTML Deficiencies. XML Advantages. Syntax of XML DHTML. Applets. Modifying DOM Event bubbling
XML (extensible Markup Language) Nan Niu ([email protected]) CSC309 -- Fall 2008 DHTML Modifying DOM Event bubbling Applets Last Week 2 HTML Deficiencies Fixed set of tags No standard way to create new
DataDirect XQuery Technical Overview
DataDirect XQuery Technical Overview Table of Contents 1. Feature Overview... 2 2. Relational Database Support... 3 3. Performance and Scalability for Relational Data... 3 4. XML Input and Output... 4
So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #39 Search Engines and Web Crawler :: Part 2 So today we
Service-oriented Development of Federated ERP Systems
Service-oriented Development of Federated ERP Systems Nico Brehm, Jorge Marx Gómez Department of Computer Science, Carl von Ossietzky University Oldenburg, Ammerländer Heerstrasse 114-118, 26129 Oldenburg,
Lightweight Data Integration using the WebComposition Data Grid Service
Lightweight Data Integration using the WebComposition Data Grid Service Ralph Sommermeier 1, Andreas Heil 2, Martin Gaedke 1 1 Chemnitz University of Technology, Faculty of Computer Science, Distributed
SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q. Exam Code: S90-03A. Exam Name: SOA Design & Architecture
SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q Number: S90-03A Passing Score: 800 Time Limit: 120 min File Version: 14.5 http://www.gratisexam.com/ Exam Code: S90-03A Exam Name:
Introducing Formal Methods. Software Engineering and Formal Methods
Introducing Formal Methods Formal Methods for Software Specification and Analysis: An Overview 1 Software Engineering and Formal Methods Every Software engineering methodology is based on a recommended
Lesson 8: Introduction to Databases E-R Data Modeling
Lesson 8: Introduction to Databases E-R Data Modeling Contents Introduction to Databases Abstraction, Schemas, and Views Data Models Database Management System (DBMS) Components Entity Relationship Data
Data Grids. Lidan Wang April 5, 2007
Data Grids Lidan Wang April 5, 2007 Outline Data-intensive applications Challenges in data access, integration and management in Grid setting Grid services for these data-intensive application Architectural
Data Modeling Basics
Information Technology Standard Commonwealth of Pennsylvania Governor's Office of Administration/Office for Information Technology STD Number: STD-INF003B STD Title: Data Modeling Basics Issued by: Deputy
æ A collection of interrelated and persistent data èusually referred to as the database èdbèè.
CMPT-354-Han-95.3 Lecture Notes September 10, 1995 Chapter 1 Introduction 1.0 Database Management Systems 1. A database management system èdbmsè, or simply a database system èdbsè, consists of æ A collection
2. Basic Relational Data Model
2. Basic Relational Data Model 2.1 Introduction Basic concepts of information models, their realisation in databases comprising data objects and object relationships, and their management by DBMS s that
How To Build A Connector On A Website (For A Nonprogrammer)
Index Data's MasterKey Connect Product Description MasterKey Connect is an innovative technology that makes it easy to automate access to services on the web. It allows nonprogrammers to create 'connectors'
Quiz! Database Indexes. Index. Quiz! Disc and main memory. Quiz! How costly is this operation (naive solution)?
Database Indexes How costly is this operation (naive solution)? course per weekday hour room TDA356 2 VR Monday 13:15 TDA356 2 VR Thursday 08:00 TDA356 4 HB1 Tuesday 08:00 TDA356 4 HB1 Friday 13:15 TIN090
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications White Paper Table of Contents Overview...3 Replication Types Supported...3 Set-up &
U III 5. networks & operating system o Several competing DOC standards OMG s CORBA, OpenDoc & Microsoft s ActiveX / DCOM. Object request broker (ORB)
U III 1 Design Processes Design Axioms Class Design Object Storage Object Interoperability Design Processes: - o During the design phase the classes identified in OOA must be revisited with a shift in
Distributed Database for Environmental Data Integration
Distributed Database for Environmental Data Integration A. Amato', V. Di Lecce2, and V. Piuri 3 II Engineering Faculty of Politecnico di Bari - Italy 2 DIASS, Politecnico di Bari, Italy 3Dept Information
XML Programming with PHP and Ajax
http://www.db2mag.com/story/showarticle.jhtml;jsessionid=bgwvbccenyvw2qsndlpskh0cjunn2jvn?articleid=191600027 XML Programming with PHP and Ajax By Hardeep Singh Your knowledge of popular programming languages
Secure Authentication and Session. State Management for Web Services
Lehman 0 Secure Authentication and Session State Management for Web Services Clay Lehman CSC 499: Honors Thesis Supervised by: Dr. R. Michael Young Lehman 1 1. Introduction Web services are a relatively
Concrete uses of XML in software development and data analysis.
Concrete uses of XML in software development and data analysis. S. Patton LBNL, Berkeley, CA 94720, USA XML is now becoming an industry standard for data description and exchange. Despite this there are
An XML Based Data Exchange Model for Power System Studies
ARI The Bulletin of the Istanbul Technical University VOLUME 54, NUMBER 2 Communicated by Sondan Durukanoğlu Feyiz An XML Based Data Exchange Model for Power System Studies Hasan Dağ Department of Electrical
Guiding Principles for Modeling and Designing Reusable Services
Guiding Principles for Modeling and Designing Reusable Services Max Dolgicer Managing Director International Systems Group, Inc. [email protected] http://www.isg-inc.com Agenda The changing notion
Document Management in e-freight based on Cloud Storage Architecture
Document Management in e-freight based on Cloud Storage Architecture Bill Karakostas INLECOM 15 June 2009 This is one of a series of architectural documents that describe a Cloud approach to collaborative
II. PREVIOUS RELATED WORK
An extended rule framework for web forms: adding to metadata with custom rules to control appearance Atia M. Albhbah and Mick J. Ridley Abstract This paper proposes the use of rules that involve code to
BUSINESS RULES CONCEPTS... 2 BUSINESS RULE ENGINE ARCHITECTURE... 4. By using the RETE Algorithm... 5. Benefits of RETE Algorithm...
1 Table of Contents BUSINESS RULES CONCEPTS... 2 BUSINESS RULES... 2 RULE INFERENCE CONCEPT... 2 BASIC BUSINESS RULES CONCEPT... 3 BUSINESS RULE ENGINE ARCHITECTURE... 4 BUSINESS RULE ENGINE ARCHITECTURE...
Business Rules in User Interfaces
1 of 9 BUSINESS RULES COMMUNITY : The World's Most Trusted Resource For Business Rule Professionals http://www.brcommunity.com Print this Page Business Rules in User Interfaces by Kamlesh Pandey The business
Secure Semantic Web Service Using SAML
Secure Semantic Web Service Using SAML JOO-YOUNG LEE and KI-YOUNG MOON Information Security Department Electronics and Telecommunications Research Institute 161 Gajeong-dong, Yuseong-gu, Daejeon KOREA
Deferred node-copying scheme for XQuery processors
Deferred node-copying scheme for XQuery processors Jan Kurš and Jan Vraný Software Engineering Group, FIT ČVUT, Kolejn 550/2, 160 00, Prague, Czech Republic [email protected], [email protected] Abstract.
REST vs. SOAP: Making the Right Architectural Decision
REST vs. SOAP: Making the Right Architectural Decision Cesare Pautasso Faculty of Informatics University of Lugano (USI), Switzerland http://www.pautasso.info 1 Agenda 1. Motivation: A short history of
Agents and Web Services
Agents and Web Services ------SENG609.22 Tutorial 1 Dong Liu Abstract: The basics of web services are reviewed in this tutorial. Agents are compared to web services in many aspects, and the impacts of
ECS 165A: Introduction to Database Systems
ECS 165A: Introduction to Database Systems Todd J. Green based on material and slides by Michael Gertz and Bertram Ludäscher Winter 2011 Dept. of Computer Science UC Davis ECS-165A WQ 11 1 1. Introduction
Mapping between Levels in the Metamodel Architecture
Mapping between Levels in the Metamodel Architecture José Álvarez, Andy Evans 2, Paul Sammut 2 Dpto. de Lenguajes y Ciencias de la Computación, University Málaga, Málaga, 2907, Spain [email protected]
Web Services Technologies
Web Services Technologies XML and SOAP WSDL and UDDI Version 16 1 Web Services Technologies WSTech-2 A collection of XML technology standards that work together to provide Web Services capabilities We
Getting Started with Service- Oriented Architecture (SOA) Terminology
Getting Started with - Oriented Architecture (SOA) Terminology Grace Lewis September 2010 -Oriented Architecture (SOA) is a way of designing, developing, deploying, and managing systems it is neither a
INTRODUCING AZURE SEARCH
David Chappell INTRODUCING AZURE SEARCH Sponsored by Microsoft Corporation Copyright 2015 Chappell & Associates Contents Understanding Azure Search... 3 What Azure Search Provides...3 What s Required to
Encoding Library of Congress Subject Headings in SKOS: Authority Control for the Semantic Web
Encoding Library of Congress Subject Headings in SKOS: Authority Control for the Semantic Web Corey A Harper University of Oregon Libraries Tel: +1 541 346 1854 Fax:+1 541 346 3485 [email protected]
Introduction to Database Systems. Chapter 1 Introduction. Chapter 1 Introduction
Introduction to Database Systems Winter term 2013/2014 Melanie Herschel [email protected] Université Paris Sud, LRI 1 Chapter 1 Introduction After completing this chapter, you should be able to:
Chapter 6 Registering and Discovering. Web Serv vices: Web services
Slide 6.1 Web Serv vices: Princ ciples & Te echno ology Chapter 6 Registering and Discovering Mike P. Papazoglou [email protected] Web services Slide 6.2 Topics Service registries and discovery Universal Description,
Database Programming with PL/SQL: Learning Objectives
Database Programming with PL/SQL: Learning Objectives This course covers PL/SQL, a procedural language extension to SQL. Through an innovative project-based approach, students learn procedural logic constructs
Getting started with API testing
Technical white paper Getting started with API testing Test all layers of your composite applications, not just the GUI Table of contents Executive summary... 3 Introduction... 3 Who should read this document?...
SOA GOVERNANCE MODEL
SOA GOVERNANCE MODEL Matjaz B. Juric University of Ljubljana, Slovenia [email protected] Eva Zupancic University of Ljubljana, Slovenia Abstract: Service Oriented Architecture (SOA) has become
Chapter 6: Physical Database Design and Performance. Database Development Process. Physical Design Process. Physical Database Design
Chapter 6: Physical Database Design and Performance Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden Robert C. Nickerson ISYS 464 Spring 2003 Topic 23 Database
Introduction to UDDI: Important Features and Functional Concepts
: October 2004 Organization for the Advancement of Structured Information Standards www.oasis-open.org TABLE OF CONTENTS OVERVIEW... 4 TYPICAL APPLICATIONS OF A UDDI REGISTRY... 4 A BRIEF HISTORY OF UDDI...
Log Analysis Software Architecture
Log Analysis Software Architecture Contents 1 Introduction 1 2 Definitions 2 3 Software goals 2 4 Requirements 2 4.1 User interaction.......................................... 3 4.2 Log file reading..........................................
Security Issues for the Semantic Web
Security Issues for the Semantic Web Dr. Bhavani Thuraisingham Program Director Data and Applications Security The National Science Foundation Arlington, VA On leave from The MITRE Corporation Bedford,
NoSQL storage and management of geospatial data with emphasis on serving geospatial data using standard geospatial web services
NoSQL storage and management of geospatial data with emphasis on serving geospatial data using standard geospatial web services Pouria Amirian, Adam Winstanley, Anahid Basiri Department of Computer Science,
Intelledox Designer WCA G 2.0
Intelledox Designer WCA G 2.0 Best Practice Guide Intelledox Designer WCAG 2.0 Best Practice Guide Version 1.0 Copyright 2011 Intelledox Pty Ltd All rights reserved. Intelledox Pty Ltd owns the Intelledox
A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles
A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles Jørgen Thelin Chief Scientist Cape Clear Software Inc. Abstract The three common software architecture styles
Oracle Service Bus Examples and Tutorials
March 2011 Contents 1 Oracle Service Bus Examples... 2 2 Introduction to the Oracle Service Bus Tutorials... 5 3 Getting Started with the Oracle Service Bus Tutorials... 12 4 Tutorial 1. Routing a Loan
SOA for Healthcare: Promises and Pitfalls
SOA for Healthcare: Promises and Pitfalls Dennis B. Smith [email protected] SOA in Health Care Conference: Value in a Time of Change Chicago, IL USA June 3, 2009 Agenda Healthcare IT Challenges SOA: The
Foreign and Primary Keys in RDM Embedded SQL: Efficiently Implemented Using the Network Model
Foreign and Primary Keys in RDM Embedded SQL: Efficiently Implemented Using the Network Model By Randy Merilatt, Chief Architect - January 2012 This article is relative to the following versions of RDM:
Course 6232A: Implementing a Microsoft SQL Server 2008 Database
Course 6232A: Implementing a Microsoft SQL Server 2008 Database About this Course This five-day instructor-led course provides students with the knowledge and skills to implement a Microsoft SQL Server
Draft Martin Doerr ICS-FORTH, Heraklion, Crete Oct 4, 2001
A comparison of the OpenGIS TM Abstract Specification with the CIDOC CRM 3.2 Draft Martin Doerr ICS-FORTH, Heraklion, Crete Oct 4, 2001 1 Introduction This Mapping has the purpose to identify, if the OpenGIS
T-110.5140 Network Application Frameworks and XML Web Services and WSDL 15.2.2010 Tancred Lindholm
T-110.5140 Network Application Frameworks and XML Web Services and WSDL 15.2.2010 Tancred Lindholm Based on slides by Sasu Tarkoma and Pekka Nikander 1 of 20 Contents Short review of XML & related specs
The case for service oriented architecture in realising trusted, interoperable, pan-european egovernment services.
The case for service oriented architecture in realising trusted, interoperable, pan-european egovernment services. Stephen McGibbon Microsoft EMEA Tel. +445511490070 Email. [email protected] Abstract:
JMulTi/JStatCom - A Data Analysis Toolkit for End-users and Developers
JMulTi/JStatCom - A Data Analysis Toolkit for End-users and Developers Technology White Paper JStatCom Engineering, www.jstatcom.com by Markus Krätzig, June 4, 2007 Abstract JStatCom is a software framework
Subject knowledge requirements for entry into computer science teacher training. Expert group s recommendations
Subject knowledge requirements for entry into computer science teacher training Expert group s recommendations Introduction To start a postgraduate primary specialist or secondary ITE course specialising
Chapter 2 Database System Concepts and Architecture
Chapter 2 Database System Concepts and Architecture Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Outline Data Models, Schemas, and Instances Three-Schema Architecture
Standard Recommended Practice extensible Markup Language (XML) for the Interchange of Document Images and Related Metadata
Standard for Information and Image Management Standard Recommended Practice extensible Markup Language (XML) for the Interchange of Document Images and Related Metadata Association for Information and
SOA Success is Not a Matter of Luck
by Prasad Jayakumar, Technology Lead at Enterprise Solutions, Infosys Technologies Ltd SERVICE TECHNOLOGY MAGAZINE Issue L May 2011 Introduction There is nothing either good or bad, but thinking makes
SQL Server. 1. What is RDBMS?
SQL Server 1. What is RDBMS? Relational Data Base Management Systems (RDBMS) are database management systems that maintain data records and indices in tables. Relationships may be created and maintained
ActiveVOS Server Architecture. March 2009
ActiveVOS Server Architecture March 2009 Topics ActiveVOS Server Architecture Core Engine, Managers, Expression Languages BPEL4People People Activity WS HT Human Tasks Other Services JMS, REST, POJO,...
COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters
COMP5426 Parallel and Distributed Computing Distributed Systems: Client/Server and Clusters Client/Server Computing Client Client machines are generally single-user workstations providing a user-friendly
Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:
Organization of DSLE part Domain Specific Language Engineering Tooling Eclipse plus EMF Xtext, Xtend, Xpand, QVTo and ATL Prof.dr. Mark van den Brand GLT 2010/11 Topics: Meta-modeling Model transformations
Model-based Configuration Management for a Web Engineering Lifecycle
Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University USA 1 Web Engineering Web development has changed Initially
Information Technology Security Evaluation Criteria. ITSEC Joint Interpretation Library (ITSEC JIL)
S Information Technology Security Evaluation Criteria ITSEC Joint Interpretation Library (ITSEC JIL) Version 2.0 November 1998 This document is paginated from i to vi and from 1 to 65 ITSEC Joint Interpretation
Enterprise Architecture: Practical Guide to Logical Architecture
Objecteering Practical Guides Enterprise Architecture: Practical Guide to Logical Architecture Author: Version: 1.0 Copyright: Softeam Softeam Consulting Team Supervised by Philippe Desfray Softeam 21
1. INTRODUCTION TO RDBMS
Oracle For Beginners Page: 1 1. INTRODUCTION TO RDBMS What is DBMS? Data Models Relational database management system (RDBMS) Relational Algebra Structured query language (SQL) What Is DBMS? Data is one
XBRL Processor Interstage XWand and Its Application Programs
XBRL Processor Interstage XWand and Its Application Programs V Toshimitsu Suzuki (Manuscript received December 1, 2003) Interstage XWand is a middleware for Extensible Business Reporting Language (XBRL)
Firewall Builder Architecture Overview
Firewall Builder Architecture Overview Vadim Zaliva Vadim Kurland Abstract This document gives brief, high level overview of existing Firewall Builder architecture.
CHAPTER 1 INTRODUCTION
CHAPTER 1 INTRODUCTION 1.1 Introduction Nowadays, with the rapid development of the Internet, distance education and e- learning programs are becoming more vital in educational world. E-learning alternatives
Translating between XML and Relational Databases using XML Schema and Automed
Imperial College of Science, Technology and Medicine (University of London) Department of Computing Translating between XML and Relational Databases using XML Schema and Automed Andrew Charles Smith acs203
WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT
WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT CONTENTS 1. THE NEED FOR DATA GOVERNANCE... 2 2. DATA GOVERNANCE... 2 2.1. Definition... 2 2.2. Responsibilities... 3 3. ACTIVITIES... 6 4. THE
A Workbench for Prototyping XML Data Exchange (extended abstract)
A Workbench for Prototyping XML Data Exchange (extended abstract) Renzo Orsini and Augusto Celentano Università Ca Foscari di Venezia, Dipartimento di Informatica via Torino 155, 30172 Mestre (VE), Italy
1 Introduction FEDERATED THROUGH-LIFE SUPPORT, ENABLING ONLINE INTEGRATION OF SYSTEMS WITHIN THE PLM DOMAIN. Abstract. Jonas Rosén
1 st Nordic Conference on Product Lifecycle Management - NordPLM 06, Göteborg, January 25-26 2006 FEDERATED THROUGH-LIFE SUPPORT, ENABLING ONLINE INTEGRATION OF SYSTEMS WITHIN THE PLM DOMAIN Jonas Rosén
Chapter 1: Introduction. Database Management System (DBMS) University Database Example
This image cannot currently be displayed. Chapter 1: Introduction Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Database Management System (DBMS) DBMS contains information
