1 / 19

An Agile Approach for Web Systems Engineering

An Agile Approach for Web Systems Engineering. A Presentation of an Article by V.E.S. Souza and R.A. Falbo. In the beginning. Web sites were static HTML More power! Server side dynamic sites! 1993 CGI 1994 PHP 1995 ASP 1996 Java Servlets 1999 JSP. Discovery of Business Value.

Download Presentation

An Agile Approach for Web Systems Engineering

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. An Agile Approach for Web Systems Engineering A Presentation of an Article by V.E.S. Souza and R.A. Falbo

  2. In the beginning. . . • Web sites were static HTML • More power! Server side dynamic sites! • 1993 CGI • 1994 PHP • 1995 ASP • 1996 Java Servlets • 1999 JSP

  3. Discovery of Business Value • Web applications are born • Value in anywhere access • Easy to deploy • No need to install software on client • O/S independent (for the most part)

  4. Web Engineering • Ad hoc web app development in the beginning • Web engineering borrows many SE concepts • Has its own special set of models, methods & technologies

  5. Web Engineering Frameworks • Java • .NET • PHP • Faster and more productive development • Lends its self well to agile development

  6. Rapid Development of Web Apps Using Java & Frameworks • Identify business needs • Plan project • Generate requirements • Model • Implement • Test • Deliver • Allow end-user feedback & evolution

  7. Requirements Specification • Model with a purpose • Use multiple models • Discard non long-term value models • Content before representation [not strict UML] • Know the models & how to use the tools

  8. Design • Heavily dependent on the platform • WAE (web application extension of UML)

  9. WAE - UML

  10. Presentation logic layer • Classes that are for the UI (web pages) • Controls the interaction (controller package) • Controller classes receive user input from the view call system functions (application package) and return the control to the view to display the results

  11. Business Logic Layer • Application Package (intelligence that was defined in use cases, create, retrieve, update and delete domain package objects) • Domain Package (represents business domain concepts identified in requirements)

  12. Data Access Layer • Store persistent objects in long-term duration media such as databases • Advocate use of DAO design pattern • Decouples the data access logic from the database

  13. Frameworks recommended by the authors

  14. Object/Relational mapping framework • Hibernate • http://www.hibernate.org/ • Allows us to thing in terms of an object and its properties rather than a certain set of fields . e.g. person.firstName = Fred rather than INSERT INTO peopleTable.firstName Fred, not being concerned with the SQL taking place behind the scenes. • Allows expression of queries in a SQL extenstion called (HQL), native SQL, or an OO Criteria and Example API.

  15. Controller Component • WebWork • http://www.opensymphony.com/webwork/ • Reusable UI templates, form controls, UI themes, form field validation, form parameter mapping to JavaBeans

  16. View Component • FreeMarker • http://freemarker.sourceforge.net/ • Allows web designers to work in parallel with programmers • A generic tool that generates text output from templates • SiteMesh • http://www.opensymphony.com/sitemesh/ • Web page decoration and layout framework • Used to keep a consistent layout throughout all pages

  17. All Layers • Spring Framework • http://www.springframework.org/ • Performs dependency injection to integrate the different packages • Acegi Security integrated with Spring • http://www.acegisecurity.org/ • Performs authentication and authorization services for both controller and application packages.

  18. Conclusion • The creation of agile processes for web development is promising • The agile approach we use in traditional SE can be adapted for engineering of web applications. • Web applications need to be developed that can help refine an agile approach to web engineering • The frameworks that are out there need to be evaluated further for their applicability to such an approach

  19. Citation

More Related