Transcript
Page 1: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

A division of Data Access Technologies, Inc.

Leveraging a Service-Oriented and Model-Driven Approach to

Architecting Your Enterprise

Ed Seidewitz29 October 2009

Page 2: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

The Issues

• Organizations run complex, critical software to support their business.

• Often, several critical software systems must work together to support this processing, but there may be no integrated view of the entire software architecture.

• Nevertheless, the entire architecture must evolve as necessary to meet both new business requirements (e.g., market changes, regulation changes, etc.) and new technical approaches (e.g., Web-based delivery, service-oriented architecture, etc.).

Page 3: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Addressing the Issues with Architecture

• Enterprise Architecture– To ground technical solutions in the needs of the enterprise

• Service Oriented Architecture– To provide a common paradigm for business, system and technical

integration

• Model Driven Architecture– To drive business requirements consistently to successful solutions

• Architecture Driven Modernization– To transition effectively from the as-is to the to-be architectures

Page 4: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

What is Architecture?

Architecture as a Product

• “A set of design artifacts, or descriptive representations, that are relevant for describing an object such that it can be produced to requirements (quality) as well as maintained over the period of its useful life (change).” (John Zachman)

Architecture as a Practice

• “The practice of finding creative design solutions that meet the needs of the client, fit the environment in which they are to be deployed, and are feasible to implement.”

Architecture provides the bridge between desires of the client and the capabilities of available technology.

Architecture provides the bridge between desires of the client and the capabilities of available technology.

Page 5: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

What is Enterprise Architecture?

• Enterprise: A system of business endeavor within a particular business environment.1

• Enterprise Architecture: A design for the arrangement and interoperation of business components (e.g., policies, operations, infrastructure, information) that together make up the enterprise's means of operation.1

1Interoperability Clearinghouse Glossary, http://www.ichnet.org/glossary.htm

This positions “EA” as the architecture

of the enterprise, not a technology architecture

Page 6: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

What is Service Oriented Architecture?

• Service: A logical representation of a repeatable business activity that has a specified outcome, is self-contained, may be composed of other services and is a “black box” to consumers of the service.1

• Service Oriented: A way of thinking in terms of services and service-based development and the outcomes of services.1

• Service Oriented Architecture: An architectural style for a community of providers and consumers of services to achieve mutual value, that:2

– Allows participants in the community to work together with minimal co-dependence or technology dependence

– Specifies the contracts to which organizations, people and technologies must adhere in order to participate in the community

– Provides for business value and business processes to be realized by the community

– Allows for a variety of technologies to be used to facilitate interactions within the community

1The Open Group, SOA Definition v1.1, June 2006, http://www.theopengroup.org/projects/soa/doc.tpl?CALLER=doc.tpl&gdid=10632

2Object Management Group, SOA SIG, Draft SOA Definition, April 2006

Page 7: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

What is Model Driven Architecture (MDA)?

• Computation Independent Model (CIM)– The business model

• Platform Independent Model (PIM)– Technology independent logical system model– Conforms to the business model (CIM)

• Platform Specific Model (PSM)– Technology specific (e.g., middleware, application platform, etc.)

system implementation– Conforms to the logical system model (PIM)

An (OMG) approach to system specification that separates (models for) the specification of functionality from the specification of the implementation of that functionality on a specific technology platform.

Object Management Group (OMG) Terminology (as commonly applied)

Page 8: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

What is a Model?

• A model is a set of statements in some modeling language made in order to describe or specify some system or domain.– Standard modeling languages: Unified Modeling Language (UML), Business

Process Modeling Notation (BPMN), Systems Modeling Language (SysML), Service Oriented Architecture Modeling Language (SoaML), etc.

• Models are intended to represent and communicate the results of analyses and proposals for new syntheses.– No model can represent everything – but, to be useful, a model must

effectively promote general understanding and communicate important details.

• Typical kinds of models:– Business process model– Business information model– System requirements model– System design model– Data model

Page 9: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

What is Architecture Driven Modernization (ADM)?

A process for understanding and evolving existing software assets

Business Architecture(Business Model)

Business Architecture(Business Model)

System Architecture(Logical System Model)

System Architecture(Logical System Model)

Technical Architecture / System ImplementationTechnical Architecture / System Implementation

MD

AM

DA

AD

MA

DM

Page 10: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

The Service Oriented Enterprise

• Think about the enterprise as a set of interacting participant roles providing and using services.– This enables agility and an effective transition framework.

• Externally– The enterprise is part of the global supply chain, providing services

to customers and using the services of suppliers.

• Internally– Consider parts of the enterprise as providing services to other parts

