作者:Matt Danielsson(searchSAP.com) 翻译:冯强 2003.11.21
原文链接:http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci798543,00.html
译者:Java在Oracle ERP软件上的成功,客户跨平台和集成电子商务的需求,都对SAP公司C/S构架的R3提出了挑战。SAP R3到4.6D版本提供了很多优秀的接口(RFC、BAPI、IDOC等),也有分布式Java Gui客户端解决方案,但全面支持Java,已是SAP开发者和领导层不得不考虑的问题。也许,当全新的SAP R3 5.0版发布时,将给业界一个惊喜。下面的短文,对业界顾问、开发人员和ERP厂商也许有一点参考价值。
从一开始,ABAP似乎是SAP开发唯一可选择的语言。
这一切在11月(2001年11月-译者注)得到改观,SAP公司和副主席Hasso Plattnert先生张开怀抱,宣布Java将成为SAP的第二开发语言。从此以后,SAP所有的产品都将遵循Java的技术标准,也就是说,现在你可以选择用何种语言进行SAP的开发。
那么哪一个开发语言更适合工作呢?业内的ABAP开发人员有必要再多掌握Java语言吗?Java,或者J2EE是很特别的,从技术上看比ABAP更有优势。但这并不是说曾经风光的ABAP语言已经落后或需要出局了。实际上,两种语言各有短长,这是勿庸质疑的。
哪个开发工具更适合工作?
Karl Kessler(SAP商业开发语言和构架经理)认为如果将来一切都放在Web上,那Java无疑是老大。他说,很显然SAP的选择是为了在Java上运行Web用户接口。按Axel Kratel(Borland公司Java商业应用产品经理)的说法,Java的强大在于它的开放性。它的一些自由开发社团多年来的努力,保证着Java技术的持续改进和领先,使Java的前途一片光明。Java的执行效率常常是被攻击的要害,但新的版本无疑在这方面有了长足的进步。
“Java已被证明了,是易于移植的开发平台”,Kratel如是说,“它提供了强大的跨平台能力,从企业开发到移动应用都有它的身影。现在,Java不仅仅应用于Web。”
ABAP,另一方面也是非常成熟和稳定的综合开发平台,Kessler说。ABAP受益于强劲的后台服务器支持,还有它良好的数据库编程性能,ABAP的优势还在于它强大的性能和轻巧简洁。ABAP显然并不没有日落西山。
以一个开发人员的角度看,Java和ABAP有很多相似之处,Kessler说。它们都面向对象,都可以被编译成字节码,都应用于企业开发服务。
它们的区别在于,ABAP有更多的4GL(第四代语言)数据库编程的功能,而Java则没有。另一方面,ABAP只能运行于服务器端,而Java除此以外也可运行于客户端。还有,ABAP的语法是关键字导向的(类似于Cobol),Java的语法则更象C。
最好掌握两种语言!
和生命中其它事情一样,有选择就好。懂两种开发语言可以让你根据手中的任务,选择最适合工作的工具。在很多开发案例里,并用开发是相当不错的,但结果取决于开发者的偏好。
Kessler相信,职业背景决定了你选择开发语言的偏好。
“如果你是计算机科学家,你可能更喜欢Java,”他说,“如果你是从医师转行做开发,ABAP可以让你更快的上手。”
学习Java。
如果你已经了解ABAP,是不是转入Java很容易呢?显而易见,无论你学何种新语言,你以前编程的经验都将发挥作用。特别在ABAP开发者转学Java这点上,将更容易些。
“SAP多次在介绍ABAP概念的课程中强调ABAP和Java的相似性,” Kratel说到。
举个例子,先从学习ABAP的面向对象概念入手,比如学习ABAP类、接口、例外等等,然后再学习Java的语法,比较两者之不同,Kessler如是说。这两种语言非常相似(感觉有点言过其实—译者注),理解你已知的和你要学的知识的内在关联,会加速你的学习进度。
Kratel认为开始学习Java的最好方法,是充分利用强大的互联网,那儿有大量的文章、指南和有用的小程序帮助你开始学习。
Java相对其它高级开发语言是比较容易学习掌握的(Kratel可能指Java语法相对C++而言吧—译者注)。也就是说,Java天生的强大和灵活性使它成为值得去掌握的复杂开发平台。学习的过程,就是经验的积累,需要很多很多的经验。幸运的是,有IBM Robocode这样的在线辅助学习系统寓教于乐,让学习者轻松地提高技巧。如果你希望迅速开始开发,Borland公司的JBuilder个人版不仅免费,而且对学习Java开发很有帮助。
没有什么理由不赶快行动起来,至少应把熟悉Java编程基础知识做为学习的一个方向。
“Java是外面每个独立开发者的兴趣所在,”Kratel谈到,“如果你将来准备在SAP的体系下做开发,同时掌握ABAP和Java双语,将是你最好的装备。”
原文:
Becoming ABAP/Java bilingual
By Matt Danielsson, Assistant Site Editor
24 Jan 2002,
Since the dawn of time, it seems, ABAP was THE programming language for SAP developers.
That all changed in November, when cochairman Hasso Plattner and SAP opened their arms to Java and announced that SAP would become bi-lingual. Going forward, all SAP products will adhere to strict standardization, meaning that you can now choose which language to use based on personal preference.
So which tool is best for which job, and should a current ABAP developer spend the time and energy to become ABAP/Java bi-lingual? Java, or Java 2 Enterprise Edition (J2EE) to be specific, has certain advantages over ABAP. But that is not to say that good old ABAP is down and out. In fact, both languages have their own sets of pros and cons, as is to be expected.
Which tool for the job?
Karl Kessler, product manager of business programming languages and framework at SAP, concludes that when it comes to anything on the Web, Java is king. It is the obvious choice since SAP decided to implement its Web user interfaces in Java, he said. Online resources
We have gathered some links to get you started, but keep in mind that these are only a fraction of what's out there. You can try our new and improved search-feature to pinpoint SAP-oriented Java articles and tutorials across the Web. Also, since the beginning of this year, searchSAP offers free developer tips dedicated to SAP-oriented Java developers twice a month.
Java's primary strength is its openness, according to Axel Kratel, product manager of the Java Business Unit of Borland. Its community-driven nature will keep it sharp and ever growing in the years to come, making it a good bet for the long haul. Performance used to be the Achilles heel of Java, but newer releases have sped things up and all signs point to continued refinement and increased momentum.
"Java is a proven, well-established platform," Kratel said. "It provides powerful solutions across the board, from enterprise processes to mobile applications. Today, Java is not just for the Web."
ABAP, on the other hand, has the power of maturity and its integrated development environment, Kessler said. ABAP benefits from its robust server runtime environment, as well as the nice database programming capability. In that regard, ABAP has an advantage thanks to its powerful performance and portability abilities. ABAP is obviously not going to ride into the sunset anytime soon.
From a developer standpoint, Java and ABAP have many similarities, Kessler said. Both are object-oriented and are compiled to byte code, and both address the enterprise server.
As for differences, ABAP has a lot of 4GL features such as database programming, while Java doesn't. On the other hand, ABAP only runs on the server side, while Java handles both. Also, the syntax of ABAP is keyword oriented (like Cobol), while Java has a more C-like syntax.
Best to be bilingual
Like with most other things in life, it's nice to have a choice. Knowing both languages will allow you to pick the best tool for the job, based on the task at hand. In many cases, both will work equally well and the decision will be based purely on personal preference.
Kessler believes your background will help determine which language becomes your favorite.
"If you are a computer scientist, you will probably like Java," he said. "If you are a physician taking up programming, ABAP can make you productive more quickly."
Learning Java
If you already know ABAP, is it easier to learn Java? Obviously, any kind of previous programming experience will give you a head start in whatever new language you take on. In the specific case of ABAP developers learning Java, it should be even easier.
"SAP has done a lot in terms of introducing concepts into ABAP that are similar to Java," Kratel said, pointing to the similarities between the two languages.
One way to get a head start is to study ABAP's object oriented features such as classes, interfaces and exceptions, then start learning the Java syntax and compare their features, Kessler said. The two languages are very close to each other, and making the mental connection between what you know and what you're learning can speed up the learning process considerably.
Kratel thinks the best way to get started on learning Java is to tap the power of the Web. There are tons of articles, tutorials, and helpful free gizmos to get started.
Java is a relatively easy language to learn compared to other advanced programming languages. That said, its powerful and flexible nature can make it a complex platform to master. Getting good takes practice, lots of practice. Fortunately, online aids such as IBM's Robocode can help hone skills in a playful and fun way. If you want to get started quickly, Borland's JBuilder Personal is available for free and is geared towards learning Java.
There's no reason to get left behind, so make it a point to at least familiarize yourself with the basics.
"Java is of interest to every single ABAP developer out there," Kratel said. "If you're going to be programming in the SAP ecosystem, you're going to be best equipped to do so if you have both ABAP and Java."