ouch! As I wrote that email, I avoided the buzzword bingo sentence, as I was thinking data-oriented, but put it in more laymen terms. :) Although, I never said it was "only" of interest for real-time data. (sematics boy - my wife chimes in)

FDS does encompass more than just real-time data. Even the "Data Services" part of the name implies that it provides services for managing CRUD, concurrency, synchronization, etc... and I greatly appreciate that FDS does these things. If it did not provide these services, it would be called Flash Remoting, right.

:)

Thanks for detailed description Steven.

Humbled Laymen,
Rob Rusher


On 7/12/06, Steven Webster < [EMAIL PROTECTED]> wrote:

I'm going to step this thread all the way to the beginning again; there was a flawed message in this thread that suggested that FDS was only of interest for real-time data; while it's certainly true that when we're demonstrating the power of FDS, we'll leverage real-time/collaborative examples, let's not forget here that the FDS value proposition is much more than real-time dashboards.
 
Christophe Coenraets articulated very clearly during MAX last year, the concept of a data-oriented versus a service-oriented architecture (I think credit is due to Matt Chotin here too); I think that is the starting point for discussion as to whether you are going to leverage benefit from FDS in your application architecture. 
 
RPC services are most appropriate in an SOA environment.  You have an existing infrastructure with which you wish to integrate, and that infrastructure presents a set of services that can be invoked from your RIA client.  That's where you'd likely make a decision to use RPC services:
 
OnlineBankingService.java
    +schedulePayment( payment, date )
    +openAccount( account )
    +requestCurrency( fromAccount, amount, currency )
    +generatePrintableStatement( account, fromDate, toDate )
    ...etc
 
If however, your service tier starts to look a lot like:
 
PatientRecordService.java
    +createRecord( patient )
    +readRecord() : patient
    +updateRecord( patient )
    +deleteRecord( patient )
 
AppointmentService.java
    +createAppointment( appointment )
    ...etc
 
Then you're services are really just defining CRUD operations on your data-tier, and it would suggest that you have a data-oriented architecture.  You're probably also having to do a great deal of heavy-lifting on the client, to manage relationships, to manage the fact that you have state on the client (your client model) that has to be replicated on the server, and you will need strategies in place to manage synchronisation and conflict resolution between these 2 models.  If you then have multiple clients that can all access patients/appointments/etc, then you're also going to start having to think about locking/concurrency policies, and suddenly your services have a great deal of infrastructure work associated with them.  And I haven't even started talking about clustering, and failover, and such enterprise requirements for a mission-critical system as you describe.
 
In these scenarios, where you have a data-oriented architecture, but where there is no real-time requirements, no push-requirements, no collaboration (per-se - screen-sharing/etc) requirements, there is still *tremendous* value being offered by an application architecture that leverages data services.  Flex Data Services is going to do ALL that heavy-lifting for you.  Quickly.  With code written by people smarter than me (cheap shot, don't take it).
 
To define the problem that was originally stated:
 
"Currently our thinking is to connect to the data through web services sending XML data to a JSO file that then will communicate with a JAVA based API back to the MySQL backend. What, if anythign would FDS bring to the table? Still not sure how it is better than XML
based solution."
 
When I look at that problem, I see a number of moving parts and infrastructure work that is required - yet you are in the business of building a large-mission critical application for healthcare.  FDS is going to remove a great deal of these moving parts, and potentially offer you an elegant architectural solution that allows you to focus on delivering a truly effective user-experience.  You can focus on creating a useful, usable and desirable application, and you can focus on delivering a scalable, maintainable and performant application, you can focus on delivering feature and value to the user (and the business) rather than focus on delivering infrastructure.
 
Let FDS manage your CRUD operations for you.  Let FDS manage relationships.  Let FDS manage synchronisation between your client and server models.  Let FDS manage concurrency, and locking and conflict resolution.  Let FDS manage how all that jazz works in a clustered app server environment.  Let FDS make your integration to your MySQL database a walk in the park.
 
I'd seriously recommend that you (the general you here) spend some time understanding in it's entierity, the value proposition that we're making with Flex Data Services; there is a great deal of misconception that FDS is a solution for real-time, for push, and for collaboration only.
 
Not so.  When you are building enterprise n-tier RIA (buzzword bingo - Webster wins) that have a significant reliance upon EIS such as database integration or message-queue integration, FDS is going to give you bet-the-business assurance on your technical robustness, and let you focus on delivering the kind of user-experiences that no-doubt were the reason Flex caught your attention in the first place. 
 
Do you think we need to do more work in helping you understand the ways in which you can deliver better apps smarter and faster with FDS ?  Let us know what would help you here - because FDS is helping us.
 
In the meantime, let a take-away from this simply be that FDS is about more than "real-time-update-in-front-of-your-eyes-charts".  Those are just the demos we build in a few minutes at conferences to show you how all the bits hang together.
 
Does this offer any pause for thought ?
 
Best wishes,
 
Steven
 
Steven Webster
Practice Director (Rich Internet Applications)
Adobe Consulting
Westpoint, 4 Redheughs Rigg, South Gyle, Edinburgh, EH12 9DQ, UK
p: +44 (0) 131 338 6108
m: +44 (0) 7917 428 947 
[EMAIL PROTECTED]




--
--
Regards,
Rob Rusher

Adobe Certified Breeze, ColdFusion MX and Flex 2 Instructor
m: 303-885-7044
im: robrusher __._,_.___

--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com





SPONSORED LINKS
Web site design development Computer software development Software design and development
Macromedia flex Software development best practice


YAHOO! GROUPS LINKS




__,_._,___

Reply via email to