of the enterprise, and in turn using the service of others.– Internal services are just like external services, the services just

happen to be done inside the organization.

• Business is modeled in terms of interacting roles – providing and using services – the essential concepts of business SOA.

Page 11: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Benefits

• Agile way to understand and plan the enterprise

• Oriented around business concepts of roles, responsibilities and services

• Allows business units the flexibility to define their own business processes (the way they will deliver a service) while supporting common business processes

• Allows business units the flexibility to buy or build their own supporting technology while supporting common components and shared services

• The business model drives the technology

• Smooth transition strategy, in terms of the business and the supporting technology

• Automation provides interoperable solutions quickly and with less cost

Page 12: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Example – The “Dealer Network”

The dealer network models an “industry community” of dealers, shippers and manufacturers. The community defines the SOA architecture by which they all work together.

Page 13: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Service-Oriented, Model Driven Approach

Business ConcernsBusiness ConcernsBusiness ConcernsBusiness Concerns

Technology SpecificationTechnology SpecificationJEE, JMS, Web ServicesJEE, JMS, Web Services

WSDL, BPEL, XML Schema…WSDL, BPEL, XML Schema…

Logical System ModelLogical System ModelTechnology Services (t-SOA), Technology Services (t-SOA), Components, CompositionsComponents, CompositionsInterfaces, Messages & DataInterfaces, Messages & Data

Business ModelBusiness ModelBusiness Services (e-SOA)Business Services (e-SOA)

Roles, Collaborations & InteractionsRoles, Collaborations & InteractionsProcess & InformationProcess & Information

Page 14: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Focus on the Business Model

Business ConcernsBusiness ConcernsBusiness ConcernsBusiness Concerns

Technology SpecificationTechnology SpecificationJEE, JMS, Web ServicesJEE, JMS, Web Services

WSDL, BPEL, XML Schema…WSDL, BPEL, XML Schema…

Logical System ModelLogical System ModelTechnology Services (t-SOA), Technology Services (t-SOA), Components, CompositionsComponents, CompositionsInterfaces, Messages & DataInterfaces, Messages & Data

Business ModelBusiness ModelBusiness Services (e-SOA)Business Services (e-SOA)

Roles, Collaborations & InteractionsRoles, Collaborations & InteractionsProcess & InformationProcess & Information

Page 15: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

The Dealer Network

Order

GetItThere Freight Shipper

Acme IndustriesManufacturer

Mechanics Are UsDealer

A participant in the network

A participant in the network

The role played by the participant

in the network

The role played by the participant

in the network

An interaction between

participants

An interaction between

participants

Confirmation

Page 16: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

The Dealer Network

Order

Ship Req

GetItThere Freight Shipper

Acme IndustriesManufacturer

Mechanics Are UsDealer

A participant in the network

A participant in the network

The role played by the participant

in the network

The role played by the participant

in the network

An interaction between

participants

An interaction between

participants

Confirmation

Page 17: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

The Dealer Network

Order

Confirmation

Shipped

Ship Req

Shipped

Status

GetItThere Freight Shipper

Acme IndustriesManufacturer

Mechanics Are UsDealer

A participant in the network

A participant in the network

The role played by the participant

in the network

The role played by the participant

in the network

An interaction between

participants

An interaction between

participants

Page 18: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

The Dealer Network

Order

Confirmation

Shipped

PhysicalDelivery

Ship Req

Shipped

Delivered

Status

GetItThere Freight Shipper

Acme IndustriesManufacturer

Mechanics Are UsDealer

A participant in the network

A participant in the network

The role played by the participant

in the network

The role played by the participant

in the network

An interaction between

participants

An interaction between

participants

Page 19: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Ship Req

Shipped

Delivered

Status

Marketplace Services

Order

Confirmation

Shipped

PhysicalDelivery Shipper

(Provider)

Requester(Consumer)

Vendor(Provider)

Orderer(Consumer)

Recipient(Consumer)

Shipper(Provider) GetItThere

Freight Shipper

Mechanics Are UsDealer

Acme IndustriesManufacturer

The role played by the participant for a specific service

The role played by the participant for a specific service

A service contract grouping the interactions required for providing a specific service

A service contract grouping the interactions required for providing a specific service

Page 20: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Fundamental SOA Concepts

• Participant – A specification of the responsibility to perform specific functions in the context of a business process.

• Services Architecture – A set of two or more participants interacting to carry out a business process to achieve some joint purpose.

• Service Contract – A collaboration that defines a conversation in which a service or services is provided to consumers by providers. This conversation may be extended over time (i.e., responses of one participant to the other may not be immediate).

Page 21: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

