Description of the latest trend of DB2 client development

Source: Internet
Author: User
Tags db2 client db2 driver ibm db2

The following articles mainly show you the latest developments in the development of the DB2 client. Are you confused about this, that is to say, does the IBM DB2 development team really consider all these open source explanatory languages and rich Internet application resources.

Some people in this group are working on a new management console for the company's data servers ......

Application DB2 client developers love Python, Perl, PHP, and Ruby. DB2 is ready to support them-what about you?

Several years ago, my friend Cathy visited my home in the outskirts of Atlanta, Georgia. I introduced her to my son, who was only four years old. I told him that Cathy had a farm in Pennsylvania. "Really ?" Asked Zachary. "Is there a horse in your house ?" "Yes," Cathy said. "We have horses ."

"Is there a pig ?"

"Yes, we have pig ."

"Is there python ?" "No," Cathy replied. "We don't have python ."

Zachary was a little disappointed and walked away. Zach is a very smart child, but he didn't know much about python at that time. I have to say that he knows about this type of snake, which is similar to my understanding of the Python programming language.

The time is coming soon to March 29, 2007. In Melbourne, Australia, I attended a keynote speech at the International DB2 Users Group (IDUG) Australia Forum by Curt coprocessor (IBM fellow, chief technology officer of IBM data server. Curt is talking about Python and other popular programming languages among current developers (especially Web application developers.

For Python, Perl, PHP, and Ruby, and languages that are at least familiar to me, such as Java and C # (the latter is in.. Net application environment is widely used.) What are the top DB2 developers of IBM talking about? As a result, according to Curt, IBM is doing a lot of work to make DB2 a good data server for a variety of modern DB2 client development languages. This message is a concern of DB2 users.

A few weeks later, I once again witnessed Curt giving A speech at IDUG North America Conference. When Curt agreed to sit down and discuss this topic with me for Q &, I was able to get some good supplementary information from him. According to Curt and other sources of information (including my colleague Eric Drudge at CheckFree who is one of our top application architects ), DB2 personnel should be familiar with hot topics about the data service application client.

DBMS merging, and more development platforms

As for the DBMS, which serves as the basis for enterprise-level data service applications, users mainly use products provided by IBM and two other vendors. In the field of open source software, the situation is similar. It is also dominated by several DBMS.

At the application end, the situation is different. Programming Languages come and go (older IT generation: Do you still remember ALGOL, Pascal, PL/I, and APL ?), New programming languages are emerging, some of which are popular and widely used. According to the characteristics of DBMS software technology "strong", what are the scenes that lead to language diversification? I have some ideas about this.

Student factors. Many new language activities take place in schools around the world. For the following reasons, children (for me, they are still children) pursue the development of new programming languages because:

They want to lead. Many computer science students want to become the next Linus Torvalds. Their primary motivation is not necessarily money. Their purpose is to be recognized-especially among other programmers-as a leader and innovator.

They can do this. Creating new programming languages is not as easy as cooking eggs, but it is much easier to create new DBMS that requires functionality, manageability, scalability, and availability than developing large businesses on the DB2 client. (Chris is my college roommate. One night, Chris's crazy lab partner found that he was still in the basement of the school's computer center, he hoped Chris was working the next day for the project. "Oh, that was done early," said Chris. "What are you doing ?" "I'm writing my own FORTRAN compiler ." "Why ?" "Because I can do it ."

The pursuit is simple. Many people are trying to create new programming languages to find a way to do more with less code (in terms of application functions ). (If you are a language enthusiast, you may like to perform some competitions. The goal is to provide a function with the least code .) Of course, in order to provide the target function, many machine commands need to be executed, but the focus is to reduce the number of lines of code that programmers must write.

It takes Web applications to a new level. The old browser-as-displayer-of-HTML mode gradually lags behind the "browser-as-desktop" mode. In the latter mode, the application code running in the browser can interact with users. In addition, when changing the display elements and conducting asynchronous communication with the backend server, there is no need for so many annoying Web page reloads. As a result, some new languages have emerged in order to do things that old languages cannot do or do badly (especially at the user interface level.

Advances in server hardware. Nowadays, many popular languages are scripting languages. When running a program developed in this language, each line of code in the program is dynamically converted into a machine language during execution, instead of compiling in a pre-executed process. The CPU efficiency of the scripting language is not as good as that of the compiling language, but the current generation of microprocessor is too fast, and the CPU cycle is much cheaper than a few years ago, the CPU overhead of the scripting language becomes increasingly insignificant.

Programmer's conversation

The terms I have explained in this section are often heard in discussions about modern Web application DB2 client development.

PHP. PHP (PHP: recursive first letter representation of Hypertext Preprocessor), according to the description on www.php.net, is "an Open Source General scripting language, especially suitable for Web development, can be embedded in HTML ". Note that PHP code is executed on the Application Server-the client only receives the results of PHP code execution, rather than the Code itself.

Perl. Perl (practical extraction and report language) is a cross-platform open-source scripting language. It is popular among Web application developers due to its text operation function and rapid development cycle. Someone calls Perl Internet tape (duct-tape ).

Python. An open-source scripting language that is widely used in various application fields. Python fans often use the term "batteries sorted ded" to describe this very comprehensive standard library, which contains various functions from Asynchronous processing to zip files.

Framework ). In the context of Web application development, the framework is a collection of methods (that is, functions) and objects (Information instances of things, they make it easier to develop Web applications with less code. The framework provides a library for database access, session management, and other similar content. (Excellent introduction to this topic in http://en.wikipedia.org/wiki/Web_application_framework .) My colleague Eric (Application architect) described the framework as a scaffold for quickly building Web applications.

Django. Django is an open-source Web application framework used with the Python programming language.

Ruby. Ruby is an open-source scripting language created in Japan in the 1990s S. Its Fans describe it as a "beautiful" and "clever" language. Yukihiro Matsumoto, Ruby's chief designer, said: "Ruby looks simple, but it is very complicated inside, just like our human body ." One of the most interesting aspects of Ruby is that everything looks like an object.

Rails. The open-source Rails framework is used with the Ruby programming language.

JavaScript. JavaScript is an open-source scripting language that was initially developed by Netscape Communications and is now managed by the Mozilla Foundation. Unlike the literal meaning of a name, JavaScript is not an interpreted Java; in fact, it is irrelevant to the Java programming language (but JavaScript is often embedded in Java applications ). Web browsers are the most common execution environment for JavaScript.

Ajax. Ajax, Asynchronous JavaScript and XML, is a technology used for developing interactive Web applications on the DB2 client. When Ajax is used, the code running in the browser can interact with the user. For example, when the user's cursor stops at a certain segment of the Web page, the segment will jump out and be highlighted, however, you do not have to reload the Web page. Wikipedia provides an excellent introduction to Ajax in http://en.wikipedia.org/wiki/Ajax_ (programming.

DB2 connection

So what is the relationship between all these and DB2? Let me give it to you.

DB2 and PHP. IBM developed and supports an open source PHP extension for DB2, ibm_db2. This extension is optimized for DB2 and supports stored procedures and large objects (LOB ). It also provides native XML and XQuery support for PHP 4 and PHP 5. More information about this PHP extension can be found on the http://us2.php.net/manual/en/ref.ibm-db2.php. Also, learn about Zend Core for IBM, which is a popular PHP application server from Zend Technologies, founded by PHP architects) A compatible DB2 access solution. You can get more information about Zend Core for IBM from ibm.com/software/data/info/zendcore.

DB2 and Perl. CPAN, the Comprehensive Perl Archive Network, provides the Perl database driver for DB2. In http://search.cpan.org /~ Ibmtordb2/DBD-DB2-1.1/DB2.pod can find information about it. Note that in DB2 Viper 2, IBM will provide binary code for a PHP driver.

DB2 and Python (and Django ). There is a Python DB2 Interface (PyDB2) on sourceforge.net/projects/pydb2 ). In "Viper 2" for DB2 for Linux, Unix, and Windows, IBM plans to provide a Python DB2 driver.

This driver will implement Python Database API Specification v2.0 (see www.python.org/dev/peps/pep-0249 /). Similarly, in DB2 Viper 2, IBM plans to support object-relational mappers as part of the Python application Django framework (for more information about Django Database APIs, visit www.djangoproject.com/documentation/db-api /).

DB2 and Ruby (on Rails ). IBM provides a startup toolkit for DB2 on Rails on its alphaWorks website (www.alphaworks.ibm.com/tech/db2onrails. This integrated installer creates a complete DB2 Ruby on Rails Development Environment on Windows PC. (You can also use the startup toolkit driver source provided on the alphaWorks site to create it on other platforms .)

Maybe you want to know if IBM's DB2 development team really takes all these open-source explanatory languages and rich Internet application resources into account, tell you, some in this group are working on a new management console for the company's data servers (DB2 for z/OS, DB2 for Linux/Unix/Windows and Informix Dynamic Server, this management console is based on Web, it will use Ajax-related technologies to better provide System Health, availability, and troubleshooting information for DB2 administrators (User Interface-level data will be dynamically updated through asynchronous communication with the host system, so you don't have to wait until the Web page is reloaded ). Yes, they implemented it and are using it.

How is it now?

Now you know more about the development of the current Web application DB2 client than you did a few minutes ago (I hope so ). How will you use this knowledge? First, I hope your application development colleagues can understand more about programming languages and skills. After understanding more things, you can join the conversation.

During the discussion, you have the opportunity to let programmers know that open-source DBMS is not the only available database solution, even if they are using open-source programming languages. There is also an industrial-grade, highly scalable, vendor-supported DBMS, it can effectively address the needs of Web applications in the data persistence layer (some developers view the database in this way ). Such DBMS will be regularly enhanced to better apply to programming languages that programmers love.

Of course, it is DB2.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.