IDS Cheetah – An Agile Choice for Application Development September 20 th 2007

37
IBM Software Group 1 IDS Cheetah – An Agile Choice for Application Development September 20 th 2007 Information Management

description

IDS Cheetah – An Agile Choice for Application Development September 20 th 2007. Information Management. - PowerPoint PPT Presentation

Transcript of IDS Cheetah – An Agile Choice for Application Development September 20 th 2007

Page 1: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

IBM Software Group

1

IDS Cheetah – An Agile Choice for Application Development

September 20th 2007

Information Management

Page 2: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

IBM Software Group

2

Do you Web 2.0? Find out more about how you can

take advantage of a Services Oriented Architecture to easily deliver location based information to your applications. IDS extensibility and the

new Web Feature Services in Cheetah(v11) make this possible. The new Basic Text Search that is included in IDS Cheetah will also be covered.

Page 3: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

3

Web 2.0

Page 4: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

4

Web 1.0 Web 2.0

Mapquest: Static view of a map, with zoom

Google Maps: Uses Ajax to provide the user with a smoother, faster experience; no waiting for server roundtrips

Ofoto: Users can upload their digital photos and get printouts

Flickr: allows users to securely manage and share their photos in an online space

Britannica Online: published encyclopedic information on the web

Wikipedia: allows users to read, write, update and delete encyclopedia entries on the web

personal websites: individually created and maintained web sites with unique URLs

MySpace: a common place to go where everybody is (or can be) your friend; allows you to post your photos, videos, music, blogs

directories (taxonomy): the web site creator decided how the information was organized

tagging ("folksonomy"): the users of the web site decide how they think the information fits into their worldview

Stickiness: focus on driving users to the site and keeping them there

Syndication: focus on disseminating content from the site out to the interested parties

Page 5: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

5

•User-driven adoption

•Value on demand•Low cost of entry•Public /Private

infrastructure•Tight feedback

loop between providers and consumers

EconomicService, not software

Social•Recommendation

s•Social networking

features•Tagging•User comments•Community rights

management

Users add value

These three patterns are driving Web 2.0 in the Constituent space and into any Organization

Technology•Responsive UIs (AJAX)•Feeds (Atom, RSS)•Simple extensions•Mashups (REST APIs)

Easy to use, easy to remix

Web 2.0

e.g. SaaSe.g. SaaS CommunityCommunity

User Interface, MashupsUser Interface, Mashups

Page 6: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

SWG Technical Interlock 2007

© 2007 IBM Corporation6

Service Oriented Architectures Reduce Complexity

Outsourced

Supplier

Shared Services

Division (s)

Customer

Case Study: Procurement to Cash

To compete effectively, customers need this type of business flexibility. A Tranformation and Integration Roadmap customized to their needs is key.

Page 7: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

SWG Technical Interlock 2007

© 2007 IBM Corporation7

Service Oriented Architectures Reduce Complexity

Outsourced

Supplier

Shared Services

Division (s)

Customer

Case Study: Procurement to Cash

To compete effectively, customers need this type of business flexibility. A Tranformation and Integration Roadmap customized to their needs is key.

Feed

Atom Publish?

Page 8: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

SWG Technical Interlock 2007

© 2007 IBM Corporation8

what is the long term relationship between SOA and WOA?

Page 9: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

9

Web 2.0 applications – Tim O’Reilly• Web is the platform• Harness collective intelligence• Data is the next intel inside• No more traditional release cycle – constat updates,

eternal beta– You’re updating the Service, no package to distribute and install

(Saas)

• Programming models– Think assembly

• Seamless integration with devices• Rich user experiences

Page 10: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

10

IDS for web 2.0• Need for speed

– After all these years, performance is still the king

• Solid SQL and application dev support– Support for open source APIs

• Low TCO is desirable for all apps, including web 2.0

• Support for XML for integration (Cheetah and further)

• Data Growth -- Ability to handle large data set with large number of connections

• Reliability

Page 11: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

IBM Software Group | IBM Informix Data Management Software

IBM Confidential | © 2004 IBM Corporation11

IDS and DRDA

Common JCC Driver

IBMPHP/.NET/etc

