component-based system integration via (meta)model composition vanderbilt university nashville,...

20
Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar Balasubramanian, Douglas C. Schmidt, Zoltán Molnár, Ákos Lédeczi [email protected]

Upload: esther-curtis

Post on 18-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

Component-based System Integration via (Meta)Model

Composition

Vanderbilt University Nashville, Tennessee

Institute for Software Integrated Systems

Krishnakumar Balasubramanian, Douglas C. Schmidt, Zoltán Molnár, Ákos Lédeczi

[email protected]

Page 2: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

Web Services

CORBA Component Model

Web Service Deployment descriptors

Gateway

Identity Manager

Business Logic

Naming Service

Coordinator

Database

Logging Logging

Java Log Analyzer

C# Log Analyzer

Log Analyzer

CCM Deployment descriptors

CCM ComponentWeb ServiceWeb Service Client

Motivating Application• System Domain

• Shipboard Computing • On-demand situation

awareness• Integration with human

operators• Distributed System

• Different client applications• Differentiated services to

clients• Originally built using CORBA

Component Model (CCM)• Need to integrate with W3C Web

Service Clients

2

Page 3: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

Component-based System Integration• Integration can be done at multiple levels

• Data integration• Presentation Integration• Portal Integration• Process Integration• Functional Integration

• System refers to software systems built using

• Service-Oriented Architecture (SOA) technologies like Web Services

• Component middleware technologies like Enterprise Java Beans (EJB), CORBA Component Model (CCM)

• System Integration refers to functional integration done via

• Distributed Object Integration• Service-Oriented Integration

3

Page 4: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

Functional Integration Challenges (1/5)1. Choosing an appropriate level

of integration• Select elements from the

different technologies• Selection Criteria

• Number of normalizations• To/from native types

• Flexibility of deployment• In-process/Out-of-

process• Evolving the integration

architecture• Increasing the number

of peers integrated• Availability of platform-

specific infrastructure • OS, languages

4

Web Services

CORBA Component Model

Web Service Deployment descriptors

1

Gateway

Identity Manager

Business Logic

Naming Service

Coordinator

Database

Logging Logging

Java Log Analyzer

C# Log Analyzer

Log Analyzer

CCM Deployment descriptors

CCM ComponentWeb ServiceWeb Service Client

Page 5: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

Functional Integration Challenges (2/5)2. Reconciling differences in

interface specifications• Map interface specifications

between different technologies• Datatype Mapping

• e.g., CORBA IDL to Web Services WSDL

• Exception Mapping• e.g., SOAP faults to

CORBA Exception• Language Mapping

• Different source/target implementation languages

• Limited scope at level of functional integration

• Restricted to out-of-process IPC

5

Web Services

CORBA Component Model

Web Service Deployment descriptors

2

Gateway

Identity Manager

Business Logic

Naming Service

Coordinator

Database

Logging Logging

Java Log Analyzer

C# Log Analyzer

Log Analyzer

CCM Deployment descriptors

component Benchmark_Data_Collector { provides Testing_Service testing_service;

provides BDC_Control_Handle controls;

attribute long timeout;

attribute string service; };

<wsdl:service name="CUTS.Benchmark_Data_Collector"> <wsdl:port name="CUTS.Benchmark_Data_Collector.online_measurements" binding="tns:CUTS.Benchmark_Data_Collector._SE_online_measurements"> <soap:address location="http://localhost:8080/" wsdl:required="false"/> </wsdl:port> <wsdl:port name="CUTS.Benchmark_Data_Collector.controls" binding="tns:CUTS.Benchmark_Data_Collector._SE_controls"> <soap:address location="http://localhost:8080/" wsdl:required="false"/> </wsdl:port> </wsdl:service>

CCM ComponentWeb ServiceWeb Service Client

Page 6: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

Web Services

CORBA Component Model

Web Service Deployment descriptors

3

Gateway

Identity Manager

Business Logic

Naming Service

Coordinator

Database

Logging Logging

Java Log Analyzer

C# Log Analyzer

Log Analyzer

CCM Deployment descriptors

