DRAFT. Consolidation of the Generator Infrastructure MDGEN Model Driven Generation

Similar documents
Eclipse technology in IFMS Interface Management System

Generation of Web-based Prototypes for Business Applications

ECLIPSE MODELING PROJECT

Introduction to Dependable Systems: Meta-modeling and modeldriven

with openarchitectureware

openarchitectureware 4.1 An introduction

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

ACM Technical Solution Architecture - Development and Deployment of ACM Solutions- ECM Fast Start Workshop 1Q2011

Introduction to OpenArchitectureWare

Oracle Developer Day

A Model-Driven Framework for Domain Specific Process Design and Governance

Model driven Engineering & Model driven Architecture

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java

Xtext. Introduction and Real World Samples. Hendrik Bünder, itemis AG. itemis AG

Java J Course Outline

Course Content for Java J2EE

Oracle ADF: The technology behind project fusion. Lynn Munsinger Principal Product Manager Application Development Tools Oracle Corporation

Christian Doppler Laboratory

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

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

Introduction to Web Services & SOA

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

ClearPath Secure Java Overview For ClearPath Libra and Dorado Servers

Introduction to Web Services & SOA

MDSE USE CASES. Chapter #3

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

Introduction to Model Driven Engineering using Eclipse. Frameworks

Appendix A - Glossary(of OO software term s)

MEMOCenterNG A full-featured modeling environment for organization modeling and model-driven software development

Introduction to MDE and Model Transformation

From Models to Components. Rapid Service Creation with

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

NetBeans IDE Field Guide

New and Noteworthy. Peter Friese Bernd Kolb

Model Driven Development in industrial practice. Dr. Martin Girschick February 2018

Model Driven Ontology: A New Methodology for Ontology Development

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

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.

Model Driven Development Unified Modeling Language (UML)

Introduction to EGF. Benoît Langlois / Thales Global Services.

Knowledge Discovery: How to Reverse-Engineer Legacy Systems

Call: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline

ISO/IEC INTERNATIONAL STANDARD

Experimental transformations between Business Process and SOA models

Dominique Blouin Etienne Borde

Artop (AUTOSAR Tool Platform) Whitepaper

Software Design and Analysis CSCI 2040

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module

Language engineering and Domain Specific Languages

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

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

Orccad, a Model Driven Architecture and Environment for Real-Time Control. Soraya Arias Florine Boudin Roger Pissard-Gibollet Daniel Simon

Migration of Pogo7 Templates

MDSE PRINCIPLES. Chapter #2

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

The Evolution of Java Persistence

EMC Documentum Composer

Whole Platform Foundation. The Long Way Toward Language Oriented Programming

Service-Oriented Architecture (SOA)

Model Driven Architecture Targets Middleware Interoperability Challenges

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

Incremental improvements for the Spring Framework

Software Factories Application within the ASE5 project

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language

From a lot of Boxes to a lot of Words

The etrice Eclipse Project Proposal

(Meta)Models between MetaEdit+

EMFT 1.0 Release Review (OCL, Query, Transaction, and Validation)

Java EE 7: Back-End Server Application Development

Process Choreographer: High-level architecture

CISC836: Models in Software Development: Methods, Techniques and Tools

Comparison and merge use-cases from practice with EMF Compare

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java

Lessons learned from building Eclipse-based add-ons for commercial modeling tools

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution:

A Survey on Domain-Specific Languages in Robotics

Basic Properties of Styles

J2EE Application Development : Conversion and Beyond Osmond Ng

Oracle Developer Day

Model-Driven Architecture

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

Implementing Model Driven Architecture

Towards A Common Build Infrastructure: Designing For Reusability

Chapter 6 Enterprise Java Beans

Model-Level Integration of the OCL Standard Library Using a Pivot Model with Generics Support

J2EE Interview Questions

A Domain-Specific Language for Modeling Web User Interactions with a Model Driven Approach

The Soap Response Failed Schema Validation Eclipse

Generating JMI model transformation code from UML profile models for SDM Aligning Graph Rewriting with MDA-light

Model Driven Development with EMF and EclipseLink (experiences in MDD and generating user interfaces)

