+ All Categories
Home > Documents > g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator...

g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator...

Date post: 07-Aug-2020
Category:
Upload: others
View: 6 times
Download: 0 times
Share this document with a friend
64
1 Adaptive Software Engineering G22.3033-007 Session 9 - Main Theme Business Model Engineering (BME) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 2 Agenda Review Business Process Modeling Capturing the Organization and Location Aspects Developing a Process Model Business Process Management Model Driven Architectures Workflow Support Technologies Business Model Engineering Frameworks BME Advanced Topics Summary (Individual) Assignment #6 Project (Part 3) ongoing
Transcript
Page 1: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

1

1

Adaptive Software EngineeringG22.3033-007

Session 9 - Main ThemeBusiness Model Engineering (BME)

Dr. Jean-Claude Franchitti

New York UniversityComputer Science Department

Courant Institute of Mathematical Sciences

2

Agenda

ReviewBusiness Process ModelingCapturing the Organization and Location AspectsDeveloping a Process ModelBusiness Process ManagementModel Driven ArchitecturesWorkflow Support TechnologiesBusiness Model Engineering Frameworks BME Advanced TopicsSummary

(Individual) Assignment #6Project (Part 3) ongoing

Page 2: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

2

3

Summary of Previous Session

Towards Agile Enterprise Architecture ModelsBuilding an Object Model Using UMLArchitectural AnalysisDesign PatternsArchitectural PatternsArchitecture Design Methodology

Achieving Optimum-Quality ResultsSelecting Kits and FrameworksUsing Open Source vs. Commercial Infrastructures

SummaryIndividual Assignment #5Project (Part 3)

4

Part I

Review

Page 3: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

3

5

Extreme Programmingand

Agile Modeling

http://www.agilemodeling.com/essays/agileModelingXP.htm

6

Overall XP Process(review)

System

New requirements

Requirements gathering

Stories

Acceptance test scenarios

Planning Game

Start

Iteration ReleaseCode

Failed tests

Not completed acceptance testsNot completed tasksNew velocity estimate

Stories to implement

Page 4: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

4

7

Agile Model-Driven Development Lifecycle(review)

8

eXtreme Programming (XP) Map http://www.extremeprogramming.org

Page 5: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

5

9

XP Project Lifecycle

10

XP Iteration Planning

Page 6: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

6

11

Agile Modeling & XPhttp://www.agilemodeling.com/, http://www.agilemodeling.com/resources.htm

• Practices-based software process whose scope is to describe how to model and document in an effective and “agile” manner

• One goal is to address the issue of how to apply modeling techniques on software projects taking an agile approach such as:– eXtreme Programming (XP)– Dynamic Systems Development Method (DSDM)– SCRUM– etc.

• Using modeling throughout the XP lifecycle– http://www.agilemodeling.com/essays/agileModelingXPLifecycle.htm

12

“Agile” Methodologies

See Agile Project Development Methodology at Work:http://www.thoughtworks.com/library/agileEAIMethods.pdfhttp://www.thoughtworks.com/library/newMethodology.pdf

Page 7: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

7

13

Service-Oriented Architectures

14

Structured Applications Design TipsReuse: should focus on Domain Models/System Family ArchitecturesApplications should separate the various information elements (i.e., content, logic, style, and architecture/handling schemes)Various content formats: presentation, message, storage, etc.Application architecture supports:

Web Enabling (WE), XML Enabling (XE), Data Enabling (DE), Enterprise System Assurance Enabling (ESAE)

Various application support services to support:Interactions with users via content (content + logic) - WEEncoding of user requests as secure (portable) messages (content generation) -XE/ESAEProcessing of user requests via logic (content + logic) - XERendering of content via logic using style (content + style + logic) - WE/XEQuerying information via logic (content + logic) - XE/DEInteractions with back office via content (content + logic) - XE/ESAE

Page 8: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

8

15

Generic Architecture Blueprint+ Architecture Design Methodology + Mgmt

XML Application Infrastructure(logic)

XML Application Services(logic)

Applications of XML(structured content/object data, style information)

Technology Infrastructure(hardware platforms)

XML Applications(logic) Logical View Implementation View

Process View Deployment View

Use CaseView

Use CaseView

Applications Of XML

Structure

Style

XMLApplications

Content

Management

Processing

Querying

Rendering

Applicationand

Technology Infrastructure

Additional Services

16

Sample Conceptual Architecture Diagram(e.g., virtual classroom environment)

Technology Infrastructure (OS and hardware)

XML Application (logic )

XML Application Infrastructure (logic)

Applications of XML (content/style) XML Application Services (logic )

Legend

Presentation Enabling(posting, querying, locating, viewing)

SMIL

JSP Engine / SMIL Viewer (processing, rendering)

Web Community Avatar-Based Chat Platform

Web-Based Infrastructure(lightweight client machines, server platforms)

Q&A Enabling (questions capture, integration, viewing)

XLF

3rd Party Tool

SMILAuthoring

Tool

XLF Processing/Rendering

XML POP Framework (processing, rendering)

XMLAuthoring

Tool

Page 9: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

9

17

Investigating Logging Infrastructure(e.g., virtual classroom environment)

18

Refined Application Architecture Blueprint(e.g., virtual classroom environment)

Users—

Sales TradiDesk

UserInterfaces

ClientAdministrator

Marketing

Client

Support

Phone

PDA

Connectivitye-Business

Portal e-Business Services

Data Repositories

Legacy Systems

