Exploring Real-time apps with ColdFusion and Blaze DS / Live Cycle Data Services ES Dan Blackman www.muddbrick.com.

Slides:



Advertisements
Similar presentations
Analysis of Tools to Support Remote Access to a K12 Classroom John Bowling.
Advertisements

1 CGICGI Common Gateway Interface Server-side Programming Lecture.
Design Patterns and ColdFusion: Exploring Object Based Programming Dan Blackman
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 42 Web Services.
14.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory Infrastructure.
Electrical Engineering Department Software Systems Lab TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY Persistent chat room Authors: Hazanovitch Evgeny Hazanovitch.
Chapter 2: Application layer  2.1 Web and HTTP  2.2 FTP 2-1 Lecture 5 Application Layer.
RIA - Flex and ActionScript RIA – Flex and ActionScript CS590 - Ashok Sahu.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
ECSE Software Engineering 1I HO 7 © HY 2012 Lecture 7 Publish/Subscribe.
Adobe Flash Media Server. Outline What is Adobe Flash Media Server? What can we do with it? How the server works? How to install and set-up the server?
Service Broker Lesson 11. Skills Matrix Service Broker Service Broker, provides a solution to common problems with message delivery and consistency that.
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
Form Handling, Validation and Functions. Form Handling Forms are a graphical user interfaces (GUIs) that enables the interaction between users and servers.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
GRAPPA Part of Active Notebook Science Portal project A “notebook” like GRAPPA consists of –Set of ordinary web pages, viewable from any browser –Editable.
Joe Hummel, PhD Dept of Mathematics and Computer Science Lake Forest College
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 2: Application.
Flash Remoting Chafic Kazoun Senior Flash Developer - B-Line Express Work: Play:
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Four Configuring Outlook and Outlook Web Access.
FTP (File Transfer Protocol) & Telnet
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.
2006 Adobe Systems Incorporated. All Rights Reserved. 1 Flex, Java and Data Intensive Applications Cornel Creanga Platform Evangelist
Introduction to LiveCycle Data Services Nick Kwiatkowski Michigan State University.
LiveCycle Data Services Introduction Part 2. Part 2? This is the second in our series on LiveCycle Data Services. If you missed our first presentation,
J2EE Structure & Definitions Catie Welsh CSE 432
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.
Using Event Gateways with CFMX7 By Jeff Tapper Tapper.net Consulting.
Murach’s ASP.NET 4.0/VB, C1© 2006, Mike Murach & Associates, Inc.Slide 1.
Flex Data Communications Nick Kwiatkowski, Michigan State University.
Real Time Messaging Protocol RTMP. Flash Streaming Server Flash Streaming Server communicates with its clients using the Adobe patented RTMP over TCP,
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Using Novell GroupWise ® 6 Monitor Duane Kuehne Software Engineer Novell, Inc. Danita Zanre Senior Consultant NSC Sysop,
2006 Adobe Systems Incorporated. All Rights Reserved. 1 RIAs - Beyond the Buzz James Ward Technical Evangelist jamesward.org
Flex 2 We’re Not in Kansas Anymore! or Welcome to Flex Theo Rushin Jr TeraTech, Inc.
Collaborate Lesson 4C / Slide 1 of 22 Collaborate Knowledge Byte In this section, you will learn about: The EJB timer service Message linking in EJB 2.1.
Cairngorm Microarchitecture. Pronunciation Cairngorm (kârn gôrm) n. yellowish-brown variety of quartz, especially found in Scottish Cairngorm mountain.
1 Chapter Overview Defining Operators Creating Jobs Configuring Alerts Creating a Database Maintenance Plan Creating Multiserver Jobs.
SE-2840 Dr. Mark L. Hornick1 Servlet Threads and Sessions.
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.
Back to the Basics - Video Nick Kwiatkowski Michigan Flex Users Group.
ASP.NET SignalR SoftUni Team Technical Trainers Software University
Background Real-time environmental monitoring is a field garnering an ever-increasing amount of attention. The ability for sensors to make and publish.
BlazeDS Joel Birchler Symantec12/01/08. Flex Certification.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
FlowLevel Client, server & elements monitoring and controlling system Message Include End Dial Start.
Message Framework Topic subscribe for javascript/flex client.
ColdFusion MX 7 “Blackstone” Macromedia, Inc. macromedia 2005 Living With Today’s Internet Chronic problems continue to exist for users and developers.
EJB Enterprise Java Beans JAVA Enterprise Edition
September 28, 2010COMS W41561 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Keith Telle Lead Software Engineer Bit Wizards Behind the Magic: SignalR Demystified.
CFUNITED – The premier ColdFusion conference Flex 2.0 and ColdFusion Integration – 101 Nahuel Foronda Laura Arguello.
ColdFusion and SMS Kevin Schmidt. June 27 th - 30 th 2007www.cfunited.com What is SMS? Short Message Service (SMS) Secure, reliable, virtually everywhere.
Ext JS - Direct Bridging The Gap A DMSBT Presentation By Timothy Chandler.
CFUNITED – The premier ColdFusion conference Using Event Gateways with CFMX7 By Jeff Tapper Tapper.net Consulting.
2005 Adobe Systems Incorporated. All Rights Reserved. 1 ColdFusion What’s New & What’s Next CFUNITED 2006 October 28 th, 2006.
June 28 th – July 1 st 2006 Thomas Burleson Principal Architect Understanding Flex 2 Data Services “With ColdFusion, why should.
Thomas Burleson. Using MVC with Flex & Coldfusion Projects June 27, 2007 See how Coldfusion MVC is similar to Flex MVC…
Rich Internet Applications. 1 Spectrum of Internet Solution Simple HTML Broad Reach Browsing Oriented Content & Documents Rich Content Highly Interactive.
The BLISS Framework 4.
z/Ware 2.0 Technical Overview
Servlet Sessions and Cookies
Objectives In this lesson you will learn about: Need for servlets
Chapter 42 Web Services.
Enterprise Java Beans.
Presentation transcript:

