SlideShare une entreprise Scribd logo
1  sur  26
Accessing ColdFusion
Services From Flex
Applications

Matt Gifford aka @coldfumonkeh



Adobe ColdFusion Developer Week 2011
Who?
Lead RIA Developer
Adobe Community Professional
User Group Manager - Hertfordshire, UK
Author
Coffee Lover


@coldfumonkeh
www.mattgifford.co.uk

www.fuzzyorange.co.uk
Integrating ColdFusion services into non-
        ColdFusion systems and applications



What?   Utilise powerful features whilst minimising
        coding and maximising functionality

        Improving workflow and developer
        collaboration across language divides
Because ColdFusion is incredibly powerful


Why?   Rapid Application Development

       It’s awesome fun
COLDFUSION CODE NINJAS // ALL OF YOU
Object-relational mapping (ORM)

             Enhanced Document Manipulation

             Enhanced AJAX controls


CF9          Sharepoint integration (portals)


gave us...   ColdFusion Builder

             Exposed Service Layer (CFaaS)

             and much more...
Remote Services
LET’S DEMONSTRATE // DATA CENTRIC DEVELOPMENT
Exposed Service Layer
WHAT IS AVAILABLE? // EXPOSED FUNCTIONALITY
ColdFusion
as a Service
(or how to share the awesome-ness with
other developers and other languages)
http://[server]:[port]/CFIDE/services/

   http://localhost:8500/CFIDE/services/mail.cfc?wsdl

   http://localhost:8500/CFIDE/services/document.cfc?wsdl

   http://localhost:8500/CFIDE/services/chart.cfc?wsdl




ACCESSING SERVICES // WEB SERVICE
Chart             Mail
           generate          send

           Document          PDF
           generate          addWatermark
                             convertArrayOfStructToPDFPageDetailArray [private]
                             deletepages
           Image             extractImage
           AddBorder
                             extractPages
           batchOperation
                             extractText
           Blur
                             getInfo
           Crop
                             mergeFiles
           Flip
                             mergespecificpages
           GetEXIFMetaData
                             processDDX
           GetEXIFTAG
                             protect
           GetHeight
                             removewatermark
           GetIPTCMetaData
                             setinfo
           GetIPTCTag
                             thumbnail
           GetWidth
           GrayScale
           Info              POP
           Negative          delete
           Overlay           getAll
           Resize            getHeaderOnly
           Rotate
           ScaletoFit
           Sharpen
           Shear




AVAILABLE SERVICES // WHAT YOU CAN DO WITH IT
Restricted
Access
to exposed services through the
ColdFusion Administrator
ActionScript Proxy Classes
ColdFusion:


        <cfmail to="requests@guitar-hero.com"
        	 from="me@my_email_address.com"
        	 subject="More Kenny Loggins" />


AS Proxy in Flex:


        <cf:Mail to="requests@guitar-hero.com"
        	 from="me@my_email_address.com"
        	 subject="More Kenny Loggins" />
Import the cfservices.swc file (from ColdFusion 9 install):

                             typically in /CFIDE/scripts/AIR/ directory


   Add ColdFusion namespace to your Flex application

                             xmlns:cf=”coldfusion.service.mxml.*”


   Write some code

                             That bit’s over to you...




HOW EASY IS IT? // VERY
LET’S DEMONSTRATE // BUILDING AN APPLICATION
USEFUL REMINDERS

  ColdFusion Connection:

                      <cf:Config id="conf"
                      	   	    cfServer="localhost"
                      	   	    cfPort="8500"
                      	   	    serviceUserName="demoUser"
                      	   	    servicePassword="demoPassword" />



        Define a Method:
                      <cf:Image id="getImageInfo"
                      	   	    action="info"
                      	   	    source="{dragImage.source}"
                      	   	    result="imageInfoResult(event)"
                      	   	    fault="onFault(event)" />	



  Execute (in a nice way):
                             getImageInfo.execute();
STRESS-FREE UPLOADS // UTIL CLASS MAGIC
USEFUL REMINDERS

  Upload URL:
   uploadUrl.url = "http://"+conf.cfServer+":"+conf.cfPort+"/"+Util.UPLOAD_URL;
   uploadUrl.method = "POST";
   uploadUrl.contentType = "multipart/form-data";




  Util Class Generates:

   http://localhost:8500/CFIDE/services/upload.cfc?METHOD=uploadForm




  Get Remote Location:

   uploadedFileUrl = Util.extractURLFromUploadResponse(event.data.toString());
WHY SHOULD YOU CARE? // BECAUSE YOU’RE AWESOME
Full code on github:


           https://github.com/coldfumonkeh/ColdFusion-Dev-Week-Demos




 CFaaS method cheat sheet:



           http://www.mattgifford.co.uk/updated-cfaas-method-cheat-sheet




