Tug’s Blog

My journey in Big Data, Hadoop, NoSQL and MapR

Simplified Development Using EJB 3.0: Raghu Kodali Tested It for Us

| Comments

Raghu just posted an interesting article asking the question “Does EJB 3.0 really make application development easy?”.

So as you will see EJB 3.0 does simplify the development by reducing the number of source and descriptor files that you have to manipulate. (I won’t go in the detail of the number of lines of Java or XML). What I really like about EJB 3.0 is not only the fact that Entity bean are POJOs, but also that now you can read the code and understand how the application is build, thanks to the annotations! I am sure that if you got the EJB 2.x genes you do not find them complex, but I did not have this mutation…

I am inviting you to download the Oracle EJB 3.0 Developer Preview to be more familiar with this technology.

What to Think About All the Ajax Noise?

| Comments

In the last 2 months the blogosphere has been very verbal about Ajax technology that describe a way of doing Rich UI using DHTML, Javascript and XML over HTTP. If you are not already familiar with the concept the article “Ajax: A New Approach to Web Applications” by Jesse James Garrett is a very good introduction.

For me, it is the first time that finally we have something really new in term of UI that is compliant with most of the modern architectures that are server side Java based. You can argue that Flex, OpenLazlo, …, are very good and powerful, but first of all they use a proprietary plugin and really integrated with the development approach that most of the Java developers are currently using (MVC based on Struts, JSF or others). What get me very excited about Ajax is the fact that finally we can see Web Development giving an easy and standard/open way of creating rich client.

If you search around Ajax your will see that more and more framework are providing integration of Ajax technologies into their solution. What I see as the biggest move is the adoption of Ajax by JavaServer Faces, and simply because it is the J2EE standard for Java Web Development. I am sure that lot of you will say that Tapestry,ROR and other existing frameworks are providing the integration now, so why bother with JSF… Hmmm, I will say that all the current solution as still geek oriented and really focus on the core developers… What I see with JSF/Ajax integration is finally enterprise developers, that are used to 4GL development tools, (where the most important part is to develop business logic not a nice framework or a new set of libraries) will be able to develop Web Applications based on components that are smart enough to give the usability of a desktop application.

To give an idea of what I mean, you can take a look to Oracle ADF Faces components some of them are really powerful and provide rich interactivity to the user. One example is the Oracle Table Component that support pagination (next/previous) without refreshing the whole page. As a developer you drop the component on your page, set the properties, and done! You do not have to care about any HTML or Javascript coding. And this using a standard based faces components that you can use in any Web Container and even IDE. I know that the ADF Faces components are not using the sames stack as Ajax (eg: XML over HTTP) but this is just an example of what will be the experience for a developer and a user.

New Oracle Products on OTN

| Comments

Oracle BPEL Process Manager 10.1.2 Beta-3 Preview

BPEL PM 10.1.2 Beta 3 is now available on OTN. One of the biggest new, is the fact that the BPEL Designer is now based on Oracle JDeveloper and provide much more functionnalities than previous release.

Oracle Drive Preview Release Oracle Drive Preview Release is a powerful WebDAV client that allows Portal content management and publishing directly from your Windows Desktop; Key Highlights:

  • Mount the Portal Repository as a Windows Drive
  • Get Portal specific menu options to set properties, ACL information, preview content and pages, etc
  • Access the Portal repository with a command line utility
  • Search from your Windows Explorer
  • Perform Virus check on the Portal Repository
  • Work with offline content and synchronize when online
  • Edit content with any available Editor

You can see a demonstration of Oracle Drive on OTN.

PHP on OC4J??? Yes With JSR 223 RI

| Comments

In this entry I am explaining how to use the JSR-223 Reference Implementation into Oracle Containers for J2EE (OC4J).

Note: I have done this only on Windows XP Platform, I did not test on Unix/Linux yet.

1-The first thing to do is to download the JSR-223 Reference Implementation from the JCP Web site.

2- Unzip the sjp-1_0-ea-windows-i586.zip in a directory let say d:\java\jsr223-ri.

3- You can choose here to do a proper installation (requires perl) or not. The proper installation preconfigure Apache Tomcat and the JSR-223 command line demonstration. Since what we are trying to achieve is to install the RI inside OC4J you do not need to do the installation.

4- Download

this zip file that contains a Ant task and various files to configure and deploy the JSR223 sample into OC4J.

   4.1 To execute the Ant script you must start to set the following environman variables: * JAVA_HOME that points to the JDK home * ORACLE_HOME that points to the OC4J home (eg: d:\oracle\oc4j) * JSR223_HOME that points to directory where you have unzipped the JSR223 RI (eg d:\java\jsr223)

   4.2 Create a startup script for OC4J using the command

1
ant

The default target create a script names start-jsr223.bat in the %ORACLE_HOME%\bin directory. This script set various environment variable and start OC4J with the correct system parameters to load correctly the PHP scrip engine from Java.

   4.3 Start OC4J using the created script

1
%ORACLE_HOME%\bin\start-jsr223.bat

   4.4 Package and Deploy the Sample Application

1
ant deploy

This target packacge the Web samples from the reference implementation in a ear/war file, modifying the web.xml to define the different servlet mapping needed by JSR223.

5 Use the sample application

http://localhost:8888/jsr-223

You can start to use PHP in OC4J ;-) Take some time to read the sample code and specifications. JSR-223 is not only for Web container but also for JS2E, it is so interesting that the JSR-223 will probably be part of Mustang…

Blog Beginner: Check Out w.bloggar and Other Desktop Tools

| Comments

A friend a mine just ask me:

What blog software do you recommend if somebody is starting newly, should have the ability to create categories, easy image uploading?

I did not understand immediately his question, but he wanted to know if some Desktop application exists to easily publish on a blog…

I am sure that you can find a lot on the Web, I personnaly use w.bloggar. As you may know most of the Blog (server) provides XML-RPC, it is how this tools communicate with your server

I will have to test these tools on my Mac: BlogApp and iBlog. If you are Linux user take a look at: BlogniX

JavaWorld Article: Choosing a Java Scripting Language

| Comments

This new Java World article compares the different Java scripting languages (Groovy, JudoScript, Pnuts, JRuby, Jacl, Jython, Rhino, and BeanShell), and list the issues that you have to select the good one…

In this article that I like I would like to read a little about the JSR-223 that should help with the integration part.

I will be very interested to know how you use Java Scripting language in your projects, so feel free to drop me a comment or mail ( tugdual[at]grallandco[dot]com )

Oracle and PHP

| Comments

A friend of mine was asking me:

can I use PHP with Oracle?

Sure you can!

And a very good source of information about PHP and Oracle is the OTN Web site itself, and especially the OpenSource page. Here a list of my favorites:

Can I run my PHP Applications inside Oracle Application Server?

Sure! Not only you can access the Oracle database from a PHP Application, but also if you are running Oracle Application 10_g_ the usage of mod_php is supported with Oracle HTTP Server see:

And what about development?

Development could be done inside Oracle JDeveloper 10g using the The Oracle JDeveloper 10g PHP Extension