WOC2006 Presentation: Design Workshop. Ingeniørhøjskolen i Århus Slide 2 af 19 Agenda Formål: Skabe en fælles forståelse Vi fokuserer på domænemodellen.

Slides:



Advertisements
Similar presentations
Automotive Embedded System Development in AUTOSAR
Advertisements

J0 1 Marco Ronchetti - Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento.
Chapter 7 System Models.
Java OSS Web Technologies By Dave Ford Introduction Purpose Describe Javas relationship to the OSS community Describe OSS tools used on recent project.
1 Copyright © 2005, Oracle. All rights reserved. Introduction.
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
0 - 0.
Addition Facts
1 9 Moving to Design Lecture Analysis Objectives to Design Objectives Figure 9-2.
Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.
Eldas 1.0 Enterprise Level Data Access Services Design Issues, Implementation and Future Development Davy Virdee.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design 1.
Week 2 The Object-Oriented Approach to Requirements
Electric Bus Management System
Database System Concepts and Architecture
Requirements Analysis Moving to Design b521.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
Executional Architecture
Implementation Architecture
Addition 1’s to 20.
Chapter 11 Component-Level Design
J2EE JavaServer Faces (JSF) Introduction Internetteknologi 2 (ITNET2)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
Presentation 10 SOAP on the Microsoft Platform (.NET)
1 XML Web Services Practical Implementations Bob Steemson Product Architect iSOFT plc.
Web Development with Karsten Schulz Terp-Nielsen Master Principal Sales Consultant Oracle Denmark.
Apache Struts Technology
An Agile Approach for Web Systems Engineering A Presentation of an Article by V.E.S. Souza and R.A. Falbo.
March R McFadyen1 Architecture Architecture involves the set of significant decisions about the organization of a software system, decisions.
© 2005, Cornell University. Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Objektorienteret netværkskommunikation Presentation: Architectures for Distributed Systems.
Structure of a web application1 Dr Jim Briggs. MVC Structure of a web application2.
Apache Struts Technology A MVC Framework for Java Web Applications.
Objektorienteret netværkskommunikation Presentation: Architectures for Distributed Systems.
March R McFadyen1 Figure 30.2 Layers in NextGen They only have three layers in this architecture Each layer is shown as a UML Package No separate.
UNIT-V The MVC architecture and Struts Framework.
Money Tracking Project Seminar on Software Architecture Design Money Tracking Project Date: Dec 05, 2008 Group 2 Adviser: Dr. Ali Arsanjani Student group:
Objektorienteret netværkskommunikation Presentation: Architectures for Distributed Systems.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
Presentation 8: SOAP in a distributed object framework, Application Servers & AXIS SOAP.
Todd Snyder Development Team Lead Infragistics Experience Design Group.
Case study concerning architecture development Emil Doychev, Georgi Cholakov, University of.
Introduction to J2EE Architecture Portions by Kunal Mehta.
Internet RDBMS XML Persistence Layer Jakarta Axis SOAP Handler Struts MVC Framework Apache Static HTML Browser VB6 SOFI Client SOAP HTTP Application Server.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
Case Study + MVC Lec Error Pages By means of the page directive, a JSP can be given the responsibility of an Error page An Error JSP will be called.
Introduction to Web Dimitar Nenchev Ivan Nakov
Chapter 13 Logical Architecture and UML Package Diagrams 1CS6359 Fall 2012 John Cole.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
Presentation: Architectural Design for Distributed Systems Objektorienteret netværkskom.
Team S07. Agenda Scope of project Global use case diagram Analysis use cases High Level design (Software Architecture) Prototype challenges faced and.
Sakai WebApp Structure
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Presentation: Architectural Design for Distributed Systems Objektorienteret Middleware (OOMI)
Apache Struts Technology A MVC Framework for Java Web Applications.
Building J2EE Applications Based on Design Patterns with Business Components for Java Olivier LE DIOURIS Principal Product Manager Oracle Corporation.
TECHNICAL ASSISTANCE FOR THE CONVERSION OF RBPAPs INTO RBMPs DATA MANAGEMENT INCEPTION WORKSHOP ESTAMBUL February Eusebio CRUZ GARCÍA.
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Intro To MVC Architecture.
Structure of a web application
Review for Final, Fall 2010 Close book, Close notes
OO Methodology OO Architecture.
Introduction to J2EE Architecture
Unit 6-Chapter 2 Struts.
Sakai WebApp Structure
The Model Layer What is Model?
JavaServer Faces: The Fundamentals
Software Development Process Using UML Recap
Presentation transcript:

WOC2006 Presentation: Design Workshop

Ingeniørhøjskolen i Århus Slide 2 af 19 Agenda Formål: Skabe en fælles forståelse Vi fokuserer på domænemodellen og deployment Disse er de vigtigste for samarbejde mellem systemer (grænseflader) Udfordringer er blandt andet: –Hvor skal grænsefladerne trækkes mellem de enkelte projekter –Taler vi samme server, eller har vi behov for en distribueret løsning? –Hvad vil I have med i jeres rapport (meta-metode) Sekvensdiagrammer vil som oftest ikke være relevante for grænsefladeklasserne, hvis systemet er designet til en høj grad af afkobling Kan man altid forvente en høj grad af afkobling? Også i dette projekt?