TypeSpecific IIOP ó SOAP

CCM ComponentWeb ServiceWeb Service Client

Functional Integration Challenges (3/5)3. Reconciling differences in

implementation technologies• Map low-level technology

details such as networking, discovery

• Protocol Mapping• e.g., Internet Inter-ORB

Protocol (IIOP) in CCM vs. SOAP in Web Services

• Discovery Mapping• e.g., CORBA Naming

Service vs. UDDI repositories

• Quality of Service (QoS) mapping

• Ensure service-level agreements are met

6

Page 7: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

Functional Integration Challenges (4/5)4. Managing deployment of

subsystems• Declarative notations used to

capture various configuration options

• e.g., CCM deployment descriptors, .NET assembly manifests

• Functionality of system depends on correct configuration of metadata

• Development-time default values different from production values

• e.g., security configuration of Web Servers hosting Web Services

7

Web Services

CORBA Component Model

Web Service Deployment descriptors

4

Gateway

Identity Manager

Business Logic

Naming Service

Coordinator

Database

Logging Logging

Java Log Analyzer

C# Log Analyzer

Log Analyzer

CCM Deployment descriptors

CCM ComponentWeb ServiceWeb Service Client

4

Page 8: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

Functional Integration Challenges (5/5)5. Interoperability issues• Multiple implementations of

same middleware technology• Differences between

implementations• e.g., Java Web Services

stack vs. .NET Web Services stack

• Problems show up only during system integration

• e.g., existence of standards like Web Services-Interoperability (WS-I)

• Need to deal with interoperability issues in a less than ideal world

8

Web Services

CORBA Component Model

Web Service Deployment descriptors

5

Gateway

Identity Manager

Business Logic

Naming Service

Coordinator

Database

Logging Logging

Java Log Analyzer

C# Log Analyzer

Log Analyzer

CCM Deployment descriptors

CCM ComponentWeb ServiceWeb Service Client

Page 9: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

9

Model-Driven Engineering (MDE)-based Solution• System Integration

Modeling Language• Developed using

Generic Modeling Environment (GME)

• Part of Component Synthesis using Model-Integrated Computing (CoSMIC) toolchain

• Capture elements & dependencies visually

• Define “static semantics” using Object Constraint Language (OCL)

• Defines “dynamic semantics” via model interpreters

• Generates domain-specific artifacts

http://www.dre.vanderbilt.edu/~kitty/pubs/RTAS05-final.pdfhttp://www.dre.vanderbilt.edu/~kitty/pubs/mde-book.pdfhttp://www.dre.vanderbilt.edu/~kitty/pubs/IEEE06.pdf

Page 10: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

10

System Integration Modeling Language (SIML)• Hierarchical composition from

multiple sub-domain-specific Modeling Languages (DSMLs)

• CCM Platform-Independent Component Modeling Language (PICML)

• Web Services Web Services Modeling Language (WSML)

• Built in a reusable & extensible fashion

• “Open-Closed” principle• New languages can be

added; existing ones reused• Preserve existing investment in

tools• Existing tools work

seamlessly in composite DSML

CCM DSML

Web Services DSML

CCM Models

Web Service Models

System Integration

DSML

Model Composition

CCM Deployment descriptors

Web Service Deployment descriptors

CCM Deployment descriptors

Web Service Deployment descriptors

Integration Glue code

Imported Entity

Exported Entity

Page 11: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

11

Key Properties of (Meta-)Model Composition1. Representation of independent

concepts• Concepts in sub-DSMLs

preserved, i.e., no merging of independent concepts

• Allows Import/Export2. Supporting model evolution

• Sub-DSMLs packaged as read-only model libraries

• Changes to original DSML propagated through library refresh

3. Partitioning model namespaces• Sub-DSMLs assigned

separate namespaces4. Handling constraints

• Namespaces used to provide appropriate context for constraint evaluation

System Integration Modeling Language

PICML WSML

Component

Port

Service

BindingPort

HttpsBinding

Service

BindingPort

1

2

3

4

Page 12: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

12

Enabling Technology: Usage Scenarios• SIML targets system