SOA Modeling Language (SoaML)

• SoaML is an OMG standard profile of the Unified Modeling Language (UML).

• It adapts best-practice UML modeling techniques for the specific purpose of modeling service-oriented architectures.

SOA Concept UML Modeling Technique

Services Architecture (SOA) CollaborationParticipant Collaboration RoleService Contract

Collaboration/InteractionService Use Collaboration Use

• But all the rest of UML is still available to use as appropriate.

Page 22: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Services Architecture for the Dealer Network

A Services Architecture (or SOA) is a network of participant roles providing and consuming services to fulfill a purpose. The services architecture defines the requirements for the types of participants and services that fulfill those roles.

A Services Architecture (or SOA) is a network of participant roles providing and consuming services to fulfill a purpose. The services architecture defines the requirements for the types of participants and services that fulfill those roles.

Shipping service

Shipping serviceDelivery

serviceDelivery service

Ordering service

Ordering service

Manufacturer Participant – provides and

consumes services

Manufacturer Participant – provides and

consumes services

Dealer Participant – provides and

consumes services

Dealer Participant – provides and

consumes services

Shipper Participant –

provides services

Shipper Participant –

provides services

Page 23: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

“Place Order” Service Contract: High Level View

This view of a service contract only identifies the service name and the roles each participant plays in the service. This is a high-level summary view.

A service contract is the specification of the agreement between providers and consumers of a service as to what information, products, assets, value and obligations will flow between them. It specifies the service without regard for realization, capabilities or implementation.

A service contract is the specification of the agreement between providers and consumers of a service as to what information, products, assets, value and obligations will flow between them. It specifies the service without regard for realization, capabilities or implementation.

The orderer role (the consumer) and its

Order Placer interface

The orderer role (the consumer) and its

Order Placer interface

The vendor role (the provider) and its

Order Taker interface

The vendor role (the provider) and its

Order Taker interface

Page 24: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

“Place Order” Service Choreography

An optional interaction to

request a quote

An optional interaction to

request a quote

A reply to return the quote

A reply to return the quote

A required interaction to

place an order

A required interaction to

place an orderA reply to accept or reject the orderA reply to accept or reject the order

This is a more detailed look at the same service. Note that this models a fully asynchronous interaction – like most business interactions. (The interaction message types are detailed later.)

A second reply to confirm shipmentA second reply to confirm shipment

Page 25: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Drilling down - Inside a Manufacturer

Order

Confirmation

Shipped

Ship Req

Shipped

Delivered

Fulfillment

Production

Accounting

Acme Industries

Not every manufacturer is going to be the same inside – this shows some of the internals of “Acme”

Page 26: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Services Architecture Inside of Acme

This shows a “drill down” of the services architecture inside of a particular manufacturer, Acme. Other manufactures may have different internal architectures and processes.

The Acme architecture realizes the Dealer Network

participant role.

The Acme architecture realizes the Dealer Network

participant role.

This participant is within the Acme organization.This participant is within the Acme organization.

This participant (from the Dealer Network

architecture) is external to Acme

This participant (from the Dealer Network

architecture) is external to Acme

Page 27: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Acme Manufacturing Business Process

A business process represents the desired behavior among the various

participants in a services architecture.

A business process represents the desired behavior among the various

participants in a services architecture.

Each participant is given a swimlane

containing the actions carried out by that

participant within the business process.

Each participant is given a swimlane

containing the actions carried out by that

participant within the business process.

Interactions between participants must be consistent

with their service contracts.

(Note: for simplicity, the optional “quote” interaction is not shown here.)

Interactions between participants must be consistent

with their service contracts.

(Note: for simplicity, the optional “quote” interaction is not shown here.)

Page 28: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

“Place Order” Message Types

This is the detail for the message types that correspond to the interactions for the Place Order service.

Note that at the technology level this model can be used to produce the implementation specification of the messages, e.g., XML schema.

The messages passed between roles in a service contract are specified using message types. The messages passed between roles in a service contract are specified using message types.

Page 29: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Customer Order Information Model

An information model is a model of individually identifiable business entities and relevant information about them.

An information model is a model of individually identifiable business entities and relevant information about them.

Page 30: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Linking Messages to Business Information

Messages can reference and include parts of the logical information model – forming a connection between SOA and enterprise data.

Messages can reference and include parts of the logical information model – forming a connection between SOA and enterprise data.

Page 31: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Business ConcernsBusiness ConcernsBusiness ConcernsBusiness Concerns

Producing the Logical Systems Model

Technology SpecificationTechnology SpecificationWeb Services, JEE, .NETWeb Services, JEE, .NET