Web

Visitor

VPN

Facilitator

FacilitatorAdministrator

UserData

LegacyDatabases

XML-Based Application Data

Back-OfficeSystems

Component Manager

XML/WebEnablingFacilities

Page 10: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

10

19

Mapping Application to App. Infrastructure

Business Constraints

Application ModelContent Model

Web Interface

Data ModelLogical Data

PrinciplesAssumptions

Constraints

PresentationNavigation

Look and Feel

Business modelOrganization

Location

Process

Logical Application ModelExecution &

MarketSystems

EFIExecutionSystems

FXExecutionSystems

MarketSystems

Core Components

ServicesEvents

Externalization

Licensing

Messaging

Naming

Persistence

TransactionSecurity

Common Facilities

Backup /Recovery

Channels

ErrorHandling

XML POP

Help XML MOM

Monitoring

PerformanceTuning

Query / Search

Reporting

SystemAdmin

Domain SpecificClient API

EFI ExecutionInterface

FX ExecutionInterface

MarketInstrument

Reference data

Markets

Portalinterfaces

Client Handler

Client to Corecomponents

Handler

Global Front EndSystem

ClientInterface

Components

Technology Infrastructure Model

Execution &Market

Systems

InstrumentRepository

ForeignExchange

MarketSystems

EuroFixed

Income

Core ComponentsClient Handler

Preferences andOperating

Constraints

Sun E220/Solaris 2.6nC

ipher SSL acceleratorW

ebsphere:- H

TTP svr- servlet engine- jsp engine

Web ServerServlets & JSP

StreamingServer

(https & http)

Sun E220/Solaris 2.6TIBC

O Stream

ing SvrnC

ipher SSL accelerator

Global Front EndSystem

Client ServicesAdministrator

XML, SWIFT, FIX,Email, Fax

ClientWorkstation

System Admin& Support

Sun E420/Solaris 2.6200GB raid5 Disk ArrayiPlanet Enterprise SvrWebtrends

Admin/ReportingServer

Database Server

Sun E4500/Solaris 2.650G

B Disk Array

Sybase 11.9.2

Security &Entitlements Srv

Sun E420/Solaris 2.6enC

omm

erce GetAccess

50GB D

isk ArrayApplicationServer

Sun E420/Solaris 2.6W

ebsphereM

Qseries

20

Sample Logical Architecture Diagram(e.g., virtual classroom environment)

Uni

vers

ity In

tern

et L

AN

Uni

vers

ity In

trane

t WA

N

University Intranet LAN

Professor

Facilitators

Clients

Students

Presentation Enabling:AuthoringPosting

Q&A Enabling:AuthoringPosting

BusinessFunctions Users

NT &Unix

Win2000

IVR

UniversityInternet or

Intranet LANs

UniversityInternet LAN

PBX-Based Service

Connectivity

Facilitator Interfaces

Call Forwarding,Teleconferencing, etc.

Front Office Apps

Ft Off. & Web Apps

Portal Mgmt.Interface

Maintenance Apps

Web-EnabledApplications

Client Interfaces

Telephony-BasedServices

Web-EnabledApplications

"Lights Out" Svcs

XML, Email, Fax

e-BusinessPortal

Integrated Data Architecture Layer

e-Business Services

Front Office Apps

Data Mining

Educational Applications(Custom Java Applications)

Facilitator Application,Channel, and Client/

System Admin Interfaces

Business Intelligence(Customer Analysis, Course Planning)

Customer Care Services(Call Center Support: Educational & Systems)

Personalization Interface

Channels Interface(Browsers, PDAs, WAPs)

Remote Training Interface

Customer Calls Handling(ACD, Flex-Routing, Call Center Mgmt.)

CSR Assisted Services(Product Support, Issue Resolution, Proactive

Account Mgmt.)

Email XMLInterfaces Fax

Internet-Based Services(XML interfaces, Email, Browser)

Collaborative Applications(2D Avatars, Classroom Navigation, Chat, Events)

Real Time Services(Web Channels, Chat, TV Events, etc.)

Collaborative Applications(2D Avatars, Classroom Navigation, Chat, Events)

Voice/Data IntegrationTeleweb / Web Integration Services

(Consolidated Messaging, Telephone-Based WebServices, Video Conf., etc.)

(via VPN)

Software / Global ContentMonitoring / Backup

PBX-Based Services

TeachingAssistant

Presentation Enabling:Authoring

Q&A Enabling:Integration

System Support:MonitoringSystem Admin.Help Desk

FaxbackIVR

Telephony Svcs

NT &Unix

Win2000

UniversityInterne or

Intranet LANs

Front Office Apps

Ft Off. & Web Apps

"Lights Out" Services

Telephony Svcs

PDA/WAP Applications

Win2000

Web Applications Client Interface(Presentation querying, locating, and viewing -

Questions capture and Q&A viewring)

Self Care Services(tutorials, online help)

In scope

Out of scope

Legend:

WAP Server

(via VPN)

Third Party Data

Content-Mgmt Repository

XML-based presentationoriented publishing

templates

Component ManagerApplication Server Back-Office SystemsXML/Web Enabling Facilities

Client Request HandlerSubnet (within DMZ)

Web Server

Servlet Engine

Client Request HandlerFirewall

Component ManagerFirewall

Servlets/JSPs: session hdlr SMIL presentation hdlr Q&A hdlr XML MOM/POP hdlr etc.

Facilitator/Client Admin. Servlets

