this is the primary in a series of four articles by Brian Kelley on Hypertext Preprocessor.
Our company has been following your now and again promising, on occasion depressing, articles and responses concerning a natural up to date interface to the system i and RPG. If IBM desires to construct these interfaces for its different systems, that’s pleasant too, but I don’t basically care about these–at the least right now. although i would like the “decent Brian” to be suitable in his opinion of the IBM reorganization (see IBM’s Reorg: The respectable Me or the bad Me?), what I even have considered from IBM leads me to accept as true with that the “unhealthy Brian” acquired this one appropriate. for the reason that i'm not certain to whom at IT Jungle to write my questions on this subject matter, and due to the fact that your articles impressed the concept at the back of these questions, i'm writing to you. i am hoping the “first rate Brian” may give me some tips.
reasonably frankly, their shop has had enough of the RPG limitations. it is a superb enterprise language that cannot deliver a latest seem and think to those applications that we'd want to share with their customers on the web. In frustration, they are now taking the primary steps to move to an industry average methodology that may provide the appropriate appear and think. at the moment, they are so upset that they believe that if this leads us from the system i sooner or later, then so be it.
far and wide I seem to be, and now even at IBM, I preserve seeing the three letters “P-H-P”. It doesn’t seem to be getting the negatives that Java acquired well-nigh from day one. Brian, suppose they wish to circulate their new software efforts to Hypertext Preprocessor or something more advantageous (if there is anything stronger), or even a mix of tactics. the place do they go? where will they start? How will they get this installation on their device i? How tons does it charge? What else do they need? What do they deserve to be trained besides Hypertext Preprocessor?
And after you expectantly answer these questions, I actually have one more. This question has anything to do with that “dream computer for system” notion that you wrote about within the 4 Hundred, Saving the gadget i: fight Pervasive with Pervasive. Is there a method that i will deploy a cheap Linux server or even a windows server or a laptop client in order that I don’t must mess with my construction equipment to enhance and test php purposes? Any assist you supply may be preferred immensely.
i believe there are a few people at IT Jungle who would love to take a crack at answering the sequence of questions you have requested in regards to the Hypertext Preprocessor environment. Having simply spent half of this summer season working with a equipment i personal home page customer whereas making ready to train my first Hypertext Preprocessor classification in the fall, i'm pleased you picked me. As a aspect observe, my summer time adventure more than strengthens my need to have IBM take the complexity out of net construction. just because the gadget/34 and subsequent GSD-antique machines, together with gadget i, took the pain out of establishing for interactive workstations, there is lots of room for growth in the CGI, Hypertext Preprocessor, and WebSphere strategies that IBM at present advocates. No count what the tool, Dean, relaxation assured it isn't a picnic taking your applications to the internet and don’t predict to peer a GO LICPGM menu from IBM any time soon.
I, like you, know that I cannot look forward to IBM to make the RPG company programming language turn into web-enabled. They nevertheless can also. If IBM had been going to do what they desire within the short term, they would already know about it. Wouldn’t IBM be bragging about it? So, with no route from IBM, Hypertext Preprocessor actually has emerged as a big option. Yet there is a part of IBM that nevertheless means that for a major net web site, be sure you consider the WebSphere strategy. additionally, there are people that proceed to advocate CGI, the earliest method of presenting a dynamic internet web site.
CGI has its own following in IBM with the CGIDEV2 toolkit developed by way of Mel Rothman years in the past. which you could down load all you need to find out about CGIDEV2 at this hyperlink. in my opinion, i might no longer use this components since it is old and there are few sponsors. despite the fact, i do know some individuals who are very good during this exchange who swear via CGIDEV2.
personal home page has lately develop into the trade normal for internet programming. With version 5 for those who just like the idea of object orientation, CGI has been geared up with a number of OOPS facilities. These superior capabilities do not take away from the normal simplicity of the language. Its availability on gadget i opens up different alternate options on your shop once you grasp all of the requisite pieces and also you get an application or two below your belt.
For an RPG programmer there is one factor that you might also discover objectionable. The language firstly appears a bit like Java, C, and C++. Sorry, it appears nothing like RPG. considering the fact that RPG is among the easiest structures to observe (once you understand it), your first seem to be at the Hypertext Preprocessor language may also make you puke. Yet there are those out there who would suggest that RPG programmers are out of it in terms of what languages should look like. simply a number of weeks ago, IT Jungle’s Alex Woodie interviewed Duncan Kenzie, the president of Excel techniques and probably the most main developers of BCD‘s WebSmart Hypertext Preprocessor development ambiance, and Duncan thinks that RPG programmers would do smartly to recover from the need for RPG-type syntax, certainly when most other programming languages, besides COBOL, use what I may call the “block constitution.”
I think that computer science syntax should be left to the computing device science guys. I’d fairly every thing seem like RPG. AS/four hundred aficionados might argue that they've gotten over RPG with CL and that they have been now not pressured into the block structure and the brackets and braces proposal of coding. I actually have seen the complaints from the better of the RPG free-kind coders out there asking IBM to cast off the semicolon on the conclusion of every RPGIV free-format line. Even this little bit of what the desktop science guys endure each day with their languages creates a way of annoyance to people that don’t locate further work attractive. mockingly, if you're a free-form coder now, and you've got become aware of that nasty semicolon requirement, you’ll do stronger with php than those of us nonetheless the use of the mounted form of RPG.
Anyway, there are americans accessible who think it is set time that RPG people authorized that IBM is not taking the language to the web. when you are satisfied, the decent information is that it is not necessarily time to examine Java, C, or C++. youngsters, it can be time to gain knowledge of their kind as offered in the Hypertext Preprocessor language. even though it appears like the different block structured languages at the start and it likes the entire particular characters, it is tons less demanding to learn, study, test, debug, and set up.
maintain Duncan Kenzie’s strategies to your frontal lobe as you stream into php if it really is your alternative. he is a really smart grownup. in the interview, he says, “RPG programmers tend now not to be frequent with common programming constructs like curly brackets and semicolons at the end of the lines and issues like that, issues which have been around in different languages for a long time. Some americans will take to it instantly and they’re productive in a couple of days, and other americans will on no account get used to it. ‘If it’s now not RPG, i will’t do it.'”
other net options: The WebSphere strategy
Of route, there are different strategies that don't seem to be as comprehensive as an RPG net GUI that can get your enterprise to the internet tons sooner than building your own personal home page functions. The other direction of which i believe you have got some diploma of cognizance is the WebSphere (web purposes Server) path. For pretty much a yr now IBM has been delivery an inside WebSphere server and a pre-installed WebSphere categorical V6.0 server with i5/OS. both of these come with out an further charge. And, for the record from someone who has written eight WebSphere books, the brand new WebSphere is a great deal more convenient to work with than its popularity and its previous failings. WebSphere has picked up an attribute that was missing in its past iterations. you can now count number on it. it is sturdy and when it crashes, you don’t should go search for one other job because it can in fact get better itself. Of route, in place of use the pre-put in models, which you can decide to be very latest and set up the latest edition of WebSphere corresponding to V6.1, which has been obtainable for a couple of year. then you have a bit more work to do.
IBM’s web GUI Administration device has basically helped simplify managing WebSphere. You nevertheless have to consider a lot about its atmosphere and its IFS file constructions, but you ought to recognize these things anyway to make use of HTTP, Hypertext Preprocessor, and MYSQL. The WebSphere server by myself gives little. it's merely the fee of admission to the WebSphere world. with out it, youngsters, you can't run any of the three or four system i software products that can also be used to take your present applications and any new building to the web. speaking of latest development, in case you select any of these methods, i would advocate one in all my books, WebFacing software Design and building guide, which is obtainable from the IT Jungle bookstall. even though this booklet is built around a version of WebFacing that now not exists, its value comes from the advised utility structure on your green-display purposes in order that should you deliver them to the internet with any of the system i equipment that they are about to focus on, they behave like element-and-click internet applications.
the first and least difficult of the IBM system i internet amenities to set up and use is iSeries access for web. besides a typical 5250 emulation facility, this skinny-client strategy gives a couple of the iSeries entry for windows (IAW) and iSeries Navigator facilities all properly packaged in a beautiful GUI kind. This kit is a free entitlement that incorporates the identical IAW that you simply run for your computer. You get the CD containing 5722-XH2 and also you installation it with a RSTLICPGM or GO LICPGM whether it is no longer already there. When it's installed, in a second process, you should create a WebSphere instance and a corresponding HTTP example and installation IAWEB through both CL instructions or QShell to WebSphere.
The second product is HATS. There really are only three, but there's a fourth component for HATS and WebFacing (WDHT) it is a prerequisite. because IBM makes use of names corresponding to Host software Transformation functions (HATS) that are so lengthy and infrequently do not in reality do justice to the utility facilities they determine, in preference to use the actual IBM names, i exploit shorter names. The third product is WebFacing and the prerequisite fourth facility is WebSphere construction with HATS technology (WDHT). this will also be talked about as the WDHT runtime. As of edition 7 of the WDS/WDSC general version product the HATS toolkit, the WebFacing toolkit, and the WDHT runtime are provided with the equipment. both V7 HATS and V7 WebFacing need the V7 WDHT runtime to feature. in contrast to the HATS toolkit and the WebFacing toolkit, the WDHT runtime is a chargeable function.
How Does WebFacing Work?
With IBM’s commonplace WebFacing toolkit, which runs inside WDSc, you convert your DDS display file source contributors so that the person interface of your system i RPG, COBOL or C classes can run in a browser. The notebook-primarily based WebFacing tool does the conversion. You choose the 5250 software’s DDS source panels and also you then set up the new web-based mostly interface by means of first importing it to the IFS. as soon as it is on the IFS, you invoke the internet GUI Admin feature–your IP handle or domain identify adopted by way of a colon and 2001 for the port quantity–to install the uploaded software file (type EAR) to the WebSphere server. The converted (WebFaced) utility consists of JavaServer Pages and XML info and different artifacts that take the vicinity of your DDS code (monitor file) when operating from a web browser.
The normal WebFacing offering enables customization of the brand new interface. fashion homes, pictures, fonts, hues, and layout can all be added to your pages, giving a look and consider that is not exactly 5250. The superior edition of WDSC (now not a free offering) incorporates this customization one essential step additional with its Cascading trend Sheets-Positioning (CSS-P) capacity so that the 5250 monitor panel actually can disappear as fields can also be repositioned, unconstrained by way of the boundaries of the usual 5250 area. It presents a nearly unlimited potential to personalize the web-enabled interface. When the WebFacing software is running under the manage of WebSphere, its web conversation is managed through an additional server module wide-spread because the WDHT runtime.
essentially the most latest directions for setting up WDSc for the WebFacing toolkit are protected in the hyperlinks above. a number of Redbooks and a number of other good books including the iSeries Pocket WebFacing Primer and the iSeries specific internet Implementer’s guide are additionally obtainable. because the WDSC product changes so at once, there are not any edition 7 IBM Redbooks or change books, however any of the books written for previous models would assist you get a believe for what is needed to WebFace your functions. The IBM documentation needs to be examined where particular product notions for edition 7 of the equipment are required.
HATS & WHDT Runtime
The HATS toolkit offers an identical customization to WebFacing, as well as an easy average default template that allows for you to deploy advert-hoc applications to WebSphere in a whole lot the same approach as IAWEB. Like IAWEB, HATS converts equipment panels on the fly; but not like IAWEB, it provides the identical stage of customization (if you select) as supplied by means of WebFacing. consequently, with equipment panels or application panels, you in no way lose the look and suppose of the software. It additionally supports extra tailoring of any monitor panel in keeping with its monitor content. in contrast to WebFacing, you do not upload the monitor information and net artifacts per se on the system i. HATS makes use of the current panels of their compiled state (no DDS required) and it renders the web look-and-feel on the fly. hence, as a substitute of loading an software to the device i as you do with WebFacing, you may load simply the widespread customization objects that you've constructed with the HATS toolkit. These then manage the look of the advert hoc HATS panels.
So, the massive HATS potential over IAWEB is that it provides a high diploma of page/panel customization and it could actually have the same theme as a WebFaced utility. hence consumer menus and device menus can have the equal seem and think because the coronary heart of the software set. It additionally skill that WebFacing and HATS functions will also be blended and the user does not be aware of the difference.
WDHT runtime is the fourth piece of the WebSphere puzzle and it is very vital. It gives the gadget i runtime facilities for each WebFaced functions and HATS-pushed functions. one of the most most important advantages of WDHT runtime besides the HATS/WebFacing intermingling guide is that processing is precise as batch. for this reason, techniques with minimal interactive capabilities can operate at accurate pace. this is in distinction to the iSeries access for web facility, which requires interactive CPW to force its pages. Of course with the new 515 and 520 models, in case your store is lucky adequate to have one, this does not count number. despite the fact, with older methods it may also be the net deal killer.
For a comprehensive desk evaluating WebFacing with HATS, go to this link.
IAWEB, HATS, and WebFacing advice
My first suggestion is that before you even begin your php setting up and getting to know procedure, deploy and determine iSeries entry for internet and HATS, and try to WebFace a small application and deploy it to the WebSphere server. though it's cumbersome, working with these WebSphere amenities is extensively much less elaborate than working with the Hypertext Preprocessor ambiance to give similar software characteristic.
after you have the WebSphere method applied, that you would be able to begin to improve in php or adjust some existing purposes for php. You will be extra equipped to assess which device to make use of for which characteristic in case you have already got some event in the field. None of these tools cost anything additional and so it doubtless is time to use them. You may trust this primary phase as part of your basic education considering that the recreation will also aid you on your getting to know of php and its essentials considering the elements in the solution have many similarities. I predict that you simply should be in classification for somewhat a few months whereas on the same time inching through these installations and checking out processes. in case you have a large adequate body of workers, of route these tasks will also be achieved simultaneously, but it would behoove you and your crew, after each and every part turns into usable, to give some thought to what the part gives and the way it will also be quite simply deployed on your store.
The truth is that with the colossal libraries of functions that exist in most equipment i stores, it might take a incredibly long time to convert to php with out another tooling suggestions. with out a tremendous price range, the green-monitor stuff, with the aid of definition, can be around for a very long time. Having the WebSphere equipment we’ve mentioned can in reality support to your normal modernization. One main abilities is that if an utility needs to come on the web with handiest a day or two be aware, that you may in fact accomplish it with the WebSphere equipment–a method that could take a lot longer with php.
As an aside, if IBM gives an RPG tool sooner or later (notwithstanding the company will greater than likely deliver an SDA-like device to create the page widgets, just as it lets you know DDS), the learning funding you are making now in HATS or WebFacing will pay off if IBM really someday offers us what they desire in RPG.
IBM Weighs In
In September of 2006, IBM came out with a superb Redbook for helping clients consider all of the a variety of strategies available to modernize your applications. IBM gadget i application Modernization: constructing a new Interface to Legacy applications is informative, free for downloading, and purchasable at this hyperlink.
The personal home page ambiance
For the remaining 20 or more years, every time IBM should construct something in hardware or in application, it asks itself if the brand new merchandise is whatever thing new unto itself or some thing new as part of some thing else. whether it is part of whatever else or should be a part of anything else, then IBM uses that whatever thing’s structure to body how the brand new item is to be developed. whether it is the first of anything that may additionally have lots of gadgets, then IBM defines a blueprint or structure for the common suggestion and then assures that the new item implementation follows the blueprint.
In primary terms, such blueprinting eliminates a lot of waste and assures that whatever thing like a constructing emerges from all the gadgets mixed rather than simply 695 partitions, HVAC methods, 132 rooms, three staircases, five elevators and 16 floors–all independently designed. in the IBM strategy, the fruits is a building during which all of the bricks are the right measurement and they recognize the place they're going before they are mounted in region.
On the Java side, as an instance, IBM didn't invent the J2EE architecture, but the company certain plays by means of its guidelines when within the Java area. So, one would predict that IBM would perform likewise involving php and its P2EE architecture. neatly that’s just foolish considering there isn't any P2EE structure and there is no Hypertext Preprocessor architecture itself. personal home page in reality is a 3rd floor that always requires a primary flooring and a second floor before it might do anything else. Hypertext Preprocessor isn't an structure to create a full building. in its place there are a couple of particular person pieces, of which php is one, that have realized to cooperate so that structures will also be constructed and might in all probability be built even more desirable than the J2EE notion. i'm not suggesting that Java would be devoid of J2EE and application servers but, fairly frankly, I haven’t viewed J2EE assist concerns that a lot on the Java side. sarcastically, there are a lot of first-class Java facades and Java floors and Java basements, however not many Java structures available. php and its “environment” are so a great deal less difficult conceptually than Java and J2EE that even without an architecture, the components seem to have a sense of synergy.
Let’s beginning with a litany of the constituents. Some are non-compulsory and some are absolutely required:
the primary three things you need in a typical php environment are listed in no particular order under:
To be taught all about what i would have written if I have been to have written a way to download and deploy php, read personal home page on i5/OS: an entire New Stack. writer Erwin Earley from IBM tells you the way to get and how to install Hypertext Preprocessor in your i5. he will additionally give you a good suggestion what Hypertext Preprocessor is and the place it got here from.
There are another options for discovering php. Zend has a practicing courseZend quick start path: Hypertext Preprocessor for RPG Programmers. additionally price taking a look is the Apache chums site, where you are going to notice that these open source individuals see the Apache internet Server as the linchpin of the entire net action. It’s no longer “Hypertext Preprocessor,” it’s “APACHE.” They do have a point. In a chicken or egg situation, Apache become naturally the primary arrival and personal home page become last–correct after MYSQL. in many ways these three items are like Irish Triplets. the first version of Apache came from the entire fixes to the NCSA (countrywide middle for Supercomputing purposes) and became released in April 1995. Rob McCool is credited with the primary function in its advent, even though he credit many others.
in line with Wikipedia, php turned into written by using programmer Rasmus Lerdorf in 1994 to exchange a small set of Perl scripts he had been the use of to maintain his own homepage. This programmer used these internet facilities first to monitor his résumé and to assemble web facts to see how many hits he turned into getting. He launched Hypertext Preprocessor as a product referred to as “very own home page” tools along with a types Interpreter referred to as “Hypertext Preprocessor/FI” on June eight, 1995. this is regarded the primary unlock of php. due to the fact MySQL turned into first launched internally on may also 23, 1995, of the three principal add-ons, Hypertext Preprocessor is the youngest.
Lerdorf became now not the best Hypertext Preprocessor zealot involved in its construction. Two different developers, Zeev Suraski and Andi Gutmans, rewrote the parser in 1997. This fashioned the basis for personal home page 3. at this time Lerdorf’s idea of the own home web page derivative for Hypertext Preprocessor went out the window and the elaborate techies gave the language the recursive identify php, that means personal home page php. the primary basically practical Hypertext Preprocessor arrived in June 1998 with the brand new parser, after which Suraski and Gutmans began to rewrite the Hypertext Preprocessor’s core. The influence of here's customary as the Zend Engine. Circa 1999, they fashioned Zend, the enterprise that nowadays manages the construction of personal home page and with whom IBM companions to convey you a smartly-working Hypertext Preprocessor on i5/OS.
it could seem like the day prior to this, nevertheless it became Friday, February 25, 2005, that big Blue announced its partnership with Zend to create an providing called the Zend Core. The offering for system i is referred to as “Zend Core for i5/OS.” at the beginning the offering blanketed IBM’s Cloudscape-embedded database along with Zend’s Hypertext Preprocessor development tools. The Zend Studio is Zend’s favored IDE, however the business additionally has plug-ins for IBM’s Eclipse-primarily based choices. As part of the deal, each IBM and Zend have dedicated programmers to make personal home page work greater with IBM’s DB2 databases, as well as net services protocols. nevertheless, the rumor mill suggests IBM is selecting up the tab.
Zend Core for IBM is in accordance with php 5 know-how and includes special modules to provide tight integration with DB2/four hundred, and native help for XML. IBM has labored with Zend to make the setting up a a bit seamless, automatic installing and configuration procedure using the gadget i’s quite painless RSTLICPGM native command.
Erwin Earley’s article shows you exactly a way to get your Hypertext Preprocessor installed and working. In essence the device i kit is an superior version of the open source personal home page engine designed to make the most the native DB2 database amenities of DB2/four hundred. right now the product provides the entire integral drivers and third-birthday party libraries to work with databases, such as DB2 and MySQL–notwithstanding you need to throw a swap in php.INI with a purpose to get MYSQL to work. MYSQL, of direction, takes on much more which means as IBM has made obtainable support for MYSQL to run on the gadget i besides its native DB2/four hundred.
in no way say on no account. Even before the legitimate free up of Zend for i5/OS, some shoppers successfully ran Hypertext Preprocessor functions on i5/OS by means of porting the open source personal home page engine to the gadget i. IBM had published a Redpaper in 2003 describing a way to get this task achieved. With php being big in the Linux world, and with Linux as a supported OS on the gadget i, IBM has had an internet web site accessible for a couple of years. For i5/OS aficionados this skill that restricted Hypertext Preprocessor support has been available and in creation for some time–admittedly most effective for the most technical of us.
in the event you delve deeper into how to use personal home page for your customer desktop to increase i5/OS applications, you'll see that there is no giant difference between writing php applications for Zend Core for i5/OS and some other platform. The leading difference is in calling i5/OS-certain working device instructions and using superior database aspects. To be reasonable, Hypertext Preprocessor and MYSQL grew up together and that is why there are so many trade usual purposes available for the aggregate of MYSQL and Hypertext Preprocessor.
No, I didn't say DB2. The MYSQL interface is what Hypertext Preprocessor builders were writing to for at least 10 years. The php DB2 interfaces had been out for very nearly two years. So, MYSQL is on system i to enable the porting of all of these current open source free purposes and free content/development managers such as Mambo, Drupal, and Joomla. anyone apart from a system i-handiest shop will by means of design have their new applications work with MYSQL so they can be with ease ported. points that ought to interface with present databases will use the personal home page Toolkit to access DB2/400 facts.
well, Dean, that’s about it for this a part of the answer. in any case, you probably did ask reasonably just a few questions. in part 2, they will discover the IBM Apache Server and the combination of the MYSQL database into the php photo. We’ll also exhibit an easy illustration of how a very simple MYSQL software may also be converted to a DB2 application.
in part 3, they are able to check the building environment. You’ll see that it is not exactly the dream computing device notion that they mentioned in the article that you referenced on your question. besides the fact that children, the home windows client XAMPP distribution is invaluable of sitting on your whole net builders’ desks as it presents a massive construction and testing platform that may retailer lots of redeployments to the i5 server.
in part four, they are able to look at canned php applications as smartly because the phenomenal content material administration programs: Mambo, Joomla, and Drupa.
I certain hope half 1 of my response helped put the important pieces in point of view and the hyperlinks will support you get the job achieved. hold on, subsequent week half 2 can be right here that you can gobble up. There is no true should be impatient Dean, on account that the to-do listing that you've from this a part of the response might also very neatly have an impact on your snowboarding season.
Brian Kelly turned into an IBM Midrange SE for 30 years, and has spent practically a decade as a gadget i5 advisor primarily based in Scranton, Pennsylvania. he's also writer of dozens of AS/400, iSeries, and device i5 books and he serves as an assistant professor at Marywood college, which makes use of the OS/400 and i5/OS platform and teaches courses within the field as neatly. Kelly is additionally probably the most contributing technical editors to The 4 Hundred newsletter. He can be contacted through the IT Jungle contact web page.
IBM’s Reorg: The respectable Me or the dangerous Me?
Saving the device i: battle Pervasive with Pervasive
Is Hypertext Preprocessor the systems i’s subsequent RPG?
php on i5/OS: a whole New Stack
put up this story to del.icio.us put up this story to Digg publish this story to Slashdot