Sean a corfield director of architecture macromedia inc
Sponsored Links
This presentation is the property of its rightful owner.
1 / 30

Enterprise Integration with ColdFusion PowerPoint PPT Presentation

  • Uploaded on
  • Presentation posted in: General

Sean A Corfield Director of Architecture Macromedia, Inc. Enterprise Integration with ColdFusion. Goals. Explain some of the history behind Macromedia's use of ColdFusion, both on the web and behind it Show you how Macromedia is using ColdFusion “behind the web” for integration tasks

Download Presentation

Enterprise Integration with ColdFusion

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Sean a corfield director of architecture macromedia inc

Sean A Corfield

Director of Architecture

Macromedia, Inc.

Enterprise Integration with ColdFusion



Explain some of the history behind Macromedia's use of ColdFusion, both on the web and behind it

Show you how Macromedia is using ColdFusion “behind the web” for integration tasks

Inspire you to think outside the “web box” and look for new problems to solve with ColdFusion MX 7

Who am i

Who Am I?

Senior Architect for Macromedia IT (since mid-2000)

A ColdFusion developer (since late-2001)

...and Java developer (since early-1997)

An advocate of standards and best practices (since birth?)



Setting the scene – a brief history of

A look at our Online Store architecture

Introducing Oracle Applications (ERP)

Additional systems join our Hub'n'Spoke world

Evolving our Online Store architecture

Upcoming changes and future plans


Macromedia com bc BC

Before ColdFusion... was built with BroadVision and Perl

We created flat files full of CSV data and ran batch jobs to move those files around and load them into databases

Macromedia com bc1 BC

2001 a coldfusion odyssey

2001 A ColdFusion Odyssey

Macromedia acquired Allaire

I formed Web Technology Group to rewrite using ColdFusion

ColdFusion 5 was the (new) current release

We learned ColdFusion on Neo using pre-alpha builds and then alphas and betas – it was “fun”...

We also picked JMS (Java Message Service) and XML as core technologies for data transfer between the website and the various back end systems, using Java “adapters”

Macromedia com cfmx 6 0 u3 – CFMX 6.0 U3 launched in early March 2003 on ColdFusion MX 6.0 Updater 3

About a dozen ColdFusion applications

BroadVision still powered our Online Stores

Perl still powered many of the simple information forms

Later that year we launched the Flash / ColdFusion Online Stores for Europe with BroadVision for non-Flash users

Macromedia com cfmx 6 0 u31 – CFMX 6.0 U3

Macromedia com cfmx 6 1 – CFMX 6.1

We were running Red Sky just before launch (August 2003)

We adopted Mach II as the Web Team standard (2004)

We continued to write more applications (currently around 50 applications, a quarter are Mach II apps)

We launched HTML versions of our Online Stores and rolled them out worldwide (2003-2004)

BroadVision was finally gone

Some Perl forms remain (it ain't broke!)

Macromedia com cfmx 6 11 – CFMX 6.1

Online store architecture i

Online Store Architecture I

Tiered application architecture:

Front end has both Flash & HTML versions

Business logic implemented with ColdFusion (using the same CFCs, and Mach II for HTML version)

Back end used Perl scripts to manage fulfilment and settlement functionality

CSV (tab-delimited) files moved by FTP to ERP system

Online store architecture i1

Online Store Architecture I

Erp oracle applications

ERP – Oracle Applications

Rolled out new ERP system (March 2004)

Used OAGIS 7.2.1 standard XML for order management file exchanges (instead of CSV)

Still FTP based batch jobs (since everything is file-based)

Some vendors (including OLS) still provided CSV

ColdFusion application written to manage all the XML and CSV file exchanges and automate the FTP processes

Erp oracle applications1

ERP – Oracle Applications

Breeze live online sales

Breeze Live Online Sales

2004 also saw Breeze Live become available for purchase online as well as hosted solution

Decided to leverage JMS rather than Online Store method

Sales orders transmitted as XML over JMS in near real time

Developed JMS event gateway for ColdFusion MX 7

Uses exactly the same order processing CFC as batch files

Breeze live online sales1

Breeze Live Online Sales

Salesforce com late 2004 (late 2004)

Implemented for sales leads

Web site captures leads, publishes them using JMS

Web Service adapters (.NET) exchange data with

JMS used to exchange data between adapters and other systems: web site, support, marketing, analytics

Salesforce com spring 2005 (spring 2005)

We rewrote all of the .NET adapters in ColdFusion (.NET libraries from the JMS vendor were unreliable)

Rough guesstimate: building adapters in CF is between four and eight times easier than either Java or .NET based on development times (Java and .NET are about par)

Leverage the CFMX 7 JMS event gateway

Leverage improved web service support in CFMX 7

Internal order management

Internal Order Management

Several internal applications also capture manual orders

Already written in ColdFusion

Generated orders as CSV files

Rewrote file generation custom tag to produce XML

Could easily change to use JMS now!

Online store architecture ii

Online Store Architecture II

Replace Perl back end

Use same engine as Breeze Live Online Sales

Send all orders as XML over JMS

ERP ColdFusion application does not change!

Ols architecture ii web side

OLS Architecture II – Web Side

Ols architecture ii erp side

OLS Architecture II – ERP Side

New order management

New Order Management

Real time communication between OLS and ERP

Sales orders

Order status

Ship confirmation

Inside Oracle we publish data in real time

On triggers / workflow events, we publish recordsets as XML to Oracle AQ queues

Oracle AQ event gateway (Java) consumes and republishes to JMS using JMS event gateway

New order management cont

New Order Management (cont)

Large attachments processed in the background

Sends URL to async CFML gateway

Async task fetches document and stores in Oracle

Real time communication between ERP & CRM

Customer details & entitlements published to a single Oracle queue as XML rowsets

Oracle AQ event gateway consumes, reformats and publishes to two separate JMS topics

JMS event gateway consumes , parses and stores customer details & entitlements in CRM

The big picture

The Big Picture

Future plans

Future Plans

Over time, replace complex custom Java adapters with CFMX 7 JMS event gateways

Consider replacing scheduled tasks that scan directories for files with the built-in CFMX 7 DirectoryWatcher

Enhanced JMS event gateway – supports authentication, per-topic cached publishers, additional “initial context properties”



XML provides a human-readable, self-validating, structured format for complex data – and it's easy to process in CF!

XML beats CSV hands down (duh!)

JMS has reduced latency in data processing and improved the reliability of data transfers within the enterprise

A hub'n'spoke architecture makes it easier to add and replace systems without re-engineering everything else

Conclusion continued

Conclusion (continued)

Building JMS-based applications can be a complex, time-consuming process (and unreliable on .NET!)

ColdFusion MX 7's event gateways make it easy to build maintainable, robust asynchronous applications

JMS publish & subscribe

Oracle AQ receive


Asynchronous CFML

Sean a corfield director of architecture macromedia inc scorfield@macromedia com sean@corfield org

Sean A Corfield

Director of Architecture

Macromedia, Inc.

Questions & Answers?

  • Login