developers & integrators• System Developers

• Use DSML of corresponding technology

• Assists in automating key deployment activities

• Used during development of individual sub-systems

• System Integrators• Use the integration DSML • Assists in combining sub-

systems together• Used during integration of

the whole system

System Integration Modeling Language (SIML)

PICML (CCM DSML)

WSML (WS DSML)

CCM Deployment descriptors

Web Service Deployment descriptors

Required Interface

Provided Interface

Event Source

Event Sink

Component

Page 13: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

Resolving Challenge 1 : Choosing Integration Level• Combination of pre-defined

& customizable integration levels

• Pre-defined interactions• CCM Ports Web

Service Ports• User-defined interactions

• Component level• Assembly level

• SIML defines new interactions between CCM ports and Web Services ports

• Allows integration of other middleware technologies

• e.g., Enterprise Java Beans

13

System Integration Modeling Language

Web Services Modeling Language

Platform-Independent Component Modeling Language

CCM Component

Gateway

Identity Manager

Business Logic

Naming Service

Coordinator

Database

Logging Logging

Java Log Analyzer

C# Log Analyzer

Log Analyzer

Web ServiceWeb Service Client

Page 14: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

Resolving Challenge 2: Reconciling Differences in Interfaces• SIML provides a set of tools

idl_to_wsdl, idl_to_picml, WSDLImporter

• Performs datatype mapping• Maps CORBA datatypes

to WSDL datatypes• Performs exception mapping

• Maps CORBA exceptions to WSDL faults

• Both IDL and WSDL can be directly imported into models

• Limited language mapping • Maps ISO/ANSI C++ to

Microsoft C++/CLI

14

System Integration Modeling Language

Web Services Modeling Language

Platform-Independent Component Modeling Language

CCM Component

Gateway

Identity Manager

Business Logic

Naming Service

Coordinator

Database

Logging Logging

Java Log Analyzer

C# Log Analyzer

Log Analyzer

component Benchmark_Data_Collector { provides Testing_Service testing_service;

provides BDC_Control_Handle controls;

attribute long timeout;

attribute string service; };

<wsdl:service name="CUTS.Benchmark_Data_Collector"> <wsdl:port name="CUTS.Benchmark_Data_Collector.online_measurements" binding="tns:CUTS.Benchmark_Data_Collector._SE_online_measurements"> <soap:address location="http://localhost:8080/" wsdl:required="false"/> </wsdl:port> <wsdl:port name="CUTS.Benchmark_Data_Collector.controls" binding="tns:CUTS.Benchmark_Data_Collector._SE_controls"> <soap:address location="http://localhost:8080/" wsdl:required="false"/> </wsdl:port> </wsdl:service>

idl_to_picml.exe

idl_to_wsdl.exe

WSDLImporter.exe

Web ServiceWeb Service Client

Page 15: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

Resolving Challenge 3: Handling Implementation Differences• Resource Adapters are

typically used to bridge implementation differences

• SIML implements resource adapters via Gateways

• Automatically generates gateways from models

• Perform protocol mapping• IIOP SOAP mapping

• Perform discovery mapping• Connects to CORBA

Naming Service• Configurable gateway

generation• GSOAP, Microsoft .NET

Web Services

15

System Integration Modeling Language

Web Services Modeling Language

Platform-Independent Component Modeling Language

CCM Component

Gateway

Identity Manager

Business Logic

Naming Service

Coordinator

Database

Logging Logging

Java Log Analyzer

C# Log Analyzer

Log Analyzer

TypeSpecific Gateway IIOP ó SOAP

GatewayGenerator.exe

Web ServiceWeb Service Client

Page 16: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

Resolving Challenge 4: Managing Heterogeneous Deployment• Deployment of sub-systems

requires different mechanisms

• SIML can use existing tools for individual sub-system deployment

• Possible because of model composition

• Deployment metadata configuration & generation

• Directly from within SIML

• CCM• DeploymentPlan.exe

• Web Services• WSDLExporter.exe

16

System Integration Modeling Language

Web Services Modeling Language

