Java versus Scripting

One of the common questions I get from partners that are extending our products is whether they should use Java or our scripting language to build the extensions. The answer is usually "depends", which is not what they sometime want to here. If you are pondering the same then here are a few considerations to help you make that decision:

  • Skills base - This is one of the most important considerations. If your developers are familiar with one technology over another then it might tip the balance in favor of that technology. Do not underestimate this consideration as it will save time if you are really got agressive deadlines. The scripting language, for example, is really suited to developers who are familiar with Javascript and XPATH2.
  • Performance - Our internal tests show that cached performance of both java and scripting are the relatively the same. There is a slight overhead in the scripting as the engine interprets the code for the first load but after that the performance is about the same.
  • Scalability - If your extension is high volume then Java has the edge over the scripting engine.  
  • Flexibility - The Oracle XPATH2 engine we use internally in the product is very flexible for coding, with support for lots of functions that are inbuilt into XPATH. If you require more sophisticated code that does advanced data manipulation, then Java certainly has more flexibility in that you have access to a wider group of functions. XPATH2 is limited to what XPATH offers. Most people are happy enough with the XPATH2 side of the equation but sometime you can have site specific extensions that require advanced data manipulation (like matrix processing for example). Java handles that better.
  • Development Tools - The development tools provided with the Oracle Utilities SDK for Java development are superior to the tools provided for the scripting language. Do not get me wrong, the scripting environment is sufficient for developers but since it is within the browser it is limited when compared to an Eclipse based IDE (which is what the Oracle Utilities SDK is based upon).
  • Building - One of the advantages of the scripting language is that you do not need to compile or deploy code to get it to work. You build the code within the browser user interface of the product and save it. On the Oracle Utilities SDK side, you need to build the code and deploy it to the product. We have made that as simple as we can (in development you can run expanded mode) but when you deploy it means some externalization work on the technical side to build the jar files, include them in the product WAR and EAR files  and deploy it to the server. This is typical in Java development. The Oracle Utilities SDK provides a set of utilities to aid in this process.

These are the typical considerations when choosing the technology to use. Happy extending our products.

Comments:

Just a typo, not sure how else to contact you.

The answer is usually "depends", which is not what they sometime want to here.

I think you meant to say HEAR....

Your blog is very helpful, thank you.

Steve

Posted by Steve on September 08, 2011 at 09:39 PM EST #

Post a Comment:
  • HTML Syntax: NOT allowed
About

Anthony Shorten
Hi, I am Anthony Shorten, I am the Principal Product Manager for the Oracle Utilities Application Framework. I have been working for over 20+ years in the IT Business and am the author of many a technical whitepaper, manual and training material. I am one of the product managers working on strategy and designs for the next generation of the technology used for the Utilities and Tax markets. This blog is provided to announce new features, document tips and techniques and also outline features of the Oracle Utilities Application Framework based products. These products include Oracle Utilities Customer Care and Billing, Oracle Utilities Meter Data Management, Oracle Utilities Mobile Workforce Management and Oracle Enterprise Taxation and Policy Management. I am the product manager for the Management Pack for these products.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
9
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today