Escolar Documentos
Profissional Documentos
Cultura Documentos
Chapter 1
Distributed Applications
Architectural Principles and Solutions
Fall 2008
Rationale:
•Historically proven:
•The client- server mechanisms appeared to be the best way to
design applications in which methods can be invoked remotely
by the user.
BOM – Business
Object Model -UML
RAS – Pattern
Refinement Assistant-
UML
REF – Refinement
Assistant-UML
GEN –Translative
Generator
IX – Implement,
Deploy, and Test
Environment
Distributed System Software Design
The Operational Model
Distributed Architectures and Applications are all based and using an
Application Development Server
Distributed System Software Design
Architecture Model
Distributed System Software Design
Component Model
Distributed System Software Design
Architecture Layers
Distributed System Software Design
Distribution of Client-Server Applications
Distributed Software Development
Issues (1):
•Cooperation - the system’s components must cooperate
They form a set of software tools which make the design and
implementation of a distributed application more affordable and reliable
for a usual programmer.
•Distributed Services provide a set of utilities that are useful for objects or
distributed applications.
•Service categories:
–Distributed Systems related services
–Database related services
–General Services
Distributed Systems related Services
•Naming Service: allows a client to find an object, given its name. A server
can register any of its objects with the naming service, giving each a
(hierarchical) name that is independent of the name of the server or the
host it is running on.
1.Scalability
2.Management facilities
3.JMS, JCA, JTA support
4.Services based architecture
5.Distribution (RMI or others)
6.Clustering
7.Web Services (J2EE 1.4)
J2EE Application Servers
• BEA – Weblogic
• IBM – Websphere
• JBoss The Professional Open Source Company: - JBoss
• Sun: Sun Java System Application Server Platform
J2EE Application Server
J2SE
RMI/IIOP
RMI/IIOP
JavaMail JavaMail
JDBC
JDBC
JMS
JNDI
JTA
JNDI
JMS
JTA
App Client
Container JAF JAF
App HTTP/
Client HTTPS J2SE
RMI
RMI/IIOP
JDBC
JNDI
JMS
J2SE J2SE
Database
An Example Sun: Sun Java System Application Server Platform
Client-Server Applications in J2EE
Client-Server Applications in J2EE
Ultra-lightweight client
EAR Enterprise Archive
EJB Enterprise JavaBeans
WAR Web Application Archive