Distributed Object Computing - Computer Science, Engineering Design - Lecture Slides, Slides of Computer Science

Some concept of Computer Science are Unified Modeling Language, Software Verification, Software Engineering Qualities, Software Architecture Examples, Maintaining Security, Distributed Object Computing, Biomedical Informatics. Main points of this lecture are: Distributed Object Computing, System Use Case, Behavioral Modeling, Deployment Diagram Description, Architectural Modeling, Structural Modeling, Logical and Component Views, Initial Logical View of Client

Typology: Slides

2012/2013

Uploaded on 05/15/2013

raaj
raaj 🇮🇳

4.6

(8)

92 documents

1 / 60

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Distributed Object Computing
and UML
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c

Partial preview of the text

Download Distributed Object Computing - Computer Science, Engineering Design - Lecture Slides and more Slides Computer Science in PDF only on Docsity!

Distributed Object Computing

and UML

Objective

• Explore UML Modeling Techniques/Constructs

and Identify Support to DOC

• Employ Rational ROSE to Model and Develop a

Distributed Banking Application (using RMI)

• Identify Key Distribution Issues Relating to OOM

• Explore a Select Set of UML Modeling Tools to

Identify DOC Support

Behavioral Modeling

System Use Case

Process Transactions Distributed Communication Persistent Storage Report Generation Printing Auditing Clerk

BANKING SYSTEM

The Customer Manager <> <> (^) <> <> <>

THE CLERK
THE
CUSTOMER
THE
MANAGER

TheServer

THE SERVER

Deployment Diagram

Description

  • To Get an Idea of How the System Would Be

Distributed

  • Concept of More Than One Type of Bank Server
  • Questions:
    • What Kind of Functionality is Distributed Where?
    • Where is Security, Servers or Clients, Both?
  • Where Should We Deploy Objects, and Which Object?
  • Servers Handling Multiple Clients And/or Server

Transactions at the Same Time

  • Attempt to Make Our System Generic So That We Can

Run All Possible Scenarios

Structural Modeling

Logical and Component Views

ClientServerGui U TheServer U ClientServerGui U TheServer U CLASS DIAGRAM COMPONENT DIAGRAM

Initial Logical View of Client

This is Where The Applet GUI Goes. To be Added To The Model Later. RMI Here CustomerProfileForm (from TheServer) Serializable (from io) <> CustomerAccountForm (from TheServer) Vector (from util) TransactionInterface <> TellerInterface <> BankConnection

+BankTransaction

+TellerTransaction

Initial Logical View of the Server

Simulator

FunnyMoney amount : int Serializable (from io) <> Remote (from rmi) <> This is Where The Applet GUI Goes. To be Added To The Model Later. RMI Here TransactionInterface <> (^) UnicastRemoteObject (from server) SessionInterface <> Hashtable (from util) Account Account() SessionHandler TransactionByRole $ GOOD_CONN : int = 0 accounts RemoteBankServer 1 +TheAccount 1 1 +TheSessionHandler 1 +TheTransactionHandler AtmTrans TellerTrans MgrTrans TellerInterface <> CustomerProfileForm (from TheServer) CustomerAccountForm (from TheServer)

Behavioral Modeling

Sequence Diagram of Log In

Client 1 Server Enter UName And Passwd Send UName And Passwd Verify UName And Passwd Send Connection Status Prompt User For Transaction Info Allocate Memory And Resources For Transactions Allocate Memory And Resources For Transactions

Final Application Models and

Deployment

• Each of Us to Explain his/her Own Piece in

Detail

– Hector - Client GUI and App

– Oliver - Main Server Transaction and Interface

Hierarchy

– Gowri - Main Server Banking Application

• Only a Prototype - Not a Full-Fledged

Application

• Demo is Limited to a Couple of Transactions

• Goal is to Prove Java RMI Concepts, Interfaces,Docsity.com

Final Development

Applet and ConnectionBankConnection

$ GOOD_CONN : int = 0
$ UNK_CONN_ERR : int = 1
$ REMOT_ERR : int = 2
$ NOT_BOUND_ERR : int = 3
$ COMM_FAILED : int = 4
$ ATM_CONN : int = 11
$ TELLER_CONN : int = 12
$ MGR_CONN : int = 13
$ VERIF_FAILED : int = 14
$ TRANSACTION_PASSED : int = 20
$ TRANSACTION_FAILED : int = 21
Connect_To_Bank()
Run_Query()
Login()
Logout()
SendCustomerProfile()
SendCustomerAccount()
Connect_To_ServerBank()
LoginToServer()
LogoutFromServer()
ShowAllCustomers()
BankingApp
init()
JMenuItem2_actionPerformed()
JMenuItem2_actionPerformed_Interaction1()
JMenuItem18_actionPerformed()
JMenuItem18_actionPerformed_Interaction1()
JMenuItem2_actionPerformed_Interaction2()
myBankingAppCode_Logout()
JMenuItem4_actionPerformed()
JMenuItem4_actionPerformed_Interaction1()
JMenuItem4_actionPerformed_Interaction2()
createCustProfMenu_actionPerformed()
createCustProfMenu_actionPerformed_Interaction1()
closeMenu_actionPerformed()
closeMenu_actionPerformed_Interaction1()
createNewAccountMenu_actionPerformed()
createNewAccountMenu_actionPerformed_Interaction1()
myBankingAppCode_ShowAllCustomers()
JShowCustomersMItem_actionPerformed()
JShowCustomersMItem_actionPerformed_Interaction1()
+$MyBankConnection
APPLET AND
GUI
ITS CONNECTION TO THE
CLIENT BANK ENGINE

RMI Structure

• Make Method Callable by Declaring Signature

in Interface

• Compile Class and Interface and Generate

Stub and Skeleton

Stub

Client Object

Skeleton

Server Object

RMI Flow of Events

Server - Transaction Objects

Server - Transaction Interfaces