Post on 18-Jul-2015
transcript
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Rupesh Kumar | Engineering Manager, Adobe Systems
ColdFusion Splendor Overview
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Focus Areas for ColdFusion Splendor
2
Mobile Applications
Deploy Enterprise Ready Applications
Build Applications Quickly
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Mobile and ColdFusion
3
Easy to use Mobile Application Development Platform
End-to-end Mobile application workflow – Build, test,
debug, deploy
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
ColdFusion and Mobile – End-to-end solution
4
4. TEST
Inspect & Debug
across devices
1. CREATE
<CFML> and JSUSING
2. Build & Deploy
TO BUILD APPS FOR
3. DEBUG
On Device Step
Debugging
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
1. CREATE Language
CFML + JS
Complete CFML language on the client side
CFML translated to JS during compilation
All Language Constructs
OO with CFC
CFInclude - CFM, JS & CSS
Custom Tags
Fully interoperable with Javascript
Use any of the JS Framework of your choice
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Complete CFML.. Well almost
Functions & variables case sensitive
Variable resolution by the JS engine
Variables needs to be scoped properly while accessing
No auto conversion of the data type
Boolean & Number will remain boolean & number
6
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 7
1. CREATE Synchronous Vs Asynchronous web programming
Success Handler 1
Success Handler 2 and invoke next SQL statement here
Success Handler 3 and invoke next SQL statement here
Error Handler 1
Error Handler 2
Error Handler 3
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
1. CREATE Device Detection
Touch Support
Canvas Support
Width and Height
Device Width and Height
Orientation- Including callback handlers
Device group name and descriptions
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 10
1. Create Easy to use CFML PhoneGap APIs
Simplified Synchronous API Access
File Contacts Camera
Geolocation Media
NotificationCapture
Storage
Accelerometer Events
Connection
Device Splashscreen
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
1. CREATE Client- Server communication
Invoke server CFC within CFClient without any proxy
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 13
PDF generation & Manipulation
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
New PDF generation Engine
High Quality PDF
Webkit & Acrobat based
CFHtmlToPDF & CFHtmlToPDFItem
Re-architected for high performance
14
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
New PDF Generation Engine
15
Service
Manager
Service
Manager
service
service
service
Service
Manager
service
service
service
ColdFusion PDF
Service
ColdFusion PDF
Service
ColdFusion PDF
Service
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
PDF Manipulation
16
PDF Archive
Convert PDF to PDF/A-1b
Preserve PDF for long time as a self contained document.
<cfpdf action=“archive” source=“..” destination=“..”>
Digital Signature
Sign, create & sign, verify signature, unsign PDF
<cfpdf action="sign“ source=“…“ destination=“..“
keystore="cert.jks" keystorepassword="password“
signaturefieldname=“signField"/>
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 17
Language Enhancements
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Full Script Support
18
Generic script syntax for all tags.
Example
http method="post" url=http://mysite.com/login.cfm
{
httpparam name= "username" type="FormField" value= "#uname#";
httpparam name= "password" type="FormField" value= "#passwd#";
}
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Member functions
OO style method invocation for native datastructures/objects
arr.len() for ArrayLen
Array
Struct
String
List
Date
Query
Image
Spreadsheet
XML
19
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Closure Enhancements
Inbuilt functions can be passed to Closurestransform(arr, ucase);
ListEach, ArrayEach
Passes the index & original collection to the closure function
Map-Reduce
Map Functions
ArrayMap(array, function(item [, index, origArray]))
StructMap(struct, function(key, value [, origStruct]))
ListMap(struct, function(item [,index, origList] ), delim)
obj.map(function(…))
Reduce Functions
ArrayReduce(array, function(result, index, origArray){} [, initialValue])
StructReduce(struct, function(result, key, value, origStruct){} [, initialValue])
ListReduce(list, function(result, index, origList){} [, delim, initialValue])
Obj.reduce(function(…))
20
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
JSON Serialization
Maintain the case for Struct – based on a flag in the
application/administrator
Maintain the datatype
Query –from the DB
CFC – from the CFC metadata
Nested CFC serialization (for ORM)
Query as Struct
serializeJSON(objToSerialize, [queryFormat], [secure])
Queryformat – column | row | struct
Custom Serializer – take the complete control of serialization
21
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Language Enhancements - Others
QueryExecute
QueryExecute (sql, queryParams, queryOptions)
Positional parameters
Named parameters
Elvis operator (?:)
displayName = userName ?: ”Anonymous”;
Password support for cfzip
cfzip action=“zip” encryptionAlgorithm=“AES-128|AES-
256|Standard” password = “passwd” …
Cfzip action=“unzip” password=“passwd” …
22
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
REST Services
Multiple host
Service mapping unique for the host and not across the server.
Default mapping (‘/’) for each host
www.site1.com/rest/
www.site2.com/rest/
Auto-registration
Pluggable Serializer/Deserializer
23
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Websocket enhancements
Cluster
SSL
Port 80 support on IIS 8 & Apache
24
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Security
CFMail encryption
<cfmail … encrypt="true"
encryptionalgorithm = "#algo#"
recipientcert="#path#" >
Allow concurrent logins for cflogin
<cflogin allowconcurrent="true|false">
Flag for Admininstrator
New Encode/Decode Functions from ESAPI
Encode/Decode For CSS, HTML attribute, Javascript, URL, XML, xml attribute
Secure profile in Administrator
IP protection for Admin components – adminapi, componentexplorer etc.
25
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 27
Q&A
rukumar@adobe.com