executable enterprise modeling with uml · executable enterprise modeling with uml presented to:...

23
Executable Enterprise Modeling with UML Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar D. Tronstad

Upload: others

Post on 10-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

Executable Enterprise Modeling with UMLExecutable Enterprise Modeling with UML

Presented to:OMG Workshop on UML in the

EnterpriseDecember 3-6, 2001

By:Michael Latta

Yngvar D. Tronstad

Page 2: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 2

Overview

!! ArchitectureArchitecture!! OO ModelingOO Modeling

–– StructureStructure–– BehaviorBehavior–– StateState

!! Push Push !! Execution EngineExecution Engine!! J2EE Apps ServerJ2EE Apps Server!! JMS/JCAJMS/JCA!! Lessons LearnedLessons Learned

Page 3: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 3

SalesSupport

InventoryControl Shipping Customer

Care Billing

Message Transformation

Workflow Engine

!Error Detection

B2BGateway

Web Portals

Message Bus

Problem space and Challenges

An example integration environment, using TIBCO middleware

Configured piece by piece, it requires organizations to carefully coordinate all of the implementation artifacts to build the final end-to-end solution.

A

BC

D E F G H

I

J

K

L M O PN

Page 4: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 4

UML Authoring in EAI

!! UML OO modeling supportUML OO modeling support!! Collaborative Modeling Collaborative Modeling

EnvironmentEnvironment–– Different but related modeling Different but related modeling

domains/facetsdomains/facets–– Consistency checkingConsistency checking–– MultiMulti-- user supportuser support–– PersistencePersistence–– Versioning and Configuration Versioning and Configuration

ManagementManagement!! Model based design with validationModel based design with validation!! Direct deployment and execution of Direct deployment and execution of

the modelsthe models

Page 5: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 5

Why Executable Models?

!! The Model and the Implementation will not The Model and the Implementation will not drift apartdrift apart–– Automate the generation of the execution system Automate the generation of the execution system

from the model itselffrom the model itself–– Allows verification prior to deploymentAllows verification prior to deployment

!! Removes AmbiguityRemoves Ambiguity–– Forces semantics to be definedForces semantics to be defined–– Makes behavior more visible than when in codeMakes behavior more visible than when in code

!! Provides medium for CommunicationProvides medium for Communication–– Business Owners and Designers can more easily Business Owners and Designers can more easily

relaterelate–– Highlights general process flow over detailsHighlights general process flow over details

Page 6: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 6

What is an Executable Model?

!! A model complete enough to be executedA model complete enough to be executed!! Can be augmented by custom code, but only Can be augmented by custom code, but only

at the leaf level of the behavior treeat the leaf level of the behavior tree!! Defines structure of business objects and Defines structure of business objects and

their behavior, “smart objects” that can be their behavior, “smart objects” that can be distributed distributed

!! Embraces interface to external systemsEmbraces interface to external systems!! Scales to support the demands of an Scales to support the demands of an

enterprise class customerenterprise class customer

Page 7: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 7

How to provide an Executable Model

!! Start with UMLStart with UML!! Add missing semanticsAdd missing semantics!! Clarify variations Clarify variations !! Generate database from structure modelGenerate database from structure model!! Execute behavior in process serverExecute behavior in process server

Page 8: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 8

Challenge in Executable Models:Add Missing Semantics

!! Define concrete semantics between state machine and Define concrete semantics between state machine and their contexttheir context–– How are state machines started?How are state machines started?–– Can an instance have multiple active state machines?Can an instance have multiple active state machines?

!! How is an incoming message converted to an event to How is an incoming message converted to an event to be delivered to a state machinebe delivered to a state machine

!! How is a generated event converted to an outgoing How is a generated event converted to an outgoing messagemessage

!! Ambiguity in handling SynchStateAmbiguity in handling SynchState

Page 9: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 9

Challenge in Executable Models:Clarify Variations

!! Resolving transition selectionResolving transition selection!! Processing transitions in series or concurrentlyProcessing transitions in series or concurrently!! Transaction boundaries around state machine Transaction boundaries around state machine

semanticssemantics!! Mapping of UML structure models to RDBMSMapping of UML structure models to RDBMS!! Selection of action representation (1.x or Action Selection of action representation (1.x or Action

Semantics) and the concrete syntax for actionsSemantics) and the concrete syntax for actions!! Selection of primitive actions, functions, data typesSelection of primitive actions, functions, data types!! Implementation of custom code actionsImplementation of custom code actions

