Application Design & Architecture

Embed Size (px)

Citation preview

  • 7/29/2019 Application Design & Architecture

    1/19

    Application Design & Architecture

  • 7/29/2019 Application Design & Architecture

    2/19

    Architecture Definition

    Architecture is defined by the recommended practice as the fundamentalorganization of a system, embodied in its components, their relationships toeach other and the environment, and the principles governing its design andevolution.

    This definition is intended to encompass a variety of uses of the termarchitecture by recognizing their underlying common elements. Principal amongthese is the need to understand and control those elements of system design

    that capture the systems utility, cost, and risk. In some cases, these elements are the physical components of the system and

    their relationships. In other cases, these elements are not physical, but instead, logical

    components. In still other cases, these elements are enduring principles or patterns that

    create enduring organizational structures. The definition is intended toencompass these distinct, but related uses, while encouraging more rigorousdefinition of what constitutes the fundamental organization of a system withinparticular domains.

    * Reference: ANSI / IEEE Std 1471-2000, Recommended Practice for Architectural Description of Software-Intensive Systems

  • 7/29/2019 Application Design & Architecture

    3/19

    Architecture Drivers - Business

    Functional Requirements

    Time to Market

    Technology Enabled Solutions to create competitive

    edge in business marketplace Ability to respond to changes in business

    marketplace effectively

  • 7/29/2019 Application Design & Architecture

    4/19

    Architecture Drivers - Technical

    Quality Attributes

    Scalability

    Reliability

    Performance

    Extensibility

    Define & Implement Standards

    Leverage existing organizational assets

    Cost Effective solutions

    Vendor Management (Product & Software vendors)

  • 7/29/2019 Application Design & Architecture

    5/19

    Success Factors

    Technology as an enabler for Business

    Meeting Business Requirements & Objectives

    Timeliness and Effectiveness of the solution

    Repeatable & Reusable Components Quality of Service

  • 7/29/2019 Application Design & Architecture

    6/19

    The Multi-Million Dollar Question

    Build Buy

  • 7/29/2019 Application Design & Architecture

    7/19

    Architecture Evolution

    As separation of the business rules and the dynamic sequencing of the process stepsbecomes common, it will enable the late binding of business applications and theirorchestrating processes. This late binding allows for the most-agile dynamically linked

    applications with instantly controlled outcomes, thus enabling management to make changesinstantly, if desired.. from Gartner, February 2005

  • 7/29/2019 Application Design & Architecture

    8/19

    Approach Alternatives

    Enterprise Architecture Approach

    Application Driven (Object Oriented)

    Data Driven

    Distributed Systems Component Driven

    Service Oriented

  • 7/29/2019 Application Design & Architecture

    9/19

    Enterprise Architecture Approach

  • 7/29/2019 Application Design & Architecture

    10/19

    Enterprise Architecture Framework

    BusinessArchitecture

    ApplicationArchitecture

    DataArchitecture Technology

    Architecture

    Alignment of IT strategy and planning withcompany's business goals.

    Optimization of information managementapproaches through an understanding of

    evolving business needs and technologycapabilities.

    Long-term strategic responsibility for thecompany's IT systems.

    Promotion of shared infrastructure and

    applications to reduce costs and improveinformation flows.

    Management of the risks associated withinformation and IT assets throughappropriate standards and securitypolicies.

  • 7/29/2019 Application Design & Architecture

    11/19

    Enterprise Architecture Principles

    Security: applications should ensure data and access

    security

    Ownership: clear and explicit ownership of enterprise

    data Leverage assets: leverage existing services and

    capabilities

    Accessibility: be aware of to needs of all users

    (location & disabilities)

    Real-time: Minimize latency of data updates

    Standards: promote consistency using standards

  • 7/29/2019 Application Design & Architecture

    12/19

    Enterprise Architecture Deliverables

    Current State

    System ContextDiagram

    Key SystemsInventory

    System Logical andPhysical Architecture

    DiagramsContext

    Services Matrix

    Integration Inventory Systems on a Page

    Business Process Flowsand Scenarios

    Future State

    TechnologyStandards Business StrategyFuture State Services

    Matrix

    Future State Logical Architecture Vision

    Road Map

    List of Initiatives

    Prioritization Model

    Architecture MigrationMaps

    Short Term Roadmap

    Long Term Roadmap

    Timeless/Evolutionary

    Enterprise Data Model

    Architectural Review

    Process

    IT Governance Process

    Architectural

    Principles

  • 7/29/2019 Application Design & Architecture

    13/19

    Business Architecture

    Blue Print for the Business - The Enterprise BusinessArchitecture defines the formal link between the enterprisebusiness strategy and the results predicted from supportingstrategic initiatives.

    The Business Architecture is necessary as a means of

    demonstrating the business value of subsequent TechnicalArchitecture work to key stakeholders, and the return oninvestment to those stakeholders from supporting andparticipating in the subsequent work.

    Allows the business to grow by design rather than by seat-of-pants

    Some available models:

    BPM

    Use Case Model

    Class Model

  • 7/29/2019 Application Design & Architecture

    14/19

    Application Architecture

    An Enterprises Application architecture needs to span acrossall business units of an organization deliver appropriatesolutions as technology and business requirements evolve andnew business processes emerge over time.

    Key questions to answer

    Application Strategy "What To Deliver?" Technology Strategy "What To Deliver It On?"

    Design Strategy "How To Build It? (in the most cost-effective and flexible way)

    Goal of an Enterprise Architecture is Integration of diverse

    business applications to provide Data (information) integration

    Process integration: linking business processes acrossapplications.

    Vendor independence

    Common facade

  • 7/29/2019 Application Design & Architecture

    15/19

    Data Architecture

    Data architecture defines how data is stored, managed, andused in a system. It establishes common guidelines for dataoperations that make it possible to predict, model, gauge, andcontrol the flow of data in the system.

    Some Key Questions:

    how data is persistently stored

    how components and processes reference and manipulatethis data

    how external/legacy systems access the data

    interfaces to data managed by external/legacy systems implementation of common data operations

  • 7/29/2019 Application Design & Architecture

    16/19

    Technology Architecture

    A Technology Architecture blueprints the strategy of informationtechnology to be utilized as part of the organization's overallbusiness strategy.

    It should provide metrics to assess the value of IT investments

    prioritize IT initiatives

    channel IT spending to increase the return on investmentwhile maintaining an acceptable risk-reward balance.

    This architecture will comprise of:

    Logical architecture of all IT systems

    Physical architecture of all IT systems

  • 7/29/2019 Application Design & Architecture

    17/19

    MICROSOFT

    .NET FrameWork Common Language Runtime

    (CLR) Microsoft .NET Microsoft Certifications - Links Microsoft Cluster Services Microsoft Component Object

    Model (COM) Microsoft Office Software Microsoft Technologies for

    Designing E-Commerce Web Sites Microsoft Solutions for Mobile

    App. Development Visual C++

    Visual Basic (VB) Links Visual Basic (VB) .NET Visual Studio .NET Microsoft Internet Information

    Server (IIS) Microsoft Transaction Server

    (MTS)

    Windows XP Editions Windows Server 2003 Microsoft ODBC Windows 2000 Links Windows CE Links Windows on Linux Tools

    Windows NT Utilities Windows Programming Windows XP Links Windows Vista ActiveX SQL Server COM DOM ASP

    http://www.peterindia.net/DotNETFrameWork.htmlhttp://www.peterindia.net/CommonLanguageRuntime(CLR).htmlhttp://www.peterindia.net/CommonLanguageRuntime(CLR).htmlhttp://www.peterindia.net/DotNETView.htmlhttp://www.peterindia.net/MicrosoftCertificationResources.htmlhttp://www.peterindia.net/MicrosoftClusterServices.htmlhttp://www.peterindia.net/COMOverview.htmlhttp://www.peterindia.net/COMOverview.htmlhttp://www.peterindia.net/MicrosoftOffice.htmlhttp://www.peterindia.net/MicrosoftE-commerce.htmlhttp://www.peterindia.net/MicrosoftE-commerce.htmlhttp://www.peterindia.net/MicrosoftMobileSolutions.htmlhttp://www.peterindia.net/MicrosoftMobileSolutions.htmlhttp://www.peterindia.net/VisualC++.htmlhttp://www.peterindia.net/VBALinks.htmlhttp://www.peterindia.net/VBdotNET.htmlhttp://www.peterindia.net/VisualStudiodotNET.htmlhttp://www.peterindia.net/MicrosoftInternetInformationServer(IIS).htmlhttp://www.peterindia.net/MicrosoftInternetInformationServer(IIS).htmlhttp://www.peterindia.net/MTS.htmlhttp://www.peterindia.net/MTS.htmlhttp://www.peterindia.net/WindowsXPView.htmlhttp://www.peterindia.net/Windows2003Links.htmlhttp://www.peterindia.net/ODBCLinks.htmlhttp://www.peterindia.net/Windows2000Links.htmlhttp://www.peterindia.net/WindowsCELinks.htmlhttp://www.peterindia.net/WindowsOnLinuxTools.htmlhttp://www.peterindia.net/WindowsNTUtilities.htmlhttp://www.peterindia.net/WindowsProgrammingResources.htmlhttp://www.peterindia.net/WindowsXPLinks.htmlhttp://www.peterindia.net/WindowsVista.htmlhttp://www.peterindia.net/ActiveXLinks.htmlhttp://www.peterindia.net/SQLServerLinks.htmlhttp://www.peterindia.net/COMLinks.htmlhttp://www.peterindia.net/DOMLinks.htmlhttp://www.peterindia.net/ASPLinks.htmlhttp://www.peterindia.net/ASPLinks.htmlhttp://www.peterindia.net/DOMLinks.htmlhttp://www.peterindia.net/COMLinks.htmlhttp://www.peterindia.net/SQLServerLinks.htmlhttp://www.peterindia.net/ActiveXLinks.htmlhttp://www.peterindia.net/WindowsVista.htmlhttp://www.peterindia.net/WindowsXPLinks.htmlhttp://www.peterindia.net/WindowsProgrammingResources.htmlhttp://www.peterindia.net/WindowsNTUtilities.htmlhttp://www.peterindia.net/WindowsOnLinuxTools.htmlhttp://www.peterindia.net/WindowsCELinks.htmlhttp://www.peterindia.net/Windows2000Links.htmlhttp://www.peterindia.net/ODBCLinks.htmlhttp://www.peterindia.net/Windows2003Links.htmlhttp://www.peterindia.net/WindowsXPView.htmlhttp://www.peterindia.net/MTS.htmlhttp://www.peterindia.net/MTS.htmlhttp://www.peterindia.net/MicrosoftInternetInformationServer(IIS).htmlhttp://www.peterindia.net/MicrosoftInternetInformationServer(IIS).htmlhttp://www.peterindia.net/VisualStudiodotNET.htmlhttp://www.peterindia.net/VBdotNET.htmlhttp://www.peterindia.net/VBALinks.htmlhttp://www.peterindia.net/VisualC++.htmlhttp://www.peterindia.net/MicrosoftMobileSolutions.htmlhttp://www.peterindia.net/MicrosoftMobileSolutions.htmlhttp://www.peterindia.net/MicrosoftE-commerce.htmlhttp://www.peterindia.net/MicrosoftE-commerce.htmlhttp://www.peterindia.net/MicrosoftE-commerce.htmlhttp://www.peterindia.net/MicrosoftE-commerce.htmlhttp://www.peterindia.net/MicrosoftOffice.htmlhttp://www.peterindia.net/COMOverview.htmlhttp://www.peterindia.net/COMOverview.htmlhttp://www.peterindia.net/MicrosoftClusterServices.htmlhttp://www.peterindia.net/MicrosoftCertificationResources.htmlhttp://www.peterindia.net/MicrosoftCertificationResources.htmlhttp://www.peterindia.net/MicrosoftCertificationResources.htmlhttp://www.peterindia.net/MicrosoftCertificationResources.htmlhttp://www.peterindia.net/DotNETView.htmlhttp://www.peterindia.net/CommonLanguageRuntime(CLR).htmlhttp://www.peterindia.net/CommonLanguageRuntime(CLR).htmlhttp://www.peterindia.net/DotNETFrameWork.html
  • 7/29/2019 Application Design & Architecture

    18/19

    SUN

    Application and Integration Services Application Development

    Desktop Multimedia, Web Browsers Enterprise Computing

    Solaris Enterprise System

    Sun Java Enterprise System Sun Java System Suites

    Hardware Drivers

    High Performance Computing Shared Visualization Identity Management

    Java and Technologies

    Operating Systems Solaris, Sun Cobalt Patches and Updates

    Systems Administration

  • 7/29/2019 Application Design & Architecture

    19/19

    ORACLE

    BI and Data Warehousing

    Embedded

    Java Developer

    Linux PHP Developer

    PL/SQL

    Service-Oriented Architecture

    XML