27
From Models to Components Rapid Service Creation with Marc Born, Olaf Kath {born|kath}@ikv.de

From Models to Components - Object Management Group€¦ · – Notations are easy to define/integrate – First set up the conceptual foundation, afterwards define a concrete syntax

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

© IKV++ Technologies AG,

From Models to Components

Rapid Service Creation with

Marc Born, Olaf Kath{born|kath}@ikv.de

© IKV++ Technologies AG,

Evolutions in Software Construction

COMPLEXITY

FLEXIBILITY

step-wise procedural refinement

paradigm

objectcomposition paradigm.

distributed objectstechnology

model transformationparadigm

CPascalModula

C++Java

Smalltalk

CORBAJava RMI

EJB

Model Driven ArchitecturesMeta Object Facility and UMLShared Metadata Environments

(.NET, CWM, JMI)

Increasing Need for Tools

© IKV++ Technologies AG,

The Challenge

■ Gartner Group: „Middleware Deployment Trends: Survey of Real-World Enterprise Applications“Strategic Analysis Report

◆ 64% of enterprises under study are using or plan to use object-oriented analysis and design

◆ 80% of such enterprises are using or plan to use component architectures (EJB, CORBA, COM)

■ The challenge is to integrate object oriented design and component manufacturing in a model centric approach

© IKV++ Technologies AG,

The Approach

• Application of dedicated development techniques

– Object oriented modeling for analysis and design• Stable, infrastructure independent design models

– Application of component architectures for integration, test and production• Component architectures provide support for component integration: communication, packaging, deployment,

– Generation of software components from design models• Definiton of code generation rules -> Design models to components

• But:

– MANY notations/languages for design and manufacturing• CORBA Components IDL, ITU-ODL, DCL, SDL 2000

© IKV++ Technologies AG,

Separation of Concerns

• Define concepts and relations for object oriented analysis and design

• Define/refine notations suitable for the presentation of models

• Use/reuse component architectures to specify the software infrastructure

• Define code generation rules that map from the concepts of the conceptual foundation onto the software infrastructure

© IKV++ Technologies AG,

Java 2 EEJava 2 EEenvironmentenvironment

CORBA ComponentsCORBA Componentsenvironmentenvironment

enago OSPenago OSPenvironmentenvironment

enago m2c UMLenago m2c UMLSpecificationsSpecifications

The enago m2c Tool Chain

CORBA 3 and ITUCORBA 3 and ITU--ODL ODL SpecificationsSpecifications

enago m2cenago m2cdynamic meta dynamic meta

data integrationdata integrationarchitecturearchitecture

DynMEDIADynMEDIA.NET and .NET and Web ServicesWeb Servicesenvironmentenvironment

© IKV++ Technologies AG,

Dynamic Metadata Integration Architecture

MOF MOF Meta Meta ModelMeta Meta ModelImplementationImplementation

A Meta ModelA Meta Modelof a Business orof a Business orBusiness ProcessesBusiness Processes

A Business ProcessA Business ProcessModelModel

An Instance of theAn Instance of theMeta ModelMeta Model

develop the meta develop the meta model with UMLmodel with UML

Meta DataMeta DataRepositoryRepository

generategenerategenerategenerate

code to automate thecode to automate thebusiness processbusiness process

generategenerate

© IKV++ Technologies AG,

Concepts in enago m2c

structural conceptsstructural conceptsstructural aspects of functionalstructural aspects of functionaldecompositiondecompositione.g. CO type, interface,e.g. CO type, interface,interaction element, data typesinteraction element, data types

configuration conceptsconfiguration conceptsaspects of the configuraaspects of the configuraof software componentsof software componentse.g. port, provided porte.g. port, provided portused portused port

interaction conceptsinteraction conceptscase based description of interactioncase based description of interactionpolicies policies e.g. binding, contract type and contracte.g. binding, contract type and contract

implementation conceptsimplementation conceptsaspects of the aspects of the implementation of softwimplementation of softwcomponentscomponentse.g. artifacte.g. artifact, , implemenimplemenelementelement, , state attributstate attribut

