Not sure what you mean by database of choice. I thought almost all PHP
ran on MySQL and that currently is not iSeries.
You mean almost all existing PHP programs use MySQL? I don't know
about "almost all" but certainly a lot of them do. PHP supports pretty
much every database under the sun, but since MySQL is a good, free (open
source) database, it's very common to use it with PHP.
But if you're the programmer writing the application, why does it
matter? You can write to any database you like.
The reason MySQL and IBM are brining MySQL to i5/OS is to make it easier
for you to download and re-use existing software that was written for
MySQL. For example, you might want to run a blog, wiki, or shopping
cart system on your i5. Since there are many good, free, ones that were
written in PHP and mySQL, you can download them and use them in i5/OS.
Since the DB2/400 database will be supported as a MySQL engine, you'll
be able to use that as a backend (hopefully) so that the same data will
be available to your native i5/OS applications written in RPG, SQL,
COBOL, etc. Pretty useful, yes?
Plus, the MySQL drivers for other platforms should enable access to your
i5/OS databases, which is pretty interesting to me. Now I'll be able to
get database drivers for FreeBSD that can get to my i5/OS data...
again, "hopefully", because I don't know exactly how they'll implement it.
There was also talk about providing access to MySQL for native
appliations... though, I don't think I've seen anything "official" in
that arena. But, if that's available, my RPG programs will be able to
query my FreeBSD MySQL database as well. (Actually, I'm already doing
that using a JDBC driver, but having a non-Java method would improve
performance.)
My thinking is that if a vendor has a package running on a Windows
platform, they are going to want to continue to have it run there but
maybe not.
Since PHP is an interpreted language, the same code they wrote for
Windows should work on all PHP platforms, other than maybe some minor
changes to the filename(s).
Though, I think you'll find that most PHP applications were written
originally for Linux, not Windows. But, the point is the same, PHP
applications are cross-platform, much like Java applications.
For example, I decide that I want to have a professionally designed,
really nice, web site, and I want to run it on i5/OS. So I go out and
hire a professional web designer. They say they work in either PHP or
ASP, and have never heard of the System i. No problem, make me a site
in PHP, and blam, I can run it.
Or lets say I decide I want to make it easy for employees to
create/modify our company's intranet web site. So I want a Wiki...
MediaWiki (the same software that Wikipedia uses) is available and
written in PHP. I know it scales well, since Wikipedia has millions of
users. It requires a MySQL or PostgreSQL database.... so when MySQL
is supported, I can download and run MediaWiki and I'm good.
On the other hand, if I have problems and search the Internet, I might
find that 99% of the help is for Linux systems... then what do I do?
At that point, I might say "Why didn't I just run this on Linux to begin
with?"
So, I don't know that this will bring a lot of new customers to the
system... but for existing i5/OS customers, it provides access to a lot
of applications, and makes it easier for vendors to support the system i
as a valid platform for their applications.
I would agree that many shops use SQL in some way or another but my
experience is that AS/400 programmers fight SQL like death including my
current shop.
About 40% of RPG programmers use SQL, according to some (probably
unscientific) surveys I've seen. That's not too bad... Once they're
in an environment where they MUST use SQL, I think most people will
learn enough SQL to get by. I mean, you don't really need to be an SQL
expert, you just need to do enough SQL to access the data you're looking
for...
As far as dealing with un-normalized data, I have been through the mill.
I don't know how many occasions I have had to drop back to file I/O
because there was just no way to get to the data through SQL.
I don't understand this statement. Even if the data isn't normalized,
you should still be able to get it via SQL!
Are you confusing normalized data with externally described data? If
not, I'm completely lost as to what you're saying here. SQL can read
records just like RPG can. The only restriction I'm aware of is that it
has to have an external definition of some sort -- and just about
everyone uses externally defined files today.
As an Amazon Associate we earn from qualifying purchases.