Tug’s Blog

My journey in Big Data, Hadoop, NoSQL and MapR

Sun/Liferay: Why? And What Is the Next Step?

| Comments

Yesterday, I have been surprised when I saw the following announcement:

So today what does that means? Liferay is leveraging the development power of Sun to implements standards (for example JSR-286). I have always been frustrated by the lack of standard support and ‘real’ innovation in Liferay (compare to its competitors such as eXo Platform, and Jboss for example). In the other hand Sun will leverage the “tiny Liferay product” killing its own solution. Sun’s portal is really to big without that benefits for developers/users (compare to its competitors, BEA,IBM, Oracle for example).

So what’s the next step for this partnership? If Sun wants to push a real portal offering, it can only finish by a full acquisition of Liferay… even if it is stated that it is not the plan.

Let’s wait and see how this “WebSynergy” goes… However one thing is cool, it will put more visibility on Enteprise Portals. With all the Web 2.0 stuff: social computing, mashups, collaborative works/intelligence, the need for “Enterprise Portal” (I should add a 2.0) is back stronger than before…

JavaOne 2008: My Sessions Choice…

| Comments

I have attended or presented at JavaOne for the last 6 years when I was living in the SF Bay Area… But this year I won’t be in San Francisco for JavaOne. As you can guess, I am sad about that… However, I still look at the schedule and events, and here what I would like to do:

  • Groovy/Grails meetup organized by G2One and NFJS
  • Sun and Oracle General Sessions: Tuesday, Wednesday and Friday at 8:30am. I am particularly interested to see the Oracle’s one  talk about the Oracle/BEA deal… May be we will be able to learn more about the products roadmap
  • TS-6050 - Comparing JRuby and Groovy
  • TS-5274 - Groovy on a Cloud: Testing Java EE Platform Applications on Amazon EC2
  • BOF-5102 - Cooking Your Own Groovy Builder: A Step Forward into Domain-Specific Languages
  • TS-5793 - Groovy and Grails: Changing the Landscape of Java EE Platform Patterns
  • BOF-5101 - Boosting Your Testing Productivity with Groovy
  • TS-5764 - Grails in Depth
  • TS-6298 - Designing Graphical Model-Driven Applications: Lego MindStorm … long time that I have not programmed/designed with my Legos…
  • BOF-4888 - Taming the Leopard: Extending OS X the Java Technology Way: would be great to see my ex-coworker talking about OS X and Java.. John and Tim are terrific developers
  • BOF-6400 - The Future of Guice. even if I have not used (yet) this API from Google I have been a big fan of Bob’s work
  • TS-5657 - JavaFX Technology: Bring the Web with You–Multiple Interfaces to Games, Chat, and More
  • TS-4817 - The Java Platform Portlet Specification 2.0 (JSR 286)
  • TS-5343 - Enterprise JavaBeans (EJB) 3.1 Technology. As I am pushing more and more customer to use the standard JPA.. would be great to learn more about the next release of EJB
  • TS-6169 - Spring Framework 2.5: New and Notable… would like to see what will be said about SpringAppServer
  • TS-6072 - Advanced Enterprise Debugging Techniques
  • BOF-5634 - Java EE Platform Connector Architecture 1.6 Overview. I have been using J2CA a lot lately when dealing with SOA in large IT department… So quite cool to have an update on this spec.
  • TS-5318 - Dealing with Asynchronicity in Java Technology-Based Web Services. A feature in the WS Stack that I have been pushing a lot…
  • TS-5616 - JSR 303: From a World of Constraints to Constrain the World
  • TS-6339 - Top 10 Patterns for Scaling Out Java Technology-Based Applications
  • TS-5706 - SCA and Java Platform, Enterprise Edition (Java EE Platform): Integration Inside
  • BOF-5495 - Untangling the Asynchronous Web
  • TS-5425 - JAX-RS: The Java API for RESTful Web Services
  • LAB-4500LT - Develop AJAX Based Portlets With OpenPortal and GWT
  • TS-6574 - How to Implement Your Own OpenSocial Container on the Java Platform
  • TS-6807 - What’s New in Ajax
  • BOF-5661 - Comet: The Rise of Highly Interactive Web Sites
  • BOF-4922 - Writing Real-Time Web Applications, Using Google Web Toolkit and Comet
  • TS-5870 - The Best of Both Worlds with Java™ Business Integration and Service Component Architecture
  • TS-5152 - Overview of the JavaFX Script Programming Language
  • TS-5572 - Groovy, the Red Pill: Metaprogramming–How to Blow the Mind of Developers on the Java Platform
  • TS-5815 - Going Mobile with JavaFX Script Technology, Groovy, and Google Android
  • TS-5535 - Tying Java Technologies Together the RESTful Way

