Unconfigured Ad Widget

Collapse

Announcement

Collapse
No announcement yet.

IBM to open its midrange systems to MySQL's database!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • IBM to open its midrange systems to MySQL's database!

    This will make all existing PHP work as is against DB2/400 (as MySQL's database engine). I looked for a post recently from someone who asked for this to happen, but it didn't come up in a search. Between BASIC interpreter like processing, retrieving and setting up the program data from the last time a page came in for this cookie/IP address/URL whatever, and SQL connections, should bring back the memories of underpowered PC's struggling to keep up with an Interpreter BASIC game. rd

  • #2
    IBM to open its midrange systems to MySQL's database!

    Wow. I'm glad I'm taking several PHP classes at COMMON. The PHP/MySQL combination might come in handy. :-) Chris

    Comment


    • #3
      IBM to open its midrange systems to MySQL's database!

      well, I would like to see how exactly clean the process will be. Does this mean that other than PHP interfaces, we can use the ODBC, java connections as well?

      Comment


      • #4
        IBM to open its midrange systems to MySQL's database!

        yeah, I've been running a phpBB website for several years now, and very occasionally do some mods to it, so I have more than a passing interest in it. The most recent version was a doozy. They tried implementing more security by enforcing IP address checks at critical points, like posting. Well, guess what. AOL users have a different IP address on every access. I had to comment out the IP check for posting because AOL users couldn't post, or more accurately, had to keep trying over and over until it came in with the same IP address again. But that would apply to any web page processing, not just PHP, so is not a slam on PHP. It's just that phpBB (and other PHP) coders have to keep trying to shut down attacks with different security checks, and they tried that as a last recourse. PHP has a few "native" SQL interfaces. MySQL is the default and primary database used. DB2 of any flavor isn't one of them. So nearly all code is written to at least the MySQL interface, thus all existing PHP code will now run against DB2/400 unchanged, which is obviously a very smart move on IBM's part. They also expect to be able to participate in some enterprise MySQL sales because of this, so not entirely altruistic. The MySQL interface was always an interface to replaceable database engines. There is a native ISAM engine but most high performance used InnoDB engine. DB2/400 (renamed as usual, and I don't care what the latest name is) is now certified as one of those MySQL database engines, same as any of the other interchangeable MySQL database engines. So is not an extra performance dropping layer, but in fact one would expect that DB2/400 would outperform (SQL wise) the default MySQL SQL engine, given IBM's commensurately and accumatively greater efforts in this area. PHP5 which is what was ported (i.e., recompiled for PASE) to iseries has a Java interface added, which is independent of PHP database interface. ODBC I assume is one of the database interfaces that MySQL supports, but DB2/400 as a database engine to MySQL would be a native C interface from PHP to MySQL and native C MySQL to its pluggable database engine. In other words, compiled and fast. Speaking of compiled and fast, I hope someone somewhere can explain why web page processing must be in interpreter script instead of a compiled program. It's one thing to run a bulletin board forum with PHP. It's another to run a business with it. rd

        Comment


        • #5
          IBM to open its midrange systems to MySQL's database!

          ok, well, I'd like to see someone with an active site demoing exactly how well their iSeries db runs with mySQL; it might be instructive to see where things might be a problem. Anyhow, I imagine the answer to your query on interpreter script vs. compiled pgm is where all the web stuff came out of. All those dinky Unix boxes with limited compilers and too many versions and types of compilers. Probably easier to just build the interpreter and having generic scripting than to build an actual compiler that would work with all that different hardware and os flavors. And after awhile, that's just the way it is......and then we have to have Windows....

          Comment


          • #6
            IBM to open its midrange systems to MySQL's database!

            yeah, you're right, boomer. You can't believe how fast things fall apart with even cross platform Java web page processing in the form of Tomcat or Resin. Every web host has the PHP and Perl script modules for their Apache servers, I found less than a handfull that have Tomcat Java web page serving. Anything more than script and you're off into $150+ per month dedicated server for your site. No big deal for a business with teams of web server people, or independent consultants hosting with their own web server(s), but for the umpteen thousands of web sites cited as using PHP, that's all they have, so what's that prove? It just means they're the only ones with web hosts not using ASP on Windows, which all the PHP web host companies also have. The funny thing is, even if you have your own machine I didn't see much out there for compiling beyond Java, for example such as RPG-CGI. I don't entirely understand RPG-CGI yet. For script languages the URL would call up a specific CGI program like one would expect to do from a command line. But every iseries CGI explanation I've seen so far is like, hey who cares, *it* (and by this I have taken to mean a handful of CGI programs that stay resident) is resident and just does whatever, calling anything needed, etc etc and away we go. Whereas with a script language, the URL could designate any of dozens of CGI programs to call. So like I say, I don't understand but I haven't looked into it further yet. I do understand and have used the method of passing action to be taken or program function name to be called and have the processing programming make appropriate calls / submit to appropriate data queues to perform the action, which is the only way I can understand generic CGI programs handling any of the web page requests they may get. But that would be different from the way script CGI is normally done. So all in all, iseries could and should be such a major league performance and security enhanced web server that sites such as government and non-trivial business processing would feel compelled to use it, similar to the proven peformance of Domino serving, but so far I'm just seeing so-so me too ism and no demonstratable unique advantage. For example, PHP as equivalent open source in ILE RPG (the portion in PHP script) and ILE C++ (the PHP engine in native C) should scream in comparison to interpreting PHP script. Add capability to do native IO where lots of business IO is done as per typical business processing and you'd have, hmmmm, open source RPG-CGI programs with ILE web function libraries equivalent to the PHP. That you could run a business on. rd

            Comment


            • #7
              IBM to open its midrange systems to MySQL's database!

              Hmm, I see what you're saying; just can't imagine IBM doing that much non-based IBM work for their own advantage. Plus, wouldn't the whole versioning issue would be a problem for the PHP user community? They don't seem to be much different from the Linux orgs as everyone can run something like 2-3 releases back (if not 6 or 7 main OEMs versions of Linux)and it's regarded as perfectly ok. I suppose the Enterprise versions force you to be current but all that installed base of "free" stuff and the kludgy support system for them doesn't seem to mesh well with IBMs' methods/requirements for staying on support. But it would be cool to have what you're proposing....

              Comment


              • #8
                IBM to open its midrange systems to MySQL's database!

                IBM wouldn't be doing anything. Open source apps are written by open source programmers. And tested and documented and supported by other open source advocates. If this were something from scratch in RPG that would be one thing. But it's translating existing open source in C and PHP to ILE that I was referring to, if high speed execution of the app is worth it. For most popular open source projects, it would be. Of course as open source the iseries translation is offered back to the community. It's no good to anyone without an iseries, but for those running on one, it's a high performance alternative to script interpretation. Should there be any enhancements made along the line (not likely based on history but you never know), then the enhancements would be converted to PHP and offered for commitment to the PHP open source project. And given our business expertise, there certainly should be plenty of opportunity for that two way street. I'm not happy anyway with available option tradeoffs of language, server, performance, and cost for development work I want to do, so this would probably make me happiest anyway to take a crack at it. rd

                Comment


                • #9
                  IBM to open its midrange systems to MySQL's database!

                  "But every iseries CGI explanation I've seen so far is like, hey who cares, *it* (and by this I have taken to mean a handful of CGI programs that stay resident) is resident and just does whatever, calling anything needed, etc etc and away we go." Well the ones I've written don't do that and I've never seen any other that did either but ... Perhaps there is not a lot about the basics because most of us use IBM's free CGIDEV2 (easy400.net) or Brad Stone's eRPG or Bob Cozzi's x-Tools or ... and don't worry about the "raw" APIs. Easy400 has a fairly comprehensive tutorial on CGI programming with CGIDEV2. I'd try that if you really want to check it out.

                  Comment


                  • #10
                    IBM to open its midrange systems to MySQL's database!

                    Hi Jon, We met briefly after your PHP session. I went the day long PHP lab too. I saw lots of code examples that mixed the UI (HTML) in with controller logic in with SQL database access (I don't recall if yours did or not). I can understand doing this for a class, to keep examples simple, introductory. My question is, how is MVC architecture achieved with PHP? I noticed an "include" command, that appears to be the equivalent of a /COPY in RPG. I suppose that's a start. Do you use/recommend a PHP framework? Which one? Thanks! Chris

                    Comment


                    • #11
                      IBM to open its midrange systems to MySQL's database!

                      In my very limited experience writing PHP on the i5, using either the i5 extensions or the DB2 extensions, it screams. I've seen this running on much older hardware, 270 and 810. It runs and it's fast. IMHO, you could run a real business on this stuff. Remember, it's not a green screen, the user expectations are different when they call up www.yahoo.com. They just deal with the response time and accept it. We are spoiled by the blazing speed IBM continues to deliver. Stan

                      Comment


                      • #12
                        IBM to open its midrange systems to MySQL's database!

                        Stank1986, What flavor of PHP? What version of PHP? What versions of OS/400? What PHP framework, if any, are you using/seen? Saying "it screams" is not a benchmark. Chris

                        Comment


                        • #13
                          IBM to open its midrange systems to MySQL's database!

                          Ok, Jon, I Googled to review some of what I've seen here on it. In hindsight, it looks like three concepts that have been referred to which make a little more sense to me now, but which I have blurred all together from random occasional exposure to them - a different named activation group for each CGI program, and leaving *INLR off. I don't understand exactly how next web page invoking that CGI program from anyone, much less the prior user, is directed to the existng job for that program that didn't end because *INLR was not set on, so I don't understand the purpose of this or how it would work. - persistent CGI. I saw enough about setting a handle to have a clue how to use it, and also the warnings that it should only be used when necessary for commitment control. - an architectural scheme from Nathan that used generic CGI programs to front end process web pages to data queue servers, that is programs that stay resident and pass data back and forth via dataq. This is the technique I wrote the Jobs/400 backend with. Here I know the CGI program is not resident, the dataq server program is, but I had blurred the generic front end concept of this in with the named activation job/persistent CGI concepts. I also scanned reviewed the RPG CGI tutorial and readme. I joined the easy400 group not long ago and downloaded the CGIDEV2 SAVF last week, from IBM's site by the way, and will be taking a look at it soon. I had not got as far as looking for doc yet, not knowing what was in the SAVF, but now I have it. Thanks. I am seeing this as the sweet spot between PHP scripts and Java servlets. rd

                          Comment


                          • #14
                            IBM to open its midrange systems to MySQL's database!

                            Ralph, An RPG program that exits with *INLR = *OFF will stay active in memory but the next browser request from the same session is not guaranteed to be routed by the Apache server back to that same CGI job. V5R3 added the Apache configuration directive CgiInitialUrl which allows you to pre-start important programs when the HTTP server starts. The absolute slowest part of any RPG program is opening/closing files. Leave *INLR=*OFF if possible. My tests show leaving *INLR=*OFF makes subsequent calls 35 to 60 times faster (that's 3500% to 6000% !). I haven't tried this but it might be a good idea for an RPG program to shutdown (*INLR=*ON) on every nth call, if resources deplete too much during the day. Chris

                            Comment


                            • #15
                              IBM to open its midrange systems to MySQL's database!

                              Ok, I can visualize that. Thanks Chris. rd

                              Comment

                              Working...
                              X