Some of these slides were excerpted from: Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
CSIS0402 System Architecture K.P. Chow University of Hong Kong.
Objectives In this session, you will learn to:
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
Technical Architectures
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
Distributed Systems Architectures
ISYS 546 Client/Server Database Application Development.
BICS546 Client/Server Database Application Development.
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
Chapter 13 Physical Architecture Layer Design
12 Chapter 12 Client/Server Systems Hachim Haddouti.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
13-1 Chapter 13 - Objectives Define an information system’s architecture in terms of the KNOWLEDGE, PROCESSES, and COMMUNICATION building blocks. Differentiate.
The Architecture of Transaction Processing Systems
Chapter 9: The Client/Server Database Environment
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Enterprise Programming By J Pearce. Enterprise Software Sales HR Inventory Customer Support Shipping.
E-business Architecture.NET vs J2EE Judith Molka-Danielsen Feb.27, 2004.
J2EE Kenneth M. Anderson CSCI Web Technologies October 3, 2001.
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.
Lecture The Client/Server Database Environment
The Client/Server Database Environment
Chapter 2 Database System Concepts and Architecture
Web-based Software Development - An introduction.
INTRODUCTION TO WEB DATABASE PROGRAMMING
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Middleware-Based OS Distributed OS Networked OS 1MEIT Application Distributed Operating System Services Application Network OS.
Database Architectures and the Web Session 5
Introduction to distributed systems Dr. S. Indran 23 January 2004.
1 소프트웨어공학 강좌 Chap 9. Distributed Systems Architectures - Architectural design for software that executes on more than one processor -
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 13: Physical Architecture Layer Design Alan Dennis,
9/5/2012ISC329 Isabelle Bichindaritz1 Web Database Environment.
Introduction to J2EE Architecture Portions by Kunal Mehta.
Outline  Enterprise System Integration: Key for Business Success  Key Challenges to Enterprise System Integration  Service-Oriented Architecture (SOA)
第十四章 J2EE 入门 Introduction What is J2EE ?
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Lecture 15 Introduction to Web Services Web Service Applications.
Slide 1 Physical Architecture Layer Design Chapter 13.
Unit 7 Patterns and Frameworks. Key Concepts Design classes Components Design architectures EAD Patterns Packages Frameworks.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Types/Levels of Integration Chao-Hsien Chu, Ph.D. School of Information Sciences and Technology The Pennsylvania State University Presentation Data Functional.
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.
Web application architecture1 Based on Jim Conallen: Web Applications with UML.
10-1 © Prentice Hall, 2007 Topic 10: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Web Services Using Visual.NET By Kevin Tse. Agenda What are Web Services and Why are they Useful ? SOAP vs CORBA Goals of the Web Service Project Proposed.
Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer.
Database application development 1. Chapter 8 © 2013 Pearson Education, Inc. Publishing as Prentice Hall OBJECTIVES  Define terms  Explain three components.
1 LM 6 Database Applications Dr. Lei Li. Learning Objectives Explain three components of a client-server system Describe differences between a 2-tiered.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Lecture 9: The Client/Server Database Environment Modern Database Management 9 th Edition.
Chapter 2 Database System Concepts and Architecture
The Client/Server Database Environment
Distribution and components
Chapter 9: The Client/Server Database Environment
Topic 10: Design Elements
Introduction to J2EE Architecture
Inventory of Distributed Computing Concepts and Web services
Distributed System Using Java 2 Enterprise Edition (J2EE)
Technology Landscape and Enterprise Objectives
Presentation transcript:

Some of these slides were excerpted from: Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer Chapter 12: Design Elements Team-Based Development ISYS 321

What Is a Design Element? Either a design class or a component Design Class – an enhanced version of an analysis class that includes details regarding attributes and methods, including visibility, arguments, and data types. Design Class – an enhanced version of an analysis class that includes details regarding attributes and methods, including visibility, arguments, and data types. Component – a replaceable part of a system that provides a clearly defined function through a set of interfaces. Component – a replaceable part of a system that provides a clearly defined function through a set of interfaces.