I have probably selected many conflicting sessions, not really an issue since I am not going there. That said, this year again JavaOne looks quite exciting and a lot of content again around Scripting Languages and Framework; Web2.0 related technologies and SOA.

I hope that I will be there for the 2009 one ;)

Launch of Exo Enterprise WebOS

| Comments

Last Friday (April 18th) I was attending the launch of “eXo WebOS” in Paris. Benjamin Mestrallet, creator of eXo has started the event with a presentation of the solution and its impact on the IT.

Like any internet user, each time I see eXo Web OS and applications I am very very impressed. They have pushed very far the use of AJAX based applications to offer a complete virtualization of the OS/Desktop, not in a Virtual Machine, but simply in your favorite browser.

As you can see in this screenshot, eXo is launching in your browser, a complete desktop, where I run many applications provided by eXo: Calendar, Forum, Mail, but a also a calculator gadget attached to the desktop itself. The easiest is to try the product, go to eXoplatform site and download it.

Exposing a Database as a Web Service… With OracleAS and DB

| Comments

I am just cross posting this entry to react to this very interesting article:

Oracle Application Server Web Services

If you are an Oracle Application Server user, you may know that it is possible to expose database resources as Web Services using the OracleAS Web Services stack. You can for example using JAX-RPC based Web Service create service on a PL/SQL stored procedure, a SQL statement and even poste message on a queue (AQ). This is available in the Web Service Assembler (wsa) tool and also JDeveloper.

At the end when you have executed the wizard, you have a complete JavaEE application ready to be deloyed. All the JDBC calls and PL type mapping are done automatically by the wizard… very neat Take a look to the Assembling Database Web Services documentation.

Here the archtecture schema of OracleAS Database Web Services:

It is important to mention that such service can leverage the WS-* support of OracleAS and any JAX-RPC handler you want to add to the service.

BPEL PM and Database Resources

In addition to a pure Java developer approach it is also possible to expose database resource as Web Service using Oracle BPEL PM, yeah… it could be overloaded, but still it is possible and very easy to do. See the chapter BPEL: Communicating with a Database

Oracle RDBMS 11 NDWS

Orale RDBMS introduced a new feature that is called: Native Oracle XML DB Web Services, that allows developer to directly expose Web Services from the DB. Take a look to the chapter Using Native Oracle XML DB Web Services.

Note that in this case you do not have any WS-* support without another technical solution that could be Oracle Web Service Manager or any other solutions (such as a SOA appliance like for example IBM dataPower)

hmm I have not used that much this feature since I have left Oracle… I wonder when Oracle will provide a OS X release that will allow me to use my computer without any VM…

My (Work) Life on a Key: XWiki and Other Portables Applications

| Comments

Now that I am back in consulting business, I often have customers where I am not allowed to connect my Mac on the network. Annoying!!!! But this is not a big issue since now it is easy to bring you environment on a USB key.

XWikey: my wiki on a key

On a daily business, I have installed my personal XWiki on my 2Gb USB Key, and a JDK (for windows, on OSX I am using the default one). So with this solutions I have my personal CMS, Website and applications with me, and I can use it from any computer available. I work on any site, any meeting room directly on my Wiki even when I am not connected. I am using a packaged Entprise XWiki that comes with Jetty and HSQL, so it is a complete and self contained environment. I just changed the start and stop scripts to point to the JDK that is on the key. Nothing exceptional here, but it is very useful.

Others portable applications

I know that a Wiki is not enough most of the time to “ bring your life with you”, and you may want more, such as Open Office, Mail and Web clients, … Some of the packages you can use:

The next test will be to run the OS from the key, I have not done it yet, have you? Some options for this:

Oracle Acquisitions… Cannot Remember All of Them?

| Comments

A friend of mine asked me some questions about Oracle and acquisitions. He could not, remember all of them and when they occurred…

If you have the same questions take a look to the Oracle Acquisition page on Oracle.com since 2005:

  • Oracle Strategic AcquisitionSome others are probably missing since in 2003/2004, Collaxa was acquired by Oracle. If you do not remember Collaxa was the first release of the BPEL Process Manager.

You can also take a look to a part of the site that I like that is the Oracle’s history.

Oracle JAX-RPC: How to Change the Character Encoding?

| Comments

