innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel

Similar documents
Open Source egovernment Reference Architecture. Cory Casanave, President. Data Access Technologies, Inc.

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Model Driven Architecture

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect

Object Security. Model Driven Security. Ulrich Lang, Rudolf Schreiner. Protection of Resources in Complex Distributed Systems

All you need are models Anneke Kleppe, Klasse Objecten

Model Driven Engineering (MDE)

MDSE PRINCIPLES. Chapter #2

The Eclipse Modeling Framework and MDA Status and Opportunities

Knowledge Discovery: How to Reverse-Engineer Legacy Systems

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

Model driven Engineering & Model driven Architecture

Model Driven Architecture - The Vision

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com

An Introduction to MDE

BLU AGE 2009 Edition Agile Model Transformation

CBDIReport. Service Oriented Architecture and OptimalJ. 1 Introduction. 2 Service Oriented Architecture. 3 The Business Services Bus

The Model-Driven Semantic Web Emerging Standards & Technologies

A Pragmatic Introduction to REST. Stefan Tilkov,

Introduction to MDE and Model Transformation

IBM Rational Developer for System z Version 7.5

QoS-aware model-driven SOA using SoaML

One size does not fit all

We manage the technology that lets you manage your business.

Object Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/

Tools to Develop New Linux Applications

Services Oriented Architecture and the Enterprise Services Bus

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

Introduction to Dependable Systems: Meta-modeling and modeldriven

Developing in OMG s Model-Driven Architecture

Migration to Service Oriented Architecture Using Web Services Whitepaper

ISO/IEC INTERNATIONAL STANDARD

(9A05803) WEB SERVICES (ELECTIVE - III)

Integration of the Semantic Web with Meta Object Facilities

Small is Beautiful Building a flexible software factory using small DSLs and Small Models

Practical Model-Driven Development with the IBM Software Development Platform

Incorporating applications to a Service Oriented Architecture

Computational Web Portals. Tomasz Haupt Mississippi State University

J2EE Application Development : Conversion and Beyond Osmond Ng

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Java EE Patterns 176

Course Content for Java J2EE

Christian Doppler Laboratory

MDA & Semantic Web Services Integrating SWSF & OWL with ODM

Comparative analysis of MDA tools

J2EE Interview Questions

Modelling in Enterprise Architecture. MSc Business Information Systems

Model-Driven Systems Engineering for Netcentric System of Systems With DEVS Unified Process

Methods for the Development

Chapter 8 Web Services Objectives

SOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE

bahmanzamani.com Computer Engineering i Dept. University of Isfahan

DRAFT. Consolidation of the Generator Infrastructure MDGEN Model Driven Generation

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

Eclipse technology in IFMS Interface Management System

02291: System Integration

Java J Course Outline

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

Sequence Diagram Generation with Model Transformation Technology

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

Model-Driven Architecture

Requirements and Design Overview

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Model Driven Architecture

Introduction to Software Engineering 10. Software Architecture

Deliverable D4.2. SHAPE MDE Toolset User s Guide

REST: I don't Think it Means What You Think it Does. Stefan

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

NetBeans IDE Field Guide

This paper is more intended to set up a basis for a constructive discussion than to offer definitive answers and closed solutions.

IBM Rational Software Architect

OMG Workshop MDA. Tool Chains for MDA? Let's consider leaving our tool chains behind us.

Distributed Multitiered Application

MDSE USE CASES. Chapter #3

Using REST for SOA Stefan Tilkov, QCon SF 2010

Improving Military Information Technology Through Common Conceptual Models

Appendix A - Glossary(of OO software term s)

Using MDA to Integrate Corporate Data into an SOA

Defining Domain-Specific Modeling Languages

REST & Caching: Web Services, Accelerated

Spemmet - A Tool for Modeling Software Processes with SPEM

Service-Oriented Architecture (SOA)

Oracle SOA Suite 10g: Services Orchestration

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

Integrating Legacy Assets Using J2EE Web Services