What Is a Design Architecture? An overall blueprint of the design of a system. An overall blueprint of the design of a system. Goal of design architecture – ability to scale and evolve over time. Goal of design architecture – ability to scale and evolve over time. Enterprise Application Design (EAD) – the process of designing applications that embrace change (integration is not a problem) Enterprise Application Design (EAD) – the process of designing applications that embrace change (integration is not a problem)

What Is a Tiered (or Layered) Architecture? The partitioning of a system into layers such that each layer performs a specific type of functionality and communicates with the layers that adjoin it. The partitioning of a system into layers such that each layer performs a specific type of functionality and communicates with the layers that adjoin it. Options Options –Single-tier –Two-tier –Three-tier –N-tier

Single-Tier Architectures One computer performing all tasks One computer performing all tasks Either a standalone PC, or a mainframe servicing many dumb terminals Either a standalone PC, or a mainframe servicing many dumb terminals Rare for new systems, not very scalable Rare for new systems, not very scalable

Two-Tier Architectures Client-Server architecture Client-Server architecture Client – Application layer (front-end), performs business rules and user interface Client – Application layer (front-end), performs business rules and user interface Server – Database layer (back end), provides data access Server – Database layer (back end), provides data access Middleware – the communication interface between client and server Middleware – the communication interface between client and server

What Is Middleware? Software that provides one set of interfaces for connection to a client and another set of interfaces for connection to a server, thereby providing the possibility of connections between one of several clients with one of several servers. For instance, a system in which the front-end GUI (application layer) communicates with a database using ODBC (Open Database Connectivity – middleware).

Limitations of Client-Server Architectures Thick clients – heavy burden placed on each client machine (too much processing) Thick clients – heavy burden placed on each client machine (too much processing) Application changes need to be distributed to many clients Application changes need to be distributed to many clients Typically use proprietary technologies, hindering application integration Typically use proprietary technologies, hindering application integration

Three-Tier Architectures Three layers are: Three layers are: –Presentation – front tier, providing user interface, perhaps with formatting and constraint-checking rules –Business rules – middle tier, addressing logic and decisions for the system, sometimes called application layer –Data – back tier, addressing data storage and access, with some rules regarding data integrity

Note: presentation, business logic, and or data can be spread across multiple layers, creating N-tier architectures.

Mapping from Analysis to Design Classes 1 Analysis Class  1 Design Class 1 Analysis Class  n Design Classes (i.e.you may find you have 2 categories of Employee, FT and PT employee) n Analysis Classes  1 Design Class (i.e. you may want to combine classes such as in the case of denormalization) n Analysis Classes  1 Package (i.e. you may want to combine a group of classes with similar functionality, such as Customer and Products Purchased under CustomerRelations) n Analysis Classes  1 Component (i.e. you may need to purchase a commerically available component rather than build in-house)

Characteristics of Components –Used for specific commonly used purpose –Collection of classes and interfaces –Hidden implementation details –Plug-and-play capability –Third-party developed, typically in binary form –Reusable in many applications –Well-tested and relatively error-free

What Is a Component Standard? An agreed-upon format for defining interfaces and implementations of components An agreed-upon format for defining interfaces and implementations of components Examples: Examples: –Microsoft COM+ –OMG’s CORBA –Sun Microsystem’s Enterprise Java Beans (EJB) –Database Middleware Standards (ODBC, ADO, JDBC) –XML/SOAP

COM+ Component Object Model (COM) from Microsoft Component Object Model (COM) from Microsoft Run-time environment for middle-tier components Run-time environment for middle-tier components Supports transactions, identity, and security services, and allows components to call each other locally or remotely through a messaging service Supports transactions, identity, and security services, and allows components to call each other locally or remotely through a messaging service

