20215581 Topics in Computer Science G Distributed Object Programming - PowerPoint PPT Presentation

1 / 38
About This Presentation
Title:

20215581 Topics in Computer Science G Distributed Object Programming

Description:

XML/XSL/SOAP and the Web Services. Grid computing. Distributed Object Programming course 2003 ... SOAP: XML-based middleware. RPC calls more in XML. Wide ... – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 39
Provided by: csBg
Category:

less

Transcript and Presenter's Notes

Title: 20215581 Topics in Computer Science G Distributed Object Programming


1
202-1-5581 Topics inComputer Science
GDistributed Object Programming
  • Ronen Kat
  • Ben Gurion Univiersity 2003

2
  • Distributed System
  • Overview

3
Computer Systems
  • Wish list
  • Scalable
  • Fast
  • Reliable no faults
  • Secure
  • Easy and fast to program
  • High data integrity

4
Computer Systems (cont)
  • Distributed
  • Multiple computers working together
  • Located far away
  • Improve stability and availability
  • Middleware
  • Transactional
  • Data integrity
  • Secure communication and storage

5
This Course
  • The technology
  • The methods and tools
  • The problems
  • The grade
  • 60 Assignments
  • 40 Quiz

6
References
  • Distributed Systems Principles and Paradigms /
    Tanenbaum, Van Steen
  • Client/Server programming with JAVA and CORBA 2nd
    edition / Orfali, Harkey
  • The Wide World Web

7
Topics
  • Remote access protocols
  • Transaction Processing
  • Database Technology
  • Security
  • Load-balancing and Scalability
  • Distributed Application Architectures and
    Integration

8
Topics (cont)
  • Web Technology
  • CORBA Technology and Systems
  • COM/.NET and EJB
  • XML/XSL/SOAP and the Web Services
  • Grid computing

9
Technology Background
  • Uniprocessor / Multiprocessor machines
  • Homogeneous/Heterogeneous systems
  • Distributed OS
  • Uniprocessor OS
  • Multiprocessor OS semaphore and monitor

10
Technology Background (cont)
  • Multi computer OS
  • Shared memory
  • Message passing
  • Network OS
  • Global file systems
  • Remote execution

11
The Client Server Model
  • Server a process implementing a specific
    service.
  • Client a process that requests a service from
    servers by sending a request and waiting for a
    reply.

Client
Wait for service
Reply
Request
Server
Provide service
12
File Server Example
  • System constants
  • File operations
  • Result codes
  • Message format

13
File Server Example Server
  • Main loop
  • Receive message
  • Block for message
  • Per opcode handle message
  • Return result at m2

14
File Server Example File Copy
  • Copy file SRC to DST on server
  • Body
  • Read block
  • Write block
  • Until end of file

15
Application Layers
  • Who is a Server?
  • Who is a Client?
  • User interface
  • Processing business logic
  • Data storage

16
User Interface
  • Implemented in clients
  • Handles user interactions
  • Examples
  • Character based terminals
  • Windowing software
  • Internet browser

17
Processing - Business Logic
  • Business rules
  • Data analysis
  • The what to do with user interaction on data.

18
Data Storage
  • Maintains the actual data
  • Provides persistent data
  • Typically implemented on a server
  • Consistency
  • Constraints
  • Meta data

19
Client Server Architectures
  • 2 tier applications
  • Client vs Server
  • Multi tier applications
  • User interface
  • Application
  • Database
  • A 3 tier implementation

20
What is Middleware?
  • Software plumbing
  • and
  • associated services
  • for building
  • distributed systems

21
Models
  • Distributed file systems
  • Remote procedure calls (RPCs)
  • Distributed Objects
  • Distributed Documents

22
Services
  • Makes distributed computing look like local
    computing
  • Hide networking and the complexities of
    distributed computing
  • Provides high level services
  • Extends storage and transactions across the
    network

23
Middleware and Openness
24
Middleware Technologies
  • CORBA (objects)
  • COM (components)
  • Java RMI, EJB (components)
  • DCE (procedures)
  • Proprietary, ie
  • Tuxedo, CICS, etc..
  • MQ, MSMQ, etc..
  • SOAP and Web Services friends

25
So What is it Good For?
  • Geek answer
  • Middleware makes it feasible for mere mortals
    to build distributed software systems that are
  • High-performance, scalable
  • reliable, high availability
  • Dont be fooled.
  • Distributed systems are inherently difficult to
    build.

26
Solving Business Problems with Middleware
  • Legacy system access
  • Data integrity
  • Scalability
  • Availability
  • Client access
  • Integration

27
Legacy System Access
CICS\VSAM
AS400
  • Ease legacy system integration by providing
    standard interfaces (wrappers)
  • Hides details from clients
  • Look like standard objects or components

CICS Gateway
MQ
Server
Server
Middleware Wrappers
Clients
Clients
28
Data Integrity
  • Ensuring data integrity across distributed
    databases requires transactions
  • Transactions ensure ACID properties

Oracle
SQL Server
Server
Server
Clients
Clients
29
Scalability
  • Provide a framework to scale the system
    performance by service replication
  • Requires design good architecture!

Server
Server
Clients
Clients
30
Availability
  • Replicating data and software to multiple
    machines enhances fault tolerance and improves
    availability
  • Duting faults performance degradates, but it
    keeps running

Server
Server
Clients
Clients
31
Client Access
  • Client access enhanced due to
  • Physical distribution
  • Any program (or system) can access the middleware
    using a variety of access technologies and
    bridges.

Clients
HTTP
Web Server
Server
IIOP
RMI/IIOP
COM Bridge
Clients
Clients
32
Integration
  • Allow multiple middleware to interaction using
    standards.
  • Standards
  • CORBA
  • Java
  • EJB
  • MTS/COM/.NET
  • XML and SOAP

33
CORBA
  • OMG is vendor consortium
  • Object Management Group
  • Language neutral
  • Interfaces defined in CORBA IDL
  • Interacts with C, C, Java, Perl, etc...
  • CORBA services
  • Transactions, naming, events, security

34
Java
  • Language APIs Class Libraries
  • Enterprise Java Beans (EJBs)
  • Add declarative services patterns
  • API standards
  • Java Transaction Service (JTS)
  • Java Naming and Directory Interface (JNDI)
  • Java Messaging Service (JMS)

35
EJBs
  • EJBs capture design patterns
  • Stateless Session Bean
  • Stateful Session Bean
  • Entity Bean (bean or container managed)
  • Containers/EJB Servers provide
  • transaction policies
  • security policies
  • database connection pooling
  • Multi-threading

36
MTS/COM/.NET
  • Microsofts component architecture
  • Pioneered declarative model for
  • Transactions, object pooling, security, threading
  • Integral part of Windows platform
  • Stateless is default model
  • .NET uses COM services
  • New runtime model only

37
XML and SOAP
  • XML structured documents
  • Standard way to exchange data
  • User-defined tags
  • Perhaps defined using schemas
  • Perhaps displayed using stylesheets
  • SOAP XML-based middleware
  • RPC calls more in XML
  • Wide industry support

38
Summary
  • Distributed technology
  • Critical part in enterprise distributed systems
  • Design issues
  • Technology issues
  • Hard issues
  • Testing
  • tolerating failures
  • Maintaining consistency
Write a Comment
User Comments (0)
About PowerShow.com