S1 Informatic Engineering

Similar documents
S1 Informatic Engineering

index_ qxd 7/18/02 11:48 AM Page 259 Index

Object Oriented Analysis and Design - Part2(Design)

Architectural Blueprint

Software Architecture

Chapter 10 Web-based Information Systems

Unit Wise Questions. Unit-1 Concepts

Index. Symbols and Numbers

Application Servers in E-Commerce Applications

HOMELESS INDIVIDUALS AND FAMILIES INFORMATION SYSTEM HIFIS 4.0 TECHNICAL ARCHITECTURE AND DEPLOYMENT REFERENCE

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

Enterprise Software Architecture & Design

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Integration With the Business Modeler

About Me Specialize in performance last 15 years Currently performance testing and optimization of Hyperion products at Oracle Blog at

Appendix A - Glossary(of OO software term s)

Object-Oriented Analysis and Design Using UML (OO-226)

White Paper: Delivering Enterprise Web Applications on the Curl Platform

Client/Server-Architecture

The ATCP Modeling Framework

for TOGAF Practitioners Hands-on training to deliver an Architecture Project using the TOGAF Architecture Development Method

CAS 703 Software Design

CERTIFICATION SUCCESS GUIDE ENTERPRISE ARCHITECT FOR JAVA 2 PLATFORM, ENTERPRISE EDITION (J2EE ) TECHNOLOGY

Design concepts for data-intensive applications

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

Creating an Intranet using Lotus Web Content Management. Part 2 Project Planning

Developing Java TM 2 Platform, Enterprise Edition (J2EE TM ) Compatible Applications Roles-based Training for Rapid Implementation

Designing Component-Based Architectures with Rational Rose RealTime

The Web Service Sample

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.

Object-Oriented Analysis and Design Using UML

Enterprise Web based Software Architecture & Design

ITM DEVELOPMENT (ITMD)

Software Architectures. Lecture 6 (part 1)

Microsoft SharePoint Server 2013 Plan, Configure & Manage

6 Identify Design Elements

Building the User Interface: The Case for Continuous Development in an Iterative Project Environment

Vendor: The Open Group. Exam Code: OG Exam Name: TOGAF 9 Part 1. Version: Demo

20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code.

WHAT IS SOFTWARE ARCHITECTURE?

VMware BCDR Accelerator Service

6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views

Emerging Technologies in Knowledge Management By Ramana Rao, CTO of Inxight Software, Inc.

XBS Application Development Platform

The ADC Guide to Managing Hybrid (IT and DevOps) Application Delivery

A General ecommerce Platform with Strong International and Local Aspects

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system

UNIT-I Introduction of Object Oriented Modeling

SERVICE-ORIENTED COMPUTING

Avancier Methods (AM) Software Architecture Diagrams

Edge Side Includes (ESI) Overview

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

ArchiMate 2.0. Structural Concepts Behavioral Concepts Informational Concepts. Business. Application. Technology

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

COMMUNICATION PROTOCOLS

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

Requirements Gathering

STARCOUNTER. Technical Overview

X100 ARCHITECTURE REFERENCES:

Enterprise Java Unit 1-Chapter 2 Prof. Sujata Rizal Java EE 6 Architecture, Server and Containers

Middle East Technical University. Department of Computer Engineering

How to build a UML model

WW HMI SCADA Connectivity and Integration - Multi-Galaxy

Announcements. How to build a UML model. Rational Unified Process. How RUP builds a model. UI design. Architect

Business Architecture Implementation Workshop

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Topics. From UI prototype... About user interfaces. ... via design to implementation. Pearson Education 2005 Chapter 7 (Maciaszek - RASD 2/e) 6

INF5120 and INF9120 Modelbased System development

SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA

Pearson Education 2005 Chapter 7 (Maciaszek - RASD 2/e) 2

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Verteilte Systeme (Distributed Systems)

Lecture 16: (Architecture IV)

Architecture and Governance with SharePoint for Internet Sites. Ashish Bahuguna Kartik Shah

Alteryx Technical Overview

Web Serving Architectures

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

Enterprise JavaBeans. Layer:01. Overview

White Paper. Major Performance Tuning Considerations for Weblogic Server

PeopleSoft Internet Architecture

Migrating a Business-Critical Application to Windows Azure

Enterprise Architecture Views and Viewpoints in ArchiMate - Reference

POAD Book: Chapter 4: Design Patterns as Components Chapter 5: Visual Design Models

Distributed Multitiered Application

Analysis Modeling Week 5

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

Chapter 6 Architectural Design. Chapter 6 Architectural design

