Hello OpenROAD! An Introduction to Rapid Application...

29
1 Hello OpenROAD! An Introduction to Rapid Application Development for Ingres David Tondreau, Architect 1

Transcript of Hello OpenROAD! An Introduction to Rapid Application...

Page 1: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

1

Hello OpenROAD!An Introduction to Rapid Application Development for Ingres

David Tondreau, Architect

1

Page 2: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

2

Agenda

• Brief Recap from Last Week’s Webinar

• An Introduction to OpenROAD

• Overview of OpenROAD Workbench 2006

• Writing A Simple Database Application

• Developing Applications with Templates

• Debugging, Building and Deploying Applications

• Rich Enterprise Web and Mobile Applications

Page 3: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

3

Getting Started with .NET

• Create a C# project

• Add the Ingres .NET Data Provider to the project

• Add an entry field to the form

• Add the code to:• Connect to Ingres• Set up and run a query• Put the data on the form• Disconnect from Ingres

Page 4: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

4

.NET Code Snippet

using Ingres.Client; ... string location = "Host=localhost;" + "User Id=ingres;PWD=password;" + "Database=testdb"; IngresConnection dbConn = new IngresConnection(location); dbConn.Open(); string sql = "select text from greeting"; IngresCommand ingCmd = new IngresCommand(sql, dbConn); IngresDataReader dataReader = ingCmd.ExecuteReader(); dataReader.Read(); text.Text = dataReader.GetString(0); dataReader.Close(); dbConn.Close();

Page 5: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

5

Page 6: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

6

Getting Started with Java

• Create a Java project

• Add the Ingres JDBC Driver to the project

• Add the code to:• Connect to Ingres• Set up and run a query• Write out the value on the console• Disconnect from Ingres

Page 7: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

7

Java Snippetimport java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import com.ingres.jdbc.*;… IngresDataSource dataSource = new IngresDataSource (); Connection dbConn = null; PreparedStatement statement = null; ResultSet results = null; String text = ""; dataSource.setServerName("localhost"); dataSource.setDatabaseName("testdb"); dataSource.setPortName("II7"); dataSource.setUser("ingres"); dataSource.setPassword("password"); try { dbConn = dataSource.getConnection(); statement = dbConn.prepareStatement("SELECT text FROM greeting"); results = statement.executeQuery(); results.next(); text = (String) results.getObject(1); System.out.println(text); dbConn.close(); } catch (SQLException e) { e.printStackTrace(); }…

Page 8: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

8

Page 9: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

9

Getting Started with OpenROAD

• Connect to the Database

• Create an Application

• Create a Frame

• Create an Entry Field

• Write the Code

Page 10: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

10

OpenROAD Code Snippet

SELECT :text = text FROM greeting; COMMIT;

Page 11: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

11

Page 12: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

12

Reduce Complexity, Increase ProductivityProductivityCo

mplex

ityLines of Code Per Function Point

by Programming Language

24 Visual Basic 6

46 Java 2 default

107 Cobol default

13 SQL default

14 HTML 4

18 Delphi 5

53 C++ default

SLOC per Function Point

Language

William H. Roetzheim, CEO, Cost Xpert Group http://www.ddj.com/dept/architect/184414658

Page 13: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

13

What is OpenROAD?

• A powerful Rapid Application Development (RAD) solution for building data-centric software applications

• Enables quick construction and deployment of client/server, n-tiered, web & mobile applications• Scalable server-side business logic management• Browser deployable, rich thin client interfaces

• Targeted at businesses with rapidly evolving application development needs

Page 14: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

14

OpenROAD Components

• OpenROAD Development

• OpenROAD Runtimes (VMs)

• OpenROAD Server

• Database Connectivity

Page 15: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

15

OpenROAD Development

• Graphical interactive development environment• Interactive and template based form design• Wizards and component editors that simplify development

• Object-oriented 4GL programming language• Supports inheritance, polymorphism, encapsulation, etc.• SQL is part of the language dialect• Tight bindings (form to class, class to database)

• All the tools needed to develop, test and deploy desktop, web, mobile and server applications

