使用 ABL 的 Strategi 在 iSeries 上进行 Web 开发
Advanced BusinessLink 提供了一套名为 Strategi,基本上允许创建在 iSeries 上本机运行的 Web 应用程序、使用和提供 Web 服务以及用 Web 用户替换绿屏接口等。业务逻辑是用 RPG 编写的,网页结合了 html 和专有的标记语言。因此,显然 RPG 程序员的优势在于不必学习新语言(显然除了 html 和 javascript),而不是使用 iSeries 上的 Zend 并且必须学习 PHP。
有人有这种解决方案的经验吗?您对使用 RPG 和 Strategi 框架进行真正的 Web 开发有何看法?在 PHP 堆栈上创建 Web 基础设施并冒在 PHP 应用程序和 RPG 程序上重复业务规则的风险是否更有意义?
Advanced BusinessLink offers a suite of products called Strategi, which basically allows creating web applications running natively on iSeries, consuming and providing web services, and replacing green screens with web user interfaces, among other things. The business logic is written on RPG, with web pages combining html and a proprietary markup language. So apparently the advantage for RPG programmers is not having to learn a new language (besides html and javascript, obviously), as opposed to, say, using Zend on iSeries and having to learn PHP.
Does anybody have experience with this sort of solution? What’s your opinion on using RPG and Strategi frameworks for real web development? Would it make more sense to create the web infrastructure on a PHP stack, and risking having business rules duplicated on both PHP apps and RPG programs?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先,我认为每个程序员都应该学习新的语言。对于生活在安全的 as400 世界中的 RPG 程序员来说尤其如此,没有内存泄漏、没有 alloc/malloc、没有指针、没有链接器和其他所有其他程序员认为理所当然的东西。也许这是个人的咆哮,但我确实认为 iSeries 程序员正在远离真实的编程世界。
话虽如此,我已经完成了我的部分项目来“网络化”遗留系统。我一直在使用非常不同的工具,包括最初的 IBM 解决方案(是的,我已经老了......)。我们总是能够提供解决方案,但从长远来看,大多数时候它都会失败。最重要的原因是供应商未能及时掌握新趋势和技术(例如ajax)并将其融入到他们的产品中。我确实一直很欣赏这些漂亮的产品(从他们的网站上我认为 Strategi 也很漂亮),但我得出的结论是,它在短期内有帮助,但它不是长期的选择。
第一个论点是任何“网络化”工具的本质。它们的好处是 iSeries 编程器可以快速启动和运行。很快,新产品就交付了。然而,一段时间后,用户有了新的需求,有些需求无法用该工具来实现。大多数时候,这些工具不允许您在机器的金属上进行编程。另一方面,它们不允许您结合其他可以实现这一目的的技术(例如 jQuery)。因此,大多数时候你被迫拥有一个普通的应用程序。
第二个争论与你和你的同事有关。你对岛上的生活满意吗?如果您阅读了程序员杂志、论坛和有趣的产品(例如 Sourceforge),您想要这些东西吗?我认为任何程序员都应该学习并熟悉通用技术。想想 SQL、OO、动态语言、java、Eclipse、Apache、类库/模块等等。如果您在您的环境中使用这些工具/语言/原则,那么您将能够学习其他人的经验,吸引年轻程序员,参与社区,并受到新技术的启发。
如今,我在一家正在越来越多地从遗留系统转变为“正常”系统的公司工作。考虑 SQL、JDBC、java、Websphere,但仍然使用 RDML 和 RPG。我们的工具箱正在快速增加,这使我们有机会选择最适合工作的工具。是的,这仍然包括 RDML 和 RPG。例如,一个 java 程序如何使用 JDBC 调用 iSeries 上具有所需业务逻辑的存储过程。该存储过程是用 RPG/RDML 编写的。
对于“老派”程序员来说,这个不断变化的世界有时令人生畏。另一方面,你可以很容易地看出谁确实有天赋和技能,谁只是多年来一直在做同样的事情。另一组则充满热情,因为他们现在可以与其他程序员在项目上密切合作,并对技术有相同的理解。因此,我们现在确实识别并采用了新技术,这将帮助我们更快、更轻松地完成日常工作。
因此,策略是否可行仍然取决于您。我试图描述这个选择不仅仅影响下一个项目。它与作为程序员世界一部分的您和您的同事有关。
就我个人而言,我还是希望在职场上开始使用Python。
First of all, I have the opinion that every programmer should learn new languages. This is especially true for RPG programmers that have lived in the safe as400 world with no memory leaks, no alloc/malloc, no pointers, no linkers and other stuff that is taken for granted by all other programmers. Maybe this is a personal rant, but I do have the opinion that iSeries programmers are drifting apart from the real World of Programming.
That having said, I have done my share of projects to "webulate" legacy systems. I have been working with very different tools including the initial IBM solutions (yeah, I am getting old ...). We were always able to deliver a solution but most of the times it failed in the long term. The most important reason was the lack of speed by the supplier to pick up the new trends and techniques (e.g. ajax) and incorporate them in their product. I do always admire these beautifull products (from their website I think that Strategi is beautifull too) but I have come to the conclusion that it helps on the short term, but it is not the choice for the long term.
The first argument is nature of any "webify" tool. Their benefit is that the iSeries programmer is quick up and running. In no-time, new products are delivered. However, after some time the users have new requirements and some of them can not be produced with the tool. Most of the times these tools don't let you program on the metal of the machine. On the other hand, they don't allow you to incorporate other techniques (e.g. jQuery) that can do the trick. Therefore, most of the time you are forced to have an average application.
The second argument has to do with you and your co-workers. Are you happy with living on an island? If you read the programmers magazine's, the forums and interesting products (e.g. Sourceforge), do you want this stuff? I think that any programmer should learn and become familiar with general techniques. Think SQL, OO, dynamic languages, java, Eclipse, Apache, class libraries/modules and so on. If you use these tools/languages/principles in your environment, then you will be able to learn from other people's experiences, attract young programmers, participate in communities, and become inspired by new technology.
Nowadays I do work for a company that is changing more and more from legacy systems to "normal" stuff. Think SQL, JDBC, java, Websphere but also still use RDML and RPG. Our toolbox is increasing very quickly which give us the opportunity to choose the best tool for the job. And yes, this still includes RDML and RPG. For example, how about a java programma that calls with JDBC a stored procedure with the required business logic on the iSeries. That stored procedure is written with RPG/RDML.
This changing world is sometimes intimidating for the "old school" programmers. On the other hand, you can easily see who does have the talent and skills, and who is just doing the same trick for years. The other group is enthousiastic because they can now work closely with other programmers on projects and share the same understanding of technology. Therefore, we do now identify and pick up new technologies that will help us in the daily job, much quicker and easier.
So, it's still up to you if Strategi is the way to go. I tried to describe that this choice effects more then only the next project. It has to do with you and your coworkers as part of the Programmers World.
Personally, I am still hoping to get started with Python in the workplace.
在学校里,我们目前正在使用一个名为 Icebreak 服务器的 Web 产品,它具有经典的 asp 样式标记以及模板和用于服务器控制的出色 Web 界面,而我的教授目前正在开发一个仍处于早期测试版的产品,称为 Icecap,它提供了您基本上可以通过 Web 界面进行绿屏访问和菜单以及系统管理,并为您提供可能提供 iSeries 托管选项的设置 Icebreak 网站为 www.icebreak.dk,icecap 应用程序位于 www.system-method.ca
Icebreak 使用起来相当简单,因为它使用通用标记语言并使用标准的自由格式 rpgle
in school we are currently using a web product called Icebreak server which has a classic asp style markup as well as templating and an excellent web interface for server control and my professor is currently working on a product which is still in eaarly beta called icecap which gives you what is basically green screen access and menu from a web interface as well as system administration and gives you setup to potentially offer iSeries hosting options the Icebreak website is www.icebreak.dk and the icecap application is at www.system-method.ca
Icebreak is fairly simple to use as it is uses a common markup language and uses standard freeform rpgle