Scott Lowden SAP America Technical Solution Architect

Java Enterprise Edition

Advanced Lectures on knowledge Engineering

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title

DEPLOYMENT GUIDE Version 1.1. Deploying F5 with IBM WebSphere 7

TUTORIAL: WHITE PAPER. VERITAS Indepth for the J2EE Platform PERFORMANCE MANAGEMENT FOR J2EE APPLICATIONS

Essentials of design management with Rational Software Architect

Release Notes for Cisco Service Portal for Release 9.4

Implementation Architecture

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

WebSphere 4.0 General Introduction

Introduction to AppDev Studio Software

(9A05803) WEB SERVICES (ELECTIVE - III)

Transcription:

S1 Informatic Engineering Advanced Software Engineering Web App. Process and Architecture By: Egia Rosi Subhiyakto, M.Kom, M.CS Informatic Engineering Department egia@dsn.dinus.ac.id +6285640392988

SYLLABUS 8. Web App. Process and Architecture 9. WebE Design (1) 10. WebE Design (2) 11. Real Time Software 12. Testing Web App. 13. Present Tugas Besar 14. Present Tugas Besar

The process Agenda o Express the process in terms of UML model Defining the architecture o The activities o Web app architectural pattern o Presentation tier pattern 3 September 2008 IF3037

Software Development for Web App 4 September 2008 IF3037

Software Development for Web App (2) The business actor Stakeholder represents all individuals outside of the project who have a vested interest in the project. o They don't build the software; nor are they responsible for any artifacts of the process. o They contribute through interactions with the workers in the process. o The Stakeholders are the customers, company executives, investors, and users: anyone with an active interest in the evolution and the delivery of the system. A Stakeholder interacts with the "business" through the business use case Develop Software, which is the main use case of the process. A critical part of this use case is the included use case Software Iteration. o Software Iteration describes the bulk of the work that we would normally consider as part of the development process. 5 September 2008 IF3037

Activities of The Develop Software Use Case 6 September 2008 IF3037

Activities of The Develop Software Use Case (2) Manage artifact versions. o Done concurrently with every other activity o It is the activity of the change management process and the use of a version control system. Analyze business and perceived problems. o Take an objective look at the state of the business. o Try not to be influenced by the perceived problems presented by the stakeholders. Develop domain model. o Use software development tools, such as UML, requirements gathering, and document management applications, to construct a model of the domain and the business. o The UML extension for business modeling is the most appropriate way to express the major entities and processes of the business. o The most important artifact: the glossary, which defines the key terms and concepts of the context that the system is working in. 7 September 2008 IF3037

Activities of The Develop Software Use Case (3) Analyze the understood problem. o Focus on the real problem, or at least the problem that the stakeholders are willing to let you work on Develop vision document. o The vision document expresses the scope and the purpose of the entire software project. Develop project plan. o The project plan outlines the activities of the entire software development effort, defining the major milestones and referencing appropriate standards documents, including the change and configuration management plan. Deploy system. o Deliver and install the system. Maintain system. o System maintenance is essentially a miniversion of the process that developed it. 8 September 2008 IF3037

Activities of The Software Iteration Use Case 9 September 2008 IF3037

Activities of The Software Iteration Use Case (2) Review and refine the iteration plan. o Before the iteration, the team takes a look at the iteration plan. o The project manager makes resource allocations, and the team makes its deliverable commitments. Review progress with stakeholders. o Often the stakeholders are very interested in the progress of the project. Evaluate iteration and adjust next iteration's plan. o Have the deliverables been made with the expected effort? o Is the level of quality what was expected by the team? o Did it meet your personal expectations? o These are all important measures that need to be reflected in the next iteration's plan. 10 September 2008 IF3037

Artifact of The Development Process In the Web application development process, the recommended models are: o Domain model o Use case model o Analysis/design model o Implementation model o Process model o Security model o User experience, or user interface, model 11 September 2008 IF3037

Artifact of The Development Process (2) 12 September 2008 IF3037

Dependencies and traceabilities in artifact sets 13 September 2008 IF3037

Project Management Set 14 September 2008 IF3037

Domain set 15 September 2008 IF3037

Requirements set 16 September 2008 IF3037

Associations and traceabilities in the requirements set 17 September 2008 IF3037

Analysis set 18 September 2008 IF3037

Associations and traceabilities in the analysis set 19 September 2008 IF3037

Design set 20 September 2008 IF3037

Associations and traceabilities in the design set 21 September 2008 IF3037

Implementation set 22 September 2008 IF3037

Associations and traceabilities in the implementation set 23 September 2008 IF3037

