Your SlideShare is downloading. ×
IDS Cheetah – An Agile Choice for
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

IDS Cheetah – An Agile Choice for

1,484
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,484
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. IBM Software Group IDS Cheetah – An Agile Choice for Application Development September 20th 2007 Information Management 1
  • 2. IBM Software Group 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. 2
  • 3. Web 2.0 3
  • 4. Web 1.0 Web 2.0 Google Maps: Uses Ajax to provide the user with a Mapquest: Static view of a smoother, faster experience; no waiting for server map, with zoom roundtrips Ofoto: Users can upload their Flickr: allows users to securely manage and share their digital photos and get printouts photos in an online space Britannica Online: published Wikipedia: allows users to read, write, update and delete encyclopedic information on encyclopedia entries on the web the web personal websites: MySpace: a common place to go where everybody is (or individually created and can be) your friend; allows you to post your photos, maintained web sites with videos, music, blogs unique URLs directories (taxonomy): the tagging ("folksonomy"): the users of the web site web site creator decided how decide how they think the information fits into their the information was organized worldview Stickiness: focus on driving Syndication: focus on disseminating content from the users to the site and keeping site out to the interested parties them there 4
  • 5. These three patterns are driving Web 2.0 in the Constituent space and into any Organization e.g. SaaS Community Service, Economic Social Users add value not software • Recommendations • User-driven • Social networking features Web 2.0 adoption • Value on demand • Tagging • Low cost of entry • User comments • Public /Private • Community rights infrastructure management • Tight feedback loop between providers User Interface, Mashups and consumers Technology Easy to use, easy to remix • Responsive UIs (AJAX) • Feeds (Atom, RSS) • Simple extensions • Mashups (REST APIs) 5
  • 6. SWG Technical Interlock 2007 Service Oriented Architectures Reduce Complexity Case Study: Procurement to Cash Customer Division (s) Shared Services Supplier Outsourced To compete effectively, customers need this type of business flexibility. A Tranformation and Integration Roadmap customized to their needs is key. 6 © 2007 IBM Corporation
  • 7. SWG Technical Interlock 2007 Service Oriented Architectures Reduce Complexity Case Study: Procurement to Cash Customer Division (s) Feed Shared Services Supplier Atom Publish? Outsourced To compete effectively, customers need this type of business flexibility. A Tranformation and Integration Roadmap customized to their needs is key. 7 © 2007 IBM Corporation
  • 8. SWG Technical Interlock 2007 what is the long term relationship between SOA and WOA? 8 © 2007 IBM Corporation
  • 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 9
  • 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 10
  • 11. IBM Software Group | IBM Informix Data Management Software IDS and DRDA Common JCC Driver Informix Dynamic DB2 IBM Server UDB PHP/.NET/etc DRDA Providers DRDA Informix JDBC SQLI Application Informix ODBC Application 11 IBM Confidential | © 2004 IBM Corporation
  • 12. IBM Software Group IBM API Strategy for Data Servers PHP Applications IBM PHP Convergence Model work adapter Zend Frame- Interpreter IBM Data Server IBM Data Driver for CLI PHP Servers pdo_ibm DRDA DB2 Informix pdo_Informix ODBC Java/PHP/RUBY/PYTHON/<insert_next_hot_technology> all follow the exact same model 12
  • 13. IBM Software Group Database Application Development Technologies • Key Database Technologies – SQL / SQL Procedures – XML – SOA / Web Services • Developer IDS communities – C/C++ – Java (JDBC / SQLJ) – .NET (C#, VB .NET) Ruby – EGL – Open Source • PHP/Zend FW • Ruby/Rails • Perl JDBC • Python/Django JLINQ 13
  • 14. IBM Software Group IDS and PHP - Double punch! 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_ib m 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 14
  • 15. IBM Software Group 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 15
  • 16. IBM Software Group 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 16
  • 17. IBM Software Group 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 17
  • 18. IBM Software Group 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… 18
  • 19. IBM Software Group 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/ 19
  • 20. IBM Software Group | DB2 Information Management Software Datablades in IDS Informix Dynamic Server Spatial SQL Parser Optimizer DATABLADE API Geodetic Parallel Query New Blade Manager Fragment Manager MQSeries Transaction Services TimeSeries SQL Parser NAG Access Methods WEB Data Access Interface
  • 21. 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
  • 22. 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
  • 23. IBM Informix Dynamic Server 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) Slide 23 Cheetah Feature Training | Confidential © 2007 IBM Corporation
  • 24. IBM Informix Dynamic Server 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. Slide 24 Cheetah Feature Training | Confidential © 2007 IBM Corporation
  • 25. IBM Informix Dynamic Server 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 Slide 25 Cheetah Feature Training | Confidential © 2007 IBM Corporation
  • 26. IBM Informix Dynamic Server 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 Slide 26 Cheetah Feature Training | Confidential © 2007 IBM Corporation
  • 27. IBM Informix Dynamic Server 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. Slide 27 Cheetah Feature Training | Confidential © 2007 IBM Corporation
  • 28. IBM Informix Dynamic Server WFSDriver CGI Program Web Web Server WFSDriver CGI Browser wfs.cnf wfsexplode UDR Database Slide 28 Cheetah Feature Training | Confidential © 2007 IBM Corporation
  • 29. IBM Informix Dynamic Server WFSDriver CGI Program POST wfs_getpostkvp() (KVP) POST wfs_postxml() (XML) Web wfs_qrysend() wfsexplode() Browser GET XML Response Document Slide 29 Cheetah Feature Training | Confidential © 2007 IBM Corporation
  • 30. Basic Text Search Index Invocation IDS Client C-LUCENE Query of LUCENE text search processing Index and for text index Access Optimizer method index analyze 0, 8, 12, 15 operations and 1, 9, 15, 22, 44, 23, IDS Client arts 1, 8, 1 0 BTS: Basic Text behavior 1 Search Index Interface cut 2, 22 … … Informix Dynamic with … Server your … 30 30
  • 31. Basic Text Search Index mkdir /work/myapp/bts_expspace_directory -- Create an external space to hold the index onspaces -c -x bts_extspace -l /work/myappbts_expspace_directory onmode –p +1 bts --Create a table with a BTS index CREATE TABLE article_tab(id integer, title lvarchar(512)); -- Load the data below id title 0 Understanding locking behavior and analyze lock conflicts in IDS 1 Informix and Open source: database defense against the dark political arts 31 31
  • 32. Basic Text Search Index CREATE 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'); 32 32
  • 33. Developer WorkBench 33 33
  • 34. Developer WorkBench  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 34 34
  • 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.21 Ruby: Version IBM_DB-0.8.0  Check new forums: – Unleash the new Java, .NET, PHP and Ruby client and Developer solutions for IDS 11 http://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/ 35 35
  • 36. IBM Software Group 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/ 36
  • 37. IBM Software Group Thank You 37