Understanding Flex Data Services

2,918 views

Published on

With ColdFusion, why should I care about Flex Dataservices (aka Blaze DS)?

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,918
On SlideShare
0
From Embeds
0
Number of Embeds
24
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • Understanding Flex Data Services

    1. 1. <ul><li>Thomas Burleson </li></ul><ul><li>Principal Architect </li></ul>Understanding Flex 2 Data Services June 28 th – July 1 st 2006 [email_address] “ With ColdFusion, why should I care about FDS?”
    2. 2. Flex 2 Data Services (FDS) <ul><li>What is FDS? </li></ul><ul><li>Why use FDS? </li></ul><ul><li>Show me how… </li></ul>June 28 th – July 1 st 2006
    3. 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. 4. Flex 2 Flash Player June 28 th – July 1 st 2006 <ul><li>Distributed Free </li></ul><ul><li>Upgrades Automatically </li></ul><ul><li>Version Detection </li></ul><ul><li>Downloaded from Adobe </li></ul>FlexBuilder Flash VM AS2 AS3
    5. 5. Flex IDE June 28 th – July 1 st 2006 <ul><li>Developer tool costs < $600 Includes source code </li></ul><ul><li>Does not support Flex 1.5 </li></ul><ul><li>No J2EE Server required </li></ul><ul><li>No Distribution licenses of SWFs </li></ul>Flex Framework MXML ActionScript Flex Class Library FlexBuilder (Eclipse)
    6. 6. Flex 2.0 Server Components June 28 th – July 1 st 2006 <ul><li>CPU-based Server Costs </li></ul><ul><li>Leverage Java Messaging System (JMS) </li></ul><ul><li>Used with J2EE servers; </li></ul><ul><ul><li>JRun, ColdFusion, WebLogic, Websphere </li></ul></ul><ul><li>Requires CPU-based licensing </li></ul>Flex 2 Enterprise Services RPC Services Data Services Message Service FlexBuilder
    7. 7. Why use FDS? <ul><li>Server-side Security </li></ul><ul><li>Performance & Functional Testing </li></ul><ul><li>Client Synchronization </li></ul><ul><li>Collaboration </li></ul><ul><li>Large volumes of data with paging </li></ul><ul><li>Data- Push Features </li></ul><ul><li>Real-time data delivery (e.g. medical, investment, decision support systems, etc) </li></ul>June 28 th – July 1 st 2006 Flex Data Services RPC Services Data Services Message Service
    8. 8. 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 <ul><li>HTTPService, SOAP, & RemoteObject(CFC) is FREE in Coldfusion 7.x… FDS2 is not req. </li></ul><ul><li>FDS 2.0 is required for RemoteObject( Java ) featuresc </li></ul>ColdFusion /J2EE Server HttpService (XML) WebService(SOAP) CFC RemoteObject
    9. 9. 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
    10. 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. 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. 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. 13. Local Persistence Service <ul><li>Allows offline data access </li></ul><ul><li>Provides common API for creating, reading, updating, and deleting local data </li></ul><ul><li>Adapters are used for different types of local data storage devices </li></ul><ul><li>Local Shared Objects adapter is available in Flex 2.0… FDS is not required </li></ul><ul><li>Offline data synchronization supported through combination of local persistence and messaging services… FDS is required ! </li></ul>June 28 th – July 1 st 2006 LSO LSO Adapter Local Persistence Service
    14. 14. Show me how… <ul><li>Using C-FDS for: </li></ul><ul><ul><li>High-performance, SECURE access to CFCs with native data results </li></ul></ul><ul><ul><li>Coldfusion application  Flex application messaging </li></ul></ul><ul><ul><li>Note: Mike Nimer’s presentation will show CFC<->Actionscript native translations during data marshalling </li></ul></ul><ul><li>Using FDS for: </li></ul><ul><ul><li>Proxy security & framework for access to distributed data systems. </li></ul></ul><ul><ul><li>Coldfusion application  Flex application 2-way messaging </li></ul></ul><ul><ul><li>Paging large volumes of data </li></ul></ul><ul><ul><li>Real-time Data Sharing </li></ul></ul><ul><ul><li>Messaging for Dashboard features </li></ul></ul>June 28 th – July 1 st 2006 Introduce Flex 2 Actionscript components for FDS and show source examples: See notes!
    15. 15. 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 <ul><li>Specify in .mxml file a CFC component with its FULL class path… </li></ul><ul><li>this may be a security concern! </li></ul><ul><li>Modify FDS configuration file to specify an private, custom ID for the desired </li></ul><ul><li>classpath. Use this ID in the Flex code… SECURE and PRIVATE. </li></ul>b) <mx:RemoteObject id=&quot; myCfc &quot; destination=&quot; CustomID &quot; result=&quot;my_CFC_handler(event)“ /> See code samples…
    16. 16. FDS for Data Sharing June 28 th – July 1 st 2006 <ul><li>User is ordering online and is submitting an invalid credit card for his order. </li></ul><ul><li>Instead of get some abstract error… an online representative “pops-up” asking if the buyer needs help. </li></ul><ul><li>The buyer says yes and describes the problem. </li></ul><ul><li>The rep fixes the fields REMOTELY and submits the buyers form REMOTELY . </li></ul><ul><li>The buyer receives confirmation </li></ul><ul><li>The rep thanks the buyer and logs-off. </li></ul>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. 17. FDS for Dashboards June 28 th – July 1 st 2006 <ul><li>UserA is ordering online orders several products. UserA submits order. </li></ul><ul><li>UserB is ordering online with several products. UserB submits order. </li></ul><ul><li>Etc. </li></ul><ul><li>Each time an order is submitted the dashboard AUTOMATICALLY adjusts its charts/graphs of gross sales and available inventory. </li></ul>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. 18. Use FDS 2 with ColdFusion <ul><li>Server-side Security </li></ul><ul><li>Performance & Functional Testing </li></ul><ul><li>Collaboration </li></ul><ul><li>Large volumes of data with paging </li></ul><ul><li>Data- Push Features </li></ul><ul><li>Client Synchronization </li></ul><ul><li>Real-time data delivery (e.g. medical, investment, decision support systems, etc) </li></ul>June 28 th – July 1 st 2006 Flex Data Services RPC Services Data Services Message Service

    ×