System Administration Servlets

Legacy Systems

Chat PlatformApplication Logic

Chatroom Component

ChatUser Component

Client & SystemAdministration Component

Entitlement & SecurityComponent

ConnectorsCourse Production Systems)

Support Services

Process Automation &Dynamic Content Mgmt.

Session/State Mgmt.

Site Development Svc.

XML Core Services(Doc Hdlr, Version Manager)

DataWarehouse-DrivenProcessing

Legacy Operational Data

DesktopFilesystems

In Memory Database

Customer ProfilesTime CriticalInformation

Global Application Data Replicas

Business Information Warehouse

Operational Data StoreClient Knowledge Engine

Metadata Repository

XMLMOM & POPTemplates

Educational ResearchEducational News

etc.

SMIL DataXLF Data

Operational Data

Local Account DataEntitlement/Security Data

etc.

JSP Engine

Client Request Handler API

University SystemsFirewall

Client Administration

Login, Authentification,Non-Repudiation

Router

Presentation Enabling:QueryingLocatingViewing

Q&A Enabling:CaptureViewing

Registration Systems

Accounting Systems

Sales/Marketing Systems

Internal Administration

Course Development Systems

Human Resources Systems

Payroll Systtems

Course Production Systems

Proxy Server

Support Systtems

Client Support Systtems(carreer management, alumnirelations, library support, etc.)

Database Management Systems (DBMS)

Page 11: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

11

21

Sample Logical Architecture Diagram(e.g., virtual classroom environment)

Facilitators, and Production Interfaces

Component Manager

XML/Web Enabling Facilities

Firewall

Database Server

ApplicationServer

Uni

vers

ity In

trane

t LA

N (d

ual)

Firewall

Firewall

Router

Router

Firewall / IIOP Proxy Server

Tape SiloVeritas NetworkBackup (shared service)

University Mgmt. Firewall

University Systems & Network Management Environment

IntrusionDetection

Connects toall devices below

Security &Entitlements Srv

IntrusionDetection

Intrusion Detection

Internet

UniversityIntranet LAN Professor/TA

HSRP

Sun E220/Solaris 2.6nC

ipher SSL acceleratorApache H

TTP severTom

Cat servlet engine

TomC

at jsp engine

Alteon AC3

Sun E220/Solaris 2.6Checkpoint Firewall-1StonebeatIONA Wonderwall Proxy Server

Sun E220/Solaris 2.6C

heckpoint Firewall-1

Stonebeat

Sun E420/Solaris 2.6W

ebLogic

Sun E4500/Solaris 2.650G

B Disk Array

Sybase 11.9.2

Sun E420/Solaris 2.6enC

omm

erce GetAccess

50GB D

isk Array

Web-EnabledApplications

FacilitatorApplication andClient/SystemAdministration

Interfaces

Students, Professor, and TA Interfaces

Web-EnabledApplications

Clients/FacilitatorsApplication/Admin

Interfaces(e.g.,SOJA Applet)XML, Email, Fax

CollaborativeApplications

(e.g., Chat Applet)

Channels Interface

Sun E420/Solaris 2.6200GB raid5 Disk ArrayiPlanet Enterprise SvrWebtrends

Admin/ReportingServer

LoadBalancers

Web ServerServlets & JSP

Engines

Intrusion Detection

Sun E220/Solaris 2.6Checkpoint Firewall-1Stonebeat

NFR

Flight Recorder

Rem

ote-1N

FR Flight R

ecorderR

emote-1

Client Request Handler

Servlets/JSPs:- session handler- SMIL presentation handler- Q&A handler- Cocoon 2 XML POP handler

NFR Flight RecorderRemote-1

ClientWorkstation

Professor/TAWorkstation

Back-Office Systems

Client Administration

Internal Administration

ProgramAdministrator

Uni

vers

ity In

tern

et L

AN

(dua

l)

Support Services

XML Core Services

Session/State/EOD Mgmt

Dynamic Content Mgmt

Chat PlatformApplication Logic

ChatUser Component

ChatRoom Component

Global Application Data

SMIL DataXLF Data

Operational Data

Content Mgmt. Repository

XML POPTemplates

22

Part II

Business Process Modeling(BPM)

Page 12: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

12

23

Section Outline

• Business Process Modeling background• Business Process Modeling Phases

24

Discussion

• How do you know that what you are doing is the right thing to do?

• Who do you build your interfaces for?

• How can you ensure that you are “doing the right thing”?

• Has anyone built something that missed the mark?

• It failed to meet the business need• End-users did not use it

Page 13: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

13

25

What is BPM?

• A standardized approach to analyze, streamline and integrate business processes independent of organizational boundaries, to provide maximum operating efficienciesvia clearly defined business and IS projects

• A business process focused methodology– Not Business Process Reengineering– Led by the business– Facilitated by IS

26

Why BPM?• Identify and document business process

improvement opportunities– To gain operating efficiencies through analysis of

current and future business processes• Align business and IS

– To promote integration of business processes and technologies by identifying strategic initiatives

• Identify and reuse processes– To identify core business processes– To share and reuse business processes across

organizational boundaries

Page 14: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

14

27

BPM Objectives

• Analyze business processes independent from organization

• Quantify the benefits and savings for each proposed initiative

• Identify opportunities for process eliminationand/or reassignment

• Identify opportunities for business process improvement through automation and optimization

28

Risks without BPM

• Systems could be implemented as a “forced fit”• Potential loss of business and technology