deployment conceptsdeployment conceptsaspects of manufacturingaspects of manufacturingand integration of and integration of software components, software components, e.g. component,e.g. component,assembly, realize assembly, realize

enago m2cenago m2cconcepts concepts enabledenabledwith with

DynMEDIADynMEDIA

© IKV++ Technologies AG,

Notations for the enago m2c Concepts

• Notations are secondary

– enago m2c defines modeling concepts and semantical foundations

– Notations define the presentation of enago m2c concepts

• Notations depend on developers preferences

– graphical vs. textual model presentation

– compact vs. descriptive model presentation

• Frequent changes to notations

• Based on the concepts of enago m2c, different notations can be integrated

– enago m2c defines currently two notations

© IKV++ Technologies AG,

Notations for the Concept Space

• Example 1: Definition of a graphical notation –enago m2c UML Profile

– UML is a standardized, wide spread set of graphical notations

– Applicable in different software development processes and different development phases

– Built-in extension mechanism

– The enago m2c UML Profile can be integrated with different UML CASE tools

© IKV++ Technologies AG,

Notations for the Concept Space -

•• Example 1: Definition of a graphical notation Example 1: Definition of a graphical notation ––enagoenago m2c UML Profilem2c UML Profile

–– UML is a standardized, wide spread set of UML is a standardized, wide spread set of graphical notationsgraphical notations

–– Applicable in different software development Applicable in different software development processes and different development phasesprocesses and different development phases

–– BuiltBuilt--in extension mechanismin extension mechanism

–– The enago m2c UML ProfileThe enago m2c UML Profile can be integrated can be integrated with different UML CASE toolswith different UML CASE tools

© IKV++ Technologies AG,

Notations for the Concept Space -

• Example 1: Definition of a graphical notation –enago m2c UML Profile

– UML is a standardized, wide spread set of graphical notations

– Applicable in different software development processes and different development phases

– Built-in extension mechanism

– The enago m2c UML Profile can be integrated with different UML CASE tools

• Example 2: Definition of a textual notation –enago m2c eODL – based on ITU-ODL and CORBA IDL

– CORBA-IDL allows for the definition of interfaces, datatypes, ...

– Interfaces are defined independent of the programming language chosen for the implementation

© IKV++ Technologies AG,

Notations for the Concept Space

enago m2c UMLenago m2c UMLSpecificationsSpecifications

CORBA 3 and ITUCORBA 3 and ITU--ODL ODL SpecificationsSpecifications

enago m2cenago m2cdynamic meta dynamic meta

data integrationdata integrationarchitecturearchitecture

DynMEDIADynMEDIA

© IKV++ Technologies AG,

The System Construction Paradigm:Model Transformations

MOF Meta MetaMOF Meta MetaModelModel

Source Meta ModelSource Meta Modele.g. Businesse.g. BusinessMeta ModelMeta Model

Target Meta ModelTarget Meta Modele.g. Platforme.g. PlatformMeta ModelMeta Model

Source ModelSource Modele.g. Businesse.g. Business

ModelModel

Target ModelTarget Modele.g. Platform Specifice.g. Platform SpecificSoftware ComponentsSoftware Components

Define FormalDefine FormalTransformationTransformation

RulesRules

ApplyApplyTransformationTransformation

RulesRules

© IKV++ Technologies AG,

object interaction supportobject interaction supportobject middleware object middleware

development, deployment and execution supportdevelopment, deployment and execution supportcomponent support platformcomponent support platform

generic componentsgeneric componentse.g. components of a service platforme.g. components of a service platform

system specificsystem specificcomponentscomponents

useuse

based onbased on

usesuses

The enago m2c Component Support Platform

© IKV++ Technologies AG,

The enago m2c Component Support Platform

• Component platforms realize the software infrastructure for the integration of components

– CORBA, .net, EJB, ...

• Telecommunication domain implies specific requirements

– Scaleability of software systems

– Manageability (esp. configuration) of the system components

– Platform support for differentinteraction kinds

• enago m2c provides a component supportplatform

© IKV++ Technologies AG,

