Presentation is loading. Please wait.

Presentation is loading. Please wait.

CFUNITED – The premier ColdFusion conference www.cfunited.com Using Event Gateways with CFMX7 By Jeff Tapper Tapper.net Consulting.

Similar presentations


Presentation on theme: "CFUNITED – The premier ColdFusion conference www.cfunited.com Using Event Gateways with CFMX7 By Jeff Tapper Tapper.net Consulting."— Presentation transcript:

1 CFUNITED – The premier ColdFusion conference www.cfunited.com Using Event Gateways with CFMX7 By Jeff Tapper Tapper.net Consulting

2 June 28 th – July 1 st 2006 Agenda  Introduction to Event Gateways  Working with Events  Configuring Gateways  Listener Applications  Broadcaster Applications  Summary  Questions

3 June 28 th – July 1 st 2006 Who Am I  Jeff Tapper (jeff@tapper.net)  Chief Technologist Tapper.net Consulting  Working with CF since 1995 (v 1.5)  Authored 7 books about CF, Flex and/or Flash  Certified MM Instructor for all Flex Flash, and CF courses

4 June 28 th – July 1 st 2006 Event Gateways  Allow access to CF without HTTP  Call CF code from anything Java can react to  Such as: Instant Messages Text Messages from Phones Java Messaging Service RMI File System Changes Etc.

5 June 28 th – July 1 st 2006 How it works  Message Generator  Event Gateway (Java)  Event Gateway Services (CF)  Listener CFC

6 June 28 th – July 1 st 2006 Understanding the Architecture Message Generator/Receiver SMSC Server IM Provider Etc. Event Gateway CF Event Gateway Services Listener CFC CFEvent Message Listener CFC or CFM Page

7 June 28 th – July 1 st 2006 Gateway Types  Event Listeners  Creates an event structure and queues it in the Gateway

8 June 28 th – July 1 st 2006 Gateway Types  Several gateway types are provided SMS XMPP CFML JMS Directory Watcher Etc.  Custom Gateway types can be built as needed

9 June 28 th – July 1 st 2006 Gateway Instance  Relates a gateway type to a Listener CFC  Each instance properties set with Configuration file

10 June 28 th – July 1 st 2006 Application Types  Listener Applications CFC reacts to outside events  Broadcaster Application CFML initiates a message to be sent

11 June 28 th – July 1 st 2006 Listener Applications  Listener CFC called by gateway instance  Method specified in Configuration is called  CFEvent Structure passed as argument

12 June 28 th – July 1 st 2006 Listener CFC  Contains methods for handling events  Optionally responds to sender with CFReturn  Method is passed CFEvent Struct RFAFileWatch.cfc

13 June 28 th – July 1 st 2006 CFEvent Structure  Java Object provided by gateway gatewayId – reference to Instance data – struct of incoming message  customized for each Event Type originator – who sent message  SMS phone #  IM handle  Etc. gateway Type – reference to gateway which heard the event

14 June 28 th – July 1 st 2006 Configuring a Gateway  Create config file  Build CFC with appropriate methods  Add Gateway Instance to CFAdmin  Start the Gateway CFAdmin

15 June 28 th – July 1 st 2006 Setting Config file  DirectoryWatcherGateway settings are defined in a Config file --{cfroot}\gateway\config\directory- watcher.cfg  Specifies: directory recurse extensions Interval addFunction changeFunction deleteFunction RFAUploadDirectory-watcher.cfg

16 June 28 th – July 1 st 2006 Config File gateway/config/directory-watcher.cfg # The directory you want to watch. If you are entering a Windows path either use forward slashes (C:/mydir) or escape the back slashes (C:\\mydir). directory= # Should we watch the directory and all subdirectories too Default is no. Set to 'yes' to do the recursion. recurse=no # The interval between checks, in milliseconds Default is 60 seconds interval=60000 # The comma separated list of extensions to match. Default is * - all files extensions=* # CFC Function for file Change events Default is onChange, set to nothing if you don't want to see these events changeFunction=onChange # CFC Function for file Add events Default is onAdd, set to nothing if you don't want to see these events addFunction=onAdd # CFC Function for file Delete events Default is onDelete, set to nothing if you don't want to see these events deleteFunction=onDelete

