240 likes | 379 Views
Deploying CFML on .NET: Opportunities & Challenges. Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com. Overview. Industry trend: the move to standard architectures Protecting your CFML investment The only way to deploy CFML on .NET: BlueDragon How easy it is
E N D
Deploying CFML on .NET:Opportunities & Challenges Charlie Arehart, CTONew Atlanta Communications charlie@newatlanta.com
Overview • Industry trend: the move to standard architectures • Protecting your CFML investment • The only way to deploy CFML on .NET: BlueDragon • How easy it is • The benefits of deploying CFML on .NET • “Cost” of deploying CFML on .NET • Resources for learning more New Atlanta Communications, LLC
About Your Speaker • CTO of New Atlanta Communications since April ‘03 • Company based in Alpharetta, GA (30 miles north of Atlanta) • 7 yrs CF experience (21 yrs in Enterprise IT) • Co-author, ColdFusion MX Bible (Wiley) • Frequent contributor to ColdFusion Dev Journal • Past accomplishments of note • Tech Editor, CFDJ • Allaire/Macromedia Certified Adv CF Developer (4, 5, MX) • Allaire/Macromedia Certified Instructor • Team Macromedia Member & Customer Advisory Board Member • Contributor to Macromedia Devnet, Dev Exchange • Frequent speaker to user groups, conferences worldwide • Also pursuing Masters at Dallas Theological Seminary • part-time via Atlanta extension campus New Atlanta Communications, LLC
Industry Trends • The technology platform “highway” has split, and most organizations today are faced with choosing directions between Sun's J2EE and Microsoft's .NET • What if you’re org is moving to .NET? • Management being persuaded by “standard architectures” • Architectural committees often prefer .NET, see CF as proprietary • Vendors focus on ASP.NET as the only tool for .NET web apps New Atlanta Communications, LLC
ASP.NET Not the Only Answer • .NET folks think ASP.NET is the only way to go • And that converting CFML apps to that is only alternative • Conversion to ASP.NET is no trivial undertaking • For all but simplest applications, is not a simple matter • Can be very expensive • Retraining folks in ASP.NET, .NET framework, tools, design patterns, etc is not trivial • And during that conversion, what about the existing apps? • Spending time rewriting when you could be enhancing New Atlanta Communications, LLC
Protecting Your CFML Investment • What if you could move the CFML to .NET and keep it running? • Could just park it there, on new platform • No need for CF Server (nor BD server) • Can start integrating with .NET, if you’d like • Or start converting CFML to ASP.NET at your own pace • You can! • BlueDragon offer the only means to run CFML on .NET • BlueDragon also can run CFML on J2EE • Don’t throw away your CFML investment! New Atlanta Communications, LLC
BlueDragon for the Microsoft .NET Framework • BlueDragon for the Microsoft .NET Framework runs CFML on .NET • Uses standard .NET features to enable this • Runs as an “http handler” (in .NET parlance) • Does NOT rely on ColdFusion at all • No ColdFusion Server • Not even a BlueDragon Server • Your CFML becomes just a .NET web application • IIS is configured to hand requests for .CFM files to .NET • .NET looks for a file describing how to handle CFM files • We edit server-wide machine.config to describe this by default • Optionally can configure on a virtual directory or site basis • Config file XML entry points to BlueDragon.dll • This is the BlueDragon CFML engine • Same engine as our BlueDragon Server and J2EE editions • Deployed as a .NET managed assembly • Stored in the Global Assembly Cache (GAC) by default New Atlanta Communications, LLC
Quick Overview: What is .NET? • Some argue that .NET is Microsoft’s answer to J2EE • Enterprise-class web application development capabilities • Integrated into the operating system • Can be added to Windows 2000, XP, 2003, and more • On one level, is tantamount to an alternative to Java • Similar libraries providing similar functionality • Sometimes improving on things Java left out or did differently • Can call upon .NET library APIs and components just as we can using CFOBJECT to call Java libraries and components • While ASP.NET is the de facto standard way to create web apps in .NET, it’s not the only way • .NET defines a specification to support other “http handlers” • While Visual Studio is the de facto standard way to edit ASP.NET web apps, CFML folks need not bother • You can continue to edit your CFML with favorite editors New Atlanta Communications, LLC
How Easy It Is • Let’s walk through deploying CFML as a .NET web app • Show CFML code running “normally” on CF Server • Show steps of running installer to configure BlueDragon for the Microsoft .NET Framework • Show the CFML code running via BD/.NET • Edit the CFML code, show that it detects changes like normal • It’s still just CFML—deployed on .NET • No CF server, no BlueDragon server required New Atlanta Communications, LLC
CFML Processing Configuration • Now all CFM templates on on all web sites (or those selected) are processed by BlueDragon • Unless overridden at web site or directory level • Could have CF and even BlueDragon Server also installed at the same time • Use virtual directory or site to control handing CFM files to either • Just by changing extension mappings in IIS • See my November 2003 CFDJ article, “Configuring Your Development Server for CF5, CFMX, and BlueDragon” • Available at NewAtlanta web site, under “editorials” New Atlanta Communications, LLC
What Are the Benefits? • But why bother with deployment on .NET? • Most significant motivation is if it’s your only alternative because you must move to .NET • At least still CFML • BlueDragon/.NET license also less than half the cost of CFMX Enterprise • Priced the same as our J2EE edition, another enterprise solution • Several other benefits to enhance your CFML, even if you’re not being forced to move to .NET • Have discussed similar benefits in April CFDJ article: • “Making the Case for CFML on J2EE” • Provided on the New Atlanta web site (newatlanta.com/bluedragon/) • Most of the benefits described there apply to .NET as well • Let’s look at a few of these, in brief… New Atlanta Communications, LLC
CFML: Super-charged! • Can integrate CFML and ASP.NET • Share session, application, request scopes with ASP.NET pages • Call .NET objects/classes/libraries • CFML becomes a standard .NET component • Can do with it anything that you’d do with an ASP.NET template • Can leverage .NET declarative security, session persistence • Examples of each of these is (or will be) offered in the document, “Deploying CFML on the Microsoft .NET Framework” • Available freely on our site or with download New Atlanta Communications, LLC
Enterprise Solutions • Can also leverage enterprise benefits of IIS 6 on server editions of Windows • Past CFDJ, MM articles have described how CFML on J2EE can leverage multiple independent instances • Same goes for CFML on IIS on Server editions of Windows • Can have multiple web sites on single server • CFML runs as a process on IIS (not a separate server) • Can leverage features such as clustering, load balancing, fail-over, session replication and persistence • Even without Server editions of Windows, BlueDragon/.NET offers unique solutions for managing multiple applications… New Atlanta Communications, LLC
Multiple Web Apps/Admin Consoles • In IIS/.NET, each site/virtual directory is its own web application • Could have own web.config file to control configuration of that directory and below • One directory has security, session persistence, etc., others do not • Indeed, .NET has an inheritance model, where web apps at one level inherit settings from higher level • Again, CFML on .NET plays along, with unique benefits • Each web app (web site/virtual directory) has its own BlueDragon Admin console • Could configure debugging in one, not the other (or caching, datasources, etc.) • Each web app could even have different versions of BlueDragon engine New Atlanta Communications, LLC
When Can I Get Started? • BlueDragon for the Microsoft .NET Framework is in “tech preview” mode • Freely available now on our web site • Is based on our 6.1 release, just recently released to production • Will expire in a few weeks, by which time we’ll have a beta • Expecting final release in Q4, if not sooner • Some are licensing it now to run production apps • We welcome that and seek strategic testers to identify/resolve any key issues • Though again, anyone can now download and test New Atlanta Communications, LLC
“Cost” of Deployment on .NET • Expected Cost • BlueDragon for the Microsoft .NET Framework: $2499 per CPU • Resource utilization cost • BlueDragon engine is just 2MB in size! • Other dependent libraries total just 10MB in J2EE edition • Reasonable to expect similar footprint on .NET New Atlanta Communications, LLC
What About Mono? • One last topic that some may ask about… • Mono is an open-source implementation of the .NET framework (go-mono.org) • Primarily oriented toward .NET on Linux and OS X • Backed by Novell and others • Does not implement all the features of .NET • Has certain minimal goals in its current pre-release status • So BlueDragon does not currently run on MONO • We will be following its progress New Atlanta Communications, LLC
Why BlueDragon? • Main reason so far is just that it runs CFML on .NET • Naturally, you’ll wonder what it supports • Substantially similar feature set to ColdFusion • BlueDragon 6.1 supports CFMX 6.1 functionality • CFCs, XML, web services, and more • And all the other things you’d expect in CFML • Including CFXs, CFOBJECT calls to Java, and lots more • Currently lacks only a handful of tags • CF4/5: CFAPPLET, CFGRID, CFREPORT • And CFAUTHENTICATE, CFIMPERSONATE; obsoleted in CFMX • CF/MX: CFCHART, CFLOGIN, CFTRACE (planning to add soon) • Does offer enterprise database drivers, web server integration • Database integration is based on ADO.NET in .NET edition • What does it add? • Besides the only way to run CFML on .NET?... New Atlanta Communications, LLC
Why BlueDragon? (cont.) • Also several benefits over CFMX • Available protection of CFML using precompiled or encrypted templates • Readable only by BlueDragon. Cannot be converted back to source code • A few extra tags, including: CFASSERT, CFIMAGE, CFIMAP • Web spidering via CFINDEX (as well as text file and query indexing) • Extra runtime state information reported in BD Admin console • Automatically populates datasources from existing ODBC ones (Windows) • BlueDragon has many other advantages to consider • See http://bluedragon.blog-city.com/read/601768.htm • And beyond .NET edition, again, have J2EE edition as well • All same sort of benefits as .NET edition, but on J2EE server • Also available standalone Server and Server JX editions • Server edition is free (free for production!) • Lacks only a few features • All available for download as free trial, dev editions New Atlanta Communications, LLC
Who is New Atlanta • New Atlanta is an established business with 11,000 paying customers in over 70 countries • Been in the server-side Java business since 1997 • ServletExec is still a highly regarded JSP/servlet engine • It underlies BlueDragon Server/Server JX just like JRun underlies CFMX • JTurbo is a highly regarded Type IV JDBC for SQL Server • New Atlanta is known for strong support, responsiveness • Got into BlueDragon to address critical needs of CFML developers not being served by CF • Even so, Macromedia has had many positive things to say about BlueDragon New Atlanta Communications, LLC
What Does Macromedia Think? • Macromedia Directory of Technology Sean Corfield • Has frequently blogged positive comments about BlueDragon in his personal site, corfield.org, or on our mailing list • “Overall, it looks pretty good” • “They're nice shirts - I have one and wear it to work sometimes :)” • Ben Forta, senior CF Evangelist • “I personally wish them all the best in their endeavors…I give the NA folks credit for innovating where they have opted to do.” • http://www.buntel.com/blog/addcomment.cfm?id=114333E9-4E22-1671-5B4EA519BCDD4F4C • Tim Buntel, CF Product Manager • “I'm sure that there's a way that we can not only serve the best interests of both Macromedia and New Atlanta, but of the community as a whole.” • See buntel.com thread above New Atlanta Communications, LLC
Who’s Using BlueDragon? • Hundreds of companies using the several versions • Users of free Server edition don’t even need to tell us! • Some key accounts • American Airlines – crew reporting application • LinuxWorld.com – yes, is CFML (served via .htm) • Credit Suisse First Boston – complex security application • Digital Insight - sells software to very large banks • Fitz and Floyd – Retail store for collectibles • Open Rental Desk – implements rental desk s/w in h/w stores • Also, several hosting companies • CF Dynamics • Advanced Group.net • Intent.net • StreamingMedia • Vivio Technologies • More listed on our partner site New Atlanta Communications, LLC
Conclusion • Deploying CFML on .NET is easy • BlueDragon alone runs CFML as a native .NET web application • It can bring many benefits, solve many problems • Management, developers, vendors all need to be educated • Understanding benefits of CFML deployed as a native .NET component • Opens many doors for improvement of apps: • Integration, performance, management, and more • Allows CFML to live on as a valuable component in enterprise web application development • CFML now the only language that runs on both J2EE and .NET New Atlanta Communications, LLC
Contact Information • Charlie Arehart • CTO, New Atlanta Communications • charlie@newatlanta.com • newatlanta.com/bluedragon/ • (678) 256-5395 New Atlanta Communications, LLC