Ingeniørhøjskolen i Århus Slide 3 af 19 Basic OO Design – Use Case Driven Use Case N Actor 1 Use Case spec. “Models” the domain e.g. an Orienteer or Radiopost. System/Actor Interaction Use Case impl. Links Model & Boundry «control» «boundary» «entity» Domain Model for Use Case N Logic Domain Model from the Analysis OOA 1)We are here now! 2)This is were we are going!

Ingeniørhøjskolen i Århus Slide 4 af 19 From Use Case to Domain Model Use Case N class «control» Actor 1 A1 class «boundary» A2 class «boundary» Actor 2 Use Case N Actor 2 Actor 1 D1 class «entity» D2 class «entity» D3 class «entity» These might be generated by tool / framework

Ingeniørhøjskolen i Århus Slide 5 af 19 “4+1 View” model for SW arkitektur Logical View Implementation View (development) Process View Komponenter, Lag Klasser, Packages Interfaces Processer, Threads, Tasks Deployment View (Physical) Nodes Use Case View Use cases Ref.: Philippe Kruchten, ”The 4+1 View of Architecture,”IEEE Software, 12(6) Nov. 1995

Ingeniørhøjskolen i Århus Slide 6 af 19 Bruce Eckel’s ROPES Model Architecture design Scope: nodes, packages (sub systems), components (e.g. a driver DLL), tasks Mechanistic design Scope: Group of collaboratingclasses Class Node Package Component Active object Detailed design Scope: Class Class name Attributes Operations Bd. s193

Ingeniørhøjskolen i Århus Slide 7 af 19 UI Processor «processor» X Position Knob Y Position Knob RS-232 LCD Display «display» X-axis Controller «processor» Y-axis Controller «processor» Ethernet 1Mbit TCP/IP X-axis Stepper Motor «actuator» X-axis Position Sensor «sensor» RS-485 Y-axis Stepper Motor «actuator» Y-axis Position Sensor «sensor» RS-485 BD.s204

Ingeniørhøjskolen i Århus Slide 8 af 19 Details UI Processor «processor» Display Subsystem Input Subsystem Communications Component iSend iReceive Update Display Monitor Encoders Message Management Chip Driver BD.s204

Ingeniørhøjskolen i Århus Slide 9 af 19 Use Sub-systems for Structuring Subsystems are used for structuring your code Group relevant classes in subsystems Consider whether each group has a –separate system / –subsystem Often used in layered design activities

Ingeniørhøjskolen i Århus Slide 10 af 19 Design by Layering Client Presentation tier –Provides a user interface to the end-users. –Thin/Rich. MVC. Server Side Presentation tier –Building a response to the Client Presentation tier. Server Side Business Logic tier –Use Case implementation. Control classes. Business logic. Server Side Domain Model tier –Domain Model. Entity classes. Enterprise Integration tier –Legacy system. Web services. Persistence tier / Resource layer / Data Access Layer –Relational Database. File-system. Legacy.

Ingeniørhøjskolen i Århus Slide 11 af 19 Non-UML tier representation WOC Adm InternetPush Model Control 1Control 2 RDBMS See more on:

Ingeniørhøjskolen i Århus Slide 12 af 19 Using Design Patterns Design patterns address specific programming tasks, rather than solving business problems. Design patterns provide guidelines, not actual implementation. Design patterns are reusable. Design patterns have a proven track record. Design patterns help you communicate your design ideas to other designers

Ingeniørhøjskolen i Århus Slide 13 af 19 Design Patterns Examples ”Classic Design Patterns”: –Singleton –Observer –Iterator –Facade –Proxy (you have already seen this) –Factory –Many others All may be used, but some must be adjusted Remember: patterns are only for inspiration –NOT dictate

Ingeniørhøjskolen i Århus Slide 14 af 19 Façade Pattern (GoF) Used for encapsulation and decoupling – usually one pr sub-system Especially important with the Event Database Group – full access locks down code

Ingeniørhøjskolen i Århus Slide 15 af 19 Building the architecture How do we get from the logic domain model to the finished product? –We need a GUI layer – HTML? –Gets generated by JSP / Servlets? –We need a control layer – Servlets or Java beans? –We need a model layer – does this include the DAL? – is it generated by the framework? –Database layer – this we got Which framework?

Ingeniørhøjskolen i Århus Slide 16 af 19 JSP Model 1 –Model chosen in many ”homemade” frameworks –Does your framework use this? –Is this ”good enough” for your project –Does all projects have to use the same model?

Ingeniørhøjskolen i Århus Slide 17 af 19 JSP model 2 (MVC) –Based on the MVC pattern –Model chosen for many larger applications –Basically the one used in the Struts framework – 12-ssj-jspmvc.html and 12-ssj-jspmvc.htmlhttp://struts.apache.org/ Struts? Hibernate?

Ingeniørhøjskolen i Århus Slide 18 af 19 Struts & Hibernate Links to Struts: – – Links to Hibernate: – – Turbine / Velocity / Hibernate: – – – howto.htmlhttp://jakarta.apache.org/turbine/turbine-2.3/howto/hibernate- howto.html

Ingeniørhøjskolen i Århus Slide 19 af 19 What’s next? Can we easily transform the logic domain model to a technical model? Can we agree on at least some of the layers, e.g. the model? Were do we place the “cut” between the systems? Cut here? Last option cut Struts?Fat Apps?