Josh Adams BlueDragon7

Uploaded from authorPOINTLite
Views:
 
Category: Entertainment
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

BlueDragon 7.0 New Possibilities for CFML Applications: 

BlueDragon 7.0 New Possibilities for CFML Applications Josh Adams

About Me: 

About Me Josh Adams josh@newatlanta.com (678) 256-5395 Developer Evangelist for BlueDragon at New Atlanta CFML Developer Past President of the Atlanta ColdFusion User Group, Inc. and general big fan of CFUGs and the CFML community!

Your Questions: 

Your Questions Please ask questions! Feel free to ask at any time during the presentation I will address as many questions as possible Due to time constraints some questions may go unanswered during the presentation If I do not answer your question during the presentation, I will answer you as soon as possible

Agenda: 

Agenda Introduction to New Atlanta and BlueDragon BlueDragon 7.0 Features BlueDragon 7.0 Demos BlueDragon Future Obtaining, Using, and Licensing BlueDragon Q&A BlueDragon Server JX License Giveaway (Maybe) Afterparty Information Further Info

Introduction to New Atlanta Web Application Server Technology Experts: 

Introduction to New Atlanta Web Application Server Technology Experts BlueDragon is our 3rd generation web application platform FileMaker Web Companion (Lasso) Web Publisher for FileMaker Pro databases Built in 1995, sold to Apple in 1997 Over 10 Million licenses since initial release ServletExec - Servlet/JSP Container First servlet engine on the market for Microsoft IIS and Netscape Enterprise Server with Servlet 1.0 Specification support Charter members of Servlet and JSP Expert Groups (Sun's JCP) Tens of thousands of licenses since 1997 BlueDragon CFML Runtime with native deployment and integration on J2EE and .NET platforms New Atlanta has over 14,000 customers in 85+ countries

New Atlanta Customers: 

New Atlanta Customers Land's End Over $1 billion in e-sales Myspace.com Over 110 million users ESRI – ArcIMS: web-based GIS ServletExec ships on ArcIMS CD American Airlines Worldwide reporting of safety incidents Yahoo! Resumix hotjobs.yahoo.com

Our Largest Deployment: MySpace Surpasses Yahoo – Nov 2006: 

Our Largest Deployment: MySpace Surpasses Yahoo – Nov 2006

What BlueDragon Is & Does: 

What BlueDragon Is & Does CFML ≠ ColdFusion CFML is a coding language CFML = ColdFusion Markup Language ColdFusion is software ColdFusion = Adobe's CFML application server / CFML engine ColdFusion is Adobe's deployment platform for CFML applications BlueDragon is software BlueDragon = New Atlanta's CFML application server / CFML engine BlueDragon is New Atlanta's deployment platform for CFML applications You do not need ColdFusion to use BlueDragon!

BlueDragon Background: 

BlueDragon Background History Oldest Java-based CFML application server: created in 1998 by a consultancy in Scotland Available commercially for 5 years: purchased and productized by New Atlanta in 2002 Platform-agnostic for 2 years: .NET edition released in 2005

Microsoft Partnership: 

Microsoft Partnership New Atlanta is a Microsoft Gold Certified Partner 1 of only approximately 150 ISV Gold Certified Partners BlueDragon.NET is a Microsoft Certified Product (Windows 2003 Server) BlueDragon.NET is a .NET Connected product BlueDragon is a SQL Server 2005 Frontrunner

BEA Partnership: 

BEA licenses BlueDragon from New Atlanta Special BEA-only version Rebranded as a BEA product: BlueDragon, BEA WebLogic Edition Runs on any O/S BEA WebLogic Server 8.1 or later is available on Supported directly by BEA's world-class support organization Offered via BEA's download center BlueDragon, BEA WebLogic Edition Launched in April 2006 BEA Partnership

BlueDragon Editions: 

BlueDragon Editions Standalone (including "Free version") Native J2EE Any J2EE app server Native .NET No need to write ASP.NET. Direct .NET platform advantages within your CFML applications

BlueDragon Features: 

BlueDragon Features See the "BlueDragon 7.0 CFML Enhancements" document on the New Atlanta website for full details! Includes both information on new BlueDragon 7.0 enhancements and enhancements present in previous BlueDragon releases Documents such long-existing BlueDragon CFML tags as CFIMAP, CFIMAGE, CFFORWARD, CFTHROTTLE, and CFZIP Documents such long-existing BlueDragon CFML functions as Render(), QuerySort(), and ListRemoveDuplicates() Documents long-existing CFC enhancements (serialization, duplication, more!) Documents long-existing enhancements to numerous CFML tags and functions (new attributes/arguments and attribute/argument values)

BlueDragon 7.0 Features: 

BlueDragon 7.0 Features For additional information, see the "What's New in BlueDragon 7.0" document on the New Atlanta website All features in all editions unless noted

BlueDragon 7.0 Features Non-CFML-related: 

BlueDragon 7.0 Features Non-CFML-related Performance enhancements Support for Java 5.0 and 6.0 Note: supported on all versions of BlueDragon that are Java-based Support for MySQL 5.0, including stored procedures Earlier versions of MySQL are also still supported

BlueDragon 7.0 Features New CFML Language Elements: 

BlueDragon 7.0 Features New CFML Language Elements CFTHREAD, CFJOIN, and related tags and functions NULL keyword and IsNull() functions

BlueDragon 7.0 Features New CFML Enhancements: 

BlueDragon 7.0 Features New CFML Enhancements CACHEDUNTILCHANGE attribute for CFQUERY Note: supported exclusively on BlueDragon .NET when used with SQL Server 2005 BACKGROUND attribute for CFQUERY TYPE attribute for CFCOMPONENT Use of value "abstract" creates an abstract CFC Use of value "interface" creates a CFC interface Multiple language support in CFSEARCH Word and PDF document support in CFSEARCH

BlueDragon 7.0 Features CFMX 6-level CFML Language Elements: 

BlueDragon 7.0 Features CFMX 6-level CFML Language Elements CFCHART New BlueDragon 7.0 features: CFCHARTLEGEND, CFCHARTTITLE, CFCHARTIMAGE, and more!

BlueDragon 7.0 Features CFMX 7-level CFML Language Elements: 

BlueDragon 7.0 Features CFMX 7-level CFML Language Elements Application.cfc New BlueDragon 7.0 feature: onClientStart event handler New BlueDragon 7.0 feature: onMissingTemplate event handler CFDOCUMENT New BlueDragon 7.0 feature: PNG and JPEG output formats New BlueDragon 7.0 feature: multi-threaded on all editions Note: not supported on BlueDragon Server CFTIMER SOAP-related functions Miscellaneous tag attributes, functions, and function arguments

CFMX 7 Features Not in BlueDragon 7.0: 

CFMX 7 Features Not in BlueDragon 7.0 Event gateways BD 7.0 has CFTHREAD which can accomplish many of the same tasks Flash generation (Flash Paper, Flash Forms, Flash chart format) Reporting services (Report Builder, CFREPORT)

"Scorpio" Features vs. BlueDragon 7.0 Features: 

"Scorpio" Features vs. BlueDragon 7.0 Features .NET Integration Supported by BlueDragon .NET natively; BlueDragon .NET provides true integration with .NET It appears Scorpio uses Java-to-.NET bridge technology CFIMAGE Already supported by BlueDragon (and has been for some time) Scorpio enhancements do more than current CFIMAGE in BlueDragon; expect similar enhancements in a soon-to-follow BlueDragon release

Multi-threaded Programming: 

Multi-threaded Programming Multi-threaded programming is the ability to have two or more threads executing at the same time You're already doing multi-threaded programming! Every request runs on a separate thread Multiple requests run simultaneously Now you have the ability to create your own threads that run concurrently with the request threads using CFTHREAD and its associated tags and functions!

CFTHREAD Syntax: 

CFTHREAD Syntax <cfthread> … [Your CFML goes here] … </cfthread>

Single-threaded Code Execution: 

Single-threaded Code Execution <cf_whatever> … <cf_whatever> … <cf_whatever> … <cf_whatever> … <cf_whatever> … <cf_whatever> … <cf_whatever> … <cf_whatever> … <cfwhatever> …

Multi-threaded Code Execution: 

Multi-threaded Code Execution <cf_whatever> … … … <cf_whatever> <cfthread … > … … <cf_whatever> … … </cfthread> <cf_whatever> … … <cf_whatever>

Thread Details: Thread Life: 

Thread Details: Thread Life Thread lives for as long as it takes to execute the CFTHREAD body CFTHREAD can outlive the request thread that created it or it can finish before the request thread is finished Request thread can wait (as necessary) for a generated thread to finish This is called "joining" the thread Use the CFJOIN tag or the ThreadJoin() function Request thread can check whether or not a thread is running Use the ThreadIsAlive() function

Joining a Thread: 

Joining a Thread <cfthread name="Variables.myThread"> … </cfthread> <!--- join Variables.myThread ---> <cfjoin thread="Variables.myThread"> <!--- join Variables.myThread ---> <cfset ThreadJoin(Variables.myThread)>

Checking for a Running Thread: 

Checking for a Running Thread <cfthread name="Variables.myThread"> … </cfthread> <cfif ThreadIsAlive(Variables.myThread)> myThread is alive! <cfelse> myThread has stopped </cfif>

Thread Details: Accessing Data: 

Thread Details: Accessing Data You can pass data to a thread Use attribute name/value pairs You can access some variable scopes within a thread Application scope Server scope

Passing Data to a Thread: 

Passing Data to a Thread <cfset application.dsn="myDatasource"> <cfthread firstName="John" lastName="Smith"> <cfquery datasource="#application.dsn#"> INSERT INTO Employees ( FirstName, LastName ) VALUES ( '#attributes.firstName#', '#attributes.lastName#' ) </cfquery> </cfthread>

Accessing Shared Scopes in a Thread: 

Accessing Shared Scopes in a Thread <cfapplication ... > <cfset Application.myValue = "thread"> <cfthread name="Variables.myThread"> <cfif Application.myValue EQ "thread"> <cfset Application.myValue = "request"> </cfif> </cfthread> <!--- join Variables.myThread ---> <cfjoin thread="Variables.myThread"> <cfoutput> #Application.myValue# </cfoutput>

Thread Details: Returning Data: 

Thread Details: Returning Data You can return data from a thread Use the CFRETURN tag Use output="true" in the CFTHREAD tag then generate output within the thread

Returning Data from a Thread: 

Returning Data from a Thread <cfthread name="Variables.myThread" output="true"> <h2>Running within myThread</h2> <cfreturn "Hello, World!"> </cfthread> <!--- join Variables.myThread ---> <cfjoin thread="Variables.myThread"> <cfoutput> #Variables.myThread.generatedContent# #Variables.myThread.returnVariable# </cfoutput>

Returning Data from a Thread: 

Returning Data from a Thread <cfset Variables.myVar = 12> Name = "myVar" Value = 12 Requested Page Variables Scope Threads <cfthread name="Variables.myThr"> <cfjoin thread="Variables.myThr"> <cfoutput> #Variables.myThr.returnVariable# </cfoutput> <cf_whatever> </cfthread> Name = "Variables.myThr" <cfreturn "some string"> Name = "myThr" Name = "returnVariable" Value = "some string"

More Thread-related Tags/Functions: 

More Thread-related Tags/Functions GetAllThreads() – returns an array of thread variables representing all actively running threads created using CFTHREAD ThreadRunningTime() – returns the amount of time in milliseconds that the thread has been running ThreadStop() – halts execution of the specified thread CFINTERRUPT/ThreadInterrupt() – "wakes up" a thread "sleeping" due to CFPAUSE tag

Multi-Threaded CFML Demo: 

Multi-Threaded CFML Demo Traditional CFML: single-threaded CFML code Single stock quote obtained via web service 4 stock quotes obtained via web service in series BlueDragon 7.0 Feature: multi-threaded CFML code 4 stock quotes obtained via web service in parallel

Multi-Threaded CFML Demo: 

Multi-Threaded CFML Demo 4 web service calls in single-threaded CFML code (in series) 4 web service calls in multi-threaded CFML code (in parallel) KO BEAS MSFT RHAT KO MSFT BEAS RHAT

BlueDragon 7.0 Demos: 

BlueDragon 7.0 Demos CFTHREAD and CFJOIN Concurrent processing (stock ticker demo) Asynchronous background thread (stock ticker demo) "Fire-and-forget" (logging demo) CFQUERY enhancements BACKGROUND attribute (logging demo) CACHEDUNTILCHANGE attribute (employee demo) "null" keyword and IsNull function Database null (employee demo) CFC null (employee demo)

BlueDragon 7.0 Demos (cont.): 

BlueDragon 7.0 Demos (cont.) CFC enhancements Abstract CFCs and CFC interfaces (light source demo) Application.cfc enhancements onMissingTemplate() method (demo) CFDOCUMENT enhancements SRC attribute (web page demos) PNG and JPEG output formats (web page demos) CFCHART enhancements CFCHARTRANGEMARKER, CFCHARTTITLE (demo) CFCHARTLEGEND, CFCHARTIMAGE (demo)

BlueDragon Future: 

BlueDragon Future Expect a minor release within a few months 64-bit Windows and Linux Expect another major release by early 2008 Windows Vista and IIS 7 integration Direct AJAX integration CFIMAGE enhancements Administration and configuration enhancements Features inspired by those in CFMX 8 We are investigating creation of a Visual Studio plug-in

Obtaining BlueDragon: 

Obtaining BlueDragon Download from New Atlanta's website

Using BlueDragon: 

Using BlueDragon BlueDragon Server Trial, development/testing, and production: free and unlimited use for an unlimited time period (subject to licensing restrictions) All other versions Trial: free and unlimited use for 30 days Development/testing Localhost: free and unlimited use for an unlimited time period External connections: valid license key required for unlimited use for an unlimited time period Production: valid license key required for unlimited use for an unlimited time period

Licensing BlueDragon: 

Licensing BlueDragon Purchase license keys from New Atlanta's online store See the TrueBlue Partner Program Overview on New Atlanta's website Opportunities for integrated service providers Create a custom installer for your app! Opportunities for systems integrators Opportunities for hosting companies

Q&A: 

Q&A Got questions? Ask away!

Software Giveaway: 

Software Giveaway Let's give away some software (if doing so is supported by attendance numbers)! One winner will receive a NFR license for BlueDragon Server JX 7.0

Afterparty: 

Afterparty Brought to you this month by New Atlanta!

Further Information: 

Further Information See New Atlanta's website http://www.newatlanta.com Contact me josh@newatlanta.com (678) 256-5395