Here is my 2 cents. I am working on a judicial application (warrants,
summons, citation tracking etc.). We are using Mach-ii and Flash.
Reasons for MachII
1) Community Embraced. We have already begun to reap the benefits of
community provided tools (quick list of what we are using provided by the
others)
1) Watcher from Robby.
2) EventBean from Ben in MachII 1.0.8
3) FlashRemotingCFC from Sean (I know he doesn't like it, but seems
to get the job done for our team).
4) Form Object Beaner from Sean
5) ValidateFormObject from Sean
6) Required Fields from Ben in MachII 1.0.6
2) Implicit invocation, the application required that a single request
precipitates multiple events (i.e. Cancel a warrant event--- updates the DB,
prints a hard copy notification to network printer in different dept, prints
hard copy report in Marshall's office, emails records, blah...blah...blah.)
Because machii decouples things we are able to reuse much of our code, and
best of all, continue to grow our applications without to much fear in
breaking the whole system.
3) Speed, its pretty darn fast.
4) I couldn't have built a better framework =)
The one short coming I see, and this isn't related to MachII but the http
model in general is that you cannot pass an instance of a cfc back to flash.
This relates to the DTO thread a bit. In non RIA applications you can pass
a light weight DTO to your view and ref its data via its methods. For
obvious reasons you can't pass that same DTO to flash. All my return data
has to be flattened in to a struct first and passed back. Not a big deal, I
am trying to work on some universal flatener that will undo what the form
object beaner does for data coming in. The other problem is, your
controller is not managing anything for the client. I am not the flash
developer on my team, so I can't really speak to that. You have to have a
bit of a controller in the client as well I guess.
I have a lot of confidence in those that are contributing to the project,
and am keeping my fingers crossed with their pursuits in the RIA arena. Its
working for us though, but we are a rag tag group that can always put the
square peg, in the round hole =)
Justin
-----Original Message-----
From: Nando [mailto:[EMAIL PROTECTED]
Sent: Wednesday, December 10, 2003 6:46 AM
To: [EMAIL PROTECTED]
Subject: RE: [CFCDev] Best Methodology/Framework for building RIA
>From what i've read in some of the other posts, and i'm just being a
reporter here -
the situation with Flex, because it is compiled into a swf file, is going to
be
similar to that of Flash, namely that with any RIA, the controller, or part
if it,
should be on the client for the technology to function to it's full
capacity.
So as I understand it, the root of the problem isn't in the framework that
is used.
The difference isn't there, it's in the fact that an RIA functions
fundamentally
differently from an HTML application, so if we give users the choice, the
views are
going to have different requirements. The problem is how to accomodate both
intelligently in one application, hence the added tiers. At least that's
what i've
read and understood here.
I've also read that it's one of the stated goals for Mach-ii to handle RIA's
better
than it does now. "Better support for integration with Flash (this is big on
Hal's
list too)"
http://www.fusebox.org/forums/messageview.cfm?rssdate=TueDecember09%2C20038%
3A11AM&cat
id=26&threadid=2562
So by nature, it's a complex problem, but with Sean building combined HTML /
RIA's for
MM.com and the other contributers / authors of the framework, Ben and Hal,
saying
better integration with Flash is at the top of their list for improvements
...
"the future's so bright - i gotta wear shades". \oo/
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Behalf Of Douglas Humphris
Sent: Wednesday, December 10, 2003 1:48 PM
To: [EMAIL PROTECTED]
Subject: RE: [CFCDev] Best Methodology/Framework for building RIA
Sorry, I should explain myself a bit more:
I haven't developed a commercial application using Mach-II yet, but have
become quite excited about using it as a framework, and am hoping to use
it for a large project early next year. The project will initially be a
very complex shopping cart/payment gateway system for a large publishing
house. We are looking at a phased development approach, phase 1 to build
the system with basic html view, phase 2 to start building different
views for different types of users: RIA, PDA, Disability access.
Having read through this thread I've been a bit scared off this idea of
using Mach-II for RIAs. I can handle three or four tier architecture,
but n-tier is blowing my mind a bit! So, I was very interested to
discover FLEX, and am wondering if this will simplify the n-tier
approach that Sean talks about.
If anyone has any thoughts on this, I'd be interested as it may help to
justify using Mach-II without worrying that I'm making life more complex
for myself when we reach phase 2 and start developing different views.
Thanks,
Douglas
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Douglas Humphris
Sent: 10 December 2003 12:28
To: [EMAIL PROTECTED]
Subject: RE: [CFCDev] Best Methodology/Framework for building RIA
Hi Sean et al,
I'm late to this discussion, but I've recently been reading about Flex.
Can someone tell me if the combination of Mach-II and FLEX will work
well together for RIAs, and how they see the two interacting?
Thanks,
Douglas
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Sean A Corfield
Sent: 06 December 2003 23:15
To: [EMAIL PROTECTED]
Subject: Re: [CFCDev] Best Methodology/Framework for building RIA
On Dec 6, 2003, at 2:29 PM, Matt Liotta wrote:
> I have seen many try and shoehorn a three-tier architecture into
> something useful for a Rich Internet Application by simply adding a
> facade to their business-tier. However, this tends to fall down
> because as it turns out many of the assumptions made in the
> presentation-tier of a web application are very different to those of
> a Flash application.
Yes, in our RIAs, we have an n-tier approach something like this:
client (web browser)
presentation tier (Flash UI)
business-presentation tier (Flash ActionScript controller)
business-facade tier (ColdFusion CFC / web service facade)
business-model tier (ColdFusion CFCs)
integration tier (ColdFusion CFCs & Java)
data tier (Oracle 9i)
Note how the "business" tier is actually split into three distinct
portions in our RIAs. In our Mach II applications, we try to adopt a
very similar structure:
client (web browser)
presentation tier (ColdFusion .cfm pages)
business-presentation tier (Mach II & listener CFCs)
business-facade tier (ColdFusion CFC facade)
business-model tier (ColdFusion CFCs)
integration tier (ColdFusion CFCs & Java)
data tier (Oracle 9i)
The business-presentation tier is specific to either Flash or Mach II /
CF. The business-facade tier *can* be identical between both RIA and
HTML apps if necessary. The business-model tier is identical between
both RIA and HTML apps. If we aren't concerned about a RIA version of
an HTML app, we can simplify the architecture by collapsing the
business-presentation tier and the business-facade tier (into a single
business-controller tier).
> I have found a four-tier architecture to be most appropriate. The four
> tiers are database, service, business, and presentation.
Here are some references to back up Matt's position:
http://www.15seconds.com/issue/011023.htm
http://www.macromedia.com/devnet/mx/coldfusion/articles/ntier.html
http://www.macromedia.com/devnet/flex/articles/design_patterns02.html
http://www.macromedia.com/devnet/mx/flashcom/articles/scalable02.html
Note that some folks call the "service" tier a data access tier or an
integration tier (actually I suspect Matt's service tier is richer than
that and contains quite a bit of what I would call the business-model
tier - he refers to "business services" later on).
> The database-tier and presentation-tier is no different than you would
> have in a three-tier architecture.
Although the presentation-tier is specific to your display technology
of course - Flash in an RIA, .cfm in an HTML application.
> In most of my applications the services are available as a local
> object or as a web service. The business-tier is a little more tricky.
> It needs to wrap the service-tier and enforce business rules for the
> application. However, since the kind of applications we are talking
> about are both HTML and Flash-based there needs to be two
> implementations of the business-tier, one in CFML/Java and one in
> Flash. The CF-based presentation-tier would use a business-tier
> implemented in CFML and/or Java, while the Flash-based
> presentation-tier would use a business-tier implemented in Flash.
If you move from 4-tier to n-tier, you can separate out the business
tier into layers where you can reuse some layers - whether that's worth
the effort or not depends on whether you need both an HTML version and
an RIA version of your app!
Sean A Corfield -- http://www.corfield.org/blog/
"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood
----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev'
in the message of the email.
CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).
An archive of the CFCDev list is available at
www.mail-archive.com/[EMAIL PROTECTED]
----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev'
in the message of the email.
CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).
An archive of the CFCDev list is available at
www.mail-archive.com/[EMAIL PROTECTED]
----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev'
in the message of the email.
CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).
An archive of the CFCDev list is available at
www.mail-archive.com/[EMAIL PROTECTED]
----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev'
in the message of the email.
CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).
An archive of the CFCDev list is available at
www.mail-archive.com/[EMAIL PROTECTED]
----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev'
in the message of the email.
CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).
An archive of the CFCDev list is available at www.mail-archive.com/[EMAIL PROTECTED]