Академический Документы
Профессиональный Документы
Культура Документы
Chapter 16
by David G. Messerschmitt
A First Course
Spanning layer
Application Distributed object management Windows NT TCP UDP Mac OS TCP UDP Internet protocol Network 1 Network 2 Spanning layers
Understanding Networked Applications
A First Course
A First Course
A First Course
Middleware objectives
Hide heterogeneity Location independence Common functionality needed by many applications Software portability and mobile code Help integrate legacy facilities Aid application interoperability Aid scalability
Understanding Networked Applications
A First Course
Message-oriented middleware
Support message and queuing capabilities where resource mangers are not available simultaneously (like workflow)
A First Course
Mobile code
Allow application code to be moved and executed on heterogeneous platforms Without prior software installation
Understanding Networked Applications
A First Course
A First Course
Transaction processing
by David G. Messerschmitt
The transaction
Rollback
11
A First Course
Transaction architecture
Application logic Join
Transaction manager
Resource managers
Understanding Networked Applications
Commit or abort
One or more nos Phase 1 Transaction manager
prepare() yes_or_no
All yes
commit()
13
A First Course
Group of RMIs
14
A First Course
Group of RMIs
Refused
Final state
Unlock
Understanding Networked Applications
15
A First Course
Abort
Client_1 Client_2 Server
Starting state
Group of RMIs
16
A First Course
Rollback
Client_1 Client_2 Server
Starting state
Group of RMIs
Rollback
Something goes awry
17
A First Course
Transaction protocol
Application server Resource manager Transaction manager
request(tp_ID,.)
join(tp_ID)
Commit or rollback
Understanding Networked Applications
18
A First Course
20
A First Course
Mobile code: Code representing a software program that can be moved to heterogeneous platforms and executed there 21
A First Course
22
A First Course
Java
Portability
Write once, run anywhere
Programming productivity
Garbage collection (no memory leaks) Multi-threaded
Scalability
Move execution cycles
Interoperability
Software components come from common repository Understanding Networked Applications 23 A First Course
MA
24
A First Course
25
A First Course
Agent returns
26
A First Course
JIT compiler
VM interpreter
27
A First Course
VM as spanning layer
Applications JavaBeans component framework Java virtual machine Operating system
28
A First Course
SUN/Java strategy
License Java freely, even to rival Microsoft
Why?
29
A First Course
31
A First Course
Interoperability
Client Server
Client object can invoke methods of server object, even if they are running on different platforms, written in different languages
32
A First Course
Interoperability
Client Interoperability also requires: Common structure of data Common interpretation of data Agreement on protocols
Understanding Networked Applications
Server
33
A First Course
OS 1
OS 2 IP
Distributed application
OS 1
OS 2 IP
OS 3
34
A First Course
35
A First Course
CORBA architecture
Client objects Server objects
CORBA services 36
A First Course
Protocol layer
Location-independent application Object Management Group CORBA standard
User datagram protocol (UDP)
Subnetworks
37
A First Course
Interoperability
Application 2 ORB 2
38
A First Course
OMG process
Identify need Request for proposals Process to
choose best or ask proposal advocates to work together
39
A First Course
40
A First Course
CORBA vs DCOM
CORBA Integrate best ideas Multi-vendor support Cross-platform and language DCOM Fast, no consensus required No vendor interoperability issues
41
A First Course
42
A First Course
CORBA vs XML
CORBA Natural OOP extension No document interpretation Good for back-and-forth protocols Both have need for standardization of data or document interpretation
Understanding Networked Applications
XML Flexible data-sharing Good for document-like objects Natural cross-platform capability No protocol standardization
43
A First Course
44
A First Course
Useful services
Naming Security Many others 45
A First Course
Importance of CORBA
Inter-enterprise computing
Platform and language independence Electronic commerce, network management, etc
46
A First Course
47
A First Course
48
A First Course