alignment• Increased manual processes and “workarounds”• Building unnecessary user interfaces• Not identifying the best possible solutions

Page 15: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

15

29

The Value of BPM

• Business area and IS develop a common understanding of business requirements– Simple modeling notation– Consistent, repeatable approach

• Short, focused BPM efforts– Swift identification of process improvement

initiatives• Promotes seamless integration and reuse of

processes, data and technologies• Captures current business processes that can

be used as a knowledge-base for training

30

BPM Methodology Phases

Business ProcessModeling

(BPM)

Pre-ProjectAssessment

Business NeedsAnalysis

Current ProcessUnderstanding

New ProcessDesign TransformationProject

Planning

Page 16: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

16

31

Project Planning

• Develop project plan– High-level scope definition

• Build project team• Conduct project kick-off meeting

– Core team– Stakeholders

• Initiate project management activities• Training of Core team and subject matter

experts

32

Business Needs Analysis

• Define BPM detailed scope– Define project purpose, goals and

objectives– Identify problems to be addressed– Determine key measures

Page 17: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

17

33

Current Process Understanding

Develop business process modelsIdentify business process information needsCapture current process metrics and characteristicsIdentify areas of opportunity for improvement

34

New Process Design

• Develop Global Business Function Model– Based on annotated CPU models from

Optimization– Incorporate process improvement opportunities

Page 18: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

18

35

Transformation

• Document recommended business initiatives• Produce list of recommended projects• Identify sequence for recommended IS

projects

36

Part III

Capturing the Organization and Location Aspects

Page 19: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

19

37

Sample Business Process Map (Trading)

Client

OTCMarket

Clientlogs in

"Personalized" Web Page

SubmitsOrder

Validate Order

Valid

"Not a validorder"

Manual ReviewNeeded

Is this a product in yourinventory or available on

ECN.

No

Route toTradingDesk

Yes

Electronic Trading

Available

NoYes

"Electronicpass

through"

Electronicsubmissionexecution

NonAutomatedExecution

No

MonitorExecution

E-mailConfirmation

ConfirmExecution(price Qty,

Etc..)

Updatecustomeraccount

"Real-timealert"

Is itDomestic

TriggerFXNo

FX Process

Front/BackOffice

ElectronicExecution?

Yes

*

Client

Client Callsin Order

Sales DeskContacts

ClientRecordOrder

No

Yes

Yes

38

Understanding Business Model Engineering

• Data conversion• Supplied volume

data

• Projects creation and update• Projects approval• KPI creation• Project information retrieval• System administration

• Hardware• Standard system

software• Reporting software• Ad-hoc spreadsheet

functions• Security and

performance

• Site navigation design• Site content design• Reusable components• Security workflow • Help

Location

Data

Technology

Organization BusinessProcess

Application

• Implementation Team• Training Team

• Office hosting development

Page 20: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

20

39

Part IV

Developing a Process Model

40

UML and Business Process Modeling

See Also:http://umlcenter.visual-paradigm.com/umlresources/exte_11.pdf

http://xml.coverpages.org/ni2003-08-29-a.html

Page 21: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

21

41

42

Models of Business Processes

UML became the standard modeling language for business processes.Of the 9 UML diagram types, 3 are particularly important:

use cases, activity diagrams and scenarios (sequence or colaboration diagrams).

Use cases show informally how the business process interactswith outside actors (customers, stakeholders, suppliers etc.)

The process dynamics is modeled by activity diagrams.

Often only specific scenarios are of interest. E.g. service monitoring, system reconfiguration, performance degradation etc.

Page 22: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

22

43

A Use Case

WEB

HotelDesk

ReservationSystem

Room Service

<<extends>>

<<extends>>

<<includes>>

John

Markus

Room Reservation

44

Activity Diagrams

Activity Diagram: state transition diagram with concurrent states (Statechart)

Activity: state with internal action

BPM: activity = Mealy state

Activity diagrams constitute the core of a business model.

action agent

inputdata

outputdata

event

Page 23: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

23

45

46

A UML Business Process Model: Different Views

Page 24: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

24

47

48

Activity Diagram Applications

• Intended for applications that need control flow or object/data flow models …

• ... rather than event-driven models like state machines.

• For example: business process modeling and workflow.

• The difference in the three models is how a step in a process is initiated, especially with respect to how the step gets its inputs.

Page 25: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

25

49

Control Flow• Each step is taken when the previous one finishes • …regardless of whether inputs are available,

accurate, or complete.• Emphasis is on order in which steps are taken.

Not UMLNotation! Start Trip Cancel Trip

Analyze Weather Info

Weather InfoStart

50

Object/Data Flow• Each step is taken when all the required input

objects/data are available …• … and only when all the inputs are available.• Emphasis is on objects flowing between steps.

Design Product

ProcureMaterials

Acquire Capital

BuildSubassembly 1

BuildSubassembly 2

FinalAssembly

Not UMLNotation

Page 26: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

26

51

State Machine• Each step is taken when events are

detected by the machine …• … using inputs given by the event.• Emphasis is on reacting to

environment.Ready To Start

Coin Deposited

Ready For OrderSelection

Made

DispenseProduct

ReturnChange

Cancel Button Pressed

Not UMLNotation

52

• Action (State)

• Subactivity (State)

• Just like their state machine counterparts (simple state and submachine state) except that ...

• ... transitions coming out of them are taken when the step is finished, rather than being triggered by a external event, ...

• ... and they support dynamic concurrency.

