Thomas Burleson Principal Architect Understanding  Flex 2  Data Services June 28 th  – July 1 st  2006 [email_address] “ With ColdFusion, why should I care about FDS?”
Flex 2  Data Services (FDS) What is FDS? Why use FDS? Show me how… June 28 th  – July 1 st  2006
What is FDS? June 28 th  – July 1 st  2006 Flex 2  Data Services (FDS) RPC Services Data Services Message Service Flex 2.0 Technology Stack Flex 2  Framework MXML ActionScript Flex Class Library Flash VM AS2 AS3 FlexBuilder
Flex 2  Flash Player June 28 th  – July 1 st  2006 Distributed  Free Upgrades Automatically Version Detection Downloaded from Adobe FlexBuilder Flash VM AS2 AS3
Flex IDE June 28 th  – July 1 st  2006 Developer tool  costs < $600  Includes source code Does  not  support Flex 1.5 No J2EE Server required No Distribution licenses of SWFs Flex Framework MXML ActionScript Flex Class Library FlexBuilder (Eclipse)
Flex 2.0 Server Components June 28 th  – July 1 st  2006 CPU-based Server  Costs   Leverage Java Messaging System (JMS) Used with J2EE servers;  JRun, ColdFusion, WebLogic, Websphere Requires CPU-based licensing Flex 2  Enterprise Services RPC Services Data Services Message Service FlexBuilder
Why use FDS? Server-side Security Performance  & Functional Testing Client  Synchronization Collaboration Large volumes of data with  paging  Data- Push  Features Real-time  data delivery (e.g. medical, investment, decision support systems, etc) June 28 th  – July 1 st  2006 Flex Data Services RPC Services Data Services Message Service
Flex 2.0 RPC Services June 28 th  – July 1 st  2006 FDS JSP/Servlet (XML) HttpService (XML) WebService(SOAP) RemoteObject(Java ) Web Svc (SOAP) JAVA (EJB/POJO ) HTTP SOAP EJB HTTPService, SOAP, & RemoteObject(CFC) is  FREE  in Coldfusion 7.x… FDS2 is not req. FDS 2.0 is required for RemoteObject( Java ) featuresc ColdFusion /J2EE Server HttpService (XML) WebService(SOAP) CFC RemoteObject
Flex 2.0 Message Services   (Publish & Subscribe) June 28 th  – July 1 st  2006 FDS JSP/Servlet (XML) HttpService (XML) WebService(SOAP) RemoteObject(Java) Web Svc (SOAP) JAVA (EJB/POJO ) HTTP SOAP EJB ColdFusion /J2EE  Server Messaging Services Adapter API Java Message Service (JMS) MQSeries Tibco Others
Messaging with ColdFusion & Flex   June 28 th  – July 1 st  2006 Other Gateways Flex Messaging Event Gateway ColdFusion 7.x Enterprise Server 1 ColdFusion 7.x Enterprise  With FDS2 Server 2 HTML App Flex App RMI See notes! FDS Messaging  Services ColdFusion Event Gateway Adapter
Flex  &  Coldfusion June 28 th  – July 1 st  2006 Flex Data Services Coldfusion  Server (7.x or higher) Web Browser HTML XML CFM CFC Event Gateway Flex SWF(s) Java Remoting ( via AMF ) WebServices  XML Proxies XML WebServices CFC Remoting See notes!
Flex 2  Data Services:  Real-Time Data Sharing (via RTMP or HTTP) June 28 th  – July 1 st  2006 Object Adapter Adapter API FDS JSP/Servlet (XML) HttpService (XML) WebService(SOAP) RemoteObject(Java) Web Svc (SOAP) JAVA (EJB/POJO ) HTTP SOAP EJB Messaging Services Adapter API Java Message Service (JMS) MQSeries Tibco Others O-R Adapter JDBC Adapter DAO Data Synch Services RDMS Oracle, Sybase, DB2 SQLServer ColdFusion /J2EE Server RPC RTMP/HTTP
Local Persistence Service Allows offline data access Provides common API for creating, reading, updating, and deleting local data  Adapters are used for different types of local data storage devices Local Shared Objects adapter is available in Flex 2.0… FDS is not required Offline  data  synchronization  supported through combination of local persistence and messaging services…  FDS is required ! June 28 th  – July 1 st  2006 LSO LSO Adapter Local Persistence Service
Show me how… Using  C-FDS  for: High-performance, SECURE access to CFCs with native data results  Coldfusion application    Flex application  messaging Note: Mike Nimer’s presentation will show CFC<->Actionscript  native translations during data marshalling Using FDS for: Proxy  security & framework for access to distributed data systems. Coldfusion application    Flex application 2-way  messaging Paging  large volumes of data Real-time  Data Sharing Messaging  for Dashboard features June 28 th  – July 1 st  2006 Introduce Flex 2  Actionscript  components for FDS and show source examples: See notes!
Using CFCs with C-FDS June 28 th  – July 1 st  2006 <mx:RemoteObject id=&quot;myCfc&quot;  destination=&quot;ColdFusion&quot;  source=&quot; myApplication.components.User “ result=&quot;my_CFC_handler(event)&quot;  />  a) Modify  /WEB-INF/flex/services-config.xml  to add a “named” destination Specify in .mxml file a CFC component with its FULL class path…  this may be a security concern! Modify FDS configuration file to specify an private, custom ID for the desired  classpath. Use this ID in the Flex code… SECURE and PRIVATE. b) <mx:RemoteObject id=&quot; myCfc &quot;  destination=&quot; CustomID &quot;  result=&quot;my_CFC_handler(event)“ />  See code samples…
FDS for Data Sharing June 28 th  – July 1 st  2006 User is ordering online and is submitting an invalid credit card for his order. Instead of get some abstract error… an online representative “pops-up” asking if the buyer needs help. The buyer says yes and describes the problem.  The rep fixes the fields  REMOTELY  and submits the buyers form  REMOTELY . The buyer receives confirmation The rep thanks the buyer and logs-off. Real-time, 2-way  data sharing  (e.g. medical insurance forms, decision support systems, etc)…   Let’s review  a Flex application to allow online support to help with credit card problems on a visitors form.  Scenario:   See code and demo…
FDS for Dashboards June 28 th  – July 1 st  2006 UserA is ordering online orders several products. UserA submits order. UserB is ordering online with several products. UserB submits order. Etc. Each time an order is submitted the dashboard  AUTOMATICALLY  adjusts its charts/graphs of gross sales and available inventory. Real-time,  data aggregation  (e.g. medical, decision support systems, etc)… Let’s review  an application to allow multiple online buyers to submit orders that update sales and inventory dashboard. Scenario:   See code and demo…
Use FDS 2  with ColdFusion Server-side Security Performance  & Functional Testing Collaboration Large volumes of data with  paging  Data- Push  Features Client  Synchronization Real-time  data delivery (e.g. medical, investment, decision support systems, etc) June 28 th  – July 1 st  2006 Flex Data Services RPC Services Data Services Message Service

