1 / 54

Objectives

Objectives . Describe the differences between requirements activities and design activities Explain the purpose of design and the difference between architectural and detailed design activities Describe each design discipline activity. Objectives (continued).

rupali
Download Presentation

Objectives

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Objectives • Describe the differences between requirements activities and design activities • Explain the purpose of design and the difference between architectural and detailed design activities • Describe each design discipline activity Object-Oriented Analysis and Design with the Unified Process

  2. Objectives (continued) • Discuss the issues related to managing and coordinating design activities within the UP • Describe common deployment environments and matching application architectures • Develop a simple network diagram and estimate communication capacity requirements Object-Oriented Analysis and Design with the Unified Process

  3. Moving From Business Modeling Requirements to Design • Systems Design is the Discipline of organizing and structuring the “Components of a System” to enable Construction and Deployment. • The Design Discipline consists of many detailed activities which can be grouped into “High-level Design” Activities. Such as:- • Designing the Support Services Architecture and Deployment Environment • Design Software Architecture • Design Use Case Realizations • Design User Interfaces • Design Systems Interfaces • Design Network design • Systems Control and Security Object-Oriented Analysis and Design with the Unified Process

  4. Moving From Business Modeling Requirements to Design • Input to the Design Activities are Business Models and Requirement Models. • The Output from Design are also a set of Models that describe the Architecture of the new System and the Detailed Structure of and interaction among its various components. • The purpose of Business Modeling is to understand Business needs, Key Processes and Business Environment. • Analyst designs and review Business Models such as Organization Charts, Location Diagrams, Activity Diagrams and Use Case Diagrams in order to understand the Business Processes and develop a vision for the new System. Object-Oriented Analysis and Design with the Unified Process

  5. Moving From Business Modeling Requirements to Design • Analyst builds Requirements Models to understand “Key Business Processes” and “Data” in greater detail. Such as: Domain Model Class Diagrams, Use Case Diagrams and Interaction Diagrams (System Sequence Diagrams, or Collaboration Diagrams) • The Design Discipline continues the Modeling Process by creating new Models and expanding or refining Business and Requirements. Object-Oriented Analysis and Design with the Unified Process

  6. Moving From Business Modeling Requirements to Design The nature of changes from Business and Requirements Modeling to Design Models are primarily concern with“What” and “How” Questions.Business and Requirements Models are primarily concern with “WHAT” Questions: - What are the Business Objectives? - What information must be collected and Processed? - What are the Key Processes for collecting and Using the Information? Design Models are primarily concern with “HOW” Questions, which specify the structure of a System. - How will the Key Processes be performed? - How will key Data be collected and organized? - How will the new System achieves Business Objectives?Design Models tend to be highly detailed and specific to Implantation and Deployment Technology. Thus, Design Models move project closer to Implementation. Object-Oriented Analysis and Design with the Unified Process

  7. Moving From Business Modeling Requirements to Design • Design Models tend to be highly detailed and specific to Implantation and Deployment Technology. Thus, Design Models move project closer to Implementation • Models of Design discipline are “Blueprints”, for a specific system that uses specific technologies within a specific Deployment Environment. • Analyst may expand Business Models such as Domain Class Diagram to include Design details such as specific Methods of Data Access or “Low-level interactions with External Systems and Services. • Analyst may also develop many new Models that are specific to Design. Such new Design Models are:- Database Models, - Network Models, - Package Diagrams - Interaction Diagrams (Sequence Diagrams, Collaboration Diagram Object-Oriented Analysis and Design with the Unified Process

  8. Comparison of Modeling During the Business Modeling, Requirements, and Design Disciplines Object-Oriented Analysis and Design with the Unified Process

  9. The Elements of Design Systems Design Discipline describes, organizes, and structures System Components at both the “Architectural Level Design” and “Detailed Level Design” for the Purpose of Constructing and Deploying the Proposed System. • Architectural Level Design(High Level Design)Broad Design of the overall System Structure , also called “General Design” or “Conceptual Design” Such as Designing: - Hardware, - Network, - System Software Infrastructure • Detailed Design(Low Level Design) Includes the Design of specific Program details such as Software Design for a single Use Case or design of related group of User Interfaces.High-Level Information System Design tasks affect the entire System whereas Lower-Level Design discipline tasks encompass a relatively small part of the System with minimal impact on other parts of the System. During Architectural Design, the Overall Structured is determined first and then solution is formed before trying to design details Object-Oriented Analysis and Design with the Unified Process

  10. Design Activities in the UP Life CycleThe Design Discipline Activities are Segmented into six major activities Architectural Design (Higher-level Design) activities contains and interacts with many Detailed (Lower-level) Design activities Object-Oriented Analysis and Design with the Unified Process

  11. Design the Support Services Architecture / Deployment Environment Modern IS Systems operate in a complex collection of Computer Hardware, Networks and System Software, which is collectively called “Support Services Architecture and Deployment Environment. • Hardware includes:- Servers, Client Workstations, related Peripherals such as Storage Arrays, Printers etc. • Network includes: Local Area wiring, Long Distance Communication links, Switches, Routers and Firewalls. • System Software includes: Operating Systems, Networking Service Software:- such as Domain Naming Services (DNS), Directory and Security Service Software, Component Management Software and DBMS.. Most organization already have existing Support Services Architecture for multiple Information Systems. • If there is an Existing Support Services Architecture , Analyst must determine whether the Existing Architecture can support the New System and what changes (if any) are required. • If Organization have no Existing Architecture or may want to scrap its Existing Architecture, Analyst must design an Architecture to support the proposed System and anticipated future Systems. Object-Oriented Analysis and Design with the Unified Process

  12. Design the Support Services Architecture/ Deployment Environment • Analyst must consider the following Technical Design issues when designing and Deploying a New System for Existing Support Architecture. • Reliability • Security • Throughput • Synchronization • Because of these highly specialized Design issues, Analyst works with Specialists such as Network Engineers, Data Base Administrators System security Consultants etc.. to design New Support Architecture or Modify the Existing Architectures. Object-Oriented Analysis and Design with the Unified Process

  13. Design the Software Architecture • Software Architecture refers to the “Big Picture” , Structural Aspect of an Information System. • Two important Structural Aspects of Software Design are:- • Division of Software into Classes • Distribution of Classes across Processing Locations and specific Computers. • Architectural Design extends the Domain Class Diagram to produce Design Class Diagram that adds design details such as “Visibility of Data Attributes” and the required “Methods”. • Design Classes are Blueprints of “Executable Application Software units” can reside in many different Locations and interact in various ways. Example: • Classes can be executed on an Application Server in response to messages transmitted over a Network using Protocol such as Simple Object Access Protocol (SOAP) • Classes can also be installed on individual Workstations with traditional GUI Interfaces and interact with Data Management System via various Database Protocols. Object-Oriented Analysis and Design with the Unified Process

  14. Design the Software Architecture During Architectural Software Design Analyst must decide: • Where Classes and Objects will execute, • Whether they will be distributed across Multiple Locations, • How objects will communicate • What Programming Language (s) will be used to write Objects • Software Architecture is heavily constrained by the Support Services Architecture and Deployment Environment . e.g. A Web Based Application operating within UNIX, CORBA (Common Object Request Broker Architecture) and Oracle DBMS environment will be different from application deployed on within a Microsoft Windows, (. NET) and SQL Server. • The capacity and capabilities of the Organization’s LAN and WAN Networks will also affect how Application Software is distributed across Locations and types of interaction are possible. Object-Oriented Analysis and Design with the Unified Process

  15. Design Use Case Realizations • The Design of Use Case Realization differs from Architectural Design in several ways including level of details, Number of Iterations, and focus on User Interface and Object Interaction. • While Application Architecture is a High Level View of Application Software, Use Case Realizations are a Lower-level View. • Architectural Design defines a Framework within which Use Cases are realized. Such as: - Distribution of Software Layers across Locations and Computers - Which Software Class will support which Use Case. • When designing Use Case Realization, Analyst focuses on the Interactions among the Classes required to support a particular Use Case and Interaction among Software, Users and External Systems. • Design focus shifts from “Big Picture Structural Issues” to the “Dynamic Interactions” required to perform Specific Processing tasks. • Design of Use Case Realization is typically spread over many UP Iterations each Iteration combining Design and Constructing activities for one or more Use Cases. • Design Class Diagrams and Interaction Diagrams are used to document the Design. Object-Oriented Analysis and Design with the Unified Process

  16. Design the Database Designing Database is another key Design activity • The Class Diagram created during the earlier Design Activity iteration is used to create Physical Model of Database. • Physical Model describes a Relational Database with several tables or Object-Oriented Databases instead of Relational Databases • Analyst must consider several important technical issues When designing the Database Such as:- • Performance, (i.e Response times) since much of Design work may involve Performance tuning to make system work fast enough • Integration with Existing Databases (Legacy databases) to make sure that new Databases are properly integrated with existing Databases Object-Oriented Analysis and Design with the Unified Process

  17. Design the System Interfaces and User Interfaces Systems Interfaces A new System affects many other Existing Systems and Analyst must ensure that they all work together. - Some System Interfaces link Internal organizational Systems, so the Analyst may have information about those other. - Some Systems Interfaces link new System with a System Outside the organization.(B2B). User Interfaces Systems must interact with the Internal Users and External Users. - The User Interfaces is more than just the Screens. It is everything the user comes into contact with while using the System, conceptually, perceptually and physically. - To most Users the interface is a Graphical User Interface (GUI) with windows and mouse interaction. It can also include Sound, Video and Voice command • Analyst needs to consider many User interface issues such as:- - User capabilities and needs differ widely - Each User interacts with the System in different ways - Different approaches to the Interface may be needed to different parts of the System Object-Oriented Analysis and Design with the Unified Process

  18. Design the System Security and Controls Design System Security and Controls activity involves ensuring that the System has adequate safeguards to protect organizational assets. • Design Systems and Security Control Activities include: • User Interface Controls limit access to the System to authorized users • System Interface Controls protect system from other systems • Application Controls ensure correct recording of transactions and validate work • Database Controls ensure that data area protected from unauthorized access and accidental loss due to Software and Hardware failure. • Network Controls ensure that communication through Networks is protected. • Since the Design Systems and Security Control Activities are crucial, specialists are often brought in to work on some Controls, and all System Controls need to be thoroughly tested. Object-Oriented Analysis and Design with the Unified Process

  19. Design Activities and the UP Although Unified Process (UP) Design Activities can occur in any Project Phase or Iteration the Architectural and Detail Design Activities tend to be distributed differently. • Since the Design activities concerned with Software Architecture and Databases provide a foundation for Detailed Design and Construction they must be concentrated in early Iterations during the Elaboration Phase. (UP Life Cycles:- Inception, Elaboration, Construction, Transition) • Detail Design Activities are typically spread more evenly throughout the Project . e.g User Interfaces are usually designed while their corresponding Software components are being Designed and constructed. • One of the more challenging aspect of UP System Design is determining which parts of the System need to be designed in which iteration. • Criteria Analyst uses to Schedule Design activities • Experience • Forecasting capabilities The best practice is to complete Architectural Design Activities in early Iterations. Object-Oriented Analysis and Design with the Unified Process

  20. Project Management - Coordinating The Project Project Management is critical when Design Activities are initiated. • Design activities require substantial Coordination due to:- • Frequentation of System into subsystems each has unique Design requirements. • Project Team may divide into smaller teams to focus on the Subsystems and other design issues (such as Network configuration, Database Design, Distributed processing needs and communications capability are common to all subsystems), with multiple iterations proceeding in parallel. • Complicating Factors of Project Coordination • Tracking multiple Iterations in parallel • Initiation of two other mini Projects during the Design Activities i.e: • Data Conversion Project • Test Case Development Project • Initiation of Construction activities such as Programming also begin (Design and Programming for an iteration are usually conducted concurrently. Programming can begin as soon as Design decisions are made) • Addition (or departure) of team members • Distribution of Project team members over different locations complicates project communications management Object-Oriented Analysis and Design with the Unified Process

  21. Coordinating Project Teams The fundamental tool used to Coordinate various Project Teams’ Activities is the Project Schedule. • When Design Activities begin Project Manager must Update the Schedule by:- • Estimate Durations for Design and Construction Tasks • Estimate Duration of Tasks associated with Outstanding Tasks associated with ongoing Requirements Definition. - In the early Iteration The Project Manager often does all Project Management Tasks. - When the Project expands and several Teams are formed, Management of the Project becomes more complicated.. - Frequently a committee composed of the Leaders the Design and Construction Teams assumes more responsibility for Coordinating and Controlling aspects of Project Management. ( e.g. Weekly, sometimes Daily “Status Meetings” are held including teleconferencing support. Object-Oriented Analysis and Design with the Unified Process

  22. Coordinating Information • Development Teams begin to generate tremendous amount of detailed information about the System as Design moves forward. • Classes, Data fields, Forms, Reports, Methods, Tables are all being defined in substantial detail. • Tremendous amount of Coordination is needed to keep track of these pieces of information • The most common and widespread technique to Record and Track Project information is to use a CASE Tool with Repository to store Project information. • Other Tools and techniques called “Computer Support for Collaborative Work” (such as Lotus Notes) are also available to help with Team Communication and Information Coordination. • One especially difficult part of Development Project is tracking Open Items an Unresolved Issues. One simple method to solve this is to have an Open-Items Log. Object-Oriented Analysis and Design with the Unified Process

  23. System Development Information Stored in the CASE Repository Object-Oriented Analysis and Design with the Unified Process

  24. Deployment Environment Deployment Environment consists of the Hardware, System Software and Networking Environment, in which the System will Operate. Modern Application Software is usually Deployed in in a Distributed Multicomputer Environment and is organized according to Client/Server Architecture or a variant Such as:- - Three-Layer Architecture, - Distributed Software across Hardware platforms; - Specifying required Protocols, Middleware, and Networks. Object-Oriented Analysis and Design with the Unified Process

  25. COMMON DEPLOYMENT ENVIRONMENTS SINGLE-COMPUTER ARCHITECTUREArchitecture that employs a single Computer System executing all Application-related Software and directly attached Peripheral devices, such as large Mainframe Architecture.. • Single-Computer Architecture often requires all System Users to be located near the computer. • Advantages • The primary Advantage is simplicity. Information Systems Deployed on a Single Computer System are relatively easy to Design, Build, Operate and Maintain. • Disadvantages: The ‘Capacity Limits’ may make Single-Computer Architecture impractical or unusable for large Information Systems. Since many Systems are so large that even the largest Mainframe Computers (Supercomputers) cannot perform all the required Processing , Data storage and Data Retrieval tasks. Object-Oriented Analysis and Design with the Unified Process

  26. COMMON DEPLOYMENT ENVIRONMENTS Multitier Architecture (Multiple Computer Systems)Multitier Architecture distributes Application-related Software or Processing load across multiple Computer Systems. The two types of Multitier Architecture are:- • Clustered Architecture - A Group of Computers of the same type that shares Processing load and act as a Single Large Computer System. - Programs are allocated to the least utilized computer when they executed so that the processing load can be balanced across all machines. - Computers are normally located near one another so they can be connected with short high-capacity Communication links. • Multicomputer Architecture A group of dissimilar Computers that share Processing load through specialization of function. . Each computer System is optimized to the role that it will play in the combined System (Eg. Database Server, Application Server) Both Hardware and Operating Systems may be dissimilar Object-Oriented Analysis and Design with the Unified Process

  27. Single-Computer, Clustered, and Multicomputer Architectures Object-Oriented Analysis and Design with the Unified Process

  28. CENTRALIZED AND DISTRIBUTED ARCHITECTURE CENTRALIZED ARCHITECTURE Architecture that Deploys (locates) all Computing resources in a central location. Generally Used for Large-scale Online and Batch Processing Applications in Banking , Insurance, and Catalog Salesindustries Information Systems Characteristic of Centralized Architecture: Any Application that has two or three of these characterizes a viable candidate • Some Input transactions do not need to be processed in Real time mode • Online Data Entry personnel can be located centrally • The system produces a large amount of periodic outputs (eg. Statements etc) • A High volume of transacts occurs between high-speed computers (Such as B2B processing for Supply Chain Management)Centralized Computer Systems are typically used to implement one or more subsystems within a large Information Systems that include Online, Batch and geographically dispersed components. Object-Oriented Analysis and Design with the Unified Process

  29. CENTRALIZED AND DISTRIBUTED ARCHITECTURE Distributed Architecture Architecture that deploy Computer resources in multiple locations connected by a Computer network. • Architecture relies on Communicating Networks to connect geographically dispersed Computer Hardware components. Computer Networks A set of transmission lines, specialized equipment, and Communication Protocols that permits sharing of information and resources. Depending on the distance the Computer Networks are divided into two classes:- Local Area Network (LAN) Wider Area Network (WAN) Object-Oriented Analysis and Design with the Unified Process

  30. COMPUTER NETWORKS • LANs are members of WANs. • ROUTER connects each LAN to the WAN. Router scans messages on the LAN and copies them to WAN or vice versa. • Technologies such as Ethernet are used to implement LAN. • LAN provides low to moderate amounts of message-carrying capacity at a relatively low cost. LAN connects Computers at each geographic locationwhere the distance is local. (i.e. less that 1 kilometer long usually within a single building). Object-Oriented Analysis and Design with the Unified Process

  31. Computer Networks WAN connects computers spread across large distances such as cities, geographical regions, countries, continents or entire globe. • WAN technologies such as Asynchronous Transfer Mode are more complex and expensive, although they typically provide higher message-carrying capacity and greater reliability. • WAN’s may be constructed using purchased equipment and leased long-distance transmission lines or subcontracted from a Service provider. (Eg. AT$T) Computer Networks provide generic Communication capabilities such as:- • Direct communications, (e.g Telephone service and Video Conferencing) • Message-based communications: (e.g. e-mail ) • Resource sharing (e.g .Electronic Documents, Application Programs, and Databases) There are many ways to distribute Information System resources across aComputer Network.: - Users, Application Programs and Databases can be placed on the same Computer System, On different Computer Systems on the same LAN, or Different Computer Systems on different LAN’s.- Application Programs and Databases can also be subdivided and each distributed separately. Object-Oriented Analysis and Design with the Unified Process

  32. A Possible Network Configuration for RMO Object-Oriented Analysis and Design with the Unified Process

  33. THE INTERNET, INTRANETS AND EXTRANETS • Internet: A global collection of networks that use the same Networking Protocol TCP/IP. • WWW(The World Wide Web) or the Web is the collection of Resources (i,.e. Programs, Files, Services) that can be accessed over Internet by a number of Standard Protocols including:- • Formatted and Linked Document Protocols (eg. HTML, XML, HTTP) • Executable Program Standard (eg. Java, Java script, VB Script) • Distributed Software and Web-Service Standards (Distributed Computing Environment (DCE) , SOAP and CORBA. • Intranet:Is a Private network that is accessible to a limited number of Users, but which uses the same TCP/IP Protocol as the Internet. • Extranet:An Intranet that has been extended outside the organization to directly related organizations, to facilitate the flow of information. • One Widely used method of Implementing an Extranet is through a Virtual Private Network. (VPN). • VPN (Virtual Private Network) is a Network with Security and Controlled access for Private Group, but built on top of a Public Network such as Internet. Object-Oriented Analysis and Design with the Unified Process

  34. CLIENT/SERVER ARCHITECTURE Complex Distributed and Multitier Hardware and Network Architectures require more complex Software Architecture like Client/Server Architecture. CLIENT/SERVER ARCHITECTURE Client/Server Architecture divides Software into two types, “Client” and “Server”. - CLIENT: Communicates with a Server to ‘Request’ Resources or Services and the Server ‘Responds’ to those requests.- SERVER: Manages one or more Information System Resources or provides a well defined Services over a Network. • Client/Server Architecture is a general Model of Software Organization and behavior that can be implemented in many different ways. A typical example for a Client/Server Architecture is the interaction between a Client Application Program on a Workstation and a Database Management System on a Server. Object-Oriented Analysis and Design with the Unified Process

  35. Client/Server Architecture with a Shared Database Object-Oriented Analysis and Design with the Unified Process

  36. CLIENT/SERVER ARCHITECTURE The Architectural Issues to be addressed when Designing Client/Server Software:- • Decomposing Software into Client and Server Programs or Objects • Determining which Clients and Servers will execute on which Computer Systems • Describing Communication Protocols and Networks that connect Clients and Servers. • The Key to Decomposing Software into Clients and Servers is to identify the Resources or Services that can be centrally managed by independent Software units. • A Centrally Managed Services include: - Security Authentication and Authorization, - Credit verification and Scheduling. In each cases a well defined process is based on a Data Storage that is hidden from the Client. Object-Oriented Analysis and Design with the Unified Process

  37. CLIENT/SERVER ARCHITECTURE Client and Server can be execute on any Computer System. The most popular arrangement is to place Server Software on a Server Computer System and distribute Client Software to computer Systems (Workstations) close to “End- Users”. • Client and Server communicates via well defined Communication Protocols such as TCP/IP ( a low-level Protocol) over a LAN Network. • Designer must also specify higher-level Protocols or Languages by which Client and Server exchange Service Requests, Responses and Data. - In some cases Communication with a DBMS can be by a standard Protocol Such as SQL to communication with a DBMS via an ODBC (Open Database Connectivity). - In other cases the designer must define the exact format and content of valid “Messages” and “Responses”. If the service is provided by an External organization such as Credit Verification service by VERISIGN, then the Designer must ensure that Clients adhere to the Protocol. Object-Oriented Analysis and Design with the Unified Process

  38. CLIENT/SERVER ARCHITECTURE • ADVANTAGES of Client/Server Architecture • Location flexibility - The ability to move System components without disturbing other Systems components, in response to changing organizational parameters such as size and physical location. • Scalability– The ability to increase System capacity by upgrading or changing the Hardware on which the Software components execute. • Maintainability– The ability to update the Internal implementation of one part of a System without needing to change other parts. • DISADVANTAGES of Client/Server Architecture • Additional Complexity introduce by the Client/Server Protocols • Potential Poor Performance, • Securityand Reliability issues that arise from communication over Networks • For most organizations the Advantages of Client/Server architecture far outweigh the Disadvantages. As a result Client/Server Architecture and its new variants have become the dominant Architecture. Object-Oriented Analysis and Design with the Unified Process

  39. Interaction Among Multiple Clients and a Single Server Object-Oriented Analysis and Design with the Unified Process

  40. THREE-LAYER CLIENT/SERVER ARCHITECTURE A Variant of Client/Server Architecture, called “Three Layer Architecture” divides Application Software into a set of Client and Server Processes independent of Hardware or Locations.All Layers might reside on one Processor or three or more Layers might be distributed across many Processors (i.e Many Tiers) • The most common Set of Software Layers include:- • The Data Layer(Manages stored data in Databases) • The Business Logic Layer(Rules and procedures for processing) • The View Layer(Accepts User Input, formats and displays Output.) • The Layers are relatively independent of one another. It does not matter where other Layers are implemented or what type of Computer or Operating Systems they execute. • The only interlayer dependencies are a “Common Language for Requests and Responds(Middleware) and a reliable Network with sufficient Communication capacity. Object-Oriented Analysis and Design with the Unified Process

  41. Three-Layer Architecture Object-Oriented Analysis and Design with the Unified Process

  42. THREE-LAYER CLIENT/SERVER ARCHITECTURE • Multiple Layers can execute on the same Computer or each Layer can operate on a separate Computer. • Complex Layers can be split across two or more Computer System. System Capacity can be increased by splitting Layer functions across Computers or by load sharing across redundant computers. • Three Layer Architecture provides the flexibility needed by modern organizations to deploy and redeploy information processing Resources in response to rapidly changing conditions. • Three Layer Architecture is a widely applied Architectural Design Patterns for Object-Oriented Software. • Key Design tasks of Client/Server Architecture are Decomposing: - The Application Software into Layers. - Clients and Servers, - Distributing the “Pieces” across Hardware Platforms - Defining the Physical Network and Protocols. • The Business Logic Layer is the Core of the Application Software and is a Server of the View Layer and is a Client of the Data Access Layer.The Business Logic Layer may itself be decomposed into multiple Clients and Servers. Object-Oriented Analysis and Design with the Unified Process

  43. MIDDLEWARE Middleware is the Computer Software implements communication Protocols on Network and helps different System Communicate. • Middleware Connects parts of an Application and enables Requests and Data to pass among them • Common Types of Middleware • Teleprocessing Monitors • Transaction Processing Monitors • Object Request Brokers (ORBs) • Designer usually relies on Standard Frameworks and Protocols incorporated into Middleware for Client/Server Protocols. (e.g. Open Database Connectivity (ODBC) and SQL for Database interactions, HTTP or XML for Web Protocols. • Object-Oriented Software distributed across Multiple Layers and Multiple Hardware platforms relies on ORB based on Distributed Object interface standards such as CORBA. • Distributed non Object- Oriented Software relies on different Middleware products based on standards such as DCE or Microsoft COM+. • Web- based Applications rely on Web- Oriented Protocols such as Microsoft ( .NET) and Sun J2EE and specific Middleware products that implement and support those protocols. Object-Oriented Analysis and Design with the Unified Process

  44. INTERNET AND WEB-BASED SOFTWARE ARCHITECTURE The Web is a complex example of Client/Server Architecture • Web Resources are managed by Server processes that can execute on dedicated Server Computers or on Multipurpose Computers • Clients are Programs that send Requests to Servers using standard Web Resource Request Protocols. • Web Protocols define valid Resource Formats and a standard means of requesting Resources and Services. • Any Programs (not Just Web Browser) can use Web Protocols. Thus, Web-like capabilities can be embedded in ordinary Application Programs. • Web Service Standards such as (.NET) and (J2EE) enable a Web-Oriented Client/Server Architecture commonly called a Service-Oriented Architecture (SOA) • Service Oriented Architecture (SOA) Packages:- - Application Software into Server Software, which can be managed by and accessed via a Web Server. - Service Request and Responses in XML Documents and transmits them over the Internet. • SOE simplifies Client and Server interaction, particularly for B2B Applications. Object-Oriented Analysis and Design with the Unified Process

  45. INTERNET AND WEB-BASED SOFTWARE ARCHITECTURE • Internet and Web Technologies present an attractive alternative for implementing Information Systems. • Flexibility is the key to the Internet alternatives. • Implementing the Application via Internet greatly expands Application’s accessibility and also eliminates the need to install Client Software on Laptop computers. • With Internet Technology, Client Software can be updated by simply updating the Version stored on the Web Server. • The Application is relatively cheap to develop and deploy because existing Web Standards and Networking resources are employed.The key Application Design for Web-based Applications are the same similar to other Client/Server Architectures: - Defining Client and Server Processes or Objects; - Distributing them across Hardware Platform- Connecting them appropriate Networks, Middleware and Protocols.)However, the Choice for Middleware and Protocols for Web-based Applications are much more limited. Object-Oriented Analysis and Design with the Unified Process

  46. INTERNET AND WEB-BASED SOFTWARE ARCHITECTURE ADVANTAGES OF INTERNET OVER TRADITIONAL CLIENT/SERVER APPLICATIONS • Accessibility : Internet, Intranet and Extranet applications to large number of Users because of ubiquitous availability of Internet Browsers and Connections • Low cost Communication: Traffic on network backbone (High capacity WAN ) travels free of charge to the User. Companies can use Internet as a low-cost WAN. • Widely Implemented Standards:- Web Standards are well known and many IT Professionals are trained in their uses. DISADVANTAGES OF WEB TECHNOLOGIES • Security: Web servers are target for Security breaches since Web standards are open and widely known by IT professionals. • Reliability:- Internet Protocol do not guarantee a minimum level of Network throughput even neither that the message will be received by its intended recipient. • Throughput:- Home Users are subject to a Data Transfer Capacity of less than 56Kps (Analog Modem) as well as slow response time and long delays for all users due to overloading on backbone WANs. • Volatile Standards: Web standards change rapidly, thus client software is updated every few months causing dilemma to widely used Application Developers Object-Oriented Analysis and Design with the Unified Process

  47. NETWORK DESIGN Network Planning and Design are critical issues for any Multitiered System. • The Key Network Design issues • Integrating Network needs of the new System with Existing Network infrastructure. • Describing Local Processing activity and Network connectivity at each System location. • Describing the Communication Protocols and Middleware that connect Layers • Ensuring that sufficient Network Capacity is available Object-Oriented Analysis and Design with the Unified Process

  48. NETWORK INTEGRATION Modern organizations rely on Networks to support many different Applications, thus the majority of New Systems must be integrated into Existing Networks without disrupting Existing Applications. Factors impacting Network Integration • Connections for new Servers • Modifying Routing and Firewall Configuration • Expansion of Network Capacity • New Communication Protocols • Modified Security Protocols • Analyst begins Network design by consulting with Network Administrator and may share or delegate tasks to the Network Administrator or Consultants to handle Network Administration due to its complexity. Object-Oriented Analysis and Design with the Unified Process

  49. NETWORK DESCRIPTION • The Analyst expands the information content on the Location Diagrams including; Processing Locations, Communication protocols, Middleware and Communication Capacity when creating a Network Diagram. • Network Diagram describes how Application Layers are distributed across locations and Computer Systems. • Network Diagram embodies specific assumptions about Server Locations, which would be decided in consultation with Network Administration. • Decisions like Server Locations, Communication Routers and Network Security options are determined both by Application requirements and Organization-wide Policies. Object-Oriented Analysis and Design with the Unified Process

More Related