19
Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications

Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications [email protected]

Embed Size (px)

Citation preview

Page 1: Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com

Deploying CFML on J2EE:Opportunities & Challenges

Charlie Arehart, CTONew Atlanta Communications

[email protected]

Page 2: Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com

June 2004 New Atlanta Communications, LLC

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

deploymentsOn BlueDragon and ColdFusion MX 6.1

• Alternative beneficial deployment scenarios

• Resources for learning more

Page 3: Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com

June 2004 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, CFDJTeam Macromedia MemberAllaire/Macromedia Certified InstructorAllaire/Macromedia Certified Adv CF Developer (4, 5, MX)Macromedia Customer Advisory Board MemberContributor to Macromedia Devnet , Dev Exchange

• Frequent speaker to user groups, conferences worldwide

Page 4: Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com

June 2004 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 proprietaryVendors focus on JSP/servlets as only tools in J2EE toolkit

• And ASP.NET as only tools in .NET web toolkit

Page 5: Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com

June 2004 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”

Page 6: Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com

June 2004 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 runningCan start integrating with Java, if

you’d likeOr start converting CFML to

JSP/servlets at your own pace

• Can even gain benefit deploying CFML on J2EEAs we’ll see later

• Both CFMX and BlueDragon can deploy CFML on J2EE

• BlueDragon can also deploy CFML on .NET

Page 7: Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com

June 2004 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 ServerCopy that code into a J2EE web appDeploy that web app on a J2EE serverShow the CFML code running on the J2EE serverEdit 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 applicationCan 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

Page 8: Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com

June 2004 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 directoryDeploy 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 appsOptionally, configure web server integration in app server to

point to code elsewhere

Page 9: Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com

June 2004 New Atlanta Communications, LLC

Installation for CFMX• Steps for J2EE deployment using ColdFusion MX

Download CFMX 6.1 EnterpriseRun the installer, choosing 3rd option to creates either WAR or EAR

fileUnpack 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 serverAs needed, configure for Verity, COM, C++, Corba, Charting,

Security, etc. Deploy result onto J2EE serverRun 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

Page 10: Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com

June 2004 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

Page 11: Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com

June 2004 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

Page 12: Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com

June 2004 New Atlanta Communications, LLC

Resource Differences

• Resource utilizationBe 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

Cfusion.war 77 mb

Bluedragon.war 9 mb

Cfusion open web app 111 mb

BlueDragon open web app 9 mb

Page 13: Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com

June 2004 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 maintenanceSeparate Admin per application – settings as suitable per

instanceSecurity – segregation of custom tags, datasources, CFCs,

etc.

Page 14: Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com

June 2004 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

Page 15: Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com

June 2004 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”

Page 16: Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com

June 2004 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 anywhereAny 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

Page 17: Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com

June 2004 New Atlanta Communications, LLC

BlueDragon/.NET

• Run CFML on .NETAll 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

Page 18: Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com

June 2004 New Atlanta Communications, LLC

Conclusion• Deploying CFML on J2EE can be easy

It can bring many benefits, solve many problemsBlueDragon/.NET will bring same benefits to .NET

• Management, developers, vendors all need to be educatedCFML can be deployed as a native J2EE/.NET web

app• Opens many doors for improvement:

IntegrationPerformanceBetter ManagementMore

• Allows CFML to live on as a valuable component in enterprise web application development

Page 19: Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications charlie@newatlanta.com

June 2004 New Atlanta Communications, LLC

Contact Information

• Charlie Arehart

• CTO, New Atlanta Communications

[email protected]

• newatlanta.com/bluedragon/

• (678) 256-5395