Download presentation
Published byShauna O’Connor’ Modified over 9 years ago
1
Final Project Presentation Distributed Systems (CSC 8530)
By Srinivas Narayanabhatta 25th April 2002
2
Project Description: Title: NSV Book Ordering System.
Developing a distributed “Book Ordering System” application over CORBA platform. Technologies used: Server side: Java™, JDBC, MS-Access. Client side : Java™, Swing. Object Request Broker : Visibroker for Java™ ORB.
3
UseCases: NSV Book Ordering System
Actors: User, Administrator. Login to the system Create user account View book information of given ISBN View the entire book list. Search for a book. Add a book (administrator) Process an order Update book information (administrator).
4
UseCase Diagram
5
Architecture: NSV Book Ordering System
ACCOUNT SERVER OBJECT REQUEST BROKER (VISIBROKER ORB) JDBC Database CLIENT INTERFACE (SWING) CORBA CLIENT BOOK INFO SERVER JDBC SOAP-CORBA BRIDGE HTML interface JDBC CORBA CLIENT ORDER SERVER CORBA CLIENT
6
CORBA-IDLs AccountInfoServices.idl BookInfoServices.idl
AccountInfoServicePOA.java _AccountInfoServiceStub.java AccountInfoService.java & helpers, holders , exceptions…. BookInfoServices.idl BookInfoServicePOA.java _BookInfoServiceStub.java BookInfoService.java & helpers, holders, exceptions… OrderServices.idl OrderServicePOA.java _OrderServiceStub.java etc…
7
OrderServices Class Diagram
8
Class Diagram
9
CORBA Transactions Client-Controlled Transactions.
Server-Controlled Transactions. Per-Operation Transaction Model. Each CORBA remote invocation executes its own transaction. With SQL, each method begins a transaction, issues queries and updates, commits the transaction, and returns to the calling CORBA client. Phased Transaction Model. The transaction can span multiple remote invocations, exposing the transaction logic directly to the client.
10
Per-Operation Transaction model.
CORBA client Application Server Database Request BEGIN processORder(OrderEntryStruct) QUERY Transaction 1 COMMIT Reply Request BEGIN getOrderInfo(bookId) QUERY Transaction 2 COMMIT Reply
11
Phased Transaction model.
CORBA client Application Server Database Request BEGIN getBalance() QUERY Reply Transaction Request UPDATE setBalance() COMMIT Reply
12
Sequence Diagram1: Create Account
13
Sequence Diagram1: Search for a book
14
Sequence Diagram1: Order a book.
15
What I learnt Common Object Request Broker Architecture(CORBA) 3.0’s Portable Object Adapter (POA) and Naming Service. Understanding CORBA Transaction Services (Object Transaction Service). Struggling with different implementations of CORB Architecture. E.g. Orbacus(IONA), Oracle, java ORB. Working with Visibroker for Java™
16
Conclusions Although per-operation model appears to be simple and of limited usability, it is most widely used transaction models. E.g. Many thousands of HTTP/HTML based applications. In cases where server-controlled transactions are not sufficient a client-controlled model using the CORBA object transaction service is used.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.