Page 10: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 10

Business Objects

Message DefinitionsEvent DefinitionsTransformationsBehaviors

OHANA

Authoring

PEAR

bus objs

PMobjs

POAL

PEAR

RDB

(Fixed Schema)

PM Base Schema(Dynamic Schema)

Bus Obj Schema

Meta-schema API

Action Semantics

EEJ2EE

Application Server

JMS MSG

JMS MSG MG

Process Manager Execution Engine

Executable Model Framework

Page 11: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 11

CustomercustomerIDfirstNamelastNameaddresscitystatezip

OrderorderIDquantity

10..*

orderOwner

customerOrder

Class Diagram

Business Objects

Association

UML Notation for Classes

Page 12: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 12

Object

Composite State

Transition

Simple State

Transition

Final State

Initial State

UML Notation for Behavior

Page 13: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 13

Initial State

Simple State

Final State

Do Action

Exit Action

Entry Action

Entry Action Do Action Exit Action

Start Message

Start Event

Do Action

Exit Action

Entry Action

Transaction 1

Transaction 2

Transaction 3

Transaction 4

Transaction 5

Transaction Model

Page 14: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 14

Adapter

JMSIN

E2Mxform

Enact

JMSOUT

M2Exform AS

Do Action

3. Output Message

1. Start Message

4. Input Message

5. Do Action Final State

2b. Do Action Composite State

2a. DoAction Simple State

Execution Engine Processing

Page 15: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 15

Adapter

JMSIN

E2Mxform

Enact

JMSOUT

M2Exform

IN MDB

AS

JMSOUTJMS

IN

E2Mxform

DO MDB

AS

Message Driven Beans Support Transaction Model

Page 16: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 16

Web Front End Process Manager Execution Engine

Billing System Provisioning System

Create Customer

Provision Order

Account Billed

Billing Account Created

Order Provisioned

Bill For Service

Place Order

Business Object

Enterprise Customer

Create Billing Account

Create CustomerBilling

Message Traffic Example

Page 17: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 17

Enterprise Objects

Page 18: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 18

CreateCustomer

InitializeCustomer

2. Send Message CreateCustomerBilling(to Customer)

1. StartEvent CreateCustomer(from web)

Create Customer

Enterprise

Enterprise Object Behavior

Page 19: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 19

Customer

CreateBilling 3. Send Message BillingAccountCreation(to Billing Stub)

Receive StartEvent CreateCustomerBilling(from Enterprise)

4. Receive Message BillingAccountCreated(from Billing Stub)

Create Billing

BillingAccountCreatedEvent

Customer Object Behavior

Page 20: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 20

Customer

CreateOrder

6. Send Message ProvisionOrder(to Provision Stub)

5. Receive StartEvent PlaceCustomerOrder(from Web)

7. Receive Message OrderProvisioned(from Provision Stub)

Place Order

ProvisionDSL

BillForDSL9. Receive Message OrderBillingCompleted(to Billing Stub)

8. Send Message BillForOrder(to Billing Stub)

OrderProvisionedEvent

OrderBillingCompletedEvent

Customer Object Behavior (cont.)

Page 21: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 21

J2EE Deployment Architecture

Topic

Msg

Web App

Bill

Prov

publishesdelivers

Msg Msg

JMS

Middleware

J2EE Server

MDBInstance

EJB Container

… MDBInstance

EJB Container

MDBInstance

EJB Container

MDBInstance

EJB Container

APACHE

Page 22: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 22

Summary

!! Process ManagerProcess Manager–– UML Based OO Authoring and CMUML Based OO Authoring and CM–– Execution of Smart Distributed ObjectsExecution of Smart Distributed Objects

!! J2EE Application ServerJ2EE Application Server–– ScalabilityScalability–– Transaction controlTransaction control

!! JMS/JCAJMS/JCA–– Distribution, Delivery, StatusDistribution, Delivery, Status

Page 23: Executable Enterprise Modeling with UML · Executable Enterprise Modeling with UML Presented to: OMG Workshop on UML in the Enterprise December 3-6, 2001 By: Michael Latta Yngvar

2001 Ceira Technologies Inc.™ Page 23

Demonstration is available

Show Me !