Understanding Flex Data Services

  • 1.
    Thomas Burleson PrincipalArchitect Understanding Flex 2 Data Services June 28 th – July 1 st 2006 [email_address] “ With ColdFusion, why should I care about FDS?”
  • 2.
    Flex 2 Data Services (FDS) What is FDS? Why use FDS? Show me how… June 28 th – July 1 st 2006
  • 3.
    What is FDS?June 28 th – July 1 st 2006 Flex 2 Data Services (FDS) RPC Services Data Services Message Service Flex 2.0 Technology Stack Flex 2 Framework MXML ActionScript Flex Class Library Flash VM AS2 AS3 FlexBuilder
  • 4.
    Flex 2 Flash Player June 28 th – July 1 st 2006 Distributed Free Upgrades Automatically Version Detection Downloaded from Adobe FlexBuilder Flash VM AS2 AS3
  • 5.
    Flex IDE June28 th – July 1 st 2006 Developer tool costs < $600 Includes source code Does not support Flex 1.5 No J2EE Server required No Distribution licenses of SWFs Flex Framework MXML ActionScript Flex Class Library FlexBuilder (Eclipse)
  • 6.
    Flex 2.0 ServerComponents June 28 th – July 1 st 2006 CPU-based Server Costs Leverage Java Messaging System (JMS) Used with J2EE servers; JRun, ColdFusion, WebLogic, Websphere Requires CPU-based licensing Flex 2 Enterprise Services RPC Services Data Services Message Service FlexBuilder
  • 7.
    Why use FDS?Server-side Security Performance & Functional Testing Client Synchronization Collaboration Large volumes of data with paging Data- Push Features Real-time data delivery (e.g. medical, investment, decision support systems, etc) June 28 th – July 1 st 2006 Flex Data Services RPC Services Data Services Message Service
  • 8.
    Flex 2.0 RPCServices June 28 th – July 1 st 2006 FDS JSP/Servlet (XML) HttpService (XML) WebService(SOAP) RemoteObject(Java ) Web Svc (SOAP) JAVA (EJB/POJO ) HTTP SOAP EJB HTTPService, SOAP, & RemoteObject(CFC) is FREE in Coldfusion 7.x… FDS2 is not req. FDS 2.0 is required for RemoteObject( Java ) featuresc ColdFusion /J2EE Server HttpService (XML) WebService(SOAP) CFC RemoteObject
  • 9.
    Flex 2.0 MessageServices (Publish & Subscribe) June 28 th – July 1 st 2006 FDS JSP/Servlet (XML) HttpService (XML) WebService(SOAP) RemoteObject(Java) Web Svc (SOAP) JAVA (EJB/POJO ) HTTP SOAP EJB ColdFusion /J2EE Server Messaging Services Adapter API Java Message Service (JMS) MQSeries Tibco Others
  • 10.
    Messaging with ColdFusion& Flex June 28 th – July 1 st 2006 Other Gateways Flex Messaging Event Gateway ColdFusion 7.x Enterprise Server 1 ColdFusion 7.x Enterprise With FDS2 Server 2 HTML App Flex App RMI See notes! FDS Messaging Services ColdFusion Event Gateway Adapter
  • 11.
    Flex & Coldfusion June 28 th – July 1 st 2006 Flex Data Services Coldfusion Server (7.x or higher) Web Browser HTML XML CFM CFC Event Gateway Flex SWF(s) Java Remoting ( via AMF ) WebServices XML Proxies XML WebServices CFC Remoting See notes!
  • 12.
    Flex 2 Data Services: Real-Time Data Sharing (via RTMP or HTTP) June 28 th – July 1 st 2006 Object Adapter Adapter API FDS JSP/Servlet (XML) HttpService (XML) WebService(SOAP) RemoteObject(Java) Web Svc (SOAP) JAVA (EJB/POJO ) HTTP SOAP EJB Messaging Services Adapter API Java Message Service (JMS) MQSeries Tibco Others O-R Adapter JDBC Adapter DAO Data Synch Services RDMS Oracle, Sybase, DB2 SQLServer ColdFusion /J2EE Server RPC RTMP/HTTP
  • 13.
    Local Persistence ServiceAllows offline data access Provides common API for creating, reading, updating, and deleting local data Adapters are used for different types of local data storage devices Local Shared Objects adapter is available in Flex 2.0… FDS is not required Offline data synchronization supported through combination of local persistence and messaging services… FDS is required ! June 28 th – July 1 st 2006 LSO LSO Adapter Local Persistence Service
  • 14.
    Show me how…Using C-FDS for: High-performance, SECURE access to CFCs with native data results Coldfusion application  Flex application messaging Note: Mike Nimer’s presentation will show CFC<->Actionscript native translations during data marshalling Using FDS for: Proxy security & framework for access to distributed data systems. Coldfusion application  Flex application 2-way messaging Paging large volumes of data Real-time Data Sharing Messaging for Dashboard features June 28 th – July 1 st 2006 Introduce Flex 2 Actionscript components for FDS and show source examples: See notes!
  • 15.
    Using CFCs withC-FDS June 28 th – July 1 st 2006 <mx:RemoteObject id=&quot;myCfc&quot; destination=&quot;ColdFusion&quot; source=&quot; myApplication.components.User “ result=&quot;my_CFC_handler(event)&quot; /> a) Modify /WEB-INF/flex/services-config.xml to add a “named” destination Specify in .mxml file a CFC component with its FULL class path… this may be a security concern! Modify FDS configuration file to specify an private, custom ID for the desired classpath. Use this ID in the Flex code… SECURE and PRIVATE. b) <mx:RemoteObject id=&quot; myCfc &quot; destination=&quot; CustomID &quot; result=&quot;my_CFC_handler(event)“ /> See code samples…
  • 16.
    FDS for DataSharing June 28 th – July 1 st 2006 User is ordering online and is submitting an invalid credit card for his order. Instead of get some abstract error… an online representative “pops-up” asking if the buyer needs help. The buyer says yes and describes the problem. The rep fixes the fields REMOTELY and submits the buyers form REMOTELY . The buyer receives confirmation The rep thanks the buyer and logs-off. Real-time, 2-way data sharing (e.g. medical insurance forms, decision support systems, etc)… Let’s review a Flex application to allow online support to help with credit card problems on a visitors form. Scenario: See code and demo…
  • 17.
    FDS for DashboardsJune 28 th – July 1 st 2006 UserA is ordering online orders several products. UserA submits order. UserB is ordering online with several products. UserB submits order. Etc. Each time an order is submitted the dashboard AUTOMATICALLY adjusts its charts/graphs of gross sales and available inventory. Real-time, data aggregation (e.g. medical, decision support systems, etc)… Let’s review an application to allow multiple online buyers to submit orders that update sales and inventory dashboard. Scenario: See code and demo…
  • 18.
    Use FDS 2 with ColdFusion Server-side Security Performance & Functional Testing Collaboration Large volumes of data with paging Data- Push Features Client Synchronization Real-time data delivery (e.g. medical, investment, decision support systems, etc) June 28 th – July 1 st 2006 Flex Data Services RPC Services Data Services Message Service