Reactor An ORM framework for ColdFusion Presentation By: Doug Hughes

Slides:



Advertisements
Similar presentations
Access 2007 ® Use Databases How can Microsoft Access 2007 help you structure your database?
Advertisements

Application Generator Merrill Networking Services.
Using MIS 2e Chapter 5 Database Processing MARIA DEL MORAL GROUP F.
1.  Understanding about How to Working with Server Side Scripting using PHP Framework (CodeIgniter) 2.
Chapter 15 © 2010 by Addison Wesley Longman, Inc Origins and Uses of Ruby - Designed by Yukihiro Matsumoto; released in Use spread rapidly.
.NET Database Technologies: Open-Source Frameworks.
Engaging your Customer Base through Web Services Presented by Ben Liyanage.
Fast Track to ColdFusion 9. Getting Started with ColdFusion Understanding Dynamic Web Pages ColdFusion Benchmark Introducing the ColdFusion Language Introducing.
CSCI 150 Database Applications Chapter 1 – Getting Started.
Week 2 IBS 685. Static Page Architecture The user requests the page by typing a URL in a browser The Browser requests the page from the Web Server The.
Getting Started (Excerpts) Chapter One DAVID M. KROENKE’S DATABASE CONCEPTS, 2 nd Edition.
LCT2506 Internet 2 Data-driven web sites Week 5. LCT2506 Internet 2 Current Practice  Combining web pages and data stored in a relational database is.
Chapter 4: Database Management. Databases Before the Use of Computers Data kept in books, ledgers, card files, folders, and file cabinets Long response.
Attribute databases. GIS Definition Diagram Output Query Results.
Access Lecture 1 Database Overview and Creating Tables Create an Employee Table.
MIS2502: Data Analytics MySQL and SQL Workbench David Schuff
Session-01. Hibernate Framework ? Why we use Hibernate ?
DR. MOHAMMAD IQBAL THANKS TO ADITYA SENGUPTA Comparing Web Frameworks.
Create Forms Lesson 5. Software Orientation Creating Forms A form is a database object –enter, edit, or display data from a table or query Providing.
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
Rails and Grails. To get started Make sure you have java installed You can get the sdk and jre at:
Database Design for DNN Developers Sebastian Leupold.
CPS120: Introduction to Computer Science Information Systems: Database Management Nell Dale John Lewis.
Databases C HAPTER Chapter 10: Databases2 Databases and Structured Fields  A database is a collection of information –Typically stored as computer.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
DB Libraries: An Alternative to DBMS By Matt Stegman November 22, 2005.
1 Overview of Databases. 2 Content Databases Example: Access Structure Query language (SQL)
Databases. Database A database is an organized collection of related data.
Web Services Week 8 Aims: –Using web services as front ends to databases Objectives: –Review of relational databases –Connecting to and querying databases.
1 Dr Alexiei Dingli Web Science Stream Introducing Rails.
SQL Server 2000 Acropolis Institute of Technology and Research Database fundamentals Prepared By: Rahul Patel.
Introduction to Model-Glue Rachel Lehman Perpetual Intermediate Designer-Developer Introduction to Model-Glue.
Ruby on Rails Your first app. Rails files app/ Contains the controllers, models, views and assets for your application. You’ll focus on this folder for.
Transfer 101 Dan Vega. 2www.cfunited.com About Me Programmer ColdFusion / Flex / AS3 / HTML / JS / CSS / Groovy & Grails Cleveland ColdFusion.
AUTOMATION OF WEB-FORM CREATION - KINNERA ANGADI – MS FINAL DEFENSE GUIDANCE BY – DR. DANIEL ANDRESEN.
NMED 3850 A Advanced Online Design January 12, 2010 V. Mahadevan.
Putting it all together Dynamic Data Base Access Norman White Stern School of Business.
CPS120: Introduction to Computer Science Lecture 19 Introduction to SQL.
1.NET Web Forms Business Forms © 2002 by Jerry Post.
The Active Record Paradigm Databases in Database-Centric Web Site Development.
CSCI 6962: Server-side Design and Programming Database Manipulation in ASP.
Hibernate 3.0. What is Hibernate Hibernate is a free, open source Java package that makes it easy to work with relational databases. Hibernate makes it.
Access 2007 ® Use Databases How can Microsoft Access 2007 help you structure your database?
SQL Jan 20,2014. DBMS Stores data as records, tables etc. Accepts data and stores that data for later use Uses query languages for searching, sorting,
Microsoft Access 2013 Overview of Microsoft Access Databases.
BlackBerry Applications using Microsoft Visual Studio and Database Handling.
All information's of PLINQO in this Document, I got it from: So, you could visit the link above to research.
Chapter 9 Vocabulary Databases. 1.Table – a collection of information, or data arranged in columns and rows. 2.Record – all of the information about one.
Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Fundamentals of Web DevelopmentRandy.
CHAPTER 7 LESSON C Creating Database Reports. Lesson C Objectives  Display image data in a report  Manually create queries and data links  Create summary.
ORM Basics Repository Pattern, Models, Entity Manager Ivan Yonkov Technical Trainer Software University
Introduction to Core Database Concepts Getting started with Databases and Structure Query Language (SQL)
Chapter 9 Working with Databases. Copyright © 2011 Pearson Addison-Wesley Introduction In this chapter you will learn: – Basic database concepts – How.
MICROSOFT ACCESS – CHAPTER 5 MICROSOFT ACCESS – CHAPTER 6 MICROSOFT ACCESS – CHAPTER 7 Sravanthi Lakkimsety Mar 14,2016.
MYSQL AND MYSQL WORKBENCH MIS2502 Data Analytics.
Physical Layer of a Repository. March 6, 2009 Agenda – What is a Repository? –What is meant by Physical Layer? –Data Source, Connection Pool, Tables and.
1 Section 1 - Introduction to SQL u SQL is an abbreviation for Structured Query Language. u It is generally pronounced “Sequel” u SQL is a unified language.
1 Compare Versions of MS Project File Guy Gaudreault, PMP MPA – Montreal Chapter October 11, 2006.
Project Management: Messages
Overview of Microsoft Access Databases Chapter 1
PHP and MySQL.
Introduction to .NetTiers
Structured Query Language
Developing a Model-View-Controller Component for Joomla Part 3
Testing a persistence layer
Access: Access Basics Participation Project
Creating and Managing Database Tables
Unit – V Data Controls.
Presentation transcript:

