190 likes | 329 Views
Deploying CFML on J2EE: Opportunities & Challenges. Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com. Overview. Protecting your CFML investments in 2004 Why deploying CFML on J2EE is useful to us, enterprise mgt, and more How to install and configure J2EE deployments
E N D
Deploying CFML on J2EE:Opportunities & Challenges Charlie Arehart, CTONew Atlanta Communications charlie@newatlanta.com
Overview • Protecting your CFML investments in 2004 • Why deploying CFML on J2EE is useful to us, enterprise mgt, and more • How to install and configure J2EE deployments • On BlueDragon and ColdFusion MX 6.1 • Alternative beneficial deployment scenarios • Resources for learning more New Atlanta Communications, LLC
About Your Speaker • CTO of New Atlanta Communications since April ‘03 • 7 yrs CF experience (20+ yrs Enterprise IT) • Co-author of ColdFusion MX Bible • Frequent contributor to ColdFusion Dev Journal • Past accomplishments of note • Tech Editor, CFDJ • Team Macromedia Member • Allaire/Macromedia Certified Instructor • Allaire/Macromedia Certified Adv CF Developer (4, 5, MX) • Macromedia Customer Advisory Board Member • Contributor to Macromedia Devnet , Dev Exchange • Frequent speaker to user groups, conferences worldwide New Atlanta Communications, LLC
CFML in 2004 • The technology platform “highway” has split, and most organizations today are faced with choosing directions between Sun's J2EE and Microsoft's .NET • Are you hearing “Thou shalt move to J2EE”? Or .NET? • Management being persuaded by “standard architectures” • Architectural committees often prefer J2EE or .NET, see CF as proprietary • Vendors focus on JSP/servlets as only tools in J2EE toolkit • And ASP.NET as only tools in .NET web toolkit New Atlanta Communications, LLC
Moving to J2EE/.NET • All parties in J2EE world think JSPs/servlets are the only way to go (or ASP.NET in .NET world) • You and mgt may feel that converting CFML apps to JSP (or ASP.NET) is the only alternative • Conversion is no trivial undertaking • For all but simplest applications, not a simple matter • Can be very expensive • One company was quoted $10 million and 2 years to convert an enterprise-class CFML application to JSP/servlets • Retraining folks in Java, JSP, J2EE, EJB, (or .NET) is not trivial • Studies show 9-12 months, and even then 60% will fail • From JavaPro Oct ’03, “Power of Patterns” New Atlanta Communications, LLC
Protecting Your CFML Investment • Are you facing sunsetting of CFML applications? • Don’t need to throw away your CFML investment! • Can instead move the CFML to J2EE server and keep it running • Can start integrating with Java, if you’d like • Or start converting CFML to JSP/servlets at your own pace • Can even gain benefit deploying CFML on J2EE • As we’ll see later • Both CFMX and BlueDragon can deploy CFML on J2EE • BlueDragon can also deploy CFML on .NET New Atlanta Communications, LLC
How Easy It Can Be • Let’s walk through deploying CFML as a J2EE web app • Show CFML code running “normally” on CF Server • Copy that code into a J2EE web app • Deploy that web app on a J2EE server • Show the CFML code running on the J2EE server • Edit the CFML code, show that it detects changes • It’s still just CFML—deployed on a J2EE Server • Can also create a WAR file from the deployed application • Can redeploy that WAR file • Concept is that you might develop on one machine, deploy WAR on another • Some J2EE servers or administrators will only accept a WAR file • And will not allow editing or configuring the app once deployed New Atlanta Communications, LLC
Installation for BlueDragon • Steps for J2EE deployment using BlueDragon • Download BlueDragon/J2EE edition (available as trial) • www.newatlanta.com/bluedragon/ • Extract the zip, tar, or self-extracting exe file • Creates directory with a standard J2EE web app • Duplicate that web app (using original as a template) • Copy your CFML into that new web app directory • Deploy it on any J2EE server, any number of times, on any OS • J2EE servers vary on options for deployment • May offer auto –deployment by dropping webapp into special dir • Most offer a web-based admin console to deploy as well • Often there are benefits granted to admin-deployed apps • Optionally, configure web server integration in app server to point to code elsewhere New Atlanta Communications, LLC
Installation for CFMX • Steps for J2EE deployment using ColdFusion MX • Download CFMX 6.1 Enterprise • Run the installer, choosing 3rd option to creates either WAR or EAR file • Unpack that EAR or WAR file and deploy that • May involve additional steps • See www.macromedia.com/go/cfmxj2ee-cert for more on details for each J2EE server • As needed, configure for Verity, COM, C++, Corba, Charting, Security, etc. • Deploy result onto J2EE server • Run CF Administrator, first time after deploying, to execute “configuration and settings wizard” • Move your code into the deployed web application • Or configure web server integration in app server to point to code elsewhere • Unfortunately, many J2EE admins don’t want (or won’t allow) post-deployment modifications New Atlanta Communications, LLC
Installation Resources • Where to learn more about installation for J2EE? • BlueDragon J2EE resources • New Atlanta manual, “Deploying CFML on J2EE Servers with BlueDragon” • www.newatlanta.com/products/bluedragon/self_help/docs/index.cfm • My June 2004 CFDJ Article, “CFML on J2EE: Easy as 1-2-3” • Available on New Atlanta web site, under “editorials” • CFMX for J2EE Resources • Macromedia manual, “Installing and Using ColdFusion MX” • Chapter 4, “Installing the J2EE Configuration” • www.macromedia.com/go/cfmxj2ee-cert • Several technotes New Atlanta Communications, LLC
Other CF/BD Differences • Cost • CFMX Enterprise: $5999 for 2 CPUs (includes JRun) • BlueDragon/J2EE: $2499 per CPU • For those new to BlueDragon • BlueDragon 6.1 now supports CFMX 6.1 features, such as CFCs, XML, web services • Lacks only: CFAPPLET, CFGRID, CFLOGIN, CFCHART, CFREPORT, CFTRACE • BlueDragon has many other advantages to consider • See http://bluedragon.blog-city.com/read/601768.htm • WebSphere users: Note that while CFMX does NOT supports Network Deployment, BlueDragon does New Atlanta Communications, LLC
Resource Differences • Resource utilization • Be aware that each web app deployed has some overhead for the CFML runtime support • Important when deploying multiple instances (next) • Can measure size of web app as installed, before deployment New Atlanta Communications, LLC
Deployment Alternatives Deploying multiple instances of a J2EE server • Applies to both BlueDragon and CFMX • Benefits (may depend on server) • Isolation – one app can go nuts and not affect others • Independent control of apps – can stop one for maintenance • Separate Admin per application – settings as suitable per instance • Security – segregation of custom tags, datasources, CFCs, etc. New Atlanta Communications, LLC
Deployment Alternatives • More Benefits • Performance - increased throughput, mult. JVMs, etc. • Possibly clustering, load balancing, failover • Either over multiple boxes • Or even on a single box • Including persistence, clustering of session variables • Cost • Single license of CFMX/BlueDragon can be used to create multiple instances on single machine • Also, no longer need multiple boxes to create isolated instances • All great for both enterprises and hosting providers New Atlanta Communications, LLC
Deployment Alternatives • Resources on Multiple Instances • “When One ColdFusion is Not Enough” – July ’03 CFDJ • http://www.sys-con.com/coldfusion/article.cfm?id=626 • Introducing Multiple Server Instances in ColdFusion MX Enterprise 6.1 • http://www.macromedia.com/devnet/mx/coldfusion/articles/multiple_61.html • Advantages of Using Multiple Instances of ColdFusion MX for J2EE • http://www.macromedia.com/devnet/mx/coldfusion/j2ee/articles/multiple.html • Macromedia manual: “Configuring and Administering ColdFusion MX” • Chapter 7, “Using Multiple Server Instances” New Atlanta Communications, LLC
Other CFML/J2EE Benefits • CFML on J2EE is super-charged! • CFML can act as a standard J2EE component • Can integrate with other components: JSP, servlets, EJB, JMS • Can benefit from servlet filters, listeners, etc. • Can participate in frameworks such as Struts, Portlets • Enables CFML to run virtually anywhere • Any OS, platform for which a J2EE server exists • Mainframe or zSeries, AS/400 or iSeries, Netware, and more • In addition to Windows, Linux, Unix, OS X, etc. • See my April 2004 CFDJ article, “Making the Case for CFML on J2EE” • http://sys-con.com/story/?storyid=44481&DE=1 New Atlanta Communications, LLC
BlueDragon/.NET • Run CFML on .NET • All the same benefits as J2EE edition • Run CFML on the .NET framework • No ColdFusion Server, No BD Server • BlueDragon is a native .NET component, runs in GAC • Your CFML remains CFML • Can share session/application/request vars with ASP.NET • Can include/forward between CFML and ASP.NET • Can use CFOBJECT to call .NET components and more New Atlanta Communications, LLC
Conclusion • Deploying CFML on J2EE can be easy • It can bring many benefits, solve many problems • BlueDragon/.NET will bring same benefits to .NET • Management, developers, vendors all need to be educated • CFML can be deployed as a native J2EE/.NET web app • Opens many doors for improvement: • Integration • Performance • Better Management • More • Allows CFML to live on as a valuable component in enterprise web application development 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