CORBA –Common Object Request Broker Architecture –Published by Object Management Group (OMG) –Component standard for distributed and heterogeneous network –Objects written in different languages communicate through Interface Definition Language –Interface is managed by Object Request Brokers (ORBs)

EJB Enterprise Java Beans Enterprise Java Beans Component-based distributed computing architecture Component-based distributed computing architecture EJB is a server-side component model for managing objects in a distributed environment EJB is a server-side component model for managing objects in a distributed environment EJB requires CORBA for communications EJB requires CORBA for communications

Database Middleware Standards Microsoft’s ODBC – Open Database Connectivity Microsoft’s ODBC – Open Database Connectivity Microsoft’s ADO – ActiveX Data Objects Microsoft’s ADO – ActiveX Data Objects Sun’s JDBC – Java Database Connectivity Sun’s JDBC – Java Database Connectivity

Comparison of OMG, Microsoft, and Sun Limitations: 1.Tightly coupled 2.Binary 3.Proprietary

XML and SOAP Text-based, loosely coupled, non-proprietary internet-oriented standard for inter-layer communication Text-based, loosely coupled, non-proprietary internet-oriented standard for inter-layer communication eXtensible Markup Language (XML) – method for putting structured data into text format, similar to HTML eXtensible Markup Language (XML) – method for putting structured data into text format, similar to HTML Simple Object Access Protocol (SOAP) – XML-based protocol for exchanging messages between applications operating in different layers Simple Object Access Protocol (SOAP) – XML-based protocol for exchanging messages between applications operating in different layers

What Is a Framework? A collection of components, consisting of code and interfaces written in a specific language, that solves or helps build applications. A collection of components, consisting of code and interfaces written in a specific language, that solves or helps build applications. Two main competitors: Two main competitors: Microsoft.NETMicrosoft.NET Sun Java 2 Enterprise Editiion (J2EE)Sun Java 2 Enterprise Editiion (J2EE)

Microsoft.NET Development framework that integrates COM+ and Active Server Pages (ASP) technologies for B2C applications, with support for XML/SOAP Web services for B2B applications Development framework that integrates COM+ and Active Server Pages (ASP) technologies for B2C applications, with support for XML/SOAP Web services for B2B applications ActiveX – OLE/COM based component ActiveX – OLE/COM based component ADO, ADO.NET – database middleware ADO, ADO.NET – database middleware ASP, ASP.NET – dynamic HTML generation ASP, ASP.NET – dynamic HTML generation

Sun J2EE Java 2 Enterprise Edition Java 2 Enterprise Edition Development framework that provides a specification of architectural components designed to work together to define a complete enterprise architecture, with support for XML/SOAP and Web services Development framework that provides a specification of architectural components designed to work together to define a complete enterprise architecture, with support for XML/SOAP and Web services EJB – Java-based component standard EJB – Java-based component standard JDBC – database middleware JDBC – database middleware Java Server Pages, Servlets – dynamic HTML generation Java Server Pages, Servlets – dynamic HTML generation

In UML, packages are represented as rectangles with tabs in the top left corner.

What Is a Design Class Diagram? A design class diagram shows the data types of the attributes, the return types and arguments of the operations, and the visibility specifications for all attributes and operations. A design class diagram shows the data types of the attributes, the return types and arguments of the operations, and the visibility specifications for all attributes and operations. Signature – the return type, name, and argument list of a method Signature – the return type, name, and argument list of a method Interfaces to classes are based on signatures. Interfaces to classes are based on signatures.

Guidelines for Allocating Responsibilities Information access done by information expert Information access done by information expert Object creation done by aggregating class Object creation done by aggregating class Aim for loose coupling Aim for loose coupling Aim for high cohesion Aim for high cohesion

Recap After studying this chapter we learned to: After studying this chapter we learned to: –Understand the different design architecture configurations. –Understand the use of components in systems design. –Understand the different component standards. –Map an analysis class diagram into a design class diagram.

Any Questions?