Presentation is loading. Please wait.

Presentation is loading. Please wait.

Enterprise Integration with ColdFusion Sean A Corfield Director of Architecture Macromedia, Inc.

Similar presentations


Presentation on theme: "Enterprise Integration with ColdFusion Sean A Corfield Director of Architecture Macromedia, Inc."— Presentation transcript:

1 Enterprise Integration with ColdFusion Sean A Corfield Director of Architecture Macromedia, Inc.

2 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  Inspire you to think outside the “web box” and look for new problems to solve with ColdFusion MX 7

3 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?)

4 Agenda  Setting the scene – a brief history of macromedia.com  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  Wrap-up

5 macromedia.com BC  Before ColdFusion...  macromedia.com 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

6 macromedia.com BC

7 2001 A ColdFusion Odyssey  Macromedia acquired Allaire  I formed Web Technology Group to rewrite macromedia.com 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”

8 macromedia.com – CFMX 6.0 U3  macromedia.com 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

9 macromedia.com – CFMX 6.0 U3

10 macromedia.com – 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!)

11 macromedia.com – CFMX 6.1

12 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

13 Online Store Architecture I

14 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

15 ERP – Oracle Applications

16 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

17 Breeze Live Online Sales

18 salesforce.com (late 2004)  Implemented sf.com for sales leads  Web site captures leads, publishes them using JMS  Web Service adapters (.NET) exchange data with sf.com  JMS used to exchange data between adapters and other systems: web site, support, marketing, analytics

19 salesforce.com (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

20 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!

21 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!

22 OLS Architecture II – Web Side

23 OLS Architecture II – ERP Side

24 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

25 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

26 The Big Picture

27 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”

28 Conclusion  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

29 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 DirectoryWatcher Asynchronous CFML

30 Questions & Answers? Sean A Corfield Director of Architecture Macromedia, Inc. scorfield@macromedia.com sean@corfield.org


Download ppt "Enterprise Integration with ColdFusion Sean A Corfield Director of Architecture Macromedia, Inc."

Similar presentations


Ads by Google