Slickr : A Capstone Web Development Project Using Databases, ASP.NET, Web Services, and AJAX Mark Frydenberg Computer Information Systems Dept. Bentley.

Slides:



Advertisements
Similar presentations
ASP.NET Ajax Supplementary Tutorial. Why Use ASP.NET AJAX? - I ASP.NET AJAX enables you to build rich Web applications that have many advantages over.
Advertisements

Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
SoftLab Project Winter 2008 Supervisor: Victor Kulikov Students: Dmitry Kanevsky Nir Lev-Ari.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
Product Management System Xiao Zhou. Introduction Why This project? It is an opportunity to learn new things and gain some experiences. My friend is a.
Fast Track to ColdFusion 9. Getting Started with ColdFusion Understanding Dynamic Web Pages ColdFusion Benchmark Introducing the ColdFusion Language Introducing.
Basic concept Technologies we have used The Design Problems, challenges & solutions Educational Gain.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Microsoft ASP.NET AJAX - AJAX as it has to be Presented by : Rana Vijayasimha Nalla CSCE Grad Student.
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
EE-Video Yossi Biton Nir Yakobovski Outline  The concept  Main functionality  Challenges & Solutions  Design considerations Layers Class diagram.
14 1 Chapter 14 Database Connectivity and Web Development Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
ASP.NET Programming with C# and SQL Server First Edition
Chapter 7 Managing Data Sources. ASP.NET 2.0, Third Edition2.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
11 ASP.NET Controls Beginning ASP.NET 4.0 in C# 2010 Chapter 6.
UNIT-V The MVC architecture and Struts Framework.
JQuery CS 268. What is jQuery? From their web site:
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Ryan Putz. Outline  What is Ajax?  Member Technologies  Methodology  When and When Not To Use  Who’s Using Ajax?  Code Examples.
Tutorial: Introduction to ASP.NET Internet Technologies and Web Application 4 th February 2010.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
JavaScript & jQuery the missing manual Chapter 11
Joe Hummel, PhD Dept of Mathematics and Computer Science Lake Forest College
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
ASP.NET AJAX 1. Ordinary web applications vs. AJAX Ordinary web application The full page is updated at each request The page is not available while being.
Tutorial 10 Adding Spry Elements and Database Functionality Dreamweaver CS3 Tutorial 101.
Windows Azure Team 9 Ben Holland Bao Nguyen Eric Petrowiak Barret Schloerke.
Fundamentals of Database Chapter 7 Database Technologies.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 Securing a Microsoft ASP.NET Web Application.
ASP.NET.. ASP.NET Environment ASP.NET is Microsoft's programming framework that enables the development of Web applications and services. It is an easy.
Universiti Utara Malaysia Chapter 3 Introduction to ASP.NET 3.5.
Introduction to ASP.NET T.Ahlam Algharasi. The Visual Studio IDE Start page 2.
Alcatel-Lucent CDC Workshop, Coaching & Knowledge Transfer Architecture.
Joe Hummel, PhD Dept of Mathematics and Computer Science Lake Forest College
Grid Chemistry System Architecture Overview Akylbek Zhumabayev.
Ventsislav Popov Crossroad Ltd.. 1. What is AJAX?  AJAX Concept  ASP.NET AJAX Framework 2. ASP.NET AJAX Server Controls  ScriptManager, UpdatePanel.
WebSphere Portal Technical Conference U.S Creating Rich Internet (AJAX) Applications with WebSphere Portlet Factory.
Telerik Software Academy ASP.NET Web Forms Telerik Software Academy ASP.NET Web Forms.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
.  A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate.  Taken advantage of Spring’s multi layer injection.
Microsoft ASP.NET Beginning Object-Oriented Web Design Bryan Jenks © Integrated Ideas 2005.
Module 4: Creating a Web Application with Web Forms
Ajax VS Flex A comparison based on shopping cart implementation PoHsu Yeh py2157.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
Model Design using Hierarchical Web-Based Libraries F. Bernardi Pr. J.F. Santucci {bernardi, University of Corsica SPE Laboratory.
IT533 Lectures ASP.NET AJAX.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Web-Based Inventory Database Application By: Gar Seigla.
11 User Controls Beginning ASP.NET in C# and VB Chapter 8.
Statistics Monitor of SPMSII -High level and detailed design Warrior Team Pu Su Heng Tan Kening Zhang.
1 CS 3870/CS 5870: Note 19 AJAX Prog8. Test 2 50 Points Thursday, Nov 12 2:00 PM – 4:00 PM Lab
Excel Services Displays all or parts of interactive Excel worksheets in the browser –Excel “publish” feature with optional parameters defined in worksheet.
ASP.net Course From Intermediate to Advance level By Arsalan Ahmed 3 Months Course Cell :
APARTMENT MAINTENANCE SYSTEM M.Tech( Ph.D) HOD of C.S.E & I.T Dept.
Submitted by: Moran Mishan. Instructed by: Osnat (Ossi) Mokryn, Dr.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
ASP.NET AJAX Fedorov Sergey, student of Computing Mathematic and Cybernetics faculty, software department, NNGU
 INDEX  Overview.  Introduction.  System Requirement.  Features Of SQL.  Development Process.  System Design (SDLC).  Implementation.  Future.
ASP.NET AJAX – Basics Svetlin Nakov Telerik Corporation
Security Basics and ASP.NET Support
CS 3870/CS 5870 AJAX Prog8.
How to Create a Simple Web Service and Use it in ASP.Net
EPIC INFOTECH CONSULTING GROUP
Lecture 1: Multi-tier Architecture Overview
ASP.NET Module Subtitle.
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Database Connectivity and Web Development
Presentation transcript:

slickr : A Capstone Web Development Project Using Databases, ASP.NET, Web Services, and AJAX Mark Frydenberg Computer Information Systems Dept. Bentley College, Waltham, MA

 “The teaching of this important technology, web services, has received little attention in the common IS pedagogy journals.”  Alan Peslak, ISECON 2006

CS 380 – Multi-Tier Application Development Overview  ASP.NET / C#  Visual Studio 2005  SQL Server Database  Client / Server Programming  Web Services  ASP.NET AJAX  Course goal is to develop individual competency in creating web-based applications using a contemporary integrated, object-oriented development environment.  Prerequisites  CS 150 [Prog. with Java]  CS 180 [Data Reporting and Retrieval]

slickr Alpha  Create albums and upload photos into specific albums  Associate a description and one or more user-specified tags with each photo  Search albums for photos with specific tags, and display matching photos  Edit and delete album or tag names, and photo descriptions

Database Design

slickr Alpha Demo

slickr Alpha Goals and Observations Goals Observations  Gain experience with both Drag n’ Drop database controls as well as writing code to access databases  Design queries so that they can be reused later  Understand relationships between object model (class diagram) and database model (database diagram)  Most students hadn’t seen stored procedures before  Some confusion between object modeling and database representation  General: Where does it go?

slickr Web Services Enhancements  Create a web service with methods to expose photos  Rewrite search and display pages to invoke web methods  Search and display photos from a classmate’s project by invoking the classmate’s web service methods

slickr Alpha and Web Services Demo

slickr Web Services Goals and Observations Goals Observations  Students act as both web service producers and consumers  Understand the need for standard APIs.  Realize the important role that web services play in making data available for sharing between applications, and the role of XML as a standard for representing that data.  Repackage and Reuse: that’s why design is important!

ASP.NET AJAX

Why AJAX?  Improved efficiency by increased browser processing  Familiar UI elements such as progress indicators, tooltips, and pop-up windows.  Partial-page updates  Integration with ASP.NET application services for forms authentication and user profiles.  Integration of data through calls to Web services.  Simple customization of server controls to include client capabilities  Supported by many common browsers

Using ASP.NET AJAX  ScriptManager  manages all of the basic ASP.NET AJAX components on the page.  UpdatePanel  contains content to updated without refreshing the entire page  Many AJAX controls receive updated data from Web Services  Rich User Experience  Extenders add AJAX functionality to basic ASP.NET controls

slickr AJAX Enhancements  Slide Show  Ratings control  ResizableControlExtender  CascadingDropDown for drill down queries from albums to pictures  Tag Cloud  Other ideas?

slickr Slide Show <asp:Image id="Image1"runat="server" ImageUrl="~/data/logo.jpg“ /> <asp:Button id="Button1" onclick="Button1_Click“ runat="server" Text="Start“ /> <asp:Timer id="Timer1" runat="server“ Interval="2000“ OnTick="Timer1_Tick“ enabled="false“ />

slickr Slide Show public partial class Slideshow : System.Web.UI.Page { public SlickrWS.SlickrWebService ws = new SlickrWS.SlickrWebService(); public SlickrWS.SlickrPhoto[] photos; protected void Page_Load(object sender, EventArgs e) { photos = ws.GetPictures(); Image1.ImageUrl = GetRandomPicture (); } protected void Timer1_Tick(object sender, EventArgs e) { Image1.ImageUrl = GetPhoto(); } protected void Button1_Click(object sender, EventArgs e) { if(Timer1.Enabled) { Timer1.Enabled = false; Button1.Text = "Start"; } else { Timer1.Enabled = true; Button1.Text = "Stop"; } private string GetRandomPicture() { Random r = new Random(); int n = r.Next(0,photos.Length - 1); return photos[n].Url; }

slickr AJAX Demo

slickr AJAX Goals and Observations Goals Observations  Introduce asynchronous architecture found in many current web applications  Create web applications with more involved user interfaces  Program against AJAX object model/framework  Use at least one AJAX control not demo’d in class  New Motivation for Teaching Web Services  ASP.NET AJAX hides the details of how dynamic behavior “works”

 [This project] required me to think not only about the coding aspect, but the design of web applications even more. Learning which and how things work together, and performance issues were all important. When I visit a site such as Amazon.com now, I know that millions of users are connecting to their Web Services, and pulling data out of their public databases and into their own applications. Now I have a better sense of the some of the components and related issues that must be considered when building large-scale web-based business applications.

Conclusion Teaching web services Teaching AJAX  provides insight into reusability of software modules  underscores the importance of APIs and good software design  offers a concrete example of distributed system architectures  Encourages abstraction and proper object-oriented design.  Introduces asynchronous web architecture  Create “rich” web applications  ASP.NET AJAX provides a new outlet for web services, as several of the pre-defined controls in its toolkit accept input from web service methods.

Questions? Mark Frydenberg