Kinds of Steps in Activity Diagrams

Action

Subactivity

Page 27: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

27

53

Action (State)

• An action is used for anything that does not directly start another activity graph, like invoking an operation on an object, or running a user-specified action.

• However, an action can invoke an operation that has another activity graph as a method (possible polymorphism).

Action

54

• A subactivity (state) starts another activity graph without using an operation.

• Used for functional decomposition, non-polymorphic applications, like many workflow systems.

• The invoked activity graph can be used by many subactivity states.

Subactivity (State)

Subactivity

Page 28: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

28

55

Example

POEmployee.sortMail Deliver Mail

POEmployee

sortMail() Check OutTruck

Put MailIn Boxes

Deliver Mail

56

• THE model (application) is completely OO when all action states invoke operations, and all activity graphs are methods for operations.

Activity Graph as Method

POEmployee

sortMail()deliverMail()

«realize»

POEmployee.sortMail POEmployee.deliverMail

Check OutTruck

Put MailIn Boxes

PO Employee Deliver Mail Method

Page 29: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

29

57

• Invokes an action or subactivity any number of times in parallel, as determined by an expression evaluated at runtime..

• Upper right-hand corner shows a multiplicity restricting the number of parallel invocations.

• Outgoing transition triggered when all invocations are done.

• Currently no standard notation for concurrency expression or how arguments are accessed by actions. Attach a note as workaround for expression.

Dynamic concurrencyAction/Subactivity *

58

Object Flow (State)

• A special sort of step (state) that represents the availability of a particular kind of object, perhaps in a particular state.

• No action or subactivity is invoked and control passes immediately to the next step (state).

• Places constraints on input and output parameters of steps before and after it.

Class[State]

Page 30: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

30

59

Object Flow (State)

• Take Order must have an output parameter giving an order, or one of its subtypes.

• Fill Order must have an input parameter taking an order, or one of its supertypes.

• Dashed lines used with object flow have the same semantics as any other state transition.

Order[Taken]Take Order Fill Order

60

• Inherited from state machines

• Initial state

• Final state

• Fork and join

Coordinating Steps

Page 31: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

31

61

Coordinating Steps• Decision point and merge ( )

are inherited from state machines.

• For modeling conventional flow chart decisions.

CalculateCost

ChargeAccount

GetAuthorization

[cost < $50]

[cost >= $50]

62

Coordinating Steps• Synch state ( ) is inherited from state

machines but used mostly in activity graphs.• Provides communication capability between

parallel processes.State machinenotation

Inspect

BuildFrame

InstallFoundation

InstallElectricity

in Foundation

PutOn

Roof

InstallElectricityIn Frame

InstallElectricityOutside

InstallWalls

* *

Page 32: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

32

63

Convenience Features (Synch State)• Forks and joins do not require composite

states.• Synch states may be omitted for the

common case (unlimited bound and one incoming and outgoing transition).

BuildFrame

InstallFoundation

InstallElectricity

in Foundation

PutOn

Roof

InstallElectricityIn Frame

InstallElectricityOutside

InstallWalls

Inspect

Activity diagramnotation

64

Convenience Features (Synch State)

• Object flow states can be synch states

Obj[S2]

A11 A12 A13

A21 A22 A23

Page 33: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

33

65

Convenience Features

• Fork transitions can have guards.

• Instead of doing this:

RegisterBug

EvaluateImpact

FixBug

RevisePlan

ReleaseFix

TestFix

[ priority = 1]

RegisterBug

EvaluateImpact

FixBug

RevisePlan

ReleaseFix

TestFix

[ priority = 1]

[else]

66

Convenience Features• Partitions are a grouping mechanism.• Swimlanes are the notation for partitions.• They do not provide domain-specific semantics.• Tools can generate swimlane presentation from

domain-specific information without partitions.

RegisterBug

EvaluateImpact

FixBug

RevisePlan

ReleaseFix

TestFix

[ priority = 1]

Management

Support

Engineering

Page 34: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

34

67

• Signal send icon

• … translates to a transition with a send action.

• Signal receipt icon

• … translates to a wait state (an state with no action and a signal trigger event).

Convenience Features

Signal

Coffee Done

Wake Up

Get Cups

Drink Coffee

Turn on Coffee Pot

CoffeePot

Signal

68

Cas

e St

udy

Submission Team Task Force Revision Task Force

Issue RFP

Evaluate initialsubmissions

Submitspecification

draft

Collaborate withcompetitivesubmitters

Developtechnology

specification

partition

action state

RFP[issued]

[optional]

control flow

Finalizespecification

Specification[initial

proposal]

input value

Begin

object flow

initial state

join of controlconditionalfork

fork of control

Specification[final

proposal]

Ada

pted

from

Kob

ryn,

“UM

L 20

01”

Com

mun

icat

ions

of t

he A

CM

Oct

ober

199

9

Page 35: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

35

69

Cas

e St

udy

Ada

pted

from

Kob

ryn,

“UM

L 20

01”

Com

mun

icat

ions

of t

he A

CM

Oct

ober

199

9

Evaluate initialsubmissions

Evaluate finalsubmissions

Vote torecommend

Enhancespecification

Implementspecification

Revisespecification

Finalizespecification

Specification[final

proposal]

Specification[adopted]

Recommendrevision

Specification[revised]

[NO][YES]

[else] [Enhanced]

decision

final state

guard

Collaborate withcompetitivesubmitters

70

When to Use Activity Diagrams