TRY IT YOURSELF // THINGS TO HELP YOU
Accessing ColdFusion Services From Flex Applications
Matt Gifford aka @coldfumonkeh        Adobe ColdFusion Developer Week 2011

Contenu connexe

Similaire à Accessing ColdFusion Services From Flex Applications

ColdFusion as a Service
ColdFusion as a ServiceColdFusion as a Service
ColdFusion as a Service
Matt Gifford
 
Spring Cairngorm
Spring CairngormSpring Cairngorm
Spring Cairngorm
devaraj ns
 
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
DataLeader.io
 
WebLogic Administration und Deployment mit WLST
WebLogic Administration und Deployment mit WLSTWebLogic Administration und Deployment mit WLST
WebLogic Administration und Deployment mit WLST
enpit GmbH & Co. KG
 

Similaire à Accessing ColdFusion Services From Flex Applications (20)

ColdFusion as a Service
ColdFusion as a ServiceColdFusion as a Service
ColdFusion as a Service
 
Spring Cairngorm
Spring CairngormSpring Cairngorm
Spring Cairngorm
 
Camel on Cloud by Christina Lin
Camel on Cloud by Christina LinCamel on Cloud by Christina Lin
Camel on Cloud by Christina Lin
 
Consul: Service Mesh for Microservices
Consul: Service Mesh for MicroservicesConsul: Service Mesh for Microservices
Consul: Service Mesh for Microservices
 
Simplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring CloudSimplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring Cloud
 
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
 
BlazeDS
BlazeDSBlazeDS
BlazeDS
 
Implementing New Web
Implementing New WebImplementing New Web
Implementing New Web
 
Implementing new WebAPIs
Implementing new WebAPIsImplementing new WebAPIs
Implementing new WebAPIs
 
Ato2019 weave-services-istio
Ato2019 weave-services-istioAto2019 weave-services-istio
Ato2019 weave-services-istio
 
All Things Open 2019 weave-services-istio
All Things Open 2019 weave-services-istioAll Things Open 2019 weave-services-istio
All Things Open 2019 weave-services-istio
 
Weave Your Microservices with Istio
Weave Your Microservices with IstioWeave Your Microservices with Istio
Weave Your Microservices with Istio
 
From Zero to Cloud in 12 Easy Factors
From Zero to Cloud in 12 Easy FactorsFrom Zero to Cloud in 12 Easy Factors
From Zero to Cloud in 12 Easy Factors
 
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
 
Automated integration testing of distributed systems with Docker Compose and ...
Automated integration testing of distributed systems with Docker Compose and ...Automated integration testing of distributed systems with Docker Compose and ...
Automated integration testing of distributed systems with Docker Compose and ...
 
Porting legacy apps to Griffon
Porting legacy apps to GriffonPorting legacy apps to Griffon
Porting legacy apps to Griffon
 
Zaragoza dev ops-activiti-khd-20181212
Zaragoza dev ops-activiti-khd-20181212Zaragoza dev ops-activiti-khd-20181212
Zaragoza dev ops-activiti-khd-20181212
 
WebLogic Administration und Deployment mit WLST
WebLogic Administration und Deployment mit WLSTWebLogic Administration und Deployment mit WLST
WebLogic Administration und Deployment mit WLST
 
Docker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-ITDocker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-IT
 
'DOCKER' & CLOUD: ENABLERS For DEVOPS
'DOCKER' & CLOUD:  ENABLERS For DEVOPS'DOCKER' & CLOUD:  ENABLERS For DEVOPS
'DOCKER' & CLOUD: ENABLERS For DEVOPS
 

Plus de Matt Gifford

Plus de Matt Gifford (6)

Get Grulping with JavaScript Task Runners
Get Grulping with JavaScript Task RunnersGet Grulping with JavaScript Task Runners
Get Grulping with JavaScript Task Runners
 
Swing when you're winning - an introduction to Ruby and Sinatra
Swing when you're winning - an introduction to Ruby and SinatraSwing when you're winning - an introduction to Ruby and Sinatra
Swing when you're winning - an introduction to Ruby and Sinatra
 
Automating PhoneGap Build
Automating PhoneGap BuildAutomating PhoneGap Build
Automating PhoneGap Build
 
Let jQuery Rock Your World
Let jQuery Rock Your WorldLet jQuery Rock Your World
Let jQuery Rock Your World
 
OAuth: demystified (hopefully)
OAuth: demystified (hopefully)OAuth: demystified (hopefully)
OAuth: demystified (hopefully)
 