Exploring Real-time apps with ColdFusion and Blaze DS / Live Cycle Data Services ES Dan Blackman

Dan Blackman Founder and Senior Consultant – –Mudd Brick Inc, Dallas, Tx Certified Adobe Instructor – Flex, ColdFusion, Flash Experience – 12 Years ColdFusion, Flash and Flex

Objectives Data Persistence: The Why!? Introducing Live Cycle Data Services Push vs Pull Messaging Configuring Message Channel / Destination Using the Message Service with ColdFusion Event Gateways Configuring the Event Gateway Producing and Consuming Messages Summary and Questions

Data Persistence: The Why!? Why use one over the other!?

Data Persistence: The Why? ColdFusion Request / Response Applications Flex Rich Internet Applications –Persisted data is NOT refreshed automatically –Stateful approach to managing data – No more session variables –Refreshed through manual client interactions or Actionscript Flex Real-time Applications –Persisted Data is refreshed via interactions with server –Stateful approach with server side synchronization –Refreshed through Polling, Long-Polling or RTMP –Data Management Service – Live Cycle service – provides data synchronization between Flex Clients

Data Persistence: The Why

Let’s take a look at Remote Object and the way it persists data

Introducing Live Cycle Data Services A Quick Look at Live Cycle Data Services – The How?

Introducing Live Cycle Data Services Live Cycle Data Services ES allows multiple applications to access data from the Flex Framework Consists of : –Flex Messaging Service –Flex Data Management –Flex Proxy Service –Remote Object Service

Introducing Live Cycle Data Services

Let’s review the Live Cycle Data Services Framework – ColdFusion 8 Go to c:\ColdFusion8\wwwroot\WEB-INF –web.xml jrun configuration file –flex directorycontains config files for LDS –classes directory location for compiled java classes –lib directorylocation for compiled.jar files

