Since I've been on a common driver kick lately, might as well keep on going...
There was a chat with the lab on Feb 25th that talked about the common Java JDBC driver (referred as the JCC driver): Top 10 reasons to consider IBM Data Server Driver for JDBC and SQLJ for IDS
You can use the JCC driver with IDS when connecting using the DRDA protocol. Some of the benefits include:
- Better integration with WebSphere
- Ability to use the capabilities PureQuery
- Better tracing and debugging
- Full IDS clustering support
- Superior performance over the Informix JDBC driver
All this is significant:
- PureQuery can increase the performance of SQL statements by analyzing the usage and make changes transparently from the application. For example, it can detect the use of the same statement with different literals and convert that under the cover into a prepared statement.
- Full IDS clustering support includes working with the connection manager to automatically and transparently connect to an alternate server when the primary fails.
- Superior performance: It provides a 5% to 10% performance boost over the Informix JDBC driver.
If you are using Java, maybe it is time to start looking into the JCC driver. You can download it from the IBM site at (10MB):
For more information on this chat with the lab:
Here's Where you can find information on this chat with the lab:
Last Wednesday, Terri and I went from Brussels to Roosendaal (Netherland) to visit our Informix partner Informa. The first thing we saw when we arrived at their building was a 4 feet tall informix logo sign, the original blue logo.
We had a great meeting talking about the Informix roadmap and the state of the Informix business as they see it at Informa. Bertino and Rob also told us that they found two Informix customers that did not know that IBM had bought Informix!
We were back in Brussels between 5:30 and 6:00 in the evening and went out for dinner. When it came to pay, it turned out we could not use our credit cards since our cards do not include a chip. Here, in Europe, they all use smart cards.
That reminds me of the Informix conference in Chicago back, I believe, in 1997. At that conference, attendees would get a smartcard that was used for multiple purposes. One of them was that they could go to a PC, insert their card in the reader and take a conference survey. After the survey was submitted, they could go claim a T-shirt as a thank you prize. Before they could get the T-shirt, The smart card would be checked to make sure the attendee completed the survey and then mark their card with the fact that they had received their T-shirt. As it happens, I wrote the application that took care of the survey.
The survey was done through a web browser running on a windows machine (16-bit windows at the time). A smart card reader was attached to the PC. The attendee would insert their smartcard in the reader and invoke the survey URL. This request would execute a program on the server that would call back the PC using the PC internat address and a pre-defined port number to read the smart card and fill out the basic information on the form such as name and address. Once the survey was submitted, the application would again access the smartcard to turn on the indicator that said that the survey had been completed.
I'm sure that the capacity of smart cards has greatly increased over the last 10 years or so. A lot could be stored on those. We could store a biometric key as password (fingerprint) and all sort of personal information such as medical records and medical activities, including prescriptions. With this always up-to-date record, it could reduce risks of errors, drug abuse, and so on. The update could be done to the smartcard at the point of service and also sent to a national database through, let say, web services.
IDS can handle millions of transactions per second. It has a proven track record of reliability and scalability and is used to stringent response time requirements. Fro example, IDS is able to handle the employee badge of IBM employees worldwide to give them access to different areas of IBM. IDS also handles large streams of financial information and makes them available for analysis almost instanteneously. Handling the medical record updates would be no problem since we can easily scale out through the distribution of the data over multiple machines either through the continuous availability feature (shared disks). In the medical record case, I would likely look at Enterprise Replication (ER) as my first enabling feature.
All that to say that smart card may be worth another look. The use of smart card with IDS could open the door to many new capabilities in all sort of emerging market and new application.
July 1st was the 10 year anniversary of the IBM acquisition of Informix. Since the acquisition, Informix has releases version 9.3, 9.4, 10.0, 11.10, 11.15, and 11.70. A few days ago, we releases 11.70.xC3. Other recent addition include the Informix Warehouse accelerator that introduce game changing technology for the data warehouse/data mart area. Add to that the Informix-Genero for fast application development and mobile applications.
So much has happened in these 10 years. Go take a look at Informix. Download one of the free edition and give it a try. For people that think they know Informix, go take a look at the large number of improvements we've added to it over the years. Go visit www.ibm.com/software/data/informix and find out more about what is going on. The IBM Information on Demand conference is coming up. This is the best way to learn about the latest capabilities and network with Informix partners, customers, and IBMers. The conference is held in Las Vegas October 23-27.
Now that my major deliverables are done in xC3, I'll be back regularly to talk to you about these major improvements and how many people can take advantage of them.
Ten years with IBM and going strong. There is so much more to come. Stay tuned!
At the IOD conference last October, I ran into Rafael Coss (IBM, Data Studio) and Vladimir Bacvanski (InferData) in the expo center. Both started raving about a language named Groovy. That got my attention.
To learn more about Groovy, they suggested the book:
Groovy in Action
Miraculously, Santa brought me that book for Christmas :-)
Groovy is a relatively new scripting language that is part of the Java family: Groovy scripts are converted into Java byte code. This makes it 100% compatible with Java. It is the equivalent of using an additional jar file as part of a Java program.
The implication is that we can use the Informix JDBC driver or the IBM Data Server JCC driver to access IDS from Groovy.
Why a new scripting language? Java is a powerful language but some constructs are difficult to build. By providing a compatible scripting language, Java can now easily go over these hurdles, making it compatible with other scripting language. More notably Ruby with the Rails framework. Groovy also has a companion framework called Grails: Groovy Rails.
Groovy may have a slight advantage because it can be compiled into byte code. This should make it faster than scripting languages.
More on Groovy next time.
Just a quick note to say that I'll resume blogging soon.
I've had some medical issues that took me out for over a month but I'm coming back.
Great things are hppening with Informix. Stay tuned!
I just finished the first day of class at the university of Strasbourg. Almost everything went well.
There are 20 students in the class in addition to Pierre Tellier. The class could accommodate 26 people so a total of 21 makes it look quite full. We started the day with an introduction presentation that includes, among other things, the class objectives, an agenda with tentative timing, some background on databases, and a description of the lab environment. Thiswas followed by a presentation discussion consideration on performance as it relates to hardware, operating systems, and databases. In the afternoon, we went through an introduction to IDS which led to our first lab.
After spending an hour telling them how great IDS is and how easy it is to use, the first thing I saw in the lab was that IDS would not come up! It turns out I hardcoded an IP address for the host address that worked fine on my laptop but when executed on the lab machines, the address was wrong. After struggling through finding the character positions on a French keyboard (think '|', '/', '$', etc.) I figured out the problem, provided the solution to the class and the lab continued without problems. I made sure to explain that the problem was a network address, not IDS!
We finished the day with a partial presentation on database extensibility that will continue Tuesday morning.
the students seemed to enjoy the content and the delivery of the presentations and Pierre was happy with it. I'd say that the first day was a success, two days to go. Let's see what happens...
Please see the following story Trafficmaster and IBM Develop Solution for Smarter Driving to learn more about how Informix makes life easier for drivers in the UK. Here's a quote form the article:
"Trafficmaster is able to provide drivers with real-time route planning and more accurate estimated arrival times than ever before with the help of the IBM Informix data base technology," said Stuart Berman, Executive Director, Trafficmaster.
What does Groovy have to do with Informix?
For one, we can develop applications in Groovy accessing IDS since it can use the JDBC driver (or the common data server JCC driver).
Second, the Groovy community has put together an eclipse plug-in that allows you to edit, compile, and run groovy scripts and classes. According to their web site (http://groovy.codehaus.org/Eclipse+Plugin), it works with Eclipse 3.3 and 3.4 but not with 3.2.
For what I can tell, the latest version of IBM Data Studio Developer (version 2.1) is based on Eclipse 3.4.1 so it should work fine.
Third, we should be able to use Groovy to write user-defined routines. I admit, I did not try it but if you compile the Groovy code and make the Jar file that implements Groovy available either as part of the UDR or in the onconfig classpath, it should work fine.
If you want to start playing with Groovy, take a look at the following site:
Let me know how it goes...
Do you know about IBM Data Magazine? It is the regular newsletter based on ibmdatamag.com that many people receive in their inbox
every few weeks (or is it weekly?).
This online magazine contains articles related to: Big Data and Warehousing, Databases, Information Strategy, Integration and governance.
There are multiple regular columnists and I am now one of them. I am covering Data in motion in a monthly column.
My first article got published on January 31st and is titled: "Getting the big data ball rolling".
You can find it at: http://ibmdatamag.com/2014/01/getting-the-big-data-ball-rolling/
I have put together a plan for a series of articles. When it gets more in depth, I will complement the articles with
my blog entries. I will also continue to cover other subjects and likely more technical subjects in this blog.
Hopefully this will get me to write a blog entry a bit more regularly than I've done lately.
Until next time...
I was reading recently that scripting languages are becoming more and more popular. One of the benefits listed was that it can increase productivity significantly. That brings me back a long time when I used to argue that you could write a solution in APL so much faster than any of the traditional languages...
PHP is a popular scripting language that is used to create web solutions. Here are some information if you want or need to use it with IDS.
To use IDS with PHP, you need to add the PDO_INFORMIX interface to it. tis interface can be found in PECL:
The current version is 1.2.0 and came out in March 2008. You will to use the appropriate Informix CSDK to compile it for your platform.
Note that there is another PHP driver available for IDS 11: PDO_IBM. It is available from IBM in the IBM Data Server Client as a pre-built component. See:
If you want to get going quickly, you can find Apache-PHP-PDO_INFORMIX ready to go with the Open Admin Tool for IDS (OAT). This product is available for IDS 11. You can find it at:
You can also use the package from Zend: Zend Core for IBM at:
If you want to build the environment yourself, here are two articles that can help you figure out the process:A step-by-step how-to guide to install, configure, and test a Linux, Apache, Informix and PHP serverA step-by-step how-to guide to install, configure, and test a Windows, Apache, Informix and PHP server
With this information, you should be able to get started quickly
If you're leaning against a wall, you have two choices to increase the distance between you and the wall. Either you push the wall away from you or you push yourself away from the wall.
Not long ago, I heard someone say that to increase performance, we should move the data to where the processing is. I did not want to get into an argument but I could have asked: What about moving the processing to where the data is?
This could be done looking back at user-defined aggregates as discussed in the previous blog entry.
So, which is the wall? Of course, the answer is: It depends. The key is to keep an open mind about where the processing should be. there could be many cases where putting the processing in the database is the right answer. Using user-defined aggregates could be the technology to use.
I have to say, these are busy times!
With TimeSeries PoC and multiple activities around Streams, time flies by quickly.
It's been a while since I updated the InfoSphere Streams Playbook. This was overdue. There are new videos, training material and capabilities that were not reflected in the playbook. Here's what I updated:
In this section, I updated the databases supported and support for MQTT
There is now a link that should provide the complete lists of available videos dynamically. Also, I cleaned up the tutorials and added a brand new series of tutorials.
Video use cases
Some new youtube videos that show interesting use of Streams
With the end of the year so close, we can expect everyone to prepare for the new year. Looks like 2014 will be another fun year!
When I was in France, I met two partners/resellers: VMark and Frame. Both partners are strong Informix partners and supporters. It is always good to meet partners of this caliber.
In addition to them, I must give a particular mention for ConsultiX's Khaled Bentebal that went the extra mile and re-started the France's Informix users' group with a meeting on September 30th. The meeting was well attended with over 20 people despite some scheduling issues that greatly reduced the advertising for it. There was a mix of roadmap, positioning and technical presentations that were enthusiastically received by the audience.
This year we have seen several countries starting Informix users groups. the one in France is the latest that shows that Informix is growing and doing well. I wish Khaled and the France Informix users' group all the best.
The day started with a keynote speach by Jerry Keesee. I believe the key to the presentation is that the Informix is taking the next step to insure continuing growth of the Informix product. There are some exciting things happening on that front.
The first session I attended was "Data Modeling" given by Jack Parker. There were a lot of interesting examples how a data model greatly impact your production system. I have to agree with Jack that the greatest performance gain in with the data model, not tunig the database after the fact. This is why database experts should be involved at the beginining of a project. They can then also take advantage of database extensibility; something I could talk about for a long time...
There were five sessions going at once for a total of 30 sessions for Monday. There were a lot of good sessions on subjects including database administration, application development, programming, security and more. there wer demos of all sort and great conversations to be had. Someone told me that one of the benefits of this conference is that they can solve in minutes problems that have benn bugging them for weeks.
Of course the evening event was also worth attending with a bunch of engineers coming from the lab just to talk to everyone. All in all a fantastic day!
I remember seeing something like this title in some Informix marketing material many years ago. I think it was related to the fact that IDS has extensibility features that allow developers to adapt IDS to their business requirements as the technology and needs evolve.
The "future built-in" idea came back to me as I was reading a computerworld article titled: "the desktop traffic jam" (see: http://www.computerworld.com/s/article/342870/The_Desktop_Traffic_Jam). In there they were talking about a new feature in Windows 7 (User Mode Scheduling) that lets thread multiplexing take place in the application instead of in the kernel. They go on to say: "Handling this multiplexing in the application instead of in the operating system kernel makes thread scheduling more efficient.
I know it's not quite the same but it is similar to the idea that IDS decides its thread scheduling, making it more efficient since it is will not re-schedule a thread that is in a critical section of code. This way it avoids having threads that get scheduled to find out that they have to wait. All that making the threading model more efficient. I wonder how difficult it would be to take advantage of thread multiplexing onto cores. Could it be as simple as having one CPU VP per core wih some "core affinity" of the operating system supports that? Then IDS would already be there... with the future built into it.
There is now a new resource for Streams: https://www.ibmdw.net/streamsdev/
The Streamsdev site includes articles, blog entries, videos, and intro labs. You can also get to the download the latest quickstart edition of Streams from there. This way, you can download either the product or a vmware image with it and do the lab at your leisure.
This site is put together by developers for developers. Still, if you are new to InfoSphere Streams, you can find something there for you too. Just go to the getting started section under "Docs".
Since the IBM Information on Demand (IOD) conference starts this weekend, you can also find information on the activities (labs, presentation) on Streams during the conference. You can see the next few acticities on the mainpage or a more complete calendar under events.
This site is evolving. You should go look at it at least once a week to see what's new.
Hopefully many of you are going to the IOD conference next week. Enjoy the conference and learn a lot!
Another year, another conference. It has been so busy that I have not had the time to write a short blog entry for each day. Here is my quick update.< /p>
It all started Saturday morning with the business partner council and the customer advisory council on Saturday. I attended the customer advisory council and I found it interesting and full of good discussions.
The conference was kicked off with an opening reception on Sunday night and we were off to the race. There were eight Informix sessions on Monday including presentations on how IBM helps Cisco, open source, hands on lab on high-availability, another one on the new features of Informix 11.70, bests practices for virtual environments, and performance enhancements. Of course, the most popular session was from Jerry Keesee titled: "Informix at IBM: The next decade".
The day ended with an Informix reception at the Mandalay Bay beach casino for an Informix 11.70 launch celebration and to start looking forward to the next decade of Informix at IBM.
Tuesday started early with an Informix "eat and meet" breakfast at 7:00am, followed by nine Informix sessions throughout the day. The sessions covered areas such as upgrade, new features, Informix warehouse, application development, 4GL, embeddability, flexible grid, and more. It was also interesting to hear about how Informix is used to run a steel plant.
The day ended with a beach party reception. Now it is on the Wednesday with another full agenda.
The IOD conference is less than a week away. I received an email about a blog entry that lists all the book signings that will happen at IOD. A total of 10. I happen to be one of them.
I wrote a short book titled: "Informix Dynamic Server Application Development - Getting Started". It is a free book that will be available at the conference. My book signing session is as follows:
Tuesday 12:00 pm - 1:00 pm
Location: Mandalay Bay Registration Desk South
Since I'm giving up my lunch for this, please stop by and say hi. For more information on all the book signings at IOD, please see the following blog entry:
(Short URL: http://bit.ly/KB8zy)
Sunday was the beginning of the conference. Even though there were tutorials during the day. The real beginning was the welcome reception. The exhibitors booths were ready and the attendees were cheerful. IT was a great networking opportunity with good food and plenty to drink.
I have to admit I missed a lot during the reception because I was in multiple intense discussions.
All in all, a great start to the conference.