Coldfusion 9 and Railo

23
http://qld.cfug.org.au Coldfusion 9 & Railo By Gareth Edwards

Transcript of Coldfusion 9 and Railo

Page 1: Coldfusion 9 and Railo

http://qld.cfug.org.au

Coldfusion 9& RailoBy Gareth Edwards

Page 2: Coldfusion 9 and Railo

http://qld.cfug.org.au

Coldfusion 8

● Shipped Mid 2007

● 8.01 Released Early 2008

● OSX, Win 2008, Linux 64bit Support

● Library Updates

● Minor Enhancements

● Rich Text Editor Updated to work in AIR / Safari

● Doing Very Well

Page 3: Coldfusion 9 and Railo

http://qld.cfug.org.au

Coldfusion 9

● Currently in Development

● Expected 2009

● More Information in November @ MAX

● Flex driving more Developers to Coldfusion

● Coldfusion is an Critical product with a future

● Early Planning Internally for CF 10

● Talking about CF 11

Page 4: Coldfusion 9 and Railo

http://qld.cfug.org.au

Coldfusion Licensing

● Lack of Available Developers

● Impacting Organizations Using Coldfusion

● Not good for Coldfusion Business

● Plans to improve developer experience in CF 9

● Still in talks over pricing model

● Free unrestricted Enterprise Version for Education

● For teaching purposes only

● Includes Tools & Curriculum

● Why Free Version?

● Become part of the RIA Momentum

Page 5: Coldfusion 9 and Railo

http://qld.cfug.org.au

CF Open Process Initiative

● Public Bug Database

● Public enhancement request system

● Customer Advisory Boards

● Enterprise Developers & Community Leaders

● Focused Committees

– CFML Language

– RIA

– Frameworks

– More

● Early access to Alpha / Beta releases

Page 6: Coldfusion 9 and Railo

http://qld.cfug.org.au

CFML Language Advisory Committee

● Will Help Define the rules and guidelines around the use and evolution of CFML

● Committee Members

● Sean Corfield ( Lead )

● Ben Forta ( Adobe )

● Sanjeev Kumar ( Adobe )

● Gert Franz ( Railo )

● Ray Camden ( CF Jedi )

● Rob Brooks-Bilson

Page 7: Coldfusion 9 and Railo

http://qld.cfug.org.au

CF 9 Discussions Disclaimer

● Features may not make it into the final CF 9 Product

● Information based on information from Adobe

● May contain my own interpretations, ideas and opinions

● Currently further implementation information is not available

Page 8: Coldfusion 9 and Railo

http://qld.cfug.org.au

CF 9 Language Enhancements 1

● Create UDFs and CFC functions using <CFSCRIPT>

Page 9: Coldfusion 9 and Railo

http://qld.cfug.org.au

CF 9 Language Enhancements 2

● Explicit LOCAL scope keeps local variables local

● <cfset var count = 1>

– Will go into LOCAL.count● <cfset LOCAL.count = 1>

● LOCAL and Var be defined and used anywhere within the function

● Default scope for CFC can be set

● <cfset count = 1>

● Could be put into VARIABLES.count or LOCAL.count by default.

Page 10: Coldfusion 9 and Railo

http://qld.cfug.org.au

CF 9 Language Enhancements 3

● <CFFINALLY>

● Used at the End of <CFTRY>

– Code to always execute after a try catch

● <CFCONTINUE>

● Used within a <CFLOOP> to exit the current iteration and move onto the next

Page 11: Coldfusion 9 and Railo

http://qld.cfug.org.au

CF 9 Language Enhancements 4

● Component “new” and “import” keywords

● Implicit Component Constructors

● <cfcomponent init=””>

● Method named init()

● Method with the same name as the component

Page 12: Coldfusion 9 and Railo

http://qld.cfug.org.au

CF 9 Language Enhancements 5

● Implicit getters and setters

● <cfproperty />

● Will respect custom getters and setters

● Not generated code

– But functions created as part of a custom CFC with Properties

Page 13: Coldfusion 9 and Railo

http://qld.cfug.org.au

CF 9 Server Events

● New Server.cfc

● OnServerStart

● OnServerEnd

– Will not run on server crash

● Define Server Server.cfc in CF Administrator

Page 14: Coldfusion 9 and Railo

http://qld.cfug.org.au

CF 9 & Rich Internet Applications

● Improved AIR / LCDS Integration

● Online / Offline Sync

Page 15: Coldfusion 9 and Railo

http://qld.cfug.org.au

CF 9 ORM – Object Relational Mapper

● Java Hibernate

● Uses the same config as Java Hibernate

● Will respect use of Queries

● Will allow multi directional workflows

● CFC Config File→● Config File CFC→

Page 16: Coldfusion 9 and Railo

http://qld.cfug.org.au

ORM Component

● Uses CFC Name for Table Name

● Additional Component and Property attributes

Page 17: Coldfusion 9 and Railo

http://qld.cfug.org.au

ORM / Hibernate Config

● Config can be modified or generated by the CFC

● CFC can be modified or generated by the Config

● The XML Configuration is a Hibernate Config file

Page 18: Coldfusion 9 and Railo

http://qld.cfug.org.au

ORM Use

● Getter and Setter Functions are Automatically created

● Hibernate Object can be interacted with

Page 19: Coldfusion 9 and Railo

http://qld.cfug.org.au

CF 9 Tooling

● Better tooling

● Adobe confirmed it would be a good idea for them to look at a Code Centric IDE

– Not Dreamweaver

● More Information at MAX 08

● Sigh

Page 20: Coldfusion 9 and Railo

http://qld.cfug.org.au

Railo

● In partnership with Jboss

● Opensourcing Core Product

● Working with Adobe

● Watch Railo 3 Features for possible Adobe Coldfusion Features

Page 21: Coldfusion 9 and Railo

http://qld.cfug.org.au

Opensource Railo & JBoss

● Will be part of the Opensource Jboss community portal

● Will be part of the Jboss Application Server (AS)

● Jboss have an genuine interest in CFML

● And not in Converting Coldfusion Coders to Jboss / Java

● Genuine Interest in Feedback and the CFML Community

● Only features that use 3rd party libraries will not be in the Opensource version

Page 22: Coldfusion 9 and Railo

http://qld.cfug.org.au

Railo 3 Features

● CFVideo Tags

● For embedding video

● Coldfusion 8 support

● Not 100% at this stage

● Hibernate ORM Support

● Talked about before Adobe CF9 announcements

● CLUSTER scope

● Scope shared between Software Clustered Servers

● Definition of CF constants

Page 23: Coldfusion 9 and Railo

http://qld.cfug.org.au

Resources

● http://www.railo.ch/

● http://www.kaffien.com/blog/