By default Oracle Web Service client is sending the SOAP messages using an UTF-8 encoding. This is the recommendation of WS-I Basic Profile. To be exact it says UTF-8 or UTF-16.

It is quite simple to change this encoding…

First you have to know that the JAX-RPC container will return the same character encoding than the one that is received. To change the character encoding, you just need to set the ClientConstants.CHARACTER_SET_ENCODING to the value you want to use. Here some simple client code:

1
2
Stub stub = (Stub)myPort.getPort();
stub._setProperty(oracle.webservices.ClientConstants.CHARACTER_SET_ENCODING, "UTF-16");

Most of the Web Services stacks are offering the same kind of utility to do that, for example here the property you must set to do the same in IBM’s JAX-RPC implementation: com.ibm.wsspi.webservices.Constants.MESSAGE_CHARACTER_SET_ENCODING.

My First Sogeti Kickoff: A Great Experience

| Comments

Last week, more than 400 people of Sogeti group were meeting at Les Fontaines, for the annual KickOff. It was for me the first big event since I have joined this company last October.

Les FontainesLes Fontaines, is the training/conference center of the Cap Gemini Group located 30mn from Paris. I have to say that it is really a great place. Click on the Les Fontaines to see  what I mean…

First of all it was a great experience to meet my colleagues from all over the world , Sogeti is a company of  16,000+ people, all over Europe, in the USA and India.  The main theme of this 2008 Kickoff was “Web 2.0”, the reason why I was invited indeed. If most of the technical people are using internally and externally Web 2.0 tools such as wikis, blogs, ims, .. It was important to have during this kickoff an “overall” brainstorming about the use of this tools for the group, but also how we can leverage of knowledge to help customers to be more efficient in their business.

As part of this theme our marketing folks have invited external speakers:

  • Rolf Jensen : talking about the Dream Society, explaining that the next step for business is to add an emotional aspect into it, to add value…  I am a emotional person, and I can tell that I am buying Rolf’s idea, and like most of Apple fan you can tell how important are the emotions to do business…
  • Rod Bekstrom, co-author of the well known book “The Starfish and The Spider” focusing on the fact an company must shift  from a centralized organization to a decentralized one. You can listen to the presentation online on Rod’s site.. I have to say that I soon as I have finished my current readings (RestFul Web Services-O’Reillys & Get Things Done) I will order this book. I really found some inspiration in Rod presentation, and his ideas could be immediately put in place in your organization or at your customer site.
  • Last but not least, Nick Donofrio, EVP Technology and Innovation, talked about the important of innovation for the enterprise, and how we do not control the changes but we should adapt to it in a productive manner to stay at the top.

However, I would have loved to see Francois Nonnemacher on the stage too since I had the opportunity to see him talking about Web 2.0/Social Computing for the enterprise and he is terrific… and also because as far as I know he has worked at Cap Gemini few years back

I really enjoyed all these presentations, in addition to the one that I have cited, we had many Sogeti’s speakers including Sogeti CTO Michiel Boreel.

IBM ProjectZero: A New Development Model for Commercial Software?

| Comments

You have probably heard about IBM ProjectZero, this “incubator”project from IBM pushing a new way of building, assemble and run Web applications. I won’t talk about the technology in this post, it will come later, but just comment about the way this project is developped: a Community-Driven Commercial Development process.

The idea behind this “process” is to apply to a commercial software, ideas that are common  in free software. As you see I am not talking about “open source” since Project Zero is open source, it is really about the way a “commercial” software is built…

If you take a look to the “About” page of ProjectZero you can learn more about this process/ideas. Some key points:

  • the development team, mainly IBM folks, want  feedback, insight, suggestions, and criticism from the community. So we as the community can really be involved in the product in a stage where it is usually inside IBM labs without any visibility for non IBM employee… This is quite exciting to see that we can really discuss with the development team as they do the product, and we can see the product evolving based on “real” customer requirements/comments.
  • so as “future” user of the production release I can discuss the features. As a developer of the “current” development release I can participate to the future product.
    So what you may be tempted to say, especially if you are a lot involved in open source and free projects, but you have to admit that it is quite a switch for commercial product.Project Zero is not the only project that is using this approach Jazz from the rational team is also on this model. 

In the same time if we consider, GlassFish, we do have more or less an equivalent, that is the JavaEE RI and the Sun Application Server… but here on Jazz or Project zero it is really happening on a brand new product that is not a reference implementation but new products part of a commercial R&D lab…

I am still a little confused to see what will be the license when release 1.0 goes out… Just wait and see.. hmm sorry I should say “just participate and see”.