Providers

Informix JDBC

Application

InformixODBC

Application

DRDA

SQLI

DRDA

Informix Dynamic Server

DB2 UDB

Page 12: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

IBM Software Group

12

PHP Applications

InformixIBM

Dat

a S

erve

r D

river

for C

LI

pdo_

ibm

pdo_InformixODBC

PH

P

Inte

rpre

ter IBM Data

ServersZe

nd F

ram

e-w

ork

adap

ter

IBM PHP Convergence Model

DRDA

IBM API Strategy for Data Servers

Java/PHP/RUBY/PYTHON/<insert_next_hot_technology> all follow the exact same model

DB2

Page 13: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

IBM Software Group

13

Database Application Development Technologies

• Key Database Technologies– SQL / SQL Procedures– XML– SOA / Web Services

• Developer communities– C/C++ – Java (JDBC / SQLJ)– .NET (C#, VB .NET)– EGL– Open Source

• PHP/Zend FW• Ruby/Rails• Perl• Python/Django

IDS

Ruby

JDBCJLINQ

Page 14: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

IBM Software Group

14

IDS and PHP - Double punch!

Deploy - scalable and supported– Scalable data servers

• Common PHP driver (PDO_IBM) supported by IBM for Cheetah

– Zend Core for IBM • Has Apache webserver, PHP drivers, Zend FW, third party

libraries, samples, etc.,• One stop shop for PHP installation, rapid PHP application

development, deployment and production support– Enhanced scalability

• Zend Platform (object caching, and more) +development partnership

Quick to Develop– 100% designed for the web and Free!!!– Scripting language part of LAIP stack (Similar to LAMP)– Tools make light work

• Eclipse - PHP Development Environment (PDE)• Zend Studio v5.2 - integrated support for DB2 and IDS

– Strong Community PECL/PEAR/etc.,– Framework availability

– Zend framework, CakePHP, etc.,– Zend Core for IBM.

http://www.zend.com/products/zend_core/zend_core_for_ibm

Page 15: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

IBM Software Group

15

IDS and Perl

• Script Language• Excellent at string handling• Strong Community - CPAN• Community Supported Drivers

– DBD::Informix • version 2007.0226, with a version 2007.06xx in the works

– DBD::ODBC• IBM Supported Drivers

– DBD::DB2 • Based on CLI

– Common Driver• Plans underway

Page 16: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

IBM Software Group

16

IDS and Python

• Dynamic Object Oriented Programming language

• Community already has InformixDB driver for IDS– Version 2.3 – 1st October 2006 – DB-API 2.0 compliant– Requires Python 2.2 or better– Requires Informix ClientSDK

• IBM is currently engaged in its own adaptor/driver development– Expect Python/Django details in early 2008

Page 17: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

IBM Software Group

17

IDS and JAVA• Single JDBC driver for ALL IBM data servers • Development has primed the Java Common Client (JCC) driver

3.5 for IDS CHEETAH release• Support for Informix connection URLs, environment variables,

data source• Support for Informix basic data types• Support for all database modes• Connection using DRDA protocol• JDBC 4.0 Specification Support will be available soon• Goal is to keep existing application impacts to a bare minimum

for applications that have adhered to JDBC standards• Common Web Admin

– IBM Data Server Administrator Standard Edition– Based on JCC– Support for IDS by 2008

Page 18: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

IBM Software Group

18

What’s with Ruby and why on Rails?

• Ruby: an object-oriented open source programming language– Inspired by Smalltalk, sharing features with Python, Lisp, Dylan

and CLU– Reflective and single-pass interpreted language (scripting)

• Rails (a.k.a RoR): a full stack Web framework written in Ruby– Web development made easy through “Convention over

configuration” and “Don’t Repeat Yourself” principles– Development, deployment and maintenance made easy through

patterns, structure and built-in plumbing: MVC, ORM, Migrations, Testing, AJAX, etc…

Page 19: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

IBM Software Group

19

IBM’s offering for RoR development• IBM_DB-0.8.0 gem enables full support for Informix Dynamic

Server (IDS) 11.10 and beyond through IBM_DB Rails adapter and ibm_db Ruby driver

• Connects to IDS 11.10+ via DRDA protocol• http://rubyforge.org/projects/rubyibm/

• See also the open source ruby-informix driver developed by Gerardo Santana which supports all recent IDS versions via the SQLI protocol

– http://rubyforge.org/projects/ruby-informix/

Page 20: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

IBM Software Group | DB2 Information Management Software

Datablades in IDS

DATABLAD

E API

Spatial

MQSeries

TimeSeries

NAGWEB

New Blade

Geodetic

SQL Parser

Optimizer

Parallel Query Manager

Fragment Manager

SQL Parser

Access Methods

Data Access Interface

Transaction Services

Informix Dynamic Server

Page 21: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

IBM Software Group | DB2 Information Management Software

Spatial Datablade• R-Tree based Spatial Indexing• Works with ESRI’s ARC-SDE• Completely accessible via SQL• Statistics Collection and Optimization• FREE

Page 22: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

IBM Software Group | DB2 Information Management Software

Geodetic Datablade• Shortest distance between two points is NOT a straight line!•Treats Earth as a globe – not a plane• R-Tree based spatial Indexing• Supports Nearest Neighbor Search• Supports enterprise Replication• Statistics Collection and Optimization

Page 23: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

Slide 23

IBM Informix Dynamic Server

Cheetah Feature Training | Confidential © 2007 IBM Corporation

Introduction

► The Web Feature Service (WFS) allows a client to retrieve and update geospatial data from multiple Web Feature Service instances.

► A WFS allows uniform access to features stored on a server:■ query a dataset and retrieve the features

■ find the feature definition (feature's property names and types)

■ add features to dataset

■ delete feature from a dataset

■ update feature in a dataset

■ lock features to prevent modification (optional – not in this implementation)

Page 24: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

Slide 24

IBM Informix Dynamic Server

Cheetah Feature Training | Confidential © 2007 IBM Corporation

Why Use A WFS?

► Provides a generic way to access raw geographic data over the web.

► While a Web Mapping Service (WMS) returns map images a client, a WFS returns features related to a location. Eg.■ Which lakes are within a particular district?

■ Which rare species sightings occur outside of protected areas?

■ Which hospitals are located in Tokyo and are less than 97% full?

■ Which intersection/street is closest to my GPS location?

► Greater transparency and openness in mapping applications.

► Interoperability with WFS from different vendors.

Page 25: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

Slide 25

IBM Informix Dynamic Server

Cheetah Feature Training | Confidential © 2007 IBM Corporation

IBM Web Feature Service (WFS) Datablade Module

► Supports web-based geographical programs using data stored in IDS using the Spatial or Geodetic Datablade modules

► Encodes geographical features in Geographical Markup Language (GML) 3.1.1 or 2.1.2 specification

► Based on the Transactional WFS 1.1 (WFS-T) specification from the Open Geospatial Consortium (OGC)

► Uses HTTP GET or POST methods encoded as key-value-pairs (KVP) or XML for requests and responses.

► Requires Spatial or Geodetic Datablade modules to be installed and registered in the same database as WFS Datablade module

Page 26: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

Slide 26

IBM Informix Dynamic Server

Cheetah Feature Training | Confidential © 2007 IBM Corporation

IBM Web Feature Service (WFS) Datablade Module

► Supports web-based geographical programs using data stored in IDS using the Spatial or Geodetic Datablade modules

► Encodes geographical features in Geographical Markup Language (GML) 3.1.1 or 2.1.2 specification

► Based on the Transactional WFS 1.1 (WFS-T) specification from the Open Geospatial Consortium (OGC)

► Uses HTTP GET or POST methods encoded as key-value-pairs (KVP) or XML for requests and responses.

► Requires Spatial or Geodetic Datablade modules to be installed and registered in the same database as WFS Datablade module

Page 27: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

Slide 27

IBM Informix Dynamic Server

Cheetah Feature Training | Confidential © 2007 IBM Corporation

Feature Identifiers

► All features must be uniquely identified.

► Features usually take the form Feature.ObjectID where Feature is a feature class or table, and ObjectID is a unique identifier (usually a primary key) for that class or table.

► Eg. Customer number 101 in the customer table is referenced with the feature ID of customer.101.

► This must be a single column primary key. Composite keys are not supported.

Page 28: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

Slide 28

IBM Informix Dynamic Server

Cheetah Feature Training | Confidential © 2007 IBM Corporation

WFSDriver CGI Program

Web Server

wfs.cnf

WFSDriver CGI

wfsexplodeUDR

Database

WebBrowser

Page 29: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

Slide 29

IBM Informix Dynamic Server

Cheetah Feature Training | Confidential © 2007 IBM Corporation

WFSDriver CGI Program

wfs_qrysend()

wfs_getpostkvp()

wfs_postxml()

WebBrowser

wfsexplode()

POST(KVP)

POST(XML)

GET

XML Response Document

Page 30: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

30

30

Basic Text Search Index

Invocation of LUCENE for text index operations

IDS Client

IDS Client

BTS: Basic Text Search Index Interface

Informix Dynamic Server

C-LUCENE text search index

analyze

and

arts

behavior

cut

with

your

0, 8, 12, 15

1, 9, 15, 22, 44, 23,

1, 8, 101

2, 22

Index Access method

Query processing and Optimizer

Page 31: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

31

31

Basic Text Search Indexmkdir /work/myapp/bts_expspace_directory

-- Create an external space to hold the indexonspaces -c -x bts_extspace -l /work/myappbts_expspace_directory

onmode –p +1 bts

--Create a table with a BTS indexCREATE TABLE article_tab(id integer, title lvarchar(512));

-- Load the data below

id title0 Understanding locking behavior and analyze lock

conflicts in IDS

1 Informix and Open source: database defense against the dark political arts

Page 32: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

32

32

Basic Text Search IndexCREATE INDEX title_index ON article_tab(title bts_lvarchar_ops) USING bts IN bts_extspace;

SELECT id FROM article_tab WHERE bts_contains(title, 'informix');

-- with the AND Boolean operator (&& and + are allowed as well)SELECT id FROM article_tab WHERE bts_contains (title, 'informix AND dynamic');

SELECT id FROM article_tab WHERE bts_contains (title, 'inf*rmix');

SELECT id FROM article_tab WHERE bts_contains (title,'"java"~10');

Page 33: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

33

33

Developer WorkBench

Page 34: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

34

34

A complete Eclipse based platform for developing database applications– Database Explorer– Web Services Explorer– Entity Relationship diagrams– SQL Builder– JLINQ - common query API that lets you access relational databases

and in-memory Java collections with a single interface: standard SQL Developer Solutions for IBM DB2 and Informix Dynamic Server

(IDS) forum:http://www.ibm.com/developerworks/forums/dw_forum.jsp?forum=1086&cat=19

Developer WorkBench

Page 35: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

35

35

How to get hold of these tools?

IBM Data Server Driver package– Java: IBM® Data Server Driver for JDBC and SQLJ, Version 3.50

.NET: IBM® Data Server Provider for .NET for Informix Dynamic Server, version 9.5 PHP: PDO_IBM, Version 1.21Ruby: Version IBM_DB-0.8.0

Check new forums:– Unleash the new Java, .NET, PHP and Ruby client and Developer solutions for IDS

11http://www.ibm.com/developerworks/forums/dw_thread.jsp?forum=1137&thread=170325&cat=19

– IDS Developer and User Forum– http://www.ibm.com/developerworks/forums/dw_forum.jsp?forum=548&cat=19

Zend Download Site, Rational RDB Site Community Websites:

– http://pecl.php.net/package/PDO_IBM/– http://rubyforge.org/projects/rubyibm/

Page 36: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

IBM Software Group

36

Additional Resources• IDS Redbook on PHP, IDS 11• Developer Works Articles• IDS Experts Blog• Java Language Integrated Query: JLINQ

– JLINQ: IBM's new paradigm for writing Java database applications– http://www.ibm.com/developerworks/db2/library/techarticle/dm-0708ahadian/

Page 37: IDS Cheetah – An Agile Choice for  Application Development September 20 th  2007

IBM Software Group

37

Thank You