Test set 24 September 2008 IF3037

Associations and traceabilities in the test set 25 September 2008 IF3037

Deployment set 26 September 2008 IF3037

Defining The Architecture Architecture activities Web app architectures pattern: o Façade o Page Composition o Templated Page Presentation tier pattern: o Thin Web Client o Thick Web Client o Web Delivery 27 September 2008 IF3037

Architecture Activities Examine and prioritize use cases and look for significant architectural requirements Define and document a candidate architecture and prepare and evaluate prototypes Define a reuse strategy 28 September 2008 IF3037

Web Application Architectural Patterns Façade o The dynamic information in any given Web page may have to be constructed from a collection of business objects and controllers. o Façade classes pair up with dynamic Web pages. Each Web page has a specifically designed façade class that acts to consolidate all the business object orchestration and to provide a clear, easy-to-use interface for the Web page script writer to use. Page composition. o Each conceptual Web page in the system is assembled at runtime from a set of independent smaller page fragments, which are often reused across pages in the system. o For example, many Internet retail applications provide a quick way to enter product search criteria on every conceptual Web page. Templated page. o This pattern defines a one-page template that all outgoing Web pages go through on their way to the client. o Similar to the page composition pattern, the templated page pattern provides additional structure with formally defined templates and screens (conceptual pages). 29 September 2008 IF3037

Patterns for The Presentation Tier The thin Web client is used mostly for Internet-based applications, in which there is little control of the client's configuration. o The client requires only a standard forms-capable Web browser. o All the business logic is executed on the server. The thick Web client pattern is used when an architecturally significant amount of business logic is executed on the client machine. o Typically, the client uses dynamic HTML, Java applets, or ActiveX controls to execute business logic. The Web delivery pattern is used when the Web browser acts principally as a delivery and container device for a distributed object system. o In addition to HTTP for client and server communication, other protocols, such as IIOP and DCOM, may be used to support a distributed object system. 30 September 2008 IF3037

Thin Web Client Requirements Viewpoint The principal requirements: the ability to deliver the system to as many types of user systems as possible Thin Web client application requires only minimal capabilities on the client Additional restrictive requirements: the ability for the browser to accept and to return cookies; the ability to operate in lowbandwidth environments; etc 31 September 2008 IF3037

Thin Web Client (2) Design Viewpoint The major components exist on the server The major components are as follows: o Client browser: Any standard forms-capable HTML browser. o Web server: The principal access point for all client browsers. o HTTP connection: The most common protocol in use between client browsers and Web servers. o Static page: A Web page with UI and content information that does not go through any server-side processing. o Dynamic page: Web pages that go through some form of server-side processing. o Application server: The primary engine for executing server-side business logic. o Database server: The part of the system that maintains persistent state. o File system: For many Web applications, the file system is a first-class citizen of the architecture, because its directory structure often mirrors the logical URL structure. 32 September 2008 IF3037

Principal participants in thin Web client collaboration 33 September 2008 IF3037

Static resource (page) request scenario 34 September 2008 IF3037

Dynamic resource (page) request scenario 35 September 2008 IF3037

Thin Web Client Realization Viewpoint Can vary greatly, depending on the scalability strategy. 36 September 2008 IF3037

Deployment of simple thin Web client application 37 September 2008 IF3037

Deployment of scalable thin Web client application 38 September 2008 IF3037

Thin Web Client Test Viewpoint The major focus: to verify that the system meets the needs of the stakeholders, as specified by requirements. For Web applications, many areas that need testing may not be mentioned in the requirements. o Typically, these areas are a result of the system context, such as use on the Internet with unknown browser versions. For thin Web client architectures, key areas that need to be addressed during testing are o All supported browser versions o Firewall settings: use of only standard ports and protocols o Network latency o ISP and browser page caching o Cookie nature and use 39 September 2008 IF3037

Thick Web Client Extends the thin Web client pattern with client-side scripting and custom objects, such as ActiveX controls and Java applets The client can execute some of the business logic of the system and thus becomes more than a generalized user interface container Most appropriate for Web applications in which: o a certain client configuration and browser version can be assumed, o a sophisticated user interface is desired, and/or o a certain amount of the business logic can be executed on the client. 40 September 2008 IF3037

Thick Web Client (2) Requirements Viewpoint The one additional new requirement: the ability to execute some of the system's logic on the client The most basic example: a script or an applet that validates a form's fields prior to submission to the server. o When possible, stopping invalid forms from being submitted to the server can improve the system's performance. o Additional scripts and controls on the client can also provide intelligent assistance in filling out complicated forms or in navigating the system's pages. The client's user interface experience can be enhanced with client-side activity o Sophisticated user interface controls, or scripting, can make the user interface easier to use or more attractive o Attractive interfaces are an important requirement in the tight e-commerce space, where the competition is only one click away 41 September 2008 IF3037