• Use activity diagrams when the behavior you are modeling ...

– does not depend much on external events.

– mostly has steps that run to completion, rather than being interrupted by events.

– requires object/data flow between steps.

– is being constructed at a stage when you are more concerned with which activities happen, rather than which objects are responsible for them (except partitions possibly).

Page 36: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

36

71

Activity Diagram Modeling Tips

• Control flow and object flow are not separate. Both are modeled with state transitions.

• Dashed object flow lines are also control flow.

• You can mix state machine and control/object flow constructs on the same diagram (though you probably do not want to).

72

Activity Diagram Modeling Tips

RequestReturn

Get ReturnNumber

Ship Item

Item[returned]

ReceiveItem

RestockItem

CreditAccount

Item[available]

Customer Telesales WarehouseAccountingFrom UMLUser Guide:

Page 37: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

37

73

Act

ivity

Mod

elin

g T

ips Request

ReturnGet Return

Number

Ship Item

Item[returned]

ReceiveItem

RestockItem

CreditAccount Item

[available]

Customer Telesales WarehouseAccounting

74

Activity Diagram Modeling Tips• Activity diagrams inherit from state machines

the requirement for well-structured nesting of composite states.

• This means you should either model as if composite states were there by matching all forks/decisions with a correspond join/merges …

• … or check that the diagram can be translated to one that is well-nested.

• This insures that diagram is executable under state machine semantics.

Page 38: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

38

75

Activity Diagram Modeling Tips

Well-nested:

76

Not well-nested:

Apply structured coding principles. (Be careful with goto’s!)

Activity Diagram Modeling Tips

Page 39: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

39

77

Activity Diagram Modeling Tips

Can be translated to well-nesteddiagram on earlier slide:

78

Business Process Modeling Notation (BPMN)

and BPML / BPEL4WS

See also:(BPMN standards)

http://www.bpmi.orghttp://www.processwave.net/Articles/SoftwareProcess/BusinessModelingArticles.htm

http://cde.berkeley.edu/resources/bpmn/(BPMN tools)

http://www.popkin.com/http://www.popkin.com/customers/customer_service_center/demos/business/bpmn_tutorial_viewlet_swf.htmlhttp://www.popkin.com/customers/customer_service_center/demos/demos_with_overview_process_map.htm

Page 40: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

40

79

Procedural Knowledge Road MapType of

knowledge/Levels

Conceptual model Deploymentmethodology

Interoperability

ProcessInstance

levelProcess instance

conceptBPMN+ Wf-XML

Processdefinition

level

Process definitionconcept

WfMC meta-model+BPMN XPDL+

• BPMN - Business Process Modeling Notation, BPMI, 11.02

• XPDL - XML Process Definition Language, WfMC, 07.02

• Wf-XML - Workflow Interoperability Binding, WfMC, 11.01

80

ICONS’ conceptual models

• Process definition concepts - WfMC’sworkflow meta-model extended with – time modeling– flexible Workflow Participant Assignment

[Momotko2002]• Process instance concepts

– advanced process instance and activity instance behavioral models (timing and criticality behavior)

– advanced time management

Page 41: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

41

81

BPMN and XPDL extensions

• BPMN extension (BPMN+)– idea - standard well-known notation for both

process definition adjusted to the needs for process instance

– ICONS’ approach - a BPMN extension to visualise process execution

• XPDL extension (XPDL+)– performer relationships (WPA)– pre & post conditions

82

Process definition - an example

Page 42: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

42

83

Possible process execution

84

Part V

Business Process ManagementSee: http://www.ebpml.org/technoforum_2003_b_eng.ppt

Page 43: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

43

85

Part VI

Model Driven ArchitecturesAlso See http://www.omg.org/mda

86

Model Driven Architectures (MDA)

MDA Technology Relies on:UML, MOF, and CWM

Applications Based on MDA are Platform IndependentImplementations/Realizations can be Targeted to Any Application Server Platform

XML-Based Web-Enabled/Web Services-Enabled Platforms

Based on CORBA, J2EE, Microsoft

Page 44: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

44

87

UML’s Business Engineering Methodology

Business Model/ArchitectureUse Case View/Model

Application Model/ArchitectureLogical and Process View/Models

Content, Data, and Process Model (e.g., OIM’s knowledge management, and database/datawarehousing models)

Application Infrastructure Model/ArchitectureImplementation View

Component Model (e.g., OIM’s component and object model)

Technology Model/ArchitectureDeployment View/Model

88

UML and Modeling Methodologies

UML: object modelingXML: content modelingORM: data modeling

Page 45: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

45

89

Towards XML Model Based Computing(review)

Step 1: Document Object ModelStep 2: XML Data BindingStep 3: Standard XML Information ModelsStep 4: XML Application Services Frameworks

Processing, Rendering, Querying, Secure Messaging

Step 5: XML-Based “Web Object Model”Web Services Architecture

Step 6: XML Model Driven Architectures (to come)

90

Current XML-Based Software DevelopmentBusiness Engineering Methodology

Language + Process + Toolse.g., Rational Unified Process (RUP)

XML Application Development InfrastructureMetadata Management (e.g., XMI)XML APIs (e.g., JAXP, JAXB)XML Tools (e.g., XML Editors, XML Parsers)

XML Applications:Application(s) of XMLXML-based applications/services

MOM & POPOther Services

Application Infrastructure Frameworks

Page 46: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

46

91

