Blog is moved to a new location!

My blog is moved to a new location.
From now on you will find all the old posts both on http://eelzinga.wordpress.com and http://blog.xenta.nl/

The new posts will only get added to http://blog.xenta.nl

Post new comments on the new blog location!

Hope you will enjoy the new site!

Oracle Service Bus, BEA-423405, java.lang.NullPointerException

When trying to browse the java libs from my osb project i get the next stacktrace in the console.

<BEA-423405> <An exception [null] was thrown while rendering the content at [/jsp/resources/archive/ArchiveBrowser.jsp].
java.lang.NullPointerException
        at jsp_servlet._jsp._resources._archive.__archivebrowserdetails._jspService(__archivebrowserdetails.java:101)
        at weblogic.servlet.jsp.JspBase.service(JspBase.java:35)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:43)
        at org.apache.beehive.netui.pageflow.PageFlowPageFilter.continueChainNoWrapper(PageFlowPageFilter.java:456)
        at org.apache.beehive.netui.pageflow.PageFlowPageFilter.runPage(PageFlowPageFilter.java:432)
        at org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(PageFlowPageFilter.java:284)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:43)
        at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:503)
        at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:432)
        at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:164)
        at jsp_servlet._jsp._resources._archive.__archivebrowser._jspService(__archivebrowser.java:978)
        at weblogic.servlet.jsp.JspBase.service(JspBase.java:35)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:43)
        at org.apache.beehive.netui.pageflow.PageFlowPageFilter.continueChainNoWrapper(PageFlowPageFilter.java:456)
        at org.apache.beehive.netui.pageflow.PageFlowPageFilter.runPage(PageFlowPageFilter.java:432)
        at org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(PageFlowPageFilter.java:284)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:43)
        at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:503)
        at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:432)
        at org.apache.beehive.netui.pageflow.scoping.internal.ScopedRequestDispatcher.include(ScopedRequestDispatcher.java:119)
        at com.bea.netuix.servlets.controls.content.JspContent.beginRender(JspContent.java:552)
        at com.bea.netuix.servlets.controls.content.NetuiContent.beginRender(NetuiContent.java:365)
        at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:485)
        at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:518)
        at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
        at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
        at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
        at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:220)
        at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395)
        at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
        at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352)
        at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:326)
        at com.bea.netuix.nf.UIControl.render(UIControl.java:583)
        at com.bea.netuix.servlets.controls.PresentationContext.render(PresentationContext.java:486)
        at com.bea.netuix.servlets.util.RenderToolkit.renderChild(RenderToolkit.java:146)
        at com.bea.netuix.servlets.jsp.taglib.RenderChild.doStartTag(RenderChild.java:62)
        at jsp_servlet._framework._skeletons._wliconsole.__flowlayout._jspService(__flowlayout.java:273)
        at weblogic.servlet.jsp.JspBase.service(JspBase.java:35)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:176)
        at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:505)
        at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:432)
        at com.bea.netuix.servlets.controls.application.laf.JspTools.renderJsp(JspTools.java:132)
        at com.bea.netuix.servlets.controls.application.laf.JspControlRenderer.beginRender(JspControlRenderer.java:72)
        at com.bea.netuix.servlets.controls.application.laf.PresentationControlRenderer.beginRender(PresentationControlRenderer.java:65)
        at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:481)
        at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:518)
        at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529)
        at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:220)
...

Make sure the rights in unix on the osb domain directory are correctly set on group stage.
In my case only the user had the correct rights.

** update
We noticed the problem came back on our development enviroment, without things got changed on filesystem.
One of the dba thought it had something to do with the caching weblogic creates during clicking around in the console.
Restarting the admin server (restarting the managed servers wasn’t needed) fixed the problem for us, and cleared the cache too.

Oracle Service Bus, MFL and empty element-tree in xquery

Sometimes it will happen after creating the mfl and trying to map the elements in xquery to the target, the element-tree of the mfl won’t be visible and only shows the head-element.
Open the mfl file in a text-editor and change the version-attribute of the MessageFormat-tag to ’2.02′

<MessageFormat name='MyMFLFormat' version='2.01'>

to

<MessageFormat name='MyMFLFormat' version='2.02'>

Oracle Fusion Middleware 11g got released!

Finally the new Oracle Fusion Middleware 11g got released!

The webcast can be seen over here.
Some of the available resources like tutorials on Oracle WebLogic Suite 11g, Oracle SOA Suite 11g, Oracle Identity Management 11g and Oracle WebCenter Suite 11g
And the download!

How do the Oracle ACES think about the suite ?

The new Oracle JDeveloper 11g R1 got released too, code name Bulldog.
The download and a lot of new features!

So, a lot of new stuff to play with!

RESTful Services with Oracle Service Bus

Restify existing services

Today i came across a nice article from jeff x davies on “RESTful Services with Oracle Service Bus“.
A nice example on how to map the different http methods to your flows in osb.
The testconsole is easy to use when doing the http calls and adding the query parameters (id=10).

But why mapping non-rest services to and rest interface

  1. You automatically get all of the monitoring, reporting, security and more provided by OSB for your RESTful services
  2. You keep the benefits of mediation. For example, of our company in this example purchased another company that provided different products, you could use the OSB to act as a façade over both product catalogs while providing a single, unchanged REST interface.
  3. You can REST-ify existing, non-service enabled assets like EJBs

Some other good links

The Open Group has released their SOA Source Book

The Open Group has released their SOA Source Book.

The introduction tells us “The Open Group’s SOA Source Book is a collection of source material for use by enterprise architects working with Service-Oriented Architecture. The material reflects input from a large number of people from a wide range of Open Group member companies, including product vendors, consultancies, and users of SOA. In some cases, these people have brought concepts developed, not just by themselves, but by groups of people within their organizations. The input has been refined and further developed through discussion within the Working Group. The value in the result is due to the ideas and efforts of the Working Group members.”