Executive Summary. Round Trip Engineering of Space Systems. Change Log. Executive Summary. Visas

16 Evaluation Framework for Model-Driven Product Line Engineering Tools

Teiid Designer User Guide 7.7.0

IBM WebSphere Studio Asset Analyzer, Version 5.1

ADT: Eclipse development tools for ATL

Teiid Designer User Guide 7.5.0

Model Driven Ontology: A New Methodology for Ontology Development

ESE Einführung in Software Engineering!

Chapter 6 Enterprise Java Beans

Dictionary Driven Exchange Content Assembly Blueprints

!MDA$based*Teaching*and* Research*in*Software*Engineering*!

Current trends and frameworks for modeldriven approaches to software development

SEAMLESS INTEGRATION OF METAEDIT+ AND ECLIPSE TO COMBINE MODELING AND CODING

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

Transcription:

innoq Deutschland GmbH innoq Schweiz GmbH D-40880 Ratingen CH-6330 Cham Tel +49 2102 77 1620 Tel +41 41 743 01 11 www.innoq.com Stefan Tilkov, stefan.tilkov@innoq.com 1

Goals Introduce MDE, MDA, MDD, MDSD,... Define SOA Explore Relationships Show how MDx and SOA might be combined 2

Part I: MDE 3

MDE Areas Model Driven Engineering Model Driven Architecture (MDA) Domain Specific Modeling (DSM) Software Factories Domain Specific Languages (DSL) Template Driven Code Generation Model Driven Software Development (MDSD) 4

Differences Many of them more political than technical Microsoft vs. the rest of the world (OMG) OMG/MDA focuses on UML as a generally accepted language Others (Microsoft, Eclipse/EMF) highlight custom metamodels/ domain languages 5

Common Traits Models are more than documentation - they are formal, machine-readable Models follow (adhere to) a metamodel Models are transformed into other models - either automatically or manually The main goal is automation 6

Metamodel Layers The metamodel defines the language used to express models Meta-metamodel defines language to define metamodels Multiple metamodels means multiple languages M3: Meta-meta-model (hardcoded) M2: Meta-model Klasse: - name: String M1: Model Kunde: - firma: String M0: Instance Müller GmbH 7

Example Modeling Languages UML MOF, EMF ECORE E/R eepk SA/SD 8

Model Transformation Platform-Independent Model (PIM) is transformed into a platform-specific model (PSM) Optionally repeated multiple times - one guy s PSM is the other guy s PIM PIM Transformation Engine PSM Metamodel Transformation Rules Metamodel 9

MDA in Practice Model conforms to UML Profile match Code Generator Templates Source Code match Manual Coding Compile/Build Cycle Implemented System Frameworks Platform (J2EE,.NET, Mainframe,...) 10

MDE Today Many successful projects based on 1st generation MDA (UML/codegeneration) Model-to-model transformation in early stages DSM/DSL (MS vs. OMG) debate Expect MDA Hype to turn into Anti-Hype 11

MDE Summary MDE and its many disciplines focus on models There will always be more than one model There will always be more than one metamodel, too 12

innoq Deutschland GmbH innoq Schweiz GmbH D-40880 Ratingen CH-6330 Cham Tel +49 2102 77 1620 Tel +41 41 743 01 11 www.innoq.com Part II: SOA 13

SOA Definition An SOA is an enterprise-level IT architecture where the main construction principle is a service. Services encapsulate business functions that can be invoked remotely via document-oriented, standards-based interfaces which are discoverable at runtime and described by functional and non-functional metadata. 14

The SOA Trinity A Provider defines Services and publishes them to a Registry A Consumer can look up a service and interact with the provider The registry captures service metadata Registry lookup publish Consumer interact Provider 15

1st Generation SOA Services expose interfaces, hide implementation Communication via interoperable standards (SOAP, XML, HTTP) Service description (WSDL) mainly for code generation CORBA with angle brackets 16

Advanced SOA Services expose document-oriented interfaces, with message formats described in XML Schema Messages are self-descriptive Non-functional aspects are described by Policies Services are accessed and combined based on service metadata 17