Push vs Pull Messaging Huh?

Push vs Pull Messaging Many approaches to Data Access: Simple AMF – Stateful Approach –Client Pull access initiated by user RTMP – Real Time Messaging Protocol –Maintains persistent connection –Allows real-time communication –Uses Java-NIO facilities – Scalable Solution Polling – Client Polling –Flex Client sends requests for messages periodically –Uses poll-wait-interval to set the time between requests –Less Scalable solution

Configuring Message Channel / Destination Let’s hit the road running

Configuring a Messaging Channel / Destination Determine how data is transferred to/ from the server by selecting an adapter. –Cfgateway: Messages sent between ColdFusion 8 and Flex Client –JMS adapter: Allows the use of both JMS and Flex clients to communicate –Actionscript Adapter: Flex Default adapter allows only Flex Clients to participate in communication.

Configuring a Messaging Channel / Destination Most channels are configured out-of-the box –wwwroot/WEB-INF/flex/Services-config.xml my-cf-amf cf-polling-amf cf-long-polling-amf cf-streaming-amf cf-rtmp

Configuring a Messaging Channel / Destination

Let’s review the Live Cycle Data Services Framework – ColdFusion 8 Go to c:\ColdFusion8\wwwroot\ –Go to the WEB-INF\flex directory –Open the services-config.xml and messaging- config.xml

Using the Message Service with ColdFusion Event Gateways The server side of things

Using ColdFusion Event Gateways ColdFusion Event Gateways: –provide communication over protocols other than HTTP. –communicate with various kinds of clients (including Flex Clients). –Server requirements: ColdFusion Enterprise Edition, version 7.02 or later LiveCycle Data Services 2

Using ColdFusion Event Gateways Start by creating a MessageGateway CFC: Use the data property to retrieve the data –event.data.body –event.data.headers

Using ColdFusion Event Gateways

Configuring the Event Gateway The server side of things continued

Configuring the Event Gateway Configure the Event Gateway after the MessageGateway CFC is created: –Open the ColdFusion Administrator and select Event Gateways > Gateway Instances. –Set the gateway properties as follows: GatewayID : A unique string identifier Gateway Type : DataServicesMessaging CFC Path : The CFC file name and path Startup Mode : Automatic

Configuring the Event Gateway Configure the Event Gateway after the CFC is created:

Producing and Consuming Messages Passing Data from Client to Server and back again

Producing and Consuming Messages Flex uses client-side components to handle publishing and consumption of messages Work together with messaging services in LCDS Simply point the Producer and Consumer to a valid Destination

Producing and Consuming Messages Two ways to Consume messages from a destination: <mx:Consumer id=“consumer" destination=“ColdFusionGateway“ message=“messageHandler(event)”/> import mx.messaging.Consumer; var crMessagingService:Consumer = new Consumer(); consumer.destination = “ColdFusionGateway";

Receiving and Processing Mesages Setting up Channel and Destination via Actionscript: public function initApp():void { var channel:AMFChannel = new AMFChannel(“my-cf-amf", " consumer = new Consumer(); cons.destination = "ColdFusionGateway"; cons.channelSet = new ChannelSet(); cons.channelSet.addChannel(sAMF); cons.addEventListener(MessageAckEvent.ACKNOWLEDGE, ackHandler); cons.addEventListener(MessageEvent.MESSAGE, messageHandler); cons.addEventListener(MessageFaultEvent.FAULT, faultHandler); cons.subscribe(); } Automatically dispatches a MessageEvent when a message is received

Sending and Receiving Complex Data On the receiving end, handle the data through the messageHandler. public function handleNotificationsResult (event:MessageEvent):void { facebookNotifications = new XMLListCollection(event.message.body.channel..item); }

Let’s Look at some code…. Chat Application Collaborative Application Data Push Application in ColdFusion

Questions? Dan Blackman Mudd Brick Inc. Evals – mobile.cfunited.com