The book is free for online reading, go get it!

Oracle buys Sun, another one for the collection

Oracle buys Sun, and another one for the collection

The blogreaders keep popping up with the blogs about the new acquisition of Oracle.
Lately Oracle already bought BEA, and from this acquisition the new stack isn’t even ready yet.
A lot of new products, overlapping eachother so Oracle will need to decide what products will go on on development, and what will parts will flow away.

IDE

  • Oracle Jdeveloper
  • Eclipse
  • Netbeans

JVM

  • Sun JDK
  • JRocket

Application Server

  • Oracle AS/OC4J (already replaced)
  • BEA Weblogic
  • Sun Glassfish

SOA Integration

  • Oracle SOA Suite
  • Open ESB

Database

  • Oracle DB
  • MySQL

SSO

  • Oracle SSO
  • OpenSSO

Portal

  • Sun Portal Server
  • Oracle Portal
  • BEa Portal Server

DS

  • Oracle Internet Directory
  • OpenDS

The list isn’t completed but it will just give a short overview, i will add more compairs later.

I think in most situations Oracle will keep supporting the several versions of the products in the stacks.
After the BEA acquisition we already had a few products in the stack with overlap, but if we compair BEA and Oracle they both had a set of ‘closed/propriatery’ products/functionality.
The portfolio of Sun is mostly based (for as far i know) on open source products with a really big community behind it. I don’t think Oracle would spoil this big part of the market and on they other site would replace every ‘closed product’ with a open source variant of the Sun stack.
So i think it will be on the one site a mix of Oracle/BEA products and on the other site the portfolio for the Sun portfolio (open source).

Besides just filling in a new portfolio (again) of the overall stack of Oracle, i think they will even more invest and support the open source community.

Good to see some can still enjoy a bit of humor!

Oracle Service Bus (OSB) workshop, WAAI project

This week i gave a workshop about the new Oracle Service Bus together with Ronald van Luttikhuizen.
The workshop is part of the WAAI project.

The WAAI project is a joint initiative between IT-eye, AMIS, Approach Alliance and Whitehorses.
Colleagues of the different companies working together to get knowledge about the new Fusion Middleware 11g stack and share this knowledge which each other.

The workshop was hosted at AMIS, thanks for help!
The attenders of the workshop had the ability to get used to the OSB. We defined 3 cases which made use of the different components of the service bus.

Since most of the attenders also had experience with the ‘old’ Oracle ESB, we had some time left to get some discussion on both of the service buses.
A short list of their experiences.

pro

  • lots of functionality
  • console for editting and better support for logging/monitoring
  • xquery
  • adapters/transport (ejb,mail)
  • more validation

cons

  • lots of functionality, steep learning curve
  • adapter support (db adapter)
  • adapters not jca-compliant (third party)(planned for new release)
  • gui not intuative for “old school oracle people”

Those are just a subset of the comments of the attenders. Since they’re based on a little experience they can’t be seen as hard facts.
Depending on the context of the customer you need to decide what product suits best. In some situations oesb and bpel are the
best match and maybe in some other cases you need more influence on the flow in osb and want to model everything in just this product.

questions
what to model in bpel and what to model in osb?
more stable?
more mature?
how to synchronise ide project and changes made in the console?
osb versus mediator 11g, what will be the role of both?

We still need to invest some extra time to get the answers on a few of the questions, feel free to give comments!

Antony Reynold already talked a bit about the topic of the role of the different components in the new 11g suite.

“Dutch : GroenLinks wil open source in ICT-opleidingen”

Op nu.nl is een artikel te lezen over GroenLink welke graag studenten en leerlingen met een ICT-opleiding al tijdens de studie kennis wil laten maken met open source software.
Daar de studenten op dit moment voornamelijk kennis opdoen van de software van de grotere spelers in de markt, willen ze gaan kijken of ze dit niet kunnen gaan verplaatsen naar de open source markt.

Bij mijn huidige werkgevener ‘IT-eye’ begint de focus ook steeds meer te verplaatsen naar de open source wereld. Een goed voorbeeld is het seminar wat vandaag en volgende week wordt gehouden ‘Zijn Open Standaarden en Open Source Software de toekomst?’.
Vanuit de overheids klandizie komt ook steeds meer de vraag om onderzoek te doen naar open source varianten voor betaalde componenten die momenteel bij bv gemeentes zijn ingezet. Een goed voorbeeld is een huidige poc waar ik mee bezig ben waarin we onderzoeken wat de mogelijkheden zijn van Mule ESB.

Zeker in de huidige tijd van ‘economische crisis’ verleggen niet alleen de klanten maar ook de ontwikkelbedrijven zelf hun werkgebied naar open source.
De bestedingen voor nieuwe projecten vindt langzaam aan zijn vlucht ook weer enigzins omhoog, dus langzaam aan zullen de nieuwe projecten op dit gebied ook weer opgestart worden.

Mooie kansen voor bedrijven om software in te zetten met een brede community achter zich en welke ook nog eens velen malen voordeliger of gratis zal zijn.
Daarnaast voor ons ontwikkelaars een mooie kans om mee te gaan in de huidige marktontwikkelingen en de kennis uit te breiden of te verleggen naar open source.

New blog!

Welcome to my new blog.

Overhere i will try to post once in a while some articles about my knowledge and experience during daily work.

If you would like to see some information on subjects please tell me and i will try to update in the blog.

Enjoy!

Follow

Get every new post delivered to your Inbox.

Join 34 other followers