Platform-Independent Component Modeling Language

Web Service Deployment descriptors

CCM Component

Gateway

Identity Manager

Business Logic

Naming Service

Coordinator

Database

Logging Logging

Java Log Analyzer

C# Log Analyzer

Log Analyzer

CCM Deployment descriptors

WSDLExporter.exe

DeploymentPlan.exe

Web ServiceWeb Service Client

Page 17: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

Resolving Challenge 5: Handling Interoperability Differences• Knowledge of sub-DSML

technologies built into SIML• Allows compensating for

interoperability differences• idl_to_wsdl.exe

• Maps IDL to WS-I defined subset of WSDL

• GatewayGenerator.exe• Inter-operable subset of

RPC encoding• WSDLExporter.exe

• Interoperable XML namespaces in WSDL

• Newly discovered incompatibilities can be worked around

17

System Integration Modeling Language

Web Services Modeling Language

Platform-Independent Component Modeling Language

Web Service Deployment descriptors

CCM Component

Gateway

Identity Manager

Business Logic

Naming Service

Coordinator

Database

Logging Logging

Java Log Analyzer

C# Log Analyzer

Log Analyzer

CCM Deployment descriptors

component Benchmark_Data_Collector { provides Testing_Service testing_service;

provides BDC_Control_Handle controls;

attribute long timeout;

attribute string service; };

<wsdl:service name="CUTS.Benchmark_Data_Collector"> <wsdl:port name="CUTS.Benchmark_Data_Collector.online_measurements" binding="tns:CUTS.Benchmark_Data_Collector._SE_online_measurements"> <soap:address location="http://localhost:8080/" wsdl:required="false"/> </wsdl:port> <wsdl:port name="CUTS.Benchmark_Data_Collector.controls" binding="tns:CUTS.Benchmark_Data_Collector._SE_controls"> <soap:address location="http://localhost:8080/" wsdl:required="false"/> </wsdl:port> </wsdl:service>

TypeSpecific Gateway IIOP ó SOAP

idl_to_picml.exe

idl_to_wsdl.exe

WSDLImporter.exe

WSDLExporter.exe

DeploymentPlan.exe

GatewayGenerator.exe

Web ServiceWeb Service Client

Page 18: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

Related Work• Integration Evaluation Tools

• Evaluate integration strategy and tools, e.g., IBM’s WebSphere• System Execution Modeling Tools

• Smith, C., & Williams, L. (2001). Performance Solutions• Integration Design Tools

• UML profile for Enterprise Application Integration (EAI)• Integration Patterns

• Hohpe, G., & Woolf, B. (2003). Enterprise Integration Patterns• Resource Adapters

• Java Messaging Specification & J2EE Connector Architecture• IBM’s MQSeries (IBM, 1999), Microsoft BizTalk Server

• Integration frameworks• Semantic Web (OWL), GRID System Integration (Foster, 2002), QoS-

aware service composition (Zeng et al., 2004)• Integration Quality Analysis

• Web Service-Level Agreement language (WSLA) (Ludwig, 2003)

18

Page 19: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

Concluding Remarks• Model-Driven Engineering

(MDE)-based approach to functional integration of component-based systems

• Based on (Meta-)Model Composition

• System Integration Modeling Language (SIML)

• Domain-Specific Modeling Language (DSML) for functional integration

• Composed from DSMLs for two different middleware technologies

• CORBA Component Model

• Web Services

19Available as Open-Source tools

http://www.dre.vanderbilt.edu/CoSMIC

System Integration Modeling Language (SIML)

CORBA Component

Model DSML

Web Services DSML

CCM Deployment descriptors

Web Service Deployment descriptors

CORBA Component Application

IDL 2 WSDL Generator

1

IDL 2 PICML Generator

WSDL Importer

Web Service Client

Web Service Client

TypeSpecific IIOP ó SOAP

SOAP Server

CCMClient

CCM Component

2

34

5

8

7

6

Invokes

Imports

Generates

Converts

Page 20: Component-based System Integration via (Meta)Model Composition Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Krishnakumar

Questions?

20