Darwin Development
Darwin DevelopmentDarwin Development
Darwin Development
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Dernier (20)

Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 

Accessing ColdFusion Services From Flex Applications

  • 1. Accessing ColdFusion Services From Flex Applications Matt Gifford aka @coldfumonkeh Adobe ColdFusion Developer Week 2011
  • 2. Who? Lead RIA Developer Adobe Community Professional User Group Manager - Hertfordshire, UK Author Coffee Lover @coldfumonkeh www.mattgifford.co.uk www.fuzzyorange.co.uk
  • 3. Integrating ColdFusion services into non- ColdFusion systems and applications What? Utilise powerful features whilst minimising coding and maximising functionality Improving workflow and developer collaboration across language divides
  • 4. Because ColdFusion is incredibly powerful Why? Rapid Application Development It’s awesome fun
  • 5. COLDFUSION CODE NINJAS // ALL OF YOU
  • 6. Object-relational mapping (ORM) Enhanced Document Manipulation Enhanced AJAX controls CF9 Sharepoint integration (portals) gave us... ColdFusion Builder Exposed Service Layer (CFaaS) and much more...
  • 8.
  • 9.
  • 10. LET’S DEMONSTRATE // DATA CENTRIC DEVELOPMENT
  • 12. WHAT IS AVAILABLE? // EXPOSED FUNCTIONALITY
  • 13. ColdFusion as a Service (or how to share the awesome-ness with other developers and other languages)
  • 14. http://[server]:[port]/CFIDE/services/ http://localhost:8500/CFIDE/services/mail.cfc?wsdl http://localhost:8500/CFIDE/services/document.cfc?wsdl http://localhost:8500/CFIDE/services/chart.cfc?wsdl ACCESSING SERVICES // WEB SERVICE
  • 15. Chart Mail generate send Document PDF generate addWatermark convertArrayOfStructToPDFPageDetailArray [private] deletepages Image extractImage AddBorder extractPages batchOperation extractText Blur getInfo Crop mergeFiles Flip mergespecificpages GetEXIFMetaData processDDX GetEXIFTAG protect GetHeight removewatermark GetIPTCMetaData setinfo GetIPTCTag thumbnail GetWidth GrayScale Info POP Negative delete Overlay getAll Resize getHeaderOnly Rotate ScaletoFit Sharpen Shear AVAILABLE SERVICES // WHAT YOU CAN DO WITH IT
  • 16. Restricted Access to exposed services through the ColdFusion Administrator
  • 18. ColdFusion: <cfmail to="requests@guitar-hero.com" from="me@my_email_address.com" subject="More Kenny Loggins" /> AS Proxy in Flex: <cf:Mail to="requests@guitar-hero.com" from="me@my_email_address.com" subject="More Kenny Loggins" />
  • 19. Import the cfservices.swc file (from ColdFusion 9 install): typically in /CFIDE/scripts/AIR/ directory Add ColdFusion namespace to your Flex application xmlns:cf=”coldfusion.service.mxml.*” Write some code That bit’s over to you... HOW EASY IS IT? // VERY
  • 20. LET’S DEMONSTRATE // BUILDING AN APPLICATION
  • 21. USEFUL REMINDERS ColdFusion Connection: <cf:Config id="conf" cfServer="localhost" cfPort="8500" serviceUserName="demoUser" servicePassword="demoPassword" /> Define a Method: <cf:Image id="getImageInfo" action="info" source="{dragImage.source}" result="imageInfoResult(event)" fault="onFault(event)" /> Execute (in a nice way): getImageInfo.execute();
  • 22. STRESS-FREE UPLOADS // UTIL CLASS MAGIC
  • 23. USEFUL REMINDERS Upload URL: uploadUrl.url = "http://"+conf.cfServer+":"+conf.cfPort+"/"+Util.UPLOAD_URL; uploadUrl.method = "POST"; uploadUrl.contentType = "multipart/form-data"; Util Class Generates: http://localhost:8500/CFIDE/services/upload.cfc?METHOD=uploadForm Get Remote Location: uploadedFileUrl = Util.extractURLFromUploadResponse(event.data.toString());
  • 24. WHY SHOULD YOU CARE? // BECAUSE YOU’RE AWESOME
  • 25. Full code on github: https://github.com/coldfumonkeh/ColdFusion-Dev-Week-Demos CFaaS method cheat sheet: http://www.mattgifford.co.uk/updated-cfaas-method-cheat-sheet TRY IT YOURSELF // THINGS TO HELP YOU
  • 26. Accessing ColdFusion Services From Flex Applications Matt Gifford aka @coldfumonkeh Adobe ColdFusion Developer Week 2011