Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
(Middleware)
Gustavo Alonso
Computer Science Department
Swiss Federal Institute of Technology (ETHZ)
alonso@inf.ethz.ch
http://www.iks.inf.ethz.ch/
Course Administration
Course Goals
The course aims at introducing and discussing in depth several important topics
related to distributed and parallel information systems in general and enterprise
application integration in particular. In many ways, the course explores the
synergy between information and communication systems and how this synergy
can be best exploited.
The course is more practical than theoretical. The objective is to give a clear
overview of the problems and their nature, how can they be solved, and how this
solutions are implemented in practice. While we will spend some time
understanding the theoretical underpinnings of the ideas discussed, the emphasis
will be on how these ideas can be implemented in practice. An important part of
the course will be devoted to how technology has evolved and the reason why
existing systems are the way they are.
You will have the opportunity to program a relatively large information system.
This exercise is an integral part of the course.
The discussions and presentations form an integral part of the course. If you take
the time to learn from them, you will get much more out of this course. Take
advantage of the opportunity!
The access methods, the capabilities, the goals, and the available technology
is continuously changing. What can we learn that will remain valuable in the
years to come?
One example: 70 - 90 % of the software costs are maintenance costs.
Using the right abstractions helps!! Databases used as services remove
about 40 % of the code of commercial applications
Another example: software reuse is truly efficient and makes economic
sense at a large granularity. How can we build systems that can be
tailored to the user needs and yet are applicable in a wide range of areas
and environments?
Comunications
Demand
Components
7RGD\VV\VWHPVDUHQRORQJHU
7KHGHPDQGVRQWKHH[LVWLQJ
6\VWHPLQWHJUDWLRQLVWKH
LVRODWHG&RPPXQLFDWLRQVSOD\
V\VWHPVNHHSJURZLQJ
PRVWFKDOOHQJLQJDVSHFWRIWKH
DNH\UROHLQWKHLUXVH1HZ
FHQWUDOL]HGVROXWLRQVDUHQRW
,7ZRUOG3URJUDPPLQJWRGD\
DFFHVVPHWKRGVDOVRFKDQJH
DOZD\VIHDVLEOHFRRSHUDWLRQ
LVWRFRPELQHDOUHDG\H[LVWLQJ
WKHQDWXUHRIWKHSUREOHPV
DPRQJV\VWHPVLVDPXVW
KHWHURJHQHRXVWRROV
wap
client
java
client
web
web and
and wap
wap browsers
browsers
specialized
specialized clients
clients (Java,
(Java, Notes)
Notes)
SMS
SMS ...
...
CLIENT
TIER
CLIENT
web
client
ACCESS TIER
business
object
business
object
web
web servers,
servers, J2EE,
J2EE, CGI
CGI
JAVA
JAVA Servlets
Servlets API
API
api
APP
TIER
business
object
TP-Monitors,
TP-Monitors, stored
stored procedures
procedures
programs,
programs, scripts,
scripts, beans
beans
INTEGRATION TIER
MOM, IIOP,
RMI-IIOP, XML
wrapper
wrapper
db
db
system
system federations,
federations, filters
filters
object
object monitors,
monitors, MOM
MOM
RESOURCE
TIER
wrapper
databases,
databases, multi-tier
multi-tier systems
systems
backends,
backends, mainframes
mainframes
db
APP
api
RESOURCE INTEGRATION
api
ACCESS
3UHVHQWDWLRQORJLF
$SSOLFDWLRQ/RJLF
5HVRXUFH0DQDJHU
2-5 years
Applica
tion
(systems logic)
FRPSXWHUDVWKHORDGLQFUHDVHV7KLV
UHTXLUHVWRXVHSDUDOOHOFRPSXWHUV603
ZLWKPRUHDQGPRUHSURFHVVRUV
6FDOHRXWLVEDVHGRQXVLQJPRUH
FRPSXWHUVDVWKHORDGLQFUHDVHVLQVWHDGRI
XVLQJDELJJHUFRPSXWHU
6FDOHXS
%RWKDUHXVXDOO\FRPELQHG6FDOHRXWFDQ
EHDSSOLHGDWDQ\OHYHORIWKHVFDOHXS
6FDOHRXW
Cache Server
ASP
SSL
FARM B
ASP
SSL
FARM A
Basket/Ad/Surplus
ASP File Server
Receipt/Fulfillment
Games/Music
Comp/Soft Books
Videos
Music
Search Servers
Gustavo Alonso, ETH Zrich.
Games/Music
Comp/Soft Books
Videos
Music
Search Servers
8
WEB BROWSER
STREAMCORDER
(HTTP)
THIN CLIENT
HEDC
web server
(Apache)
www.hedc.ethz.ch
(HTTP)
LOCAL
DB
JAVA CLIENT
PRESENTATION LAYER
DIRECTORY
SERVICES
FRONT
END
(HTTP, RMI)
ARCHIVE
MANAGER
REFERENCE
MANAGER
DATA
FILTERS
APPLICATION LAYER
IDL
SERVER
TMP
STORAGE
SPACE
IDL
SERVER
TMP
STORAGE
SPACE
DBMS 1
(Oracle)
IDL
SERVER
...
TMP
STORAGE
SPACE
...
DBMS 2
(Oracle)
LESS
RELEVAT
DATA
IMAGES
AND
RAW DATA
DB
SPACE
DB
SPACE
TAPE
ARCHIVE
Retailer
Customer 2
Build product #3,
according to specs.
Customer 1
Get parts #A1,
#B42, #H2, #R2
Manufacturer 1
Order parts
#R2, #101, #ES-01,
#G7, #G11
Supplier 2
10
Astronomy
Exploration of the
solar system
Gustavo Alonso, ETH Zrich.
11
Scientific Method?
2XUDELOLW\WRSURGXFHGDWDH[FHHGV
RXUFDSDFLW\WRH[SODLQKRZWKHGDWD
ZDVSURGXFHG
12
13
14
7KH*ULG
15
Course philosophy
Addressing the increasing need for connectivity, the ever growing demand, and
facing the challenge of component based software design requires to solve a
number of data management issues. By learning to identify the problems and
being aware of the state of the art and possible solutions both theoretical and
practical, a system designer will be in a much better position to deal with
evolving technology.
Design
Problem
System
Design
Technical
Solutions
16
Distributed IS applications:
Emphasis on interoperability:
combine your data with that of the
rest of the world.
Emphasis on distribution: Intranet,
Internet are here to stay. Huge
demand for this functionality:
Lotus Notes (applications built
on replicated databases).
WWW+Java+persistence
(distributed service providers).
TP-Monitors (OLTP, OLAP,
transactional processing).
Queuing Systems (applications
on top of reliable,
asynchronous
communications).
CORBA (applications on top
of a TP-Monitor like object
oriented system)
Workflow and more
17
18
19