Data-driven Flash Development with AMFPHP David Knape

Slides:



Advertisements
Similar presentations
Pulan Yu School of Informatics Indiana University Bloomington Web service based Varuna.Net.
Advertisements

Other Web Application Development Technologies. PHP.
New Release Announcements and Product Roadmap Chris DiPierro, Director of Software Development April 9-11, 2014
Master Pages, User Controls, Site Maps, Localization Svetlin Nakov Telerik Corporation
Session 6 Server-side programming - ASP. An ASP page is an HTML page interspersed with server-side code. The.ASP extension instead of.HTM denotes server-side.
What is it? –Large Web sites that support commercial use cannot be written by hand What you’re going to learn –How a Web server and a database can be used.
VCT May 20, 2009 Sapna Blesson Advisor: Dr.Christopher Pollett.
Cloud Computing Lecture #7 Introduction to Ajax Jimmy Lin The iSchool University of Maryland Wednesday, October 15, 2008 This work is licensed under a.
Online Magazine Bryan Ng. Goal of the Project Product Dynamic Content Easy Administration Development Layered Architecture Object Oriented Adaptive to.
4 Copyright © 2004, Oracle. All rights reserved. Creating a Basic Form Module.
Database Programming (using ADO) Universal Data Access – Microsoft strategy for providing access to information across the enterprise. – UDA provides high-performance.
1 Java Server Pages Can web pages be created specially for each user? What part does Java play?
Platform as a Service (PaaS)
Web Design Basic Concepts.
Web Content Management Systems. Lecture Contents Web Content Management Systems Non-technical users manage content Workflow management system Different.
Dreamweaver CS6 Jumpstart CCSA 115 Web tools Lesson 1.
What is Web Design?  Web design is the creation of a Web page using hypertext or hypermedia to be viewed on the World Wide Web.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
AJAX Chat Analysis and Design Rui Zhao CS SPG UCCS.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
RIA & Adobe Flex Yunhui Fu 11/05/2008. What’s RIA RIA (Rich Internet Applications) –web applications which look and perform like desktop applications.
1 CS 3870/CS 5870 Static and Dynamic Web Pages ASP.NET and IIS.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
SSC2: Web Services. Web Services Web Services offer interoperability using the web Web Services provide information on the operations they can perform.
Prepared by Stephen Olaño June 12, Rich Internet Applications It allow to build rich applications with data and multimedia contents, offering a.
Simple Database.
Distributed Communication via ASP.Net Web Services and.Net Remoting By Richard King.
James Holladay, Mario Sweeney, Vu Tran. Web Services Presentation Web Services Theory James Holladay Tools – Visual Studio Vu Tran Tools – Net Beans Mario.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
Flex 2.0 Flex for ColdFusion developers Part 1. What is Flex Flex allows developers to create Flash content for Rich Internet Applications in a more programmer.
ColdFusion 9 and Flex 4: Application Development Ryan Stewart Platform Evangelist, Adobe Systems
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
Murach’s ASP.NET 4.0/VB, C1© 2006, Mike Murach & Associates, Inc.Slide 1.
Flex Data Communications Nick Kwiatkowski, Michigan State University.
Cross Site Integration “mashups” cross site scripting.
Writing macros and programs for Voyager cataloging Kathryn Lybarger ELUNA 2013 May 3, #ELUNA2013.
Who uses it? MichaelMoore.com What's it all about? Rapid Development Clean, Pragmatic Design.
Building on Online Store Using Flash and AMFPHP Part 1 CIS 254.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
2006 Adobe Systems Incorporated. All Rights Reserved. 1 Adobe RIA Technologies: Adobe Flex 3 Cornel Creanga Platform Evangelist
1 Cisco Unified Application Environment Developers Conference 2008© 2008 Cisco Systems, Inc. All rights reserved.Cisco Public Introduction to Etch Scott.
4 Copyright © 2004, Oracle. All rights reserved. Creating a Basic Form Module.
Flex 2 We’re Not in Kansas Anymore! or Welcome to Flex Theo Rushin Jr TeraTech, Inc.
About These Slides This slide set is designed to be used with the OMA sample application It is recommended you follow the steps outlined in the “Preparing.
1 Web Services Web and Database Management System.
GOAL User Interactive Web Interface Update Pages by Club Officers Two Level of Authentication.
Copyright © by Shayne R Flint Simplified Web Application Development Shayne R Flint Department of Computer Science Australian National University.
Cairngorm Microarchitecture. Pronunciation Cairngorm (kârn gôrm) n. yellowish-brown variety of quartz, especially found in Scottish Cairngorm mountain.
David Lawrence 7/8/091Intro. to PHP -- David Lawrence.
Introduction to Flex 2 by Rich Tretola. About Me Rich Tretola is a senior software developer at Herff Jones, Inc. specializing in Rich Internet Applications.
Worldwide Lexicon Brian McConnell May, WWL – Brian McConnell Worldwide Lexicon Intro Automatic discovery of dictionary, semantic net and translation.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
 Web pages originally static  Page is delivered exactly as stored on server  Same information displayed for all users, from all contexts  Dynamic.