WSDL, BPEL, XML Schema…WSDL, BPEL, XML Schema…

Logical System ModelLogical System ModelTechnology Services (t-SOA), Technology Services (t-SOA), Components & CompositionsComponents & CompositionsInterfaces, Messages & DataInterfaces, Messages & Data

Business ModelBusiness ModelBusiness Services (e-SOA)Business Services (e-SOA)

Roles, Collaborations & InteractionsRoles, Collaborations & InteractionsProcess, Information & RulesProcess, Information & Rules

Page 32: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Interfaces for Participant Roles

These interfaces will correspond with parts of WSDL in a web services implementation.

Each role in the service that receives interactions

has an interface.

Each role in the service that receives interactions

has an interface.

This is the interface for a logical technology component

and is implemented by components providing or

using this service.

This is the interface for a logical technology component

and is implemented by components providing or

using this service.

The service is bi-directional – messages flow in both

directions – so there is an interface on each side.

The service is bi-directional – messages flow in both

directions – so there is an interface on each side.

Page 33: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Service Interfaces on Participants

Ports on the participants provide and require the

service interfaces for each service provided or consumed

Ports on the participants provide and require the

service interfaces for each service provided or consumed

• Service contracts imply service interfaces on participants

• Participants and services may be used in multiple architectures.

Page 34: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Service Interfaces on Participants• Service contracts imply service

interfaces on participants• Participants and services may

be used in multiple architectures.

Provided interface

Required interface

“Conjugated” interfaces

Ports on the participants provide and require the

service interfaces for each service provided or consumed

Ports on the participants provide and require the

service interfaces for each service provided or consumed

Page 35: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Logical System Components

Components implement the service interfaces providing the link to

systems.

Components implement the service interfaces providing the link to

systems.

A component may realize a services

architecture.

A component may realize a services

architecture.

Page 36: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Composite Application Components

Components can be assembled from other components by linking their services. This corresponds to the architecture for Acme.

Ideally, IT components directly play the roles of

SOA participants.

Ideally, IT components directly play the roles of

SOA participants.This component is defined as a composition of other

components.

This component is defined as a composition of other

components.

This is a service delegation to an internal

subcomponent.

This is a service delegation to an internal

subcomponent.

This is a service channel connection between a

consumer and a provider.

This is a service channel connection between a

consumer and a provider.

Page 37: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Legacy Application Architecture

In reality, the legacy architecture of most enterprises often does not reflect the business service architecture clearly.

Participant roles are played primarily by human workers using ad-hoc IT interfaces.

Participant roles are played primarily by human workers using ad-hoc IT interfaces.

A request point is a port that is used to request services

provided by a corresponding service point.

A request point is a port that is used to request services

provided by a corresponding service point.

Human participants may also interact without the aid of

IT.

Human participants may also interact without the aid of

IT.

Page 38: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Acme Order Processing: Initial Service Implementation

This is Acme’s initial pilot service-oriented solution architecture.

Existing enterprise systems can be integrated using

adapter components

Existing enterprise systems can be integrated using

adapter components

This new component provides full back-end support for fulfillment.

This new component provides full back-end support for fulfillment.

The new component uses back-end service interfaces

directly based on the business services architecture.

The new component uses back-end service interfaces

directly based on the business services architecture.

Page 39: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Adapting Enterprise Systems

This is the inside of the SAP AR component – also a composition, it uses the existing SAP interfaces and adapts them to the service contract.

This separates the concerns of a particular enterprise system from the enterprise SOA. Sometimes the system interfaces are used directly or adapted by an Enterprise Service Bus (ESB).

Page 40: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Acme Order Processing: Re-Architected Service Implementation

Acme next decides to implement a new Fulfillment Component, with external service interfaces, while continuing to use adapter interfaces to back-end AR and Inventory Management systems.

Page 41: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Business ConcernsBusiness Concerns

Provisioning Technology Artifacts

Technology SpecificationTechnology SpecificationJEE, JMS, Web Services, .NETJEE, JMS, Web Services, .NET

WSDL, BPEL, XML SchemaWSDL, BPEL, XML Schema

Logical System ModelLogical System ModelTechnology Services (t-SOA), Technology Services (t-SOA),

ComponentsComponentsInterfaces, Messages & DataInterfaces, Messages & Data

Business ModelBusiness ModelBusiness Services (b-SOA)Business Services (b-SOA)

Roles, Collaborations & InteractionsRoles, Collaborations & InteractionsProcess, Rules & InformationProcess, Rules & Information

Page 42: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

How Do You Implement a Service Oriented Enterprise?

