Languages in Depth Series: Java Programming
- Prof. Dr. Bertrand Meyer
Chair of Software Engineering
Java Middleware Patrick Eugster, Till Bay, Tomas Hruz Java - - PowerPoint PPT Presentation
Chair of Software Engineering Languages in Depth Series: Java Programming Prof. Dr. Bertrand Meyer Java Middleware Patrick Eugster, Till Bay, Tomas Hruz Java Middleware What is middleware Client-server communication and method invocation
Chair of Software Engineering
2
Languages in Depth series: Java Programming
3
Languages in Depth series: Java Programming
4
Languages in Depth series: Java Programming
5
Languages in Depth series: Java Programming
6
Languages in Depth series: Java Programming
name)
server
and calls the corresponding method
7
Languages in Depth series: Java Programming
8
Languages in Depth series: Java Programming
9
Languages in Depth series: Java Programming
10
Languages in Depth series: Java Programming
11
Languages in Depth series: Java Programming
12
Languages in Depth series: Java Programming
13
Languages in Depth series: Java Programming
14
Languages in Depth series: Java Programming
15
Languages in Depth series: Java Programming
16
Languages in Depth series: Java Programming
connections
17
Languages in Depth series: Java Programming
18
Languages in Depth series: Java Programming
19
Languages in Depth series: Java Programming
20
Languages in Depth series: Java Programming
21
Languages in Depth series: Java Programming
Remote
RemoteObject
(invocations, parameters, and results) using TCP
22
Languages in Depth series: Java Programming
23
Languages in Depth series: Java Programming
24
Languages in Depth series: Java Programming
25
Languages in Depth series: Java Programming
26
Languages in Depth series: Java Programming
27
Languages in Depth series: Java Programming
28
Languages in Depth series: Java Programming
29
Languages in Depth series: Java Programming
30
Languages in Depth series: Java Programming
31
Languages in Depth series: Java Programming
32
Languages in Depth series: Java Programming
33
Languages in Depth series: Java Programming
34
Languages in Depth series: Java Programming
35
Languages in Depth series: Java Programming
36
Languages in Depth series: Java Programming
37
Languages in Depth series: Java Programming
38
Languages in Depth series: Java Programming
39
Languages in Depth series: Java Programming
40
Languages in Depth series: Java Programming
41
Languages in Depth series: Java Programming
42
Languages in Depth series: Java Programming
43
Languages in Depth series: Java Programming
44
Languages in Depth series: Java Programming
45
Languages in Depth series: Java Programming
46
Languages in Depth series: Java Programming
47
Languages in Depth series: Java Programming
properties provided by message producer
Java types)
mapped to properties
upon send
(PERSISTENT, NON_PERSISTENT)
refer to other message
48
Languages in Depth series: Java Programming
49
Languages in Depth series: Java Programming
interface
queue: empty
queue
/pull)
50
Languages in Depth series: Java Programming
public interface Connection { public String getClientID() throws JMSException; public void setClientID(String ID) throws …; public void setExceptionListener(ExceptionListener l) throws …; public ExceptionListener getExceptionListener() throws …; public void close() throws …; public start() throws …; public stop() throws …; … /* (Sessions created through implementation classes) */ }
51
Languages in Depth series: Java Programming
public interface Session { public void setMessageListener(MessageListener l) throws …; public MessageListener getMessageListener() throws …; public TextMessage createTextMessage() throws …; public StreamMessage createStreamMessage() throws …; public MessageProducer createProducer(Destination destination) throws…; … public void close() throws …; public void recover() throws …; public void commit() throws …; public void rollback() throws …; … }
52
Languages in Depth series: Java Programming
53
Languages in Depth series: Java Programming
public interface MessageConsumer { /* Provide content-based filter */ public String getMessageSelector() throws …; /* Push model */ public void setMessageListener(MessageListener l) throws …; public MessageListener getMessageListener() throws …; /* Poll */ public Message receive() throws …; /* Blocking pull */ public Message receive(long timeout) throws …; … }
54
Languages in Depth series: Java Programming
55
Languages in Depth series: Java Programming
56
Languages in Depth series: Java Programming
57
Languages in Depth series: Java Programming
58
Languages in Depth series: Java Programming
59
Languages in Depth series: Java Programming
60
Languages in Depth series: Java Programming
61
Languages in Depth series: Java Programming
62
Languages in Depth series: Java Programming
Enterprise Java Beans EJBs)
beans:
administration tools
63
Languages in Depth series: Java Programming
64
Languages in Depth series: Java Programming
65
Languages in Depth series: Java Programming