Consequences Concepts become more important than implementation technology Loose coupling in multiple dimensions Metadata as the connecting element 18

innoq Deutschland GmbH innoq Schweiz GmbH D-40880 Ratingen CH-6330 Cham Tel +49 2102 77 1620 Tel +41 41 743 01 11 www.innoq.com Part III: Model-driven SOA 19

Key Insights A single, unified, enterprise data or process model would be great - but is next to impossible to achieve Even a single standard for modeling is not going to be easy to define Even if one could unify everything, the next merger or acquisition would re-create the problems 20

Embrace what Exists Organizational models (roles, groups, users...) Deployment models (systems, subsystems, applications, modules, components) UML application analysis and design models E/R logical/physical DB models BPM models Product and Pricing models System/network topology models... 21

SOA Metamodel Vision: Create a unified SOA metamodel Service as key abstraction Tailored to adapt to existing diversity Focus on process instead of metamodel wars Integrate and adapt to change 22

Registry vs. Repository SOA concepts include a registry Registry contains pointers - not actual data Repository as unified data store for model artifacts of differing metamodels Custom solutions as well as standard products emerging 23

Repository Runtime Use Cases Service implementations can create metadata Service call statistics, usage patterns, dynamic relationships Feedback loop can influence code generation, deployment, policy 24

Harvesting The most valuable model information is in existing applications Usually not in the form of models, but as compiled code Model-driven reverse engineering enables access 25

MDRE Variants Extraction of Structural Information via static analysis Extraction of Behavioral Information via runtime analysis Possibly (meta)model-driven OMG Initiative: ADM (Architecture-Driven Modernization) 26

Drivers for MDSOA Complexity Re-Use Governance/Policy Enforcement Manageability Regulations (Sarbanes Oxley, Basel II,...) 27

Case Study Model repository for service metadata in one of Switzerland s largest banks 28

Project Goals A single Repository for all service definitions, data types, structures and their relationships Simplify process, tooling Reduce redundancy Accelerate development time Reduce cost Improve quality 29

Project Goals (2) Improve Re-Use Simplify standards-conformant service implementation Establish feedback loop Lay foundation for governance 30

Repository Development Metamodeling using UML XMI Export Generation of database schema, access code, UI via templated generator (iqgen) Service design without CASE tool 31

Construction Processes CASE-Tool Service-Designtool Stage 1: Repository Generation SOA-Meta-Modell Stage 2: Generation of service implementations and applications Access Layer Generator Generator Repository Anwendung Meta-Modell- Templates Meta-Modell- Templates 32

Repository Components Service repository backend Service design tool based on Eclipse/ WSAD Browser-based client Code Generator Interfaces, API and importers for Data types Data structures Service interfaces Database schemas Workflow management SCCM... 33

Service Development Alternative strategies: Import of Model or DTD Copying of existing services Data structure re-use ( from scratch ) Optional: Add platform-specific transformation hints Generate service provider or consumer implementation Add custom business logic if necessary... 34

Generated Artifacts Service interface description (DTD, XML) Human-readable service description (HTML) Cobol Copybooks Cobol Entity Service implementations Read, ReadList, Insert, Update, Delete Cobol Process Service implementations Composite services Web Presentation: JSPs, Servlets, XML- Descriptors, etc. J2EE: Business-Delegates, DTOs & Session- Facades All of the model information 100% in sync with current implementation 35

Summary: Model-driven SOA Knowledge is explicit Diversity is accepted Dependencies are managed Automation is key 36

Questions? 37

Contact innoq Deutschland GmbH innoq Schweiz GmbH Halskestraße 17 Gewerbestrasse 11 D-40880 Ratingen CH-6330 Cham Tel +49 2102 77 1620 Tel +41 41 743 01 11 Fax +49 2102 77 1601 Fax +41 41 743 01 19 Web Sites innoq www.innoq.com iqgen www.innoq.com/iqgen 38