Model Based Development and Code Generation for Automotive Embedded Systems. April 26, 2017 Dr. Gergely Pintér, Dr. Máté Kovács thyssenkrupp Steering

Model Driven Architecture

Agent-Enabling Transformation of E-Commerce Portals with Web Services

What s new with EntireX Communicator 7.3 Rolf Bahlke crossvision Chief Architect

Deccansoft Software Services. J2EE Syllabus

Distributed Multitiered Application

Index. attributes, visual modeling of, , 565, 566, 567, 568 authentication, Authorization Constraint wizard, , 396

Java 2 Platform, Enterprise Edition: Platform and Component Specifications

FREQUENTLY ASKED QUESTIONS

Transcription:

Consolidation of the Generator Infrastructure MDGEN Model Driven Generation Date: October 16 th, 2012 Produced by: Mario Lovisi / Serano Colameo Version: 1.0 DRAFT

Agenda Initial Situation / Goal of the Project (Mario Lovisi) The Multi Channel Platform (MCP) IcmDsl & MDGEN Features Q&A (Mario Lovisi) (Serano Colameo) (Mario Lovisi / Serano Colameo) Date: 18/10/2012 Slide 2

Initial Situation Generator Artifacts Model Technology TOOLS GenCAL JBSGEN Data Service Framework EJB 2.x conform Java Code for Standard, FN and MCP Services EJB 2.x conform Java Code for FN Classic Services EJB 3.x conform Java Code and Persistence Layer stuff for FN Java Code XML / DTD XML / XSD Velocity and Recoder Framework oaw 3.x (Xpand only) oaw 4.x (Xpand and Xtend 1.x) Date: 18/10/2012 Slide 3

Initial Situation Generator Artifacts Model Technology TOOLS GenCAL JBSGEN Data Service Framework EJB 2.x conform Java Code for Standard, FN and MCP Services EJB 2.x conform Java Code for FN Classic Services EJB 3.x conform Java Code and Persistence Layer stuff for FN Java Code XML / DTD XML / XSD Velocity and Recoder Framework oaw 3.x (Xpand only) oaw 4.x (Xpand and Xtend 1.x) Date: 18/10/2012 Slide 4

Goal of the Project Unify existing Generator Technologies in one Technology (Xtext) To be able to include existing code (Java) and models (e.g. IDL) Import existing interface definitions (IDL) into the new DSL (ICM) Generate for MCP more artifacts (Façade Implementation, Data Mappers, Transfer Object Handler, Commands etc.) as before Allow a model-driven migration (e.g. EJB2 => EJB3, JAP etc.) Date: 18/10/2012 Slide 5

What is the Multi Channel Platform? MCP is a pragmatic Cooperation Model for Business to increase effectiveness and synergies by: aligning business needs across channels aligning new IT initiatives concerning channel application within business reusing existing business functionality ensure consistency of functionality and data across channels an Integration Platform for IT to increase efficiency by sharing functionality, expertise and resources. Date: 18/10/2012 Slide 6

MCP Façade Technology Architecture Concept A façade is a design pattern, that provides a consistent interface for client applications and contains comprehensive logic to be reused: Date: 18/10/2012 Slide 7

Agenda Initial Situation / Goal of the Project (Mario Lovisi) The Multi Channel Platform (MCP) IcmDsl & MDGEN Features Q&A (Mario Lovisi) (Serano Colameo) (Mario Lovisi / Serano Colameo) Date: 18/10/2012 Slide 8

Targets XJCB CAL DSF... 1 st Step: Analysis, Separation of Concerns Middlewares FN Service Host FN Service DB FN Security GCRM MCP Facade Standard Svc Host Test Cases Cross Cutting Concern Technische Subdomain 1 (Backend) Technische Subdomain 2 (Services) Technische Subdomain 3 (Frontend) Metamodell 1 Modell Metamodell 2 Modell Metamodell 3 Modell Date: 18/10/2012 Slide 9

2 nd Step: Define Runtime Usage of the MDGEN Tools Features: +EJB3 +JUnit4 JDK and JAP is automatically recognized by the Generator! Java Artefacts including tests Developer -XML... Config build.xml (ant, qmb) execute MDGEN Generator (ant task) files build properties Eclipse: JDT, EMF generator properties EJB xml files... Date: 18/10/2012 Slide 11

