Data Models at Eclipse

  • 4,689 views
Uploaded on

In order to enable the much needed agility demanded by today's marketplace, business functions and associated processes must be supported by semantically accurate and reusable information, i.e. data …

In order to enable the much needed agility demanded by today's marketplace, business functions and associated processes must be supported by semantically accurate and reusable information, i.e. data and its associated metadata. A data model is an abstract model that describes how data is represented and accessed. Data modeling is the process of creating a data model instance by applying a data model theory, typically to solve some business enterprise requirement. Data model instances can be categorized into various levels or perspectives, including contextual data models which identify entity classes, conceptual data models which define the meaning of things in the organization, logical data models which describe the logical representation of properties without regard to particular data manipulation technology, physical data models which describe the physical means by which data are stored, data definitions which represent the coding language of the schema on the specific development platform, and data instantiations which hold the values of the properties applied to the data in a schema. In this short talk, we'll take a look at examples of each of these kinds of data models and explore how they are supported by projects/components at Eclipse.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
4,689
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
152
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Data Models at Eclipse Kenn Hussey November 19, 2008
  • 2. Agenda
    • Data Models
      • what they are and where they fit in
      • data model perspectives
    • Support for Data Models in Open Specifications
      • what IMM is and what its scope is
    • Support for Data Models in Open Source
      • projects at Eclipse that support information management
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 3. Agenda
    • Data Models
      • what they are and where they fit in
      • data model perspectives
    • Support for Data Models in Open Specifications
      • what IMM is and what its scope is
    • Support for Data Models in Open Source
      • projects at Eclipse that support information management
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 4. What is a Data Model?
    • Everything that isn’t the real thing is a model
    • A data model is an abstract model that describes how data is represented and accessed
    • Data modeling is the process of creating a data model instance by applying a data model theory, typically to meet some business enterprise requirement
    • A major component of data modeling is to visually represent the rules that the business wishes to enforce on data
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 5. Enterprise Architecture “Triad” Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 6. Zachman Framework http://zachmaninternational.com/images/stories/The%20Zachman%20Framework.pdf Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 7. Architecture vs. Implementation
    • Architecture and implementation are just different views of the same system; there can be any number of implementations for a given architecture
    • An architecture is an abstraction of the run-time elements of a system during some phase of its operation; a system may be composed of many levels of abstraction, each with its own architecture
    • One advantage of an architectural view is that interactions can be described independently of specific implementations
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 8. Data Architecture Stack Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 9. Interactions Within the Stack
    • Upwards (reverse engineering)
    • Downwards (forward engineering)
    • Internal ( transformation )
    • External ( interchange )
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 10. The EU-Rent Model
    • EU-Rent is a (fictitious) car rental company with branches in several countries
    • EU-Rent rents cars to its customers; customers may be individuals or companies
    • Different models of car are offered, organized into groups ; all cars in a group are charged at the same rates
    • A car may be rented by a booking made in advance or by a ‘ walk-in ’ customer on the day of rental
    • A rental booking specifies the car group required, the start and end dates/times of the rental and the EU-Rent branch from which the rental is to start
    From the Semantics of Business Vocabulary and Business Rules (SBVR) 1.0 specification (08-01-02) Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 11. Contextual Models
    • Contextual models define the scope of data from the planner’s point of view
    • They establish the context for any system development effort which includes definitions of the boundaries of the system or other development projects
    • Also known as subject area models
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 12. Contextual Model of EU-Rent Figure E.2 of Semantics of Business Vocabulary and Business Rules (SBVR) 1.0 specification (08-01-02) Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 13. Contextual Model of EU-Rent Produced using Embarcadero EA/Studio Business Modeler Edition Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 14. Conceptual Models
    • Conceptual models define the business model of data from a business owner’s point of view
    • They are concerned with the language of the business – concepts, facts, words, and symbols
    • Based on work by the Business Rules Team in conjunction with the OMG™
    • Provide the beginnings of the conceptual schema for a business
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 15. Conceptual Model of EU-Rent Figure E.7 of Semantics of Business Vocabulary and Business Rules (SBVR) 1.0 specification (08-01-02) Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 16. Conceptual Model of EU-Rent Produced using Embarcadero EA/Studio Business Modeler Edition Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 17. Logical Models
    • Logical models define the system model of data from a designer’s point of view
    • They are concerned with entity classes, attributes, and relationships that describe the things of significance to a business in rigorous terms
    • Also known as Entity/Relationship (E/R) models
    • Complete the conceptual schema for a business
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 18. Logical Model of EU-Rent Produced using Embarcadero EA/Studio Business Modeler Edition Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 19. Logical Model of EU-Rent Produced using Embarcadero ER/Studio Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 20. Physical Models
    • Physical models define a technology model of data from a builder’s point of view
    • They are concerned with design artifacts for a particular technology – relational databases, object-oriented applications, XML™ schemas
    • Were referred to by ANSI as logical schema
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 21. Physical Model of EU-Rent Produced using Embarcadero ER/Studio Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 22. Physical Model of EU-Rent Produced using XML Schema editor from Eclipse Web Tools Platform project Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 23. Data Definition Models
    • Data definition models define detailed representations of data from an implementer’s point of view
    • They are concerned with the implementation details in a particular language – database storage specifications, object-oriented programs, XML schema definitions (XSDs)
    • Were referred to by ANSI as physical schema
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 24. Data Definition Model of EU-Rent Produced using Embarcadero DBArtisan Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 25. Data Definition Model of EU-Rent Produced using XML Schema editor from Eclipse Web Tools Platform project Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 26. Data Instance Models
    • Data instance models define a functioning system from a worker’s point of view
    • They are concerned with actual instances in computer systems – database records, objects, XML documents
    • A physical model may be instantiated in multiple functioning systems
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 27. Data Instance Model of EU-Rent Produced using Embarcadero PowerSQL Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 28. Data Instance Model of EU-Rent Produced using XML editor from Eclipse Web Tools Platform project Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 29. Trends in Data Modeling Tools
    • Application development is shifting from client/server analysis and design toward component-based modeling and design
    • Collaboration between IT professionals and business users is increasing
    • Roles are blending as a result of business process improvements
    • Some tools are converging as a result of enterprise architecture initiatives; however, not everyone is looking to integrate data management with process and application modeling
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 30. Agenda
    • Data Models
      • what they are and where they fit in
      • data model perspectives
    • Support for Data Models in Open Specifications
      • what IMM is and what its scope is
    • Support for Data Models in Open Source
      • projects at Eclipse that support information management
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 31. Metamodels
    • A metamodel is a model of a model
    • Metamodels are important because they provide the basis for integration, traceability, and interchange
    • The Meta Object Facility (MOF™) is a meta-metamodel, or a model for metamodeling – the equivalent of the relational model for databases
    • MOF is at the core of the OMG’s MDA® (Model Driven Architecture®) and provides mechanisms for metamodel access and interchange (via XMI®)
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 32. CWM
    • The OMG’s Common Warehouse Metamodel (CWM™) has been successful and is mature and stable, with widespread and increasing adoption by vendors and customers for metadata™ interchange, most widely in the area of relational database information
    • Uptake of CWM has been somewhat hampered by its name – many of the potential uses of CWM have no connection with building or managing data warehouses
    • Effectively a core standard for representing the management of any form of information resource; it has been recognized as such by being made one of MDA’s ‘cornerstone’ standards (the others being MOF and UML®)
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 33. IMM = CWM++
    • The Information Management Metamodel (IMM) specification is still at the Request For Proposal (RFP) process stage
    • The RFP proposes the name Information Management Metamodel instead of CWM in light of the fact that, with the advent of MDA, there is now far more emphasis on modeling compared to when CWM was originated – as primarily a means of interchange only
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 34. IMM Scope MOF IMM Core From Information Management Metamodel (IMM) specification draft 6.1 (ad/2008-08-08) Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0 E/R Metamodel UML Profile ERD Relational Metamodel UML Profile DB Design XML Schema Metamodel UML Metamodel LDAP Metamodel UML Profile UML Profile UML Profile XML Schema UML Diagram LDAP Listing Traceability Metamodel UML Profile Trace Map The World of Applications The World of Databases The World of Business Managing it All Other Metamodels
  • 35. IMM Core Metamodel
    • The IMM Core metamodel contains packages, classes, and associations that form the core of the IMM specification and are used by rest of the IMM metamodels
    • Compliant with MOF, the IMM core defines modeling concepts described that should enable development of models to manage structured, un-structured, XML, and other types of Information
    • Other OMG metamodels such as UML, ODM, and SBVR, should be able to use the core without having to change
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 36. E/R Metamodel and Profile
    • The IMM E/R metamodel supports contextual, conceptual, and logical modeling
    • A UML profile for E/R modeling, with a mapping to the metamodel, will be provided
    • The IMM specification will define transformations between E/R models and relational, XML schema, LDAP models via the core
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 37. Relational Metamodel and Profile
    • The IMM Relational metamodel supports physical data, data definition, and data instance modeling of relational databases
    • A UML profile for relational data modeling, with a mapping to the metamodel, will be provided
    • The IMM specification will define transformations between relational models and E/R, XML schema, LDAP models via the core
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 38. XML Schema Metamodel and Profile
    • The IMM XML Schema metamodel supports physical data, data definition, and data instance modeling of XML documents
    • A UML profile for XML data modeling, with a mapping to the metamodel, will be provided
    • The IMM specification will define transformations between XML schema models and E/R, relational, LDAP models via the core
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 39. LDAP Metamodel and Profile
    • The LDAP metamodel describes data accessible through Lightweight Directory Access Protocol and is primarily based on the LDAP standard sections concerning Directory Information Models
    • A UML profile for directory information modeling, with a mapping to the metamodel, will be provided
    • The IMM specification will define transformations between LDAP models and E/R, relational, XML schema models via the core
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 40. Traceability Metamodel
    • The IMM traceability metamodel will facilitate the definition of trace models
    • It will support
      • definition and typing of trace relationships and artifacts
      • tracing of artifacts across tools and across the system design lifecycle
      • automated trace creation and validation
      • persistence and identification of historical traces
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 41. Tools for Information Management
    • Using tools that support IMM, end-users will be able to not only model the business information in a consistent manner but also enable traceability among data, OOAD, and XML models
    • This traceability is critical to improve semantic accuracy of information and promote reuse without locking developers into a particular tool but enabling use of tools of their choice while retaining interoperability
    • In a nutshell, IMM will enable modeling and interchange of the complete information lifecycle
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 42. OMG and Data Architecture Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0 Support for Data Models by OMG Specifications
  • 43. Agenda
    • Data Models
      • what they are and where they fit in
      • data model perspectives
    • Support for Data Models in Open Specifications
      • what IMM is and what its scope is
    • Support for Data Models in Open Source
      • projects at Eclipse that support information management
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 44. Modeling at Eclipse
    • The importance of supporting industry standards is critical to the success of the Eclipse Modeling project, and to Eclipse in general
    • The role of the Modeling project in the support of industry standards is to enable their creation and maintenance within the Eclipse community
    • Furthermore, as standards bodies such as the OMG have a strong modeling focus, the Modeling project facilitates communication and outreach through its PMC and project contributors to foster a good working relationship with external organizations
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 45. Eclipse Modeling Framework
    • The Eclipse Modeling Framework (EMF) is the de facto reference implementation of MOF
    • EMF is a simple, pragmatic, Java-based framework that provides
      • APIs for describing models and manipulating instances
      • A resource framework for REST ful persistence
      • A code generator framework for producing development artifacts
      • A runtime along with utilities for traversing, indexing, copying, change recording, and so on
      • Tools for working with models and their instances
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 46. Eclipse MDT Subproject
    • Model Development Tools (MDT) is an Eclipse Modeling sub-project at http://www.eclipse.org/modeling/mdt/
    • Inspired by the Eclipse community’s need for more end user "tooling" from the Modeling project
    • Purpose of MDT is to provide extensible frameworks and exemplary tools for the metamodels within the scope of the Modeling project
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 47. MDT Components Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0 Platform EMF GEF MST Papyrus UML2 Tools GMF VF OCL UML2 BPMN2 SBVR IMM ODM MT Compare Search XSD
  • 48. Eclipse ODM Component
    • ODM is a proposed new subproject aimed at providing metamodel implementations and sample tools based on the Ontology Definition Metamodel (ODM) OMG specification; it would include
      • sample tools and artifacts supporting the development of ODM-compliant terminologies, taxonomies, topic maps, and ontologies
      • semi-automated transformations across the knowledge representation paradigms that comprise the ODM, including the declarative subset of UML and MOF
      • functionality to enable use of ODM-based vocabularies in other software engineering activities, such as rule set development using the OMG Production Rule Representation ( PRR ) specification or, for example, in data modeling via mappings to the emerging IMM specification
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 49. Eclipse SBVR Component
    • SBVR is a new component aimed at providing a metamodel implementation and sample tools based on the Semantics of Business Vocabulary and Business Rules (SBVR) specification and will provide
      • an open source "reference" implementation of the SBVR specification
      • an EMF-based foundation on which business vocabulary and business rules modeling tools can be built
      • a basis for integrating and interchanging artifacts between business vocabulary and business rules tools
      • a forum for engaging the community in validation of the SBVR specification
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 50. Eclipse IMM Component
    • IMM is a new component aimed at providing metamodel and profile implementations based on the forthcoming IMM specification; it will provide
      • an open source "reference" implementation of the IMM specification
      • an EMF-based Java API against which information management modeling tools can be built
      • a basis for integrating and interchanging artifacts between information management modeling tools
      • a forum for engaging the community in validation of the IMM specification
      • an opportunity for increased collaboration between Eclipse and the OMG
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 51. Eclipse XSD Component
    • XSD is a reference library that provides an API for use with any code that examines, creates, or modifies documents based on the XML Schema W3C ® standard
    • XSD provides Java APIs for
      • manipulating components of an XML Schema
      • manipulating the DOM™-accessible representation of XML Schema as a series of XML documents
      • keeping these representations in agreement as schemas are modified
    • The XSD model is the basis of the IMM XML schema metamodel
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 52. Eclipse DTP Project
    • The Data Tools Platform (DTP) project provides extensible frameworks and exemplary tools enabling the development of offerings specific to particular data-centric technologies
    • Its Model Base subproject is the foundation of DTP and consists of the database definition model, SQL model, SQL query model, and SQL XML query model, all based on EMF
    • The Model Base SQL model is the basis of the IMM relational metamodel
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 53. Eclipse WTP Project
    • The Web Tools Platform (WTP) project extends the Eclipse platform with tools for developing Web and Java EE applications
    • Its Source Editing subproject provides source editing support for typical "web" languages and the mixing of them, with a focus on making the editors extensible and easily reusable
    • The Source Editing subproject includes a graphical XML Schema (XSD) editor
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 54. Eclipse and Data Architecture Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0 Support for Data Models by Eclipse Projects
  • 55. Conclusion
    • We have covered
      • Data models and the various levels, or perspectives, into which they can be categorized
      • The IMM specification and how it will lay the foundation for integration, traceability, and interchange of data models
      • The Eclipse projects that provide Java APIs for developing information management tools based on IMM
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 56. Legal Notices
    • BPMN , MOF , Object Management Group , OMG , Unified Modeling Language , and the CWM Logo are trademarks of the Object Management Group
    • Model Driven Architecture , MDA , UML , XMI , and the UML Cube Logo are registered trademarks of the Object Management Group
    • DOM , Metadata , RDF , and XML are trademarks of the World Wide Web Consortium; marks of W3C are registered and held by its host institutions MIT , ERCIM, and Keio
    • Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both
    • Other company, product, or service names may be trademarks or service marks of others
    Data Models at Eclipse | © 2008 by Embarcadero Technologies; made available under the EDL v1.0
  • 57. Thank You