17 June 28 th – July 1 st 2006 DirWatch.cfc

18 June 28 th – July 1 st 2006 Customizing Directory Watcher  Problem: Needed easier way to remotely add songs to “Radio Free Astoria” play list  Solution: Using a modified Directory Watcher, I am now able to ftp songs to the server, have them moved to the appropriate directory and automatically added to play list

19 June 28 th – July 1 st 2006 RFA Directory Watcher Flow New mp3 ftp’d to server Directory Watcher triggers CFC File moved Added to playlist Confirmation Sent

20 June 28 th – July 1 st 2006 Broadcaster Applications  CFML can be used to broadcast out custom events  Some examples Send CFML Event to start new thread SMS site admin about system errors Send new events to JMS messaging queue Send Instant Message about application

21 June 28 th – July 1 st 2006 Sending an Event  CFMX7 introduced new sendGatewayMessage() function  Takes two arguments gatewayID - gateway instance configured in CFAdmin Message – struct containg message data  Return type varies based on gateway. Often true or false indicating success

22 June 28 th – July 1 st 2006 sendGatewayMessage <cflog file="rfafileupload" type="Information" text="#result#">

23 June 28 th – July 1 st 2006 getGatewayHelper()  Returns an object containing details about the gateway  Instant Message Helper ships with CFMX7  Example: myHelper = getGatewayHelper("JBuddyTest"); status = myHelper.getSignonTimeStamp();

24 June 28 th – July 1 st 2006 Communicating with IM Gateway Instance XMPP Gateway Jabber Network AIM/MSN/ Yahoo Transport AIM/MSN or Yahoo Network Zion Software’s JBuddy Or..

25 June 28 th – July 1 st 2006 Sending messages to Flex  Flex Data Services (FDS) can listen to messages sent via CF Gateways  Create a “FlexMessaging” event gateway in the CFAdmin  Dispatch the Event from CF with sendGatewayMessage()  Configure FDS to listen for the event  Configure Flex app to handle the event

26 June 28 th – July 1 st 2006 Sending a message to Flex

27 June 28 th – July 1 st 2006 Configuring FDS server  Edit messaging-config.xml in FDS *

28 June 28 th – July 1 st 2006 Handling incoming messages In flex, you listen for messages… <mx:Consumer id="consumer" destination="TypeSalesUpdate" message="messageHandler(event)" fault="faultHandler(event)"/>

29 June 28 th – July 1 st 2006 Other cool uses for Event Gateways  Brian Szoszorek of New Era Caps article on Event Gateways and Trusted Cache Uses Directory Watcher to automatically update trusted cache when files are deleted or edited  Asynchronous Events great for spawning new threads for long running processes.

30 June 28 th – July 1 st 2006 Where to learn more?  CFUnited Several “Flex 2 and CF” topics Sarge Sargent’s “Asynchronous Gateways” (Sat. 8am)  Adobe Developer Center Upcoming article from Brian Szoszorek on Event Gateways and Trusted Cache  Lots of docs  JBuddyCF – http://www.zionsoftware.com  Blogs: jeff.mxdj.com weblogs.macromedia.com/mxna/ http://www.boyzoid.com/blog

31 June 28 th – July 1 st 2006 Summary  Gateways allow for CFML to be triggered by things other than HTTP requests  Gateways react to certain events and calls methods in a CFC  Gateway settings are specified in a Config File  Gateways can be registered using the ColdFusion Administrator

32 June 28 th – July 1 st 2006 Questions ?


Download ppt "CFUNITED – The premier ColdFusion conference www.cfunited.com Using Event Gateways with CFMX7 By Jeff Tapper Tapper.net Consulting."

Similar presentations


Ads by Google