MODeX Model Oriented Data eXchange EclipseCon Short Talk March 20, 2008 Ted Epstein Andrew J. Montalenti Morgan Stanley.

Slides:



Advertisements
Similar presentations
IBM Software Group ® SOA – Successful Adoption and Barriers IDC Service-Oriented Architecture Conference 2005 Rick Robinson, IT Architect, IBM EMEA WebSphere.
Advertisements

Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Copyright © 2006 Data Access Technologies, Inc. Open Source eGovernment Reference Architecture Approach to Semantic Interoperability Cory Casanave, President.
Visual Scripting of XML
1 caAdapter Jan 24, caAdapter The caAdapter is an open source tool that facilitates HL7 version 3 message building, parsing and validation based.
© 2008 by Borland Software Corp; made available under the EPL v1.0 | 17 March 2008 Introduction to the Graphical Modeling Framework Artem Tikhomirov, Borland.
OMG Architecture Ecosystem SIG Federal CIO Council Data Architecture Subcommittee May 2011 Cory Casanave.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Overview of OASIS SOA Reference Architecture Foundation (SOA-RAF)
OASIS Reference Model for Service Oriented Architecture 1.0
Realizing OPM Philosophy in the Context of Full Life- Cycle Support Avi Soffer Technion, Israel Institute of Technology Thesis Advisor: Prof. Dov Dori.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
SaxStore: a n aspect oriented persistence library for Java based on SAX events Riccardo Solmi University of Bologna May 2001.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
Course Instructor: Aisha Azeem
Framework for Model Creation and Generation of Representations DDI Lifecycle Moving Forward.
Formalizing Material Flow Diagrams How can an MDE approach be used to improve the design process of material handling systems? Robert-Jan Bijl.
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
Copyright © Soyatec. Licensed under the Eclipse Public License 1.0 Yves YANG & Philippe Ombredanne.
Introduction to UDDI From: OASIS, Introduction to UDDI: Important Features and Functional Concepts.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
February Semantion Privately owned, founded in 2000 First commercial implementation of OASIS ebXML Registry and Repository.
The Center for Advanced Research In Software Engineering (ARISE) The University of Texas at Austin Reengineering of Large-Scale Polylingual Systems Mark.
Spring Overview, Application demo -Midhila Paineni 09/23/2011 Spring Overview, Application demo9/8/20151.
Xactium xDSLs Run Models Not Code Tony Clark
XML in Development of Distributed Systems Tooling Programming Runtime.
Introduction to MDA (Model Driven Architecture) CYT.
Mobile Topic Maps for e-Learning John McDonald & Darina Dicheva Intelligent Information Systems Group Computer Science Department Winston-Salem State University,
Tools for Diagrammatic Specifications Stian Skjerveggen Supervisors: Yngve Lamo, Adrian Rutle, Uwe Egbert Wolter.
SOA-13: Introduction to DataXtend ® Semantic Integrator (DX SI) Abstract data management from the application level using a common data model.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
Vision The ultimate IDE/CASE tool should supports all steps in the software development process. Current tools perform only minimal semantic-level analysis.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Selected Topics in Software Engineering - Distributed Software Development.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Ocean Observatories Initiative Data Management (DM) Subsystem Overview Michael Meisinger September 29, 2009.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Introducing Managed Services Wolf Gilbert Architect Evangelist Microsoft Corporation.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
EXtreme Semantics Realize the Potential Today Dave Hollander CTO, Contivo Standards –Co-Founder of XML –Co-Chair W3C XML Schema Working.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Tuscany: a SOA framework Jeffrey Guo Accelrys, Inc.
CoSMIC: Tool-suite for Weaving Deployment & Configuration Crosscutting Concerns of CCM-based DRE Systems Dr. Aniruddha Gokhale (PI) Institute for Software.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006 GridCOMP Grids Programming with components. An.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Graphical Modeling Framework (GMF) Richard C. Gronback Project Lead.
Message Broker
Weaving a Debugging Aspect into Domain-Specific Language Grammars SAC ’05 PSC Track Santa Fe, New Mexico USA March 17, 2005 Hui Wu, Jeff Gray, Marjan Mernik,
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
STEP Tutorial: “ Fundamentals of STEP” David Briggs, Boeing January 16, 2001 ® PDES, Inc NASA STEP Workshop step.nasa.gov.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
Healthcare-oriented Modeling Environment ( HoME ) Managed jointly by: Veterans Health Administration (VHA) IBM modeling-mdt.projects.openhealthtools.org.
Building Enterprise Applications Using Visual Studio®
SysML v2 Formalism: Requirements & Benefits
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
Presentation transcript:

MODeX Model Oriented Data eXchange EclipseCon Short Talk March 20, 2008 Ted Epstein Andrew J. Montalenti Morgan Stanley

What is MODeX? A domain-specific modeling language for enterprise messaging. Components include: Graphical modeling IDE Code generator Language-specific runtime components Lifecycle management tools

Current State of XML Messaging in the Enterprise Direct XML manipulation is the least common denominator. Toolkits handle basic SOAP envelopes, transport, message dispatching and handling. Developers may use JAXB, XSD.EXE for marshalling/unmarshalling. Adopting CxF and WCF as standards Ambivalent relationship with schema: Most developers ignore it or treat it as a design-time exercise. Some developers invest heavily and want to use schema as “the model” Developers and designers have been left to translate business concepts to XML formats. Elements or attributes? Type substitution or element substitution? Nesting or IDREF for shared references? … Big problems: Cost of coding directly against XML or even mapping is a drag on developer productivity Proliferation of formats makes integration extremely expensive. Weak contracts affect data quality.

Solution:  Create a simple graphical modeling language for enterprise data and message contracts  Create a federated model repository for shared models and lifecycle management  Generate schemas from well-specified message contracts  Generate code and provide runtime support for multiple languages  Build on this basic foundation to address other large-scale issues

MODeX Solution Architecture

Model-Driven Development Lifecycle

Demo and Walkthrough MODeX Designer Java GDA Tree Form XML

How MODeX Addresses Enterprise Messaging Challenges Partitions enterprise information into domains of manageable scope, with clear ownership and managed lifecycle. Reduces integration barriers by defining message payloads in terms of a consistent information model. Provides an expressive, graphical language for message protocol definition. Provides multiple views of information depending on lifecycle and messaging context. Enables orderly model evolution with entity-level versioning. Preserves object topology, including shared references and cycles. Uses schema validation where appropriate, but allows for rich, rules-based validation where required. Hides the wire format from developers, providing a path to more efficient wire representations. Reduces impedance mismatch between messages and objects.

Comparison with JAXB Limited to a single language. Model is inferred from code, all other manifestations suffer. Generic model inference does not encourage standard implementation. Enforces one-to- one mapping of Java class to XSD type.

Comparison with JAXB Putting the model at the center gives the power of abstraction. Code generation guarantees standardized implementations. Model captures rich semantics encompassing all target languages. Allows mapping a single class to multiple XSD types. Supports multiple languages.

Model-Driven Development and CASE CASEModel-Driven Development Focus on round-trip engineeringFocus on meaningful abstraction General-purpose modelingDomain-specific modeling languages Monolithic designRich graphical modeling and IDE integration Primitive, inflexible code generation Sophisticated model-to-model and model-to-code transformation pipeline Limited cross-platform designBroad applicability to distributed software architecture "Isn't this the same promise that CASE tools were making in the 1980's and '90's? If it didn't succeed then, why do we think we can make it work now?"

MODeX Designer: How was it built? Proven open source technology stack GMF GEF EMF RCP SWT/JFace Equinox Generative Diagram Editor Framework MVC Pattern for Graphical Editors Model-Driven Development Framework, integrated with GMF Views, Editors, Perspectives UI Toolkits Plug-in and Buddy Classloader System

Views Entity Model:

View Example – Stage 1

View Example – Stage 2

View Example – Stage 3

High-Fidelity Messaging <Account modex:objectId="1" accountId=" " accountCode="ABC" type="DEF" /> Block b = BlockMsg.unmarshalFromDocument(doc); ClientNotice cn = b.getClientNotice(); String accountCode = cn.getAccount().getAccountCode(); Objects: Object Graphs may contain shared references and cycles XML: Shared objects are detected by the marshaller, and assigned a unique ID. The unmarshaller will reconstruct the object graph with full fidelity. API: Traversal over the object graph across any path yields full access to all fields.

Advanced Features Versioning Provides clear guidelines for what can change within compatible versions of an entity. Decouples model evolution from adoption. Provides runtime support for version bridging and version consistency checks. Field Promotion and Inline Views Data Aspects

Recap Elevates the model to a first-class form of source code. Enables sophisticated code gen and runtime behavior with guaranteed consistency. Provides a very solid plank in the SOA platform, specifically addressing data representation.

Q&A