• “Implementing” the Service Oriented Enterprise can mean several things:– Re-engineering enterprise business processes to a target service-

oriented business architecture.– Re-aligning enterprise organization for service delivery.– Establishing effective IT support for enterprise business services

• An Enterprise Service Implementation Platform provides a consistent set of IT technologies for implementing a Service Oriented Enterprise.– By wrapping and adapting existing systems– By creating new applications– Using “code free” configuration

Page 43: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Enterprise Service Implementation Platform:Solution Approach

Service DeliveryService Delivery

Service Service OrchestrationOrchestration& Workflow& Workflow

SolutionSolutionArchitectureArchitecture

• Business Process Management (BPM)

• Business Rule Management

• Business Process Management (BPM)

• Business Rule Management

• Enterprise Service Bus (ESB)

• User Interface/Portal

• Persistence/Database

• Enterprise Service Bus (ESB)

• User Interface/Portal

• Persistence/Database

• Model/Metadata Repository

• Provisioning

• Model/Metadata Repository

• Provisioning

ServiceServiceOperations & Operations & GovernanceGovernance

• Service Registry

• Operational Monitoring

• Performance Instrumentation

• Service Registry

• Operational Monitoring

• Performance Instrumentation

Page 44: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Standards in the Web Services Stack

Source: SUN, 2007

Page 45: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Example Provisioning to JEE Web Services

How SoaML is provisioned to technology artifacts, such as Web Services, is not yet standard.

This illustrates one approach.

The components to be provisioned are dropped into a technology specific provisioning node (in this case JEE and web services).

Page 46: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Application Framework

Custom Business Logic Components

Generated ComponentWrapper

Custom Code

FrameworkComponent

Application components provideservice implementationswith user supplied logic.These “plug into” the users architecture as compositeapplication components

Framework components add infrastructural capabilities by extending the platform (E.G. JBI) and are called by the provisioned code or platform configuration

XSLTXSLT

JavaJava

Etc.Etc.

As MDA progresses, there will be less and less need for custom components, but the capability will remain.

Custom part is

separate from the

generated part

Custom part is

separate from the

generated part

Page 47: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Developers write the custom logic code

Model-Driven Development

Technologists specify the implementation platform

The models are provisioned onto the target platform

Architects create the models

Using a standard-conforming UML

modeling tool

Using a standard-conforming UML

modeling tool

With custom business logic components

Page 48: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Model Driven Development

With fully executable modelsAnalysts validate the models by executing

them in a simulated test environment

Technologists specify the implementation platform

The models are provisioned as executing artifacts on the target platform

Using a standard-conforming UML

modeling tool

Using a standard-conforming UML

modeling tool

Using a standard-conforming UML

execution tool

Using a standard-conforming UML

execution tool

The models are the source code.

Architects create the models

Page 49: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Conclusion

• Architecture builds bridges from business needs to solution design to successful implementation.

• The concept of a service provides a common basis for tying business to system to technical architecture.– Business service– System service– Technical (Web) service

• Models provide the basis for description, specification and communication at all levels.

• Provisioning enables models to be the source for executable artifacts.– Executable architecture models– Executable business process models– Executable system models

Page 50: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Relevant OMG Standards

• OMG Model Driven Architecture http://www.omg.org/mda/ - See http://www.omg.org/cgi-bin/doc?omg/03-06-01 for MDA Guide

• OMG Unified Modeling Language (OMG UML) Superstructure, Version 2.2 (formal/2009-02-02) www.uml.org

• Service Oriented Architecture Modeling Language (SoaML), Beta 1 (ptc/2009-04-01) www.soaml.org– See http://www.omg.org/spec/SoaML/Current for latest spec doc

• Semantics of a Foundational Subset for Executable UML Models, Beta 1 (ptc/2008-11-03)– See http://www.omg.org/spec/FUML/Current for latest spec doc

• In progress: Concrete Syntax for UML Action Language, Request for Proposals (ad/2008-09-09)– See http://www.omg.org/cgi-bin/doc?ad/2008-9-9 for RFP

Page 51: Architecting Your Enterprise

Copyright © 2009 Data Access Technologies, Inc.Model Driven Solutions

Relevant Tools

• Open Source– ModelPro Provisioning Engine – http://modelpro.modeldriven.org – ModelPro SoaML Cartridge – http://soamlcartridge.modeldriven.org – fUML Reference Implementation – http://fuml.modeldriven.org

• Commercial– MagicDraw/Cameo-SOA+ – http://soaplus.cameosuite.com– IBM Rational Software Architect 7.5.4

– http://www-01.ibm.com/support/docview.wss?rs=3539&uid=swg27014043


Top Related