Page 16: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

16

Page 17: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

17

OpenROAD Desktop Client Runtime

• Traditional, desktop runtime• Platform independent Virtual Machine (VM)• Write once, run anywhere applications• Includes Ingres networking

• Supports multiple application architectures• Single-tier (host based)• 2-tier (fat client)• 3-tier (thin client)• n-tier (distributed)

Page 18: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

18

Sample Partner Applications

Page 19: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

19

OpenROAD Browser Client (eClient)

• Complete packaging of the OpenROAD Runtime as a plug-in to a web browser• Think “Acrobat Player” or “Flash”

• User applications are also browser plug-ins• Delivered to clients running only a browser

• Build rich enterprise applications• With the features of desktop applications• Without the complexity of other REA technologies

Page 20: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

20

Page 21: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

21

OpenROAD Mobile Client (mClient)

• Complete port of the OpenROAD Runtime to handheld devices and mobile phones • Supports Windows Mobile 5+ and Windows CE 4.2+

• Features• Runtime installer and application delivery (< 7 Mb)• Exploits native Windows Mobile features• Server connectivity via HTTP• Binary application compatibility with other runtimes

Page 22: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

22

Mobile Client Example

Page 23: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

23

OpenROAD Server

• Supports deployment of server-side 4GL business logic• Makes OpenROAD 4GL business logic available to:

• OpenROAD desktop, browser and mobile clients• J2EE (Java applets, servlets, & beans)• .NET (C#, ASP.Net, VB.Net)• Browsers (HTML, ASP, JSP)• Other clients (Visual Basic, C++, etc.)

• Supports publishing of OpenROAD 4GL object classes as Web services

• Visual server farm administration utility

Page 24: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

24

The OpenROAD 2006 4GL Server

• Business Logic• Stateful/Stateless Applications• Call Level Security• Business Process Management

• Application Scalability• Connection Pooling• Load Balancing• Fail-Over

4GLClient

4GL4GL

SQL99XML

Page 25: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

25

.NET

Java

4GLClient

HTML

WAP

WebServices 4GL

4GLSQL99XML

Platform Independent, Client Agnostic

Page 26: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

26

OpenROAD Connectivity

• Seamless access to a wide variety of relational and mainframe data stores (Client or Server)• Ingres/Net• Enterprise Access (Unix, Windows RDBMSs)• EDBC (Mainframe databases)

• Thin client applications access the OpenROAD Server via HTTP or DCOM

Page 27: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

27

The Ingres “Stack”C

lient

sE

nter

pris

eD

ata

Sto

res

Desktop

Ingres/Net

IngresDBMS

Web

Apache Tomcat Windows IIS

Mid

dlew

are

&A

pplic

atio

n S

erve

rs

JSP, PHP, Perl, Python…

OpenROAD Server Pooler

Oracle

SQL Server

Enterprise Access

DB2 UDB

RDB

EDBC

IMS

VSAMDB2

IDMS,

Datacom

DCOM

Linu

x / U

nix

/ VM

S

Microsoft W

indows

MobileMobilePhone

WML

HTTP

OpenROAD Server

OpenROADeClient

4GL

DCOM

Java API C# API

JBOSS

WebLogic

JSP, Java Servlets/Beans

JSP, Java Servlets/Beans

Windows IIS 6ASP.NET

ASP

OpenROADmClient

4GL

HTTPHTTP

Clie

nts

Ingres ODBC HTTP

Browser

HTML, VBScript …

DCOM

Windows/Linux/UnixFat Clients

Ingres/Net

OpenROADClient

C++, VB … Java, C#4GL

ABFClient

OSL

EmbeddedC Client

ESQL/C

HTTP

OpenROAD4GL Server

OpenROAD4GL Server

OpenROAD4GL Server

4GL4GL4GL

NameServer

Page 28: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

28

mailto:[email protected]

Q&A

Page 29: Hello OpenROAD! An Introduction to Rapid Application ...downloads.actian.com/online/media/pdf/Application... · An Introduction to Rapid Application Development for Ingres David Tondreau,

29

More Questions? See You In The Forums!