Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer.

Slides:



Advertisements
Similar presentations
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Advertisements

COM vs. CORBA.
©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.
Some of these slides were excerpted from: Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer.
ISYS 546 Client/Server Database Application Development.
BICS546 Client/Server Database Application Development.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
Layers & Tiers Umair Javed Lec - 41.
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.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Enterprise Programming By J Pearce. Enterprise Software Sales HR Inventory Customer Support Shipping.
1 Java Server Pages Can web pages be created specially for each user? What part does Java play?
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.
Lecture The Client/Server Database Environment
The Client/Server Database Environment
Enterprise Resource Planning
Web-based Software Development - An introduction.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
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.
ASP.NET The.NET Framework. The.NET Framework is Microsoft’s distributed run-time environment for creating, deploying, and using applications over the.
J2EE /.NET Liz Farricker Whitney Mayoras Patrick Bailey.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
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.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
® 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.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Unit 7 Patterns and Frameworks. Key Concepts Design classes Components Design architectures EAD Patterns Packages Frameworks.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
1 Welcome to CSC 301 Web Programming Charles Frank.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
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.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
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 SERVER SOFTWARE FEATURE SETS
Java – in context Main Features From Sun Microsystems ‘White Paper’
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.
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:

Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer

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.

What Is a Design Architecture? An overall blueprint of the design of a system, including components and infrastructure. Goal of design architecture – ability to scale the application and to evolve it over time without major rework.

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

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

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

Two-Tier Architecture

What Is Middleware? Software programs that provide a set of interfaces for connection to one or more clients and another set of interfaces for connection to one or more servers. Provides the possibility of connections between several different types of clients with one or more several types of servers.

Limitations of Client-Server Architectures Thick clients – heavy burden placed on each client machine Application changes need to be distributed and redistributed to all clients Client machine cannot be heterogeneous

Three-Tier Architectures Three layers are:  Presentation layer – client tier, providing front end user interface, perhaps with formatting, constraint- checking rules, and no (limited) application logic.  Application layer – middle tier, addressing all business logic and decisions for the system, sometimes called business layer  Data layer – back-end tier, addressing data storage and access, with some rules regarding data integrity

Presentation – responsible for client interaction Business Logic – responsible for all business rules Database – responsible for data storage and retrieval, with some data validation. Three-Tier Architecture

Presentation layer, business layer, and/or data layer are spread across multiple layers/platforms, creating N-tier architectures. N-Tier Architecture

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 Often purchased from a third party software developer

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

Component Terminology Run-time Environment – classes, services, and components required to support the execution of a program including handling networking/ communication, multi-threading, secure transactions, caching, etc. during run-time Transaction Processing – “all-or-nothing” unit of business work. Must handle commit and/or rollback of many table inserts/updates/deletes as a single transaction

Middleware Component Standard An agreed-upon format for defining interfaces and implementations of components Examples: –Microsoft COM / COM+ / DCOM –Object Management Group - OMG’s CORBA –Sun Microsystem’s Enterprise Java Beans (EJB) –Database Middleware (ODBC, ADO, JDBC) –XML/SOAP and Web Services

Microsoft 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

Object Management Group’s CORBA Common Object Request Broker Architecture Published by the Object Management Group (OMG) – Open source Component standard for distributed and heterogeneous network Interface is managed by Object Request Brokers (ORB)s

Sun Microsystem’s EJB Enterprise Java Beans Component-based architecture with distributed capabilities EJB is a server-side component model for managing objects in a distributed environment

Database Middleware Standards Microsoft’s ODBC – Open Database Connectivity Microsoft’s ADO – ActiveX Data Objects. Enables your client application to access and manipulate data from a variety of sources. Sun’s JDBC – Java Database Connectivity

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

Web Services A Web service is an application programming running on the web with a well defined interface (API) that is accessed via HTTP using XML/SOAP. Web services are executed on a remote system by passing a message to them in the form of a SOAP envelope and receiving the returned result via another SOAP envelope. Web services can be used to implement a SOA service-oriented architecture where the basic unit of communication is a message rather than an operation.

What Is a Framework? A collection of components, consisting of code, templates and interfaces written in a specific language, that can be used to help build a software application. Similar to software libraries Two main competitors: Microsoft’s.NET framework Sun’s Java 2 Enterprise Edition (J2EE)

Microsoft.NET Framework Development framework that integrates COM+ components with ADO and Active Server Pages (ASP) technologies for application development, with support for XML/SOAP and Web services COM+ – middleware component ADO, ADO.NET – database middleware ASP, ASP.NET – for dynamic HTML creation

Features of.NET Framework Visual Studio.NET – IDE (Integrated Development Environment) software tool C#, Visual C++, and Visual Basic.NET – three main programming languages for developing.NET applications Common Language Runtime (CLR) – runtime environment that loads/executes code, manages memory, provides security, exception handling and interoperability

Sun J2EE Framework 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 middleware component JDBC – database middleware JSP (Java Server Pages), Servlets – for dynamic HTML creation

Features of J2EE Framework 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 that runs on a Web server Java Server Pages (JSP) – technology that mixes Java and HTML for dynamic web page creation

Browser-Based Scripting Logic executed within the browser (presentation layer) Enhances HTML with interactive functionality Two main scripting languages: –JavaScript –VBScript

What is a Package? A general-purpose mechanism for organizing common elements into groups Package diagram – a diagram that shows the packages and the relationships between each other

In UML, packages are represented as folders. Dependencies between packages are shown with dashed arrow lines. A CRM package depends on Sale A Package Diagram Depends on

What Is a Design Class? Design Class – an enhanced version of an analysis class that includes more details regarding attributes and methods, including visibility, data type, parameters, return types, and default values if any.

Design Class For Attributes – adding visibility, data type, default values if any For Operations – adding visibility, parameters, including parameter name, data type, direction (in/out/inout), and default value if any, as well as the operation return type. Signature – name, and parameter list of a method Interface – the way you invoke object methods. It is based on the object methods signatures

Visibility The characteristic of an attribute or an operation that identifies 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 package, and objects of any subclasses

Design Class includes: Visibility shown as (–) for private, (+) for public Attribute Data Type Method Parameters including both name and data type Method Return Type A Design Class

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.