Thick Web Client (3) Design Viewpoint All communication between client and server, as in the thin Web client pattern, is done via HTTP or HTTPS. Because these protocols are "connectionless," most of the time, there is no open connection between client and server. Only during page requests does the client send information and requests to the server. This means that client-side scripting, ActiveX controls, and Java applets are limited to interacting with objects only on the client. Uses certain browser capabilities, such as Java applets or ActiveX controls, to execute business logic on the client. The principal components in the thick Web client architecture are the same as those in the thin Web client, with the addition of scripts, applets, and Document Object Model (DOM) interface supported by the client browser. 42 September 2008 IF3037

Principal participants in thick Web client architecture 43 September 2008 IF3037

Basic applet and script execution scenario 44 September 2008 IF3037

Thick Web Client (4) Realization Viewpoint Nearly identical to that of the thin Web client The architectural s node: o client, o network, o Web server, o application server, and o database server. The only difference: the client node is responsible for processing scripts and executing applets 45 September 2008 IF3037

Deployment of simple thick Web client application 46 September 2008 IF3037

Thick Web Client (5) Test Viewpoint Testing and quality assurance need to address a few additional areas: o Variations in vendors' scripting engines o Access to support Java classes or libraries o Network latency and its effects on multithreaded script processing o Careful examination of fault situations, or missing applet components One situation that developers often overlook is the system's behavior when certain resources, such as separate frames or applets, don't get loaded properly o This happens quite often in applications that operate over the Internet o The testing team needs to ensure that the system behaves gracefully when applets don't load in time 47 September 2008 IF3037

Web Delivery The Web is used primarily as a delivery mechanism for an otherwise traditional distributed object client/server system From one viewpoint, this type of application is a distributed object client/server application that happens to include a Web server and client browser as significant architectural elements 48 September 2008 IF3037

Web Delivery (2) Requirements Viewpoint HTTP can be a very limiting protocol for the most sophisticated applications. The overhead required by standard HTTP traffic would make it impossible for many real-time equipment-monitoring applications to function on the Internet. Sometimes, good old-fashioned remote procedure calls or remote operation calls are the best solution. Most appropriate when there is significant control of client and network configurations. The greatest strength: its ability to leverage existing business objects in the context of a Web application. 49 September 2008 IF3037

Web Delivery (3) Design Viewpoint The most significant difference between the Web delivery and the other Web application architecture patterns is the method of communication between the client and the server o In the other patterns, the primary mechanism is HTTP, a connectionless protocol that severely limits the designer when it comes to interactive activity between the user and the server The architecturally significant elements in the Web delivery pattern include all those specified in the two previous patterns, as well as the following: o Remote object/remote object stub: A conceptual object that can be interacted with, whose execution takes place on a remote machine. o Remote object server: A special server that hosts remote objects. o Remote object transfer protocol: The protocol that allows efficient access to remote objects over standard networks Java RMI DCOM 50 September 2008 IF3037

Principal participants in the Web delivery architecture 51 September 2008 IF3037

Basic Web delivery remote object execution scenario 52 September 2008 IF3037

Web Delivery (4) Realization Viewpoint Introduces a new node and device o The remote object server is responsible for making remote objects accessible to clients over the network o The protocol or method-invocation marshaling mechanism is the RMI or DCOM protocol It should be noted that in some situations, the application server and the remote object server might be one and the same in the realization viewpoint 53 September 2008 IF3037

Deployment of simple Web delivery application 54 September 2008 IF3037

Web Delivery (5) Test Viewpoint Testing issues relevant to Web delivery architectures include careful monitoring of the infrastructure necessary to carry out the remote calls Because the need is often a result of the need for quick, longlasting, and reliable communications directly with the server, careful examination of network latency and fault tolerance are important when testing these applications Testing and quality assurance must address a few additional areas: o The use of additional ports for remote object communication through firewalls o Performance over slow network connections o Effect on underpowered client machines 55 September 2008 IF3037

THANK YOU

Next Week Please continue your final project report: 1. Use case Diagram Determine use case diagram table for every use case (follow the format) 2. Class Diagram 3. Activity Diagram Draw Activity diagram for every use case ( 10 use case = 10 activity diagram) 4. Sequence Diagram Draw Sequence diagram for every use case ( 10 use case = 10 sequence diagram) Draw with Enterprise Architect

Use Case Table Format