XML Metadata ManagementIssue: UML may not provides enough modeling views and enough expressive power in each view to represent a complete applicationPossible Solutions:

Extend UMLSee OIM’s Analysis and Design Model

Use Different Modeling Languages:See handout on “XML Information Modeling” (uses different models such as UML, XML, and ORM)

Use a Meta-Model: MOF and XMISee handouts on “UML, MOF, and XMI” and “OMG’sXML Metadata Interchange Format (XMI)”

92

Open Information ModelAnalysis and Design Model

Unified Modeling Language (UML) - uml.dtdUML Extensions - umlx.dtdCommon Data Types - dtm.dtdGeneric Elements - gen.dtd

Components and Object ModelComponent Description Model - cde.dtd

Database and Warehousing ModelDatabase Schema Elements - dbm.dtdData Transformation Elements - tfm.dtdOLAP Schema Elements - olp.dtdRecord Oriented Legacy Databases - rec.dtd

Knowledge Management ModelSemantic Definition Elements - sim.dtd

Page 47: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

47

93

XML Support for UML Modeling

Meta Object Facility (MOF)CORBA Common Facility for the Management of Meta Information such as UML Models, Database Schemas, Programming Language Types, etc.

XML Metadata Interchange (XMI)Enables interchange of metadata between modeling toolsDevelop models using Rational Rose or Java, and the XMI toolkitUse Objects by Design xmi-to-html.xsl style sheet and Cocoonframework to present the resulting model

94

MDA Development Approach

Page 48: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

48

95

Sample MOF MetaModel

96

Sample MOF MetaModel(continued)

Page 49: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

49

97

MOF to XML Mapping

98

Simplified UML XMI DTD

Page 50: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

50

99

MDA

• OMG's MDA (Model-Driven Architecture) specification describes:– a PIM - Platform-Independent Models (i.e.

business design)– PSMs - the mapping of a PIM to one or more

Platform-Specific Model • MDA => Model Once, Generate

Everywhere• Review MDA presentations:

– http://www.io-software.com

100

MDA(continued)

UML Model (PIM)

AutoColor : StringDoor : IntegerEngine : Integer

<Auto><Color> Red </Color><Door> 4 </Door><Engine> 2 </Engine>

</Auto>

XMI Document (PSM)

XMI

<!Element Auto(Color*,Door*,Engine*)>

XMI DTD, Schema (PSM)

XM

I

MO

F

interface Auto{};

IDL, Java… (PSM)

Class Auto{public String color;public int Door;public int Engine;}

Page 51: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

51

101

Vision

102

Business Component Marketplace

• The business component marketplace is projected to be a 10b market in 5 years

• Consider the value of XML components that wrap popular legacy

• New application functionality built from components

• Components for integration and transformation• XML and web services makes an excellent basis

for such components• Technology components, such as for repositories

and DBMS

Page 52: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

52

103

OMG Model Driven Architecture

• High level – platform independent models

• Technology Models• Mapping

– Custom– Standard

• Standard Models produce technology specific standards artifacts

104

Automated Model Driven Architecture

Profile(E.G. EDOC)

Framework &Infrastructure

(E.G. XML)

InfrastructureMapping

(E.G. XML)

Mapping is tunedto the infrastructure

ToolsProduce &Integrate

EnterpriseComponents

UMLDesign

Page 53: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

53

105

Technology Independence

BusinessLogic

ComponentebXml

BusinessLogic

ComponentBizTalk

BusinessLogic

ComponentRosetaNet

BusinessLogic

ComponentEjb

Adapters

EJB

BusinessLogic

Component

ebXml

BizTalk

RosetanetXML

Adapters

CICS

EJB

MQ

CorbaXML

106

High level tooling & infrastructure

• MUST BE SIMPLE!– We must be able to create better applications

faster – We must separate the technology and business

concerns, enable the user• Tooling + Infrastructure

– Executable models are source code– Tooling must be technology aware– Infrastructure must support tooling, not manual

techniques• Model based component architectures

Page 54: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

54

107

High level tooling & infrastructure

Executable Models

108