Code Generation Aspects:CORBA Technologies used

• Operational interactions realized by plain CORBA

• Signal interactions realized by CORBA Event Service/Notification Service

– CORBA Event/Notification Service specific interfaces for signal consumption and production

• Continuous media interactions realized by proprieatary mediy delivery platform

– Platform specific interfaces for media management and delivery

• Support for CO Factory Finder mechanism

– Realized by CORBA naming service

• Container implementation for generic run-time support

© IKV++ Technologies AG,

usesprovides

Interface I Interface J

Code Generation Aspects:Port- and Interaction Management

servantfor

operationalinteraction

servantfor

signal and streams

servantfor

signal and streamsCO Servant

implements

O Composition

delegates

J Composition(use-case)

I Composition(supply-case)

Inherits (on type level)

© IKV++ Technologies AG,

Code Generation Aspects:Artifactmanagement

usesprovides

Interface I Interface J

O CompositionJ Composition

(use-case)I Composition(supply-case)

Artifact FactoryB2

Artifact FactoryB1

Artifact FactoryA

createscreates creates

Artifact A(use-case)

Artifact B1(supply-case)

Artifact B2(supply-case)

© IKV++ Technologies AG,

Code Generation Aspects

© IKV++ Technologies AG,

The enago m2c System Configurator

© IKV++ Technologies AG,

Execution of the System

© IKV++ Technologies AG,

enago m2c @ work

define/refine define/refine the systemthe system

with enago m2cwith enago m2cUML profileUML profile

apply the enago m2c apply the enago m2c model transformators tomodel transformators togenerate componentsgenerate components

configure the systemconfigure the systemwith enago m2c systemwith enago m2c system

configuratorconfigurator

execute the execute the resulting systemresulting system

© IKV++ Technologies AG,

Conclusions

• OMG‘s Model Driven Architecture @ Work ☺ ☺ ☺

• MOF compliant meta-models enable the flexibility of the approach

– DynMEDIA is MOF 1.4 compliant

– Model exchange format(s) come for free

– Notations are easy to define/integrate

– First set up the conceptual foundation, afterwards define a concrete syntax

– Code generation rules can be defined based on the meta-model definitions (i.e. independent of a concrete notation)

• The component support platform behind the scene is an extension of the CORBA Component Model

– ... and it‘s implemented ☺

© IKV++ Technologies AG,

IKV++ Technologies AG - Scopes of Business

Phone

Internet

Fax

E-Mail

HTML / XML/ WML

User Service Portal Platform ContentProvider

Legacy SystemIntegration

Service

Components

Legacy SystemIntegrationLegacy System

Integration

Open ServicePlatform

Mobile

MediaGates

Service

Components

Service Compone

nts

3rd

Party ServiceProvide

r

3rd party Access

C2B B2B

enagoContent Adapt.

Mobile Telecomunications /Mobile Business

E-GovernmentE-Logsitics

Enago platform suite is:an open service platform enabling the implemen-tation of (mobile) service portals

IKV++ Technologies AGoffers:- products,- solutions development,- consultancyfor the implementation of (mobile) service portals

© IKV++ Technologies AG,

enago platform suite- flexible IT-infrastructure for Service Portals

enago OSP

enagoMediaGate Management

enagoMobile

enago M2CCASE

Toolset

• enago OSP (Open Service Platform)

" enables integration of heterogeneousthird party services

" dynamic service subscription

" flexible profile handling

• enago Mobile

" enables complex workflow applications

" dynamic Service Client software installation

" active portal implementation within the endsystem

" incorporates personal mobility and Smart Phones

• enago MediaGate

" provides for state of the art Unified Messaging capabilities

" enables onne tivity to OSA Gateways of

© IKV++ Technologies AG,

Marc Born, Olaf Kath

IKV++ Technologies AGBernburger Straße. 24-25, 10963 Berlin, Germany

Phone: +49-(0)30 / 34 80 7-70Fax: +49-(0)30 / 34 80 7-80Email: {born|kath}@ikv.de

Internet: www.ikv.dewww.enago.de