3 rd Step: Design DSL and Generator Architecture Interface Component Model as a Domain Specific Language Icm Dsl Built-in and extendable Type System with Mapping Functionalities Java is directly supported as Model (Jvm-Model) in IcmDsl IDL can be Im ported (transformed) into IcmDsl (model-2-model & model-2-text) Other Artifacts can be imported as well (we stopped with WSDL) Refer existing Java code Java ICM m2m transformation Service/Component Mapping Modell Icm DSL UML Source Models (existing artifacts) Persistence Modell XSD IDL WSDL... Realized = red Disabled = green Date: 18/10/2012 Slide 12

Date: 18/10/2012 Slide 13

IcmDsl definition of exceptions inheritance and versioning concept types and constant bind java types Use of Annotation mapping of existing data structures definition of components Date: 18/10/2012 Slide 14

Generic Java Generator Architecture Java Meta Model JMM IcmDsl Files Platform Independent to Platform Specific Model association JVM Model Java m2t transformation m2m transformation Model 2 Text Templates Model 2 Model m2t transformation Date: 18/10/2012 Slide 15

Generated Artifacts Service Layer: Interface, Implementation, Delegator, Helper Classes Transport Layer: Transfer Objects, Transfer Object Handler, Command Classes Business Layer: Business Objects, Data Mapper Classes Data Layer: XJCB Services (Java Corba Bridge Service Artifacts) JUnit Tests for each Service Operation Deployment Descriptors Configuration Files (XML)... Use of Generation Gap Pattern to allow manual enhancement All needed Service Artifacts are automatically generated Mapping of Business and Transfer Objects can be also generated Only complex Business Logic must be manually implemented Date: 18/10/2012 Slide 16

Migration of Existing MCP Façade Services Change Technology Stack: EJB2.1 => EJB3, JAP6 => JAP7 JDK and JAP is automatically recognized by the Generator! Generator Switches Features: +EJB3 +SkeletonOnly... Date: 18/10/2012 Slide 17

Migration of Legacy Services (Java Corba Bridge JCB) Source IDL Grammar IDL Metamodel Zip Files scan & extract IDL- Files parse conforms import: m2m & m2t Target generate & build Artefacts (Java, Doc, ) IcmDsl We m igrated over 300 existing JCB services by just im porting and regenerating all existing artifacts in one step! Date: 18/10/2012 Slide 18

Mapping of Tier Layer Data Structures Enterprise Architectures consists of many Layers... Mapping of Data Structures Date: 18/10/2012 Slide 19

Mapping and Binding of existing Models and Artifacts Java Mapping of Java types (classes) Mapping of IcmDsl Types (class, structure etc.) Icm Dsl IDL Binding of IDL Types/Interfaces Date: 18/10/2012 Slide 20

Mapping (i) of Model and/or Java Types in Combination IcmDsl: Generated Java Code: Date: 18/10/2012 Slide 21

Mapping (ii) of Model and/or Java Types IcmDsl: Generated Java Code: Mapping of field definitions with conversion/populate methods Date: 18/10/2012 Slide 22

Mapping (iii) Type Selection with the "."-Dot-Notation IcmDsl: Generated Java Code: Mapping of Types on Field definitions using the dot (".") notation. Cardinality is of course also supported Date: 18/10/2012 Slide 23

Mapping of Service Structures to Business Objects Business Object Service Data Structure Data Mapper Date: 18/10/2012 Slide 24

Mapping of Business Objects to Transfer Objects Data Mapper TO Handler Mapping of Business Objects fields to Transfer Objects allows no type conversion No «select» keyword means map all fields Date: 18/10/2012 Slide 25

Mappings are managed by Data Mappers Service / Operation Data Mapper Name Reference existing Java Service Structure Bind a BO to a Data Mapper with annotation Date: 18/10/2012 Slide 26

MCP Location Specific Customization (I) Reusing of façade API and business logic but with different backends! Switzerland? Singapore Date: 18/10/2012 Slide 27

MCP Location Specific Customization (II) Customization of Data Mapper Definitions by extending the model and tagging them Switzerland Singapore Date: 18/10/2012 Slide 28

Questions Date: 18/10/2012 Slide 29