59 research outputs found

    Exposing the myth: object-relational impedance mismatch is a wicked problem

    Get PDF
    Addressing a problem of software integration is a fact of life for those involved in software development. The popularity of both object and relational technologies means that they will inevitably be used together. However, the combination of these two technologies introduces problems. These problems are referred to collectively as the object-relational impedance mismatch. A mismatch is addressed using one or more mapping strategies, typically embodied in a pattern. A strategy is concerned with correspondence between the schema of a relational database and an object-oriented program. Such strategies are employed in mapping tools such as Hibernate and TopLink, and reinforce the received wisdom that the problem of object-relational impedance mismatch has been solved. In this paper, we observe that it is not clear whether each strategy, as one possible solution, addresses the cause or a symptom of a mismatch. We argue that the problem is not tame and easily resolved; rather it is complex and wicked. We introduce a catalogue of problem themes that demonstrate the complex nature of the problem and provide a way both to talk about the problem and to understand its complexity. In the future, as software systems become more complex and more connected, it will be important to learn from past endeavours. Our catalogue of problem themes represents a shift, in thinking about the problem of object-relational impedance mismatch, from issues of implementation towards an analysis of cause and effect. Such a shift has implications for those involved in the design of current and future software architectures. Because we have questioned the received wisdom, we are now in a position to work toward an appropriate solution to the problem of object-relational impedance mismatch

    Intelligent Retrieval Model: Object Oriented Search Methodology on Web

    Get PDF
    Information handling through improved search mechanisms is and will remain the driving force behind rich patterns of access to web contents. Keyword search offers only an imperfect solution to information discovery over web as it misses many relevant documents of today2019;s users. By its fundamental nature, keyword search is sharply focused to find the exact terms specified in the query. The proposed Intelligent Retrieval Model exploits the object oriented concepts for information representation. This kind of conceptual modeling of web based inheritance boosts data structuring flexibility and caters to the density of diverse web information needs. The guiding principle of proposed model for intelligent retrieval over World Wide Web is the adequate representation of relevant complex relationships between the various entities in the real world. The result approves better hierarchical relationship recognition among web objects leading to less complex computing

    Toward an Image Database-Post-AI Computer for Thinking Environment-

    Get PDF

    Reflections on metaprogramming

    Get PDF
    Journal ArticleThe spread of object-oriented technology has led to object-oriented programming languages with object-oriented implementations. By encapsulating part of t h e semantics of a language within a set of default classes and empowering the programmer to derive new versions of these base classes, a designer can provide a language whose semantics can be tailored by individual programmers. The degree to which such languages are simultaneously flexible and efficient is an open question. We address this question by reporting our experience with using this technique to incorporate support for persistence into the Common Lisp Object System via its metaobject protocol. For many aspects of our implementation we found that the metaobject protocol was perfectly suitable. In other cases we had to variously extend the protocol, pay an unacceptable performance penalty, or modify the language implementation directly. Based on our experience we propose some improvements to the protocol. We also present some performance measurements that reveal the need for improved language implementation techniques

    The OO-binary relationship model:A truly object-oriented conceptual model

    Get PDF

    The archaeological database—New relations?

    Get PDF
    Over two decades have passed since the foundations of the relational data model were formalised (Codd 1970) and today a large number of Database Management Systems (DBMS) based on its principles are readily available. The better of these have attained a high degree of sophistication, running in a variety of environments — micros, workstations, minis and mainframes — and have achieved some standardisation through the adoption of Standard (or Structured) Query Language (SQL). As such, the user who invests much time in learning to use a DBMS and its development tools, for example INGRES, will have little problem when the present micro is dumped and a workstation appears on the desk. More importantly for archaeological information, the data, its structure, and application programs will also transfer with minimal upheaval. This is a salutary warning to those investing a great deal of resources in non-upwardly mobile micro-based DBMS and they are urged to consider employing either ORACLE or INGRES (the current flagships of the 4th generation language multi- environment relational DBMS) if they wish to ensure the longevity of their work. The reference to work rather than just to data is deliberate and the cornerstone of this paper, for information is not just data values; it is the context and meaning of those values that ultimately determine the usefulness of the data. Data structure, user interfaces, validation procedures, help systems and applications are inextricably linked with the raw data, giving it context and providing a crude but non-trivial 'knowledge base' without which data files may be useless, or even a negative resource, if misunderstood. Although high-quality relational DBMS did not come into general use as commercial products until the late 1980s, deficiencies in the relational model had already been noted in the previous decade. Important new products are likely to become generally available soon. Many of the major research areas of general DBMS have direct application in the management of archaeological data. The aim of this paper is to discuss some of the limitations and deficiencies of currently available relational DBMS, to review informally the most relevant areas of development (and one area which has yet to be developed), and to consider the implications for mainstream archaeology

    Yedalog: Exploring Knowledge at Scale

    Get PDF
    With huge progress on data processing frameworks, human programmers are frequently the bottleneck when analyzing large repositories of data. We introduce Yedalog, a declarative programming language that allows programmers to mix data-parallel pipelines and computation seamlessly in a single language. By contrast, most existing tools for data-parallel computation embed a sublanguage of data-parallel pipelines in a general-purpose language, or vice versa. Yedalog extends Datalog, incorporating not only computational features from logic programming, but also features for working with data structured as nested records. Yedalog programs can run both on a single machine, and distributed across a cluster in batch and interactive modes, allowing programmers to mix different modes of execution easily

    Database Programming in Machiavelli - A Polymorphic Language With Static Type Inference

    Get PDF
    Machiavelli is a polymorphically typed programming language in the spirit of ML, but supports a different type inferencing that makes its polymorphism somewhat more general than that of ML and appropriate for database applications. In particular, a function that selects a field f of a records is polymorphic in the sense that it can be applied to any record which contains a field f with the appropriate type. When combined with a set data type and database operations including join and projection, this provides a natural medium for relational database programming. Moreover, by implementing database objects as reference types and generating the appropriate views - sets of structures with identity - we can achieve a degree of static type checking for object-oriented databases
    • …
    corecore