Software Development Models: Waterfall and Spiral
Download
Report
Transcript Software Development Models: Waterfall and Spiral
An Overview of Network-Centric
Software Architectures
(Adapted from Dr. Osman Balci)
Sung Hee Park
Department of Mathematics and Computer Science
Virginia State University
September 20, 2012
Copyright © 1997 by Rational Software Corporation
Network-Centric Software Architectures
Major Network-Centric Software Architectures:
1. Client-Server Architecture (CSA)
2. Distributed Objects Architecture (DOA)
3. Peer-to-Peer Architecture (PPA)
4. Service-Oriented Architecture (SOA)
DoD Standard Description of Network-Centric
Architectures
DoD Architecture Framework (DoDAF)
Copyright © 1997 by Rational Software Corporation
Client-Server Architecture (CSA)
Two industry software standards for CSA:
Java EE-based Client-Server Architecture
Sun (2007), “The Java Platform,” Sun
Microsystems, Inc., Mountain View, CA,
http://java.sun.com/
.NET-based Client-Server Architecture
Microsoft (2007), “Microsoft Platform .NET
Framework,” Microsoft Corporation, Redmond,
WA, http://www.microsoft.com/net/
Copyright © 1997 by Rational Software Corporation
The Client-Server Software Infrastructure
Client Computer
Middleware
Server Computer
Copyright © 1997 by Rational Software Corporation
Definitions of Acronyms
CMIP - Common Management Information Protocol
DBMS – DataBase Management System
GUI – Graphical User Interface
IPX/SPX - Internetwork Packet Exchange/Sequenced Packet Exchange.
IPX/SPX is Novell NetWare's proprietary communication protocol.
NetBIOS - An acronym for Network Basic Input/Output System, the
original network API for MS-DOS.
ODBC - Open DataBase Connectivity
OLTP - On-Line Transaction Processing
ORB - Object Request Broker
SNA - System Network Architecture
SNMP - Simple Network Management Protocol
TCP/IP - (Transmission Control Protocol / Internet Protocol) - The
protocols, or conventions, that computers use to communicate over the
Internet.
TxRPC Transactional Remote Procedure Call
Copyright © 1997 by Rational Software Corporation
A Client-Server (Two-Tier) Architecture
Client N
Server Computer
Copyright © 1997 by Rational Software Corporation
A Client-Server Architecture with
Example Components
Copyright © 1997 by Rational Software Corporation
Example IBM Development and
Deployment Environment
Copyright © 1997 by Rational Software Corporation
Thin and Fat Clients
Thin-Client Model
In a thin-client model, all of the application processing and
data management is carried out on the server. The client is
simply responsible for running the presentation software.
A thin-client computer accesses applications and data from
a server.
Fat-Client Model
In this model, the server is only responsible for data
management.The software on the client implements the
application logic and the interactions with the system user.
A fat-client computer includes an operating system and
installed applications and can run either as a standalone or
in a server environment.
Copyright © 1997 by Rational Software Corporation
Thin and Fat Clients
Thin-Client Model
A major disadvantage is that it places a heavy
processing load on both the server and the
network
Fat-Client Model
More processing is delegated to the client as the
application processing is locally executed
Most suitable for new client-server systems where the
capabilities of the client system are known in advance
More complex than a thin client model especially for
management. New versions of the application have to
be installed on all clients
Copyright © 1997 by Rational Software Corporation
Three-Tier Architecture
System/Software Architecture is used to:
Make buy decisions (acquisition)
Discriminate between options
Assist in “Discovery” of the true requirements
Drive one or more systems to a common “use” or
purpose (system of systems)
System/Software Design is used to:
Develop system/software components
Build the system/software
Understand configuration changes as the
system/software is modified
Copyright © 1997 by Rational Software Corporation
What is a Network-Centric System?
Copyright © 1997 by Rational Software Corporation
An Example Network-Centric System of
Systems
Copyright © 1997 by Rational Software Corporation
Distributed Objects Architecture (DOA)
1. Common Object Request Broker Architecture
(CORBA)
Interface Definition Language (IDL)
Object Request Broker (ORB)
2. Microsoft’s Distributed Component Object
Model (DCOM)
Copyright © 1997 by Rational Software Corporation
Emergence of New Areas
There is no distinction in a distributed object architecture between
clients and servers.
Each distributable entity is an object that provides services to other
objects and receives services from other objects.
Object communication is through a middleware system called an object
request broker (software bus).
More complex to design than client-server systems.
Copyright © 1997 by Rational Software Corporation
Advantages of Distributed Object
Architectures
It allows the system designer to delay decisions on
where and how services should be provided.
It is a very open system architecture that allows
new resources to be added to it as required.
The system is flexible and scalable.
It is possible to reconfigure the system
dynamically with objects migrating across the
network as required.
Copyright © 1997 by Rational Software Corporation
Architecting Challenges
Application objects that are designed and implemented for an application.
Standard objects that are defined by the OMG (Object Management Group),
for a specific application domain, e.g., insurance, banking, e-commerce.
Fundamental CORBA services such as directories and security management.
Horizontal CORBA facilities (i.e., cutting across applications) such as user
interface facilities and system management facilities.
Copyright © 1997 by Rational Software Corporation
CORBA Standards
An object model for application objects where a
CORBA object is an encapsulation of state with a welldefined, language-neutral interface defined in an IDL
(Interface Definition Language)
An Object Request Broker (ORB) that manages
requests for object services.The ORB locates the
object providing the service, prepares it for the
request, sends the service request and returns the
results to the requester.
A set of general object services of use to many
distributed applications such as directory services and
transaction services.
A set of common components built on top of these
basic services.
Copyright © 1997 by Rational Software Corporation
CORBA Objects
CORBA objects are comparable, in principle, to
objects in C++ and Java.
CORBA objects must have a separate interface
definition that is expressed using a common language
(IDL) similar to C++
There is a mapping from the IDL to programming
languages such as C++ and Java.
Therefore, objects written in different languages can
communicate with each other in a distributed
heterogeneous system.
CORBA objects have a unique identifier called an
Interoperable Object Reference (IOR).This IOR is
used when one object requests services from another.
Copyright © 1997 by Rational Software Corporation
Object Request Broker (ORB)
• o1: the calling object
• o2: the called object
• S(o1): services provided by object 1
• S(o2): services provided by object 2
The ORB handles object communications.
It knows of all objects in the system and
their interfaces.
Using an ORB, the calling object binds an
IDL stub that defines the interface of the
called object.
Calling this stub results in calls to the ORB
which then calls the required object
through a published IDL skeleton that
links the interface to the service
implementation.
Copyright © 1997 by Rational Software Corporation
Inter-ORB Communications
ORBs are not usually separate programs but are a set of objects in a
library that are linked with an application when it is developed.
ORBs handle communications between objects executing on the same
machine.
Several ORBs may be available and each computer in a distributed
system will have its own ORB.
Inter-ORB communications are used for distributed object calls.
Copyright © 1997 by Rational Software Corporation
CORBA Services
Naming and trading services
Notification services
These allow objects to refer to and discover other objects
on the network.
These allow objects to notify other objects that an event
has occurred.
Objects may register their interest in a particular event
with the service and, when that event occurs, they are
automatically notified.
Transaction services
These support atomic transactions and rollback on failure.
Transactions are a fault-tolerance facility that support
recovery from errors during an update operation.
Copyright © 1997 by Rational Software Corporation
An Example Composition of CSA and
DOA
Client-Server Architecture
Copyright © 1997 by Rational Software Corporation
Peer-to-Peer Architecture (PPA)
Copyright © 1997 by Rational Software Corporation
Peer-to-Peer Architectures
Peer to peer (p2p) systems are decentralized systems
where computations may be carried out by any node
in the network.
Examples:
File sharing systems
Instant messaging systems such as ICQ
The overall system is designed to take advantage of
the computational power and storage of a large
number of networked computers.
Most p2p systems have been personal systems but
there is increasing business use of this technology.
The logical network architecture
Decentralized architecture
Semi-centralized architecture
Copyright © 1997 by Rational Software Corporation
Decentralized Peer-to-Peer Architecture
Assume that the above is a decentralized document management
system used by a consortium of researchers to share documents,
and each member maintains his or her own document store.
Someone issues a search request that is sent to other nodes. For
example, if n1 issues a search for a document stored at n10, this
search is routed through nodes n3, n6, and n9 to n10.
Copyright © 1997 by Rational Software Corporation
Semi-Centralized
Peer-to-Peer
Architecture
Under this architecture,
one or more nodes act
as servers to facilitate
node communications.
Assuming that the above system represents an instant
messaging system, the network nodes communicate
with the server (indicated by dashed lines) to find out
what other nodes are available.
Once nodes are discovered, direct communications
can be established and the connection to the server
becomes unnecessary.Therefore, nodes n2, n3, n5, and
n6 are in direct communication.
Copyright © 1997 by Rational Software Corporation
Service-Oriented Architecture (SOA)
XML: eXtensible Markup Language
TCP/IP: Transmission Control Protocol
/ Internet Protocol
HTTP: HyperText Transfer Protocol
SOAP: Simple Object Access
Protocol, an XML-based
messaging protocol used
to encode the information
in web service request and
response messages before
sending them over a network.
WSDL: Web Services Description Language, an XML-formatted language
used to describe a Web service's capabilities.
UDDI: Universal Description, Discovery and Integration, a web-based
distributed directory that enables listing of web services and
discovering each other, similar to a traditional phone book's
yellow and white pages.
Copyright © 1997 by Rational Software Corporation
Service-Oriented
Architecture
Provider independence.
Public advertising of service availability.
Potentially, run-time service binding.
Opportunistic construction of new services through
composition.
Pay for use of services.
Smaller, more compact applications.
Reactive and adaptive applications.
Copyright © 1997 by Rational Software Corporation
SOA for Online Learning Environments:
DoDAF OV-1 Diagram
Copyright © 1997 by Rational Software Corporation
SOA for Online Learning Environments:
DoDAF OV-2 Diagram
Copyright © 1997 by Rational Software Corporation
SOA for Online Learning Environments:
DoDAF SV-1 Diagram
Copyright © 1997 by Rational Software Corporation
SOA for Online Learning Environments:
DoDAF SV-2 Diagram
Copyright © 1997 by Rational Software Corporation
SOA for Online Learning Environments:
DoDAF OV-5 Hierarchical Diagram
Copyright © 1997 by Rational Software Corporation
SOA for Online Learning Environments:
DoDAF OV-5 Flow Diagram
Copyright © 1997 by Rational Software Corporation
SOA for Online Learning Environments: DoDAF OV-6c
Diagram of the “Request Available Services” and “Retrieve
& Send Available Services” Activities
Copyright © 1997 by Rational Software Corporation
SOA for Online Learning Environments: DoDAF OV-6c
Diagram of the “Request Available Services” and “Retrieve
& Send Available Services” Activities (continued)
Copyright © 1997 by Rational Software Corporation