10-1 © Prentice Hall, 2007 Topic 10: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

Slides:



Advertisements
Similar presentations
COM vs. CORBA.
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 آزمايشگاه سيستم هاي هوشمند (
Some of these slides were excerpted from: Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Distributed Systems Architectures
ISYS 546 Client/Server Database Application Development.
BICS546 Client/Server Database Application Development.
Chapter 13 Physical Architecture Layer Design
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
The Architecture of Transaction Processing Systems
J2EE vs..NET Nigam Patel. Topics Background –Web Services, J2EE and.NET Similarities Differences Conclusion –Pros and Con (J2EE and.NET)
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.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Enterprise Programming By J Pearce. Enterprise Software Sales HR Inventory Customer Support Shipping.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” Basics on WAS WAS are necessary.
The Client/Server Database Environment
Web-based Software Development - An introduction.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
INTRODUCTION TO WEB DATABASE PROGRAMMING
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
©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.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
DATABASE PROGRAMMING Lecture on 16 – 05 – PREVIOUS LECTURE QUIZ: - Some students were very creative in transforming 2NF to 3NF. Excellent! - Some.
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
Introduction to J2EE Architecture Portions by Kunal Mehta.
J2EE Structure & Definitions Catie Welsh CSE 432
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
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.
MACIASZEK, L.A. (2001): Requirements Analysis and System Design. Developing Information Systems with UML, Addison Wesley Chapter 6 - Tutorial Guided Tutorial.
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.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Web application architecture1 Based on Jim Conallen: Web Applications with UML.
Assignment of JAVA id : BSSE-F10-M-10-JAVA1 Overview of J2EE/Session 2/Slide 1 of 38.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Java – in context Main Features From Sun Microsystems ‘White Paper’
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.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Web-based Software Development - An introduction
Distribution and components
Topic 10: Design Elements
Introduction to J2EE Architecture
Inventory of Distributed Computing Concepts and Web services
Inventory of Distributed Computing Concepts
Presentation transcript:

10-1 © Prentice Hall, 2007 Topic 10: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer

Topic © Prentice Hall, 2007 Chapter Objectives Af ter studying this chapter you should be able to: – Describe 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.

Topic © Prentice Hall, 2007

Topic © Prentice Hall, 2007 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. Component – a replaceable part of a system that provides a clearly defined function through a set of interfaces.

Topic © Prentice Hall, 2007 What Is a Design Architecture? An overall blueprint of the design of a system. Goal of design architecture – ability to scale and evolve over time. Enterprise Application Design (EAD) – the process of designing applications that embrace change.

Topic © Prentice Hall, 2007 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. Options – Single-tier – Two-tier – Three-tier – N-tier

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

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

Topic © Prentice Hall, 2007 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.

Topic © Prentice Hall, 2007

Topic © Prentice Hall, 2007 Limitations of Client-Server Architectures Thick clients – heavy burden placed on each client machine Application changes need to be distributed to many clients Typically use proprietary technologies, hindering application integration

Topic © Prentice Hall, 2007 Three-Tier Architectures 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

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

Topic © Prentice Hall, 2007 Presentation, business logic, and or data can be spread across multiple layers, creating N-tier architectures.

Topic © Prentice Hall, 2007 Mapping from Analysis to Design Classes 1 Analysis Class  1 Design Class 1 Analysis Class  n Design Classes n Analysis Classes  1 Design Class n Analysis Classes  1 Package n Analysis Classes  1 Component

Topic © Prentice Hall, 2007 What is a Software Component? A software element with a well-defined interface and functionality for a specific purpose that can be deployed in a variety of applications using plug-and-play capability Invariably purchased from a third party

Topic © Prentice Hall, 2007 Characteristics of Components – Used for specific commonly used purpose – Collection of classes and interfaces – Hidden implementation details – Plug-and-play capability – Usually distributed in binary, executable form – Third-party developed – Reusable in many applications – Well-tested and relatively error-free – Written in any language that supports component standard’s interface conventions

Topic © Prentice Hall, 2007 Component Terminology Run-time Environment – classes and components required to support services like handling secure transactions during run-time Transaction – all-or-nothing unit of business work. Requires ACID: – Atomiticity, consistency, isolation, and durability

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

Topic © Prentice Hall, 2007 COM/COM+/Distrubted COM (DCOM) Component Object Model (COM) from Microsoft 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

Topic © Prentice Hall, 2007 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 (IDL) – Interface is managed by Object Request Brokers (ORBs)

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

Topic © Prentice Hall, 2007 Database Middleware Standards Microsoft’s ODBC – Open Database Connectivity Microsoft’s ADO – ActiveX Data Objects Sun’s JDBC – Java Database Connectivity

Topic © Prentice Hall, 2007 Comparison of OMG, Microsoft, and Sun Limitations: 1.Tightly coupled 2.Binary 3.Proprietary

Topic © Prentice Hall, 2007 XML and SOAP 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 Simple Object Access Protocol (SOAP) – XML- based protocol for exchanging messages between applications operating in different layers

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

Topic © Prentice Hall, 2007 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 ActiveX – OLE/COM based component ADO, ADO.NET – database middleware ASP, ASP.NET – dynamic HTML generation

Topic © Prentice Hall, 2007 Features of Microsoft.NET Framework Visual Studio.NET – development environment C#, Visual C++, and Visual Basic.NET – the three main programming languages for developint.NET applications Common Language Runtime (CLR) – the runtime environment that loads/executes code, manages memory, provides security, exception handling and interoperability

Topic © Prentice Hall, 2007 Sun J2EE 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 EJB – Java-based component standard JDBC – database middleware Java Server Pages, Servlets – dynamic HTML generation

Topic © Prentice Hall, 2007 Features of Java J2EE Java Virtual Machine (JVM) – interpreter for executing Java compiled code (bytecode) Remote Method Invocation (RMI) – middleware that allows Java programs running on different computers to access each others’ objects/methods Applet – Java program that runs in the browser as part of a web page Servlet – Java program executed on a Web server Java Server Pages (JSP) – technology that mixed Java and HTML for dynamic web page generation

Topic © Prentice Hall, 2007

Topic © Prentice Hall, 2007 Browser-Based Scripting Logic executed at the browser layer (presentation) Enhances HTML with interactive functionality Two main scripting languages: – JavaScript – VBScript

Topic © Prentice Hall, 2007

Topic © Prentice Hall, 2007 What is a Package? A general-purpose mechanism for organizing design elements into groups Package diagram – a diagram that shows the packages and the relationships between them

Topic © Prentice Hall, 2007 Characteristics of Packages Cohesiveness Allocation of resources among development teams User types Propensity to change Development phase Separate utilities from system-specific components

Topic © Prentice Hall, 2007 In UML, packages are represented as rectangles with tabs in the top left corner. Dependencies between packages are shown with dashed arrow lines.

Topic © Prentice Hall, 2007 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. Signature – the return type, name, and argument list of a method Interfaces to classes are based on signatures.

Topic © Prentice Hall, 2007 Verifying Responsibility Allocation Pattern – a named description of a problem and solution that can be applied to new contexts Responsibility assignment in patterns: – Information expertise (expert pattern) – Object creation (creator pattern) – Loose coupling and strong cohesion

Topic © Prentice Hall, 2007 Visibility The characteristics of an attribute or an operation that reveal whether it can be accessed directly Three levels of visibility: – Public – visible to any requesting object – Private – visible to the owning object only – Protected – visible to the owning object, objects of the same class, and objects of subclasses

Topic © Prentice Hall, 2007 Attribute Types In Design class diagram, attribute types are explicitly displayed In the following slide, you see: – Visibility of attributes and operations – Attribute types – Responsibilities represented by methods – Full method signatures including return types and parameters

Topic © Prentice Hall, 2007 Visibility is shown by minus signs (private) or plus signs (public) Attribute types and full signatures are shown

Topic © Prentice Hall, 2007

Topic © Prentice Hall, 2007 Recap After studying this chapter we learned to: – Design 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.