Model Driven Development Tool(http://www.sygel.com/)

Page 55: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

55

109

Part VII

Workflow Support TechnologiesSee http://www.wfmc.org/

110

Workflow Reference Model

Page 56: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

56

111

Part VIII

Business Model Engineering Frameworks

112

Solution: Re-engineering the “Vision”

SolutionArchitecture

Vision andObjectives

BusinessModel

Page 57: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

57

113

Business Model Engineering Context

• Focus on Architectural IDEs• No Support for Business Model

Reengineering• Limited Applications to IT Outsourcing

114

The first level of automation. ~30 Years

Environment

Programming IDEs (e.g. JBuilder, Visual Age, NetBeans)

Programming Language

•Higher levelof expression

•Easier to understand

•Portable•Standardized

PIM

Diverse HW/OS PlatformsPSM

Compiler Engine

•Dependable•Flexible•Configurable•Optimizing•Complete:

Linker, Debugger,Etc.

Generator,Projection

Page 58: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

58

115

MDA= New automation levels ~ Last 8 Years

Environment

Generator Engine

•Dependable•Flexible•Configurable•Debuggable•Optimizing•Complete

Architectural IDEs

Model (UML, BOM…) &Modeling Style (J2EE, eEPC, COBOL, .NET…)

•Higher levelof expression

•Easier to understand

•Portable•Standardized

PIM

PSM

Generator,Projection

P-Stack: A Level of Automation

Models to CodeModels to Models

116

Towards a Holistic IT-Architecture Platform

Core Modules

Rational Rose Programming IDE

MDA Cartridges

PatternRefinementAssistant

UMLRefinementAssistant

Build,Deploy & Test

Support

BEA WebLogic

IBM WAS NT, z/OS

J2EE/EJB, .NET

Borland, JBoss

Oracle, IONA

BusinessObject

Modeler

IDS ARIS

MDA-EngineEngine

with Meta IDE

Open MDA/UML/XML Repository

Optional integrated Tools

Std. MDA Projections

Architect Edition adds support

forcustom infrastructure

MDA-Cartridge IDE & MDA Engine

Page 59: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

59

117

Third Party Business Modeling IDEs

118

The Meta-Tools Solution

• Focus on Architectural Layers• Meta-Tools for Model Driven Architectures

Page 60: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

60

119

Initial Focus on Architectural Layers

Technology Infrastructure

Application Infrastructure

Application Suite

Business Architecture

120

Meta-Tools For Model Driven Architectures

User & BusinessModels

I nfr

astr

uctu

reA

p pl ic

a ti o

n

AbstractConcrete

DomainIndependent

DomainDependent

Domain

Preferences

Application

Analysis

Analysis

Application Model- Data Model- Business Model- Content Model

Technical Solution Development

TechnicalSolution

Development

TechnicalSolution

Development

ArchitecturalStyles

DomainModelsApplication:

- Data- Business Logic- Content (Screens)

KITS

Frameworks

Concrete CostsInitial Costs

Abstract Costs

Concrete Costs

Conceptual

InfrastructureLogical

- NT/ UNIX- Application Server

- Transaction Processing- Persistence- etc.

Abstract Costs

Technology& Software

Proposal End Point

TechnicalSolution

Development

Application Production(Approach/ Assembly/

Delivery)

Domain Analysis UserInformationGathering

Use

rIn

form

ati o

nG

athe

ring

(Bus

ines

s,U

s er ,

Us a

bil it

y,P

refe

ren

ces

Questions ?

InformationNot Specific

to Domain

Questio

ns ?

Taxonom

y

DomainSpecific

Information

As information is collected, work effort,estimates and solution becomes concrete

Questions ?

Questions ?

Infrastructure

PhysicalInfrastructure

Patterns

Page 61: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

61

121

Business Model and Model Driven Architecture Engineering Toolkit

Reusable ModelsDatabase

Business ModelEngineering Tool

Business ModelRe-engineering Tool

Business ModelEvolution Tool

Case 1: No Business ModelNo existing application

Case 2: Business ModelNo existing application

Case 3: Business ModelExisting application

ReusableComponents

Database

Analyzer

Generator

ApplicationApplication InfrastructureTechnical Infrastructure Spec

122

Business Model Engineering Portfolio and Collateral

• Process Tools– Development Model– Delivery Process

• Process Map Engineering• Information Gathering Instruments• Cost / Time Metrics

• Modeling Markup Language • Reference Models• Evaluation Metrics

Page 62: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

62

123

Modeling Markup Language Sample

124

Part IX

Conclusion

Page 63: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

63

125

Course AssignmentsIndividual Assignments

Reports based on case studies or exercises

Project-Related AssignmentsAll assignments (other than the individual assessments) will correspond to milestones in the team project.As the course progresses, students will be applying various methodologies to a project of their choice. The project and related software system should relate to a real-world scenario chosen by each team. The project will consists inter-related deliverables which are due on a (bi-) weekly basis.There will be only one submission per team per deliverable and all teams must demonstrate their projects to the course instructor.A sample project description and additional details will be available under handouts on the course Web site.

126

Course ProjectProject Logistics

Teams will pick their own projects, within certain constraints: for instance, all projects should involve multiple distributed subsystems (e.g., web-based electronic services projects including client, application server, and database tiers). Students will need to come up to speed on whatever programming languages and/or software technologies they choose for their projects - which will not necessarily be covered in class.Students will be required to form themselves into "pairs" of exactly two (2) members each; if there is an odd number of students in the class, then one (1) team of three (3) members will be permitted. There may not be any "pairs" of only one member! The instructor and TA(s) will then assist the pairs in forming "teams", ideally each consisting of two (2) "pairs", possibly three (3) pairs if necessary due to enrollment, but students are encouraged to form their own 2-pair teams in advance. If some students drop the course, any remaining pair or team members may be arbitrarily reassigned to other pairs/teams at the discretion of the instructor (but are strongly encouraged to reform pairs/teams on their own). Students will develop and test their project code together with the other member of their programming pair.

Page 64: g22 3033 007 c91 - nyu.edu · Sun E220/Solaris 2.6 TIBCO Streaming Svr nCipher SSL accelerator Global Front End System Client Services Administrator XML, SWIFT, FIX, Email, Fax Client

64

127

Readings

ReadingsSlides and Handouts posted on the course web siteDocumentation provided with software engineering toolsXP Explained (all sections)Agile Software Development Ecosystems (parts I and II)

Project Frameworks Setup (ongoing)As per references provided on the course Web site

Individual AssignmentSee Handouts: “Assignment #6”See Handouts: “Project (Part 3)” (ongoing)

128

Next Session:Building Software

Language and Platform IssuesComponent InfrastructuresPair ProgrammingRefactoringTest Driven Development (TDD)Distributed Development and Agile Methods ScalabilitySummary

(Individual) Assignment #6 (ongoing)Project (Part 4)


Recommended