Reactor An ORM framework for ColdFusion Presentation By: Doug Hughes

What To Expect…  A quick review of ORM techniques  What Reactor is and isn’t  Supported database servers  The Reactor API (briefly)  Some examples (in code)  Getting Started / Resources  Questions and Answers

How We Used To Do It SELECT * FROM Users #firstName# #lastName#  What’s wrong with this? Hard coded DSN Query is not reusable Mixture of application logic with display

Design Patterns to the Rescue  Data Access Objects (DAOs) Provide methods for Creating, Reading, Updating and Deleting a single record. Generically called CRUD methods.  Table Data Gateway Objects (Gateways) Performs actions on multiple rows in the database. Typically gateway methods return record sets.  Active Records Newer. One object represents one record. “Knows” how to read, write and itself from the database. Provides getters/setters for modifying data

Some Drawbacks to the New Way  It’s time consuming Writing a one-off query only takes a minute Writing a series of CFCs (and testing them) takes a lot longer.  It’s verbose A typical query is only a few lines of code. Adding CFCs into the mix adds a lot of extra CFML  It’s repetitive Most CFCs end up looking almost identical. Only file, table and column names typically change. Leads to a copy-paste-and-edit mentality. Leads to subtle bugs, especially in rarely used code.

Database Abstraction Generators to the Rescue!  Many developers end up writing programs to generate this repetitive code. May automatically inspect the database (or not) Tend to create static files which are manually updated as needed.  This technique has it’s own problems: What if you customize an object but later add a new field to your database?

Enter Reactor…  Reactor is coined an “Inline Dynamic Database Abstraction" API. Reactor generates objects as needed The Reactor API is used in your code. Generates objects only as needed (and configured). Instantiates objects and returns them.

A Simple Example:

What Reactor Is …  Is used to generate ColdFusion objects to access data in your database  Reactor automates much of the repetitive, tedious and error-prone work involved in creating an Object Oriented database abstraction layer.

What Reactor Isn’t …  Reactor is Not Ruby (or ColdFusion) on Rails Does not generate application controllers No Scaffolding Relies on XML, not conventions  Reactor is Not a Panacea It does not do everything you need it to! You will need to customize some reactor generated objects.

Supported DBMS  Microsoft SQL Server 2000 and 2005  MySQL 4  MySQL 5 and later  PostgreSQL  Oracle 9i and 10g  DB2

Getting Reactor  Subversion  DougHughes.net or1.0BC2.zip or1.0BC2.zip  Useful folders: /Reactor /ReactorSamples /Documentation  From SVN see / Documentation/Documentation/!SSL!

Installing Reactor  Place “/Reactor” in your webroot. Or…  Make a mapping “/Reactor” to the “/Reactor” folder. That’s it!

Sample Applications  ReactorBlog Used on doughughes.net  Contact Manager

Some Examples… I’ll show some examples now

Resources  Documentation A work in progress  Trac Site Roadmap, timeline, tickets, and wiki  DougHughes.net My blog – lots of (dated) information there. Eventually I’ll create a Reactor-specific section.  Reactor Mailing List The best place 200+ participants

Questions / Answers