Unit 1 – Web Concepts Instructor: Brent Presley.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
CFUNITED – The premier ColdFusion conference Flex 2.0 and ColdFusion Integration – 101 Nahuel Foronda Laura Arguello.
June 28 th – July 1 st 2006 Thomas Burleson Principal Architect Understanding Flex 2 Data Services “With ColdFusion, why should.
J-guar Customization Tool Devanshu Bawa Customization Specialist SOLUTION PARTNERS TRAINING 2016.
The Holmes Platform and Applications
Platform as a Service (PaaS)
Platform as a Service (PaaS)
Topics Introduction Hardware and Software How Computers Store Data
Copyright Justin C. Klein Keane
Topics Introduction Hardware and Software How Computers Store Data
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
What language other than MXML you can use for writing a Flex Application.
Chengyu Sun California State University, Los Angeles
Presentation transcript:

Data-driven Flash Development with AMFPHP David Knape

Who am I? PHP Programmer since 1998 Flash Programmer at Second Story Independent Contractor, Consultant Recent Work: – – – –

What is Flash Remoting? Toolkit for client/server data exchange and remote method invocation over HTTP. “Web services” with AMF instead of SOAP –Binary Format == Less Bandwidth than XML –Flash Player decodes it quicker than XML –AMF3 is the new Format used by default in Flex 2 Allows Flash and Server to speak the same language. Free and open-source PHP implementations: –AMFPHP – –WebOrb –

Why not use SOAP? SOAP has larger payloads SOAP requires more CPU processing Memory Leak with Flash Web Services API Remoting just works better in the Flash player Benchmarks: ing_benchmark.htm

Getting Started with AMFPHP Unzip amfphp package into server root Create new php class in amfphp/services: <?php class TestService { remote function sayHello( $name ) { return "Hello, ".$name; } } ?> Create Method Table using browser and include in constructor: function TestService(){ include("TestService.methodTable.php"); } Test the Service -

RecordSet Object that represents a query result AMFPHP automatically creates recordsets from the result of a database query Flash Remoting classes includes mx.remoting.RecordSet which implements the DataProvider API Flash Components can use recordsets as data providers

Paged Recordsets Results sent in batches as needed Allows flash components to show lengthy lists without loading everything at once Example:

ADODB for PHP Database abstraction layer for PHP To use ADODB with AMFPHP: 1. Add adapter mapping for DB-specific AdoRecordset classname 2. Set fetch mode to ‘fetch_num’ $gateway->addAdapterMapping('adorecordset_mysql', 'adodb'); $DbConnection->SetFetchMode( ADODB_FETCH_NUM );

Sample App: Gallery Site MySQL Database holds items and references to image files PHP class method queries database and returns the results AMFPHP exposes the PHP Class as a “Service” Actionscript calls the service method via the AMFPHP Gateway

Gallery Admin Tool Admin tool built with CakePHP – Images accessed with phpThumb – see

Gallery ActionScript GalleryApp – Application Root MovieClip ModelLocator – Application Data / State GalleryService – our service class Clips: Menu – loads service and lays out menu items MenuItem – triggers selectedItem state change Content – loads image when state changes

FlashDevelop Free AS editor Code hinting MTASC compiling Code generation Overall improved workflow

Bumpslide Library Common Service interface and ServiceProxy State management with observable Model –Similar to AS3 ObjectProxy –Supports one-way data binding Utility classes – com.bumpslide.util See

References Remoting Components - oads/components/ oads/components/ Remoting Classes with MTASC - ing-remoting-running-in-mtasc/ AMFPHP - FlashDevelop – MTASC – WebOrb –