Unconfigured Ad Widget

Collapse

Announcement

Collapse
No announcement yet.

Accessing the 400 VB vs. Java

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

  • Accessing the 400 VB vs. Java

    Almost by definition this question is going to be answered with somewhat of zealousness, if not a fanaticism. As biased as I am toward servlets, I think I can still offer a fairly objective view. First question: Will a brower interface suffice? That is, can you do enough in HTML in order to handle your application? Because if you can, then the concept of a browser-based approach (RPG CGI or JSP/servlet) has a major advantage over any sort of thick-client approach, namely that deployment is so much easier. You can get around some of the issues of thick-client deployment using a network drive, but in general, browser-based applications are much easier to manage. You may however need to use a thick client. This usually happens when you need tight, tight integration with other desktop tools such as Word, Excel, PC-based bar code or mail applications, and the like. In this case, the VB vs. Java question boils down to a platform issue. If you're one hundred percent Microsoft, and always will be, then you might look into VB, but remember that Microsoft is dumping the current VB language in favor of its new VB.net syntax, which is very incompatible, from what I understand. Java is platform independent, but not as pretty and has a longer development cycle, at least at first. Once you get going in Java, though, it's more powerful and flexible, and every bit as fast as VB development. In any event, the one thing you want to stay away from is writing business logic on the PC, because that will kill you in the long run. If you want thick client, please try to keep the client as nothing more than presentation, and talk to a server, either through messages or stored procedures, to access your business data. Joe

  • #2
    Accessing the 400 VB vs. Java

    Joe, (I just love seeing your name show up in these forums.) I seem to be fighting a forever losing battle here (at my job). It really boils down to the direction that upper management is taking. I pretty much know what approach lends more flexibility, I guess what I was looking for was some more detail regarding one approach versus the other. Remember, I said I would remain open minded and un-biased. Thanx for your words of wisdom. Here's the whole story (somewhat condensed): We have an existing application composed mainly of ASP and a cludgy interface to the '400 using Java and JWalk. We want to build this out to run faster and support many more clients. We have a bunch of ASP developers that have never even seen an AS400, a team of RPG developers that haven't had any formal training outside of RPG, and then there's me. Suffice it to say I know enough about all technologies used here. We also have about 6 or 7 different major applications that all do the same basic things written in all of the above technologies that we are trying like hell to consolidate. Management sees this as a mess and I see this as an opportunity. Management wants to take one direction and I need to do what I can to make things fall into place. At this point no-body wants to even hear the words "RPG or Java" when discussing future development (because they'll sound like the words "Tasty-Klair and Hostess" at a Jenny Craig seminar!) So you see, as much as I would like the story to end "...and they all lived happily ever after" that will never happen unless I can split my-self in three work 80 hour weeks and build a better mouse trap. The more and more I look at the situation the more I see the obvious. Java is not the answer, VB is not the answer. There really is no answer (see my last post in the Java forum). There is only the question: "How does one bridge the gaps between the ever growing canyons separating these platforms?" We can't just Java everything because that doesn't fit with the rest of the organization or the strategic direction (plus we only have me to maintain it). We can't shoe-horn our size 12 RPG apps into the size 3 Microsoft application. It takes time for this application to grow. If anyone has a good suggestion or any good advice I'd greatly appreciate it. Just please don't advise me to re-write everthing with JSP/servlets. Right about now I'm looking for some sound technical advice that doesn't require alot of re-engineering or forbidden technology. (That means Web-Facing is out too.) Has anyone ever been in this situation or a similar one? Cliff

    Comment


    • #3
      Accessing the 400 VB vs. Java

      I'm a little lost here, Cliff. I understand your dilemma to some degree, but there's one part I don't understand: you say that management doesn't want to hear the words "RPG" or "Java". I can understand Java, regardless of my opinion, since it's a separate skill set. But RPG? Are you saying management doesn't want to write any new RPG code? Because if that's the case, then you have a serious problem - there's really no other suitable language for business logic development. Technically, you can do many things with SQL, but even so, you certainly do NOT want the SQL business logic to reside on your clients - it has to at LEAST be embedded SQL on the iSeries! If management wants business logic written in (Microsoft language of choice) on the PC, then all I can say is that you are going to have a long, difficult road. The first time you change your business logic and somebody runs an outdated client program, all hell is going to break loose. If you value your sanity, you need to be firm and insist that all business logic stay on the host. This still gives you a ton of options. Even your ASP folks know how to call stored procedures, so wrappering your business logic in result sets is a viable option. It's got some issues regarding flexibility, but at least it insulates your database from some "clever" VB programmer deciding that its okay to INSERT an out-of-balance journal entry. [shudder] Anyway, I hope I read your post wrong. Because if I didn't, you're at the beginning of a very difficult journey. Joe

      Comment


      • #4
        Accessing the 400 VB vs. Java

        I'm sorry Joe, No you didn't read my post wrong rather I worded myself incorrectly. New RPG development is allowed but this development must be maintainable by the existing staff most of who are comfortable only with the basics of RPGIII. This limits my ability to do what I know can and should be done. For example, I've tried suggesting the use of a message based system using data-queues and or sockets for web-app to RPG program communication but this was frowned on. It's kinda like someone giving you a hammer and a screw driver and telling you to build a yacht. I'm stuck in the middle with all the know how but can only use the basics of Java and the basics of RPG. Also we have a timeline so it's not like we would be able to get the rest of the team up to speed on any of the latest AS/400 razzle-dazzle. I'm sitting here afraid to build a package for this Java programming because it's yet something else to configure deploy on the development server which I have limited access to. So I'm keeping all of my code in one class file (yuk!) so that someone else won't feel too intimidated to pick this up and maintain it. As far as stored procedures are concerned, we kicked the idea around but nobody on the '400 team ever wrote one (including yours truly) so there's the issue of the learning curve. I've experimented with registering an RPG program as a stored procedure but I couldn't tell you how to return a result set from one. (Maybe you could tell me if it's simple enough?) Also my limited research has showed me that the IBMAD400 OLE DB provider does not support supplying a user id and password on connection. I read this out of a Redbook I downloaded two years ago. Is this still the case? Has IBM enhanced this option so that it can be used without prompting? I'm trying my best not to rule out anything VB related so stored procedures may be a great option. Where can I find out how to use this for my needs? I would benefit from one of those quick one-hour tutorials to get my feet wet. I'm guessing that it's not as complex as many think it is. Thanks for the feedback. Cliff

        Comment


        • #5
          Accessing the 400 VB vs. Java

          Hey Cliff, You might try the articles here. Click the Database link over on the left. They're a bit disorganized at the moment, but there's lots there. You can also search either at the specific location you're at (and down) or the entire site. You might want to see: Stored Procedures 101 http://mcpressonline.com/mc?.214a2a7d Brian

          Comment


          • #6
            Accessing the 400 VB vs. Java

            Ok, I'm trying to wrap up my research on the whole VB vs. Java deal. I have two main questions that would solve alot of my confusion. 1. Can an RPG program return a recordset to a VB program? if so, how? 2. Can the user id and password be supplied when connection to the OLE DB provider? If anyone has answers to these please include the reference where I could find these answers. Thanx in advance, Cliff

            Comment


            • #7
              Accessing the 400 VB vs. Java

              Cliff, I've had an epiphany of sorts recently and, don't laugh, it's ASNA's Visual RPG aka AVR. If you've traversed the bulletin boards over the years you'll know that I've always dissed AVR. Having used VB, HTML, Javascript and VB script I thought that anything perpetuating a programmers reliance on RPG was detrimental to their career. However, I've changed my mind, and here's why. First of all, let me say that I don't think Java is the answer. I saw Java drag my former employer into almost non-existence. They had 40 Java developers that could barely keep up with my 5 RPG programmers. In fact the Java programmers failed miserably. So, I would dismiss Java based upon my experience. I've been programming and trying hard to write VB programs that attach to the AS/400 database for years. I've been using VB since VB 1.0 about 10 years ago. I love VB and think it's cool. What ain't cool is trying to use it to connect and update AS/400 files. Simply because it's clunky, difficult to do and slow to access the AS/400 database via ODBC. However, I do like programming in the event driven environment. When I came to my current employer they had a license for AVR that was going unused. I ignored it for a year. I have a requirement for a program that needs to pull product images from the LAN and product data from the AS/400. So, last Friday I went to one of ASNA's "one day" seminars on the product. I was blown away by it's capability. In fact, I was able to come back to the office and, in less than 4 hours, my project was complete. AVR leverages all of the familiar RPG verbs such as Chain, Setll, Update, etc to easily get at the data on the AS/400. They've made things very easy for the programmer by hiding all of the "behind the scenes" stuff. And, they don't use ODBC! They have their own middleware that makes access to the AS/400 very fast. The demo program accessed 12,000 records on the AS/400 in 19 seconds. We couldn't get more than 500 in that time frame using ODBC. Now, keep reading, because here's the best part..... ASNA has tools that let the VBscript programmer that knows nothing about the AS/400 to access the AS/400 database. That's a good thing because I have 5 HTML/VBscript programmers that know nothing about the AS/400. They get the benefits of blinding speed also. However, I can leverage my AS/400 programming staff because they can write active X controls (either OCX or DLLs) in AVR that the VBscript programmers can call. In fact, I can call legacy RPG programs and encapsulate them in an active X control. That way the web pages can actually be calling an AS/400 program. The biggest benefits with this method? 1) The AS/400 is totally isolated form the Internet. The VBscript programs run on a Windows server under IIS. 2) I leverage existing RPG and HTML/VBscript programmers to do what they do best. 3) I can work with the legacy environment and get a lot done quickly. Now here's the real kicker: The next version of VRPG coming this spring will be totally .NET oriented and will integrate into Microsoft's Visual Studio .NET. This is significant since only 3 foreign compilers will integrate with Visual Studio and certainly VRPG will be the only RPG one. Thus, the programmer gets all the benefits of the development environment found in Visual Studio. You can make your RPG programmers really productive! Give this solution a shot. It's a winner. chuck Opinions expressed are not necessarily those of my employer. "Clifton C Craig" wrote in message news:[email protected] | I'm sorry Joe, | | No you didn't read my post wrong rather I worded myself incorrectly. New RPG development is allowed but this development must be maintainable by the existing staff most of who are comfortable only with the basics of RPGIII. This limits my ability to do what I know can and should be done. For example, I've tried suggesting the use of a message based system using data-queues and or sockets for web-app to RPG program communication but this was frowned on. It's kinda like someone giving you a hammer and a screw driver and telling you to build a yacht. I'm stuck in the middle with all the know how but can only use the basics of Java and the basics of RPG. Also we have a timeline so it's not like we would be able to get the rest of the team up to speed on any of the latest AS/400 razzle-dazzle. | | I'm sitting here afraid to build a package for this Java programming because it's yet something else to configure deploy on the development server which I have limited access to. So I'm keeping all of my code in one class file (yuk!) so that someone else won't feel too intimidated to pick this up and maintain it. | | As far as stored procedures are concerned, we kicked the idea around but nobody on the '400 team ever wrote one (including yours truly) so there's the issue of the learning curve. I've experimented with registering an RPG program as a stored procedure but I couldn't tell you how to return a result set from one. (Maybe you could tell me if it's simple enough?) Also my limited research has showed me that the IBMAD400 OLE DB provider does not support supplying a user id and password on connection. I read this out of a Redbook I downloaded two years ago. Is this still the case? Has IBM enhanced this option so that it can be used without prompting? | | I'm trying my best not to rule out anything VB related so stored procedures may be a great option. Where can I find out how to use this for my needs? I would benefit from one of those quick one-hour tutorials to get my feet wet. I'm guessing that it's not as complex as many think it is. Thanks for the feedback. | | Cliff

              Comment


              • #8
                Accessing the 400 VB vs. Java

                Chuck wrote: "First of all, let me say that I don't think Java is the answer. I saw Java drag my former employer into almost non-existence. They had 40 Java developers that could barely keep up with my 5 RPG programmers. In fact the Java programmers failed miserably. So, I would dismiss Java based upon my experience." Unfortunately, your experience was a bad one and the project was probably not managed correctly. A joint Java/RPG development project takes a slightly different mindset, because the two languages should be used for entirely different things. Java should be used solely for middleware - preparing data for the user, and retrieving user data and sending it to a the business application. The business logic should be written in RPG. In that environment, it doesn't take 40 Java developers to support 5 RPG programmers. In my experience, which differs from yours, one good JSP/servlet programmer should be able to support several RPG programmers - but this is because the Java programmer is not programming any business logic! "ASNA has tools that let the VBscript programmer that knows nothing about the AS/400 to access the AS/400 database. That's a good thing because I have 5 HTML/VBscript programmers that know nothing about the AS/400. They get the benefits of blinding speed also." I guess my host-centric nature shows here, but this doesn't seem like an advantage to me. To have non-AS/400 programmers directly accessing the database, even in read-only mode, is a recipe for disaster. If they don't fully understand the relationships between the files, then they have potential for doing some really bad things. But that's my old saw - at all costs, avoid putting business logic on the client. By far the majority of catastrophic system failures I've seen in distributed development environments spring from one common problem: two clients with different business logic. And finally: "1) The AS/400 is totally isolated form the Internet. The VBscript programs run on a Windows server under IIS." For those who wish to run in an IIS environment, that's definitely a plus. For people who have some concerns about the security and stability of IIS, I think this is a pretty strong minus. Since the Gartner Group report, I believe that IIS has lost much of its luster for mission critical systems. So, it's pretty much a matter of what you're comfortable with. Joe Pluta www.plutabrothers.com

                Comment


                • #9
                  Accessing the 400 VB vs. Java

                  I am doing some research on accessing AS400 (*ahem iSeries*) data through a PC application. I am trying to determine which method is better and propose a list of arguments to my team members suggesting one laguage over the other. I have my own personal bias which I am keeping to myself as I want to be as open minded as possible. What I ultimately want to do is use one of these approaches in a production system that will be used by thousands of people. Please give some feedback as to where I should look for information. All suggestions are greatly welcome. Understand I do not want to get involved in any debates or religious wars over the two technologies. I am looking for some quality advice on what can be accomplished through VB and Java as well as the level of flexibility either technology provides. Thank you in advance. Cliff

                  Comment


                  • #10
                    Accessing the 400 VB vs. Java

                    Chuck, I have to disagree with you completely on your point here. Maybe it's because VB has always left a bad taste in my mouth. First of all regarding AS/400 communications VB is incompatible to say the least. I base this on the fact that you need to purchase third party utlities to get anything done right. I have done some heavy research on the IBM ActiveX components and theie OLE DB provider. All of these components/tools seem to be incomplete and poorly documented. Compparing this to the Java toolkit you can realize immediate benefits of much more functionality as well as adeaquate documentation. I have yet to find a resource that could show me how to seamlessly pass result sets from RPG to VB without any complexity. Also dealing with VB there is the added mess of OLEDB/ADO incompatibilities. I am working on a huge ASP based web project here which I started using Java for my communications layer. This idea was squashed due to the incompatailities with Java and COM in a web environment and lack of MS support. Although all of my efforts to connect to the 400 with Java went seamlessly. As soon as I started trying to integrate this with the ASP application I met disaster. This was with and without Java as the communications layer. It just seemed like nothing worked the way it should have. Maybe AVR would have solved much of this for me but at an added cost where all of my Java development was free. My team would have also incurred a learning curve even though it's RPG they would need to be familiar with the COM environment (which is being replaced with dot Net). If you (or anyone for that matter) want details on how my project is progressing I would be more than happy to fill you in on the details. Over all I would say that using any Microsoft technology to access the AS/400 is a terrible idea (with possibly the exception of AVR). To do things right I strongly suggest Java due to the vast amount of functionality it offers for AS400 communications. I also echo Joe's reply that the business logic should stay within the RPG at all costs while the VB and/or Java code should only be concerned with communications and presentation. Anything else will most definitely lead you to disaster. Also don't take this reply as an insult. I am really looking to gain some more expertise in VB to AS400 communication. I would love for anybody that thinks of this as a good solution to explain in detail how to overcome many of my struggles. This is not just a question but a challenge. Cliff

                    Comment

                    Working...
                    X