Copyright © 1997 by Rational Software Corporation An Overview of Network-Centric Software Architectures (Adapted from Dr. Osman Balci) Sung Hee Park Department.

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

Distributed Systems Architectures
Web Service Architecture
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Distributed Systems Architectures
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
Distributed Systems Architectures
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
2006 IEEE International Conference on Web Services ICWS 2006 Overview.
Ch 12 Distributed Systems Architectures
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Client/Server Architectures
Copyright © 1997 by Rational Software Corporation Midterm Exam  When: 3:30 – 4:50PM, Thursday, October 4, 2012  Where: HM 201s  Format  Close book.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
Distributed Software Engineering To explain the advantages and disadvantages of different distributed systems architectures To discuss client-server and.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Distributed Systems Architectures ©Ian Sommerville 2006.
1 Web Services Distributed Systems. 2 Service Oriented Architecture Service-Oriented Architecture (SOA) expresses a software architectural concept that.
Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
1 소프트웨어공학 강좌 Chap 9. Distributed Systems Architectures - Architectural design for software that executes on more than one processor -
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11Slide 1 Chapter 11 Distributed Systems Architectures.
Distributed Systems Architectures
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
Lecture 15 Introduction to Web Services Web Service Applications.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
©Ian Sommerville 2000 Software Engineering. Chapters 12/31Slide 1 Chapters 12/31 Distributed Systems Architectures & Service-Oriented Software Engineering.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
CS 240, Prof. Sarwar Slide 1 CS 240: Software Project Fall 2003 Sections 1 & 2 Dr. Badrul M. Sarwar San Jose State University Lecture #23.
Chapter 12 Review Chad Hagstrom CS 310 Spring 2008.
Kemal Baykal Rasim Ismayilov
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Chapter 14 Advanced Architectural Styles. Objectives Describe the characteristics of a distributed system Explain how middleware supports distributed.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 Distributed Systems Architectures l Architectural design for software that executes on more than one.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Distributed Systems Architectures
Sabri Kızanlık Ural Emekçi
CSC 480 Software Engineering
CHAPTER 3 Architectures for Distributed Systems
#01 Client/Server Computing
Ch > 28.4.
Inventory of Distributed Computing Concepts and Web services
Inventory of Distributed Computing Concepts
Distributed Systems Architectures
#01 Client/Server Computing
Presentation transcript:

Copyright © 1997 by Rational Software Corporation 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, .NET-based Client-Server Architecture Microsoft (2007), “Microsoft Platform.NET Framework,” Microsoft Corporation, Redmond, WA,

Copyright © 1997 by Rational Software Corporation The Client-Server Software Infrastructure Client ComputerMiddlewareServer 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 NServer 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 well- defined, 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  These allow objects to refer to and discover other objects on the network.  Notification services  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)