Friday, January 22, 2010

SOAP over JMS

excellent article:
http://www.oracle.com/technology/pub/articles/murphy-soa-jms.html

The Asynchronous message is posted on a JMS queue, consumed by a WS which replies on a temporary queue created by the client on the same JMS session.The client waits on the temporary queue.

Your WS can serve both JMS and HTTP, with the annotations WLHttpTransport and WLJmsTransport.

Thursday, January 21, 2010

Struggling with Workshop 10.3 EARs and JARs with EJB 3.0

An excellent tutorial on the topic, to help getting familiar with EJB 3.0 development on Workshop

http://blogs.oracle.com/jamesbayer/ejb3/

James Bayer is an outstanding teacher, he tracks everything in his tutorial.

Sure enough, no wonder why so many companies choose .NET, the Java world has been unable after so many years to provide a straightforward and easy way to develop and deploy distributed objects.
Forte and Visibroker 15 years ago were much simpler.

Microfrost

I hate Microfrost, it makes computers freeze. hahaha that's a good one.
Long live Linux, Long live Java, boooh to the Microsoft Tyrant.

Saturday, January 16, 2010

Template for a EJB

package com.pierre.ejb;


import javax.ejb.SessionBean;
import weblogic.ejb.GenericSessionBean;
import weblogic.ejbgen.RemoteMethod;
import weblogic.ejbgen.Session;
import weblogic.ejbgen.JndiName;
import weblogic.ejbgen.FileGeneration;
import weblogic.ejbgen.Constants;


@Session(ejbName = "MyEJB")
@JndiName(remote = "ejb.MyEJBRemoteHome")
@FileGeneration(remoteClass = Constants.Bool.TRUE, remoteHome = Constants.Bool.TRUE, localClass = Constants.Bool.FALSE, localHome = Constants.Bool.FALSE)

public class MyEJB extends GenericSessionBean implements SessionBean {
    private static final long serialVersionUID = 1L;

    /* (non-Javadoc)
     * @see weblogic.ejb.GenericSessionBean#ejbCreate()
     */
    public void ejbCreate() {
        System.out.println("ejbCreate was invoked for MyEJB");
    }

    @RemoteMethod(transactionAttribute=Constants.TransactionAttribute.SUPPORTS)
    public String sayHello(String name) {
        return name + " , hello";
    }

}   

Wednesday, January 13, 2010

Creating and editing PDF

Look no further, OpenOffice is here for you
http://mltan100.blogspot.com/2008/06/free-pdf-editor.html

I have tested it and it works like wonders.

Wednesday, January 6, 2010

Why should one use a Service Bus

This is a question often asked in interviews.
Here is a standard short-and-sweet answer:

- standardizing service interfaces
- switching protocols (eg turning an EJB into a WS)
- message transformation
- message routing and/or
- service orchestration = buzzword for "deciding what goes where and in which sequence"
- security
- failover and load balancing
- monitoring (performance, audit, errors)

advantages:
- decoupling
- interface simplification
- service reusability

Supported transports:
HTTP(S), JMS, FTP, File, and E-mail

The message context contains: $header, $body, and $attachments

Communication types:
  • Synchronous request/response
  • Asynchronous publish one-one
  • Asynchronous publish one-many
  • Asynchronous request/response (synchronous-to-asynchronous bridging)
These Transport Providers are available:
SFTP, Email, File, MQ, EJB, Tuxedo, SB, WS, JPD, FLOW, BPEL 10g, JCA, ALDSP





    Friday, January 1, 2010

    Oracle BPM (ALBPM) quick tutorial

    here is a complete explanation of BPMN http://en.wikipedia.org/wiki/BPMN
    which describes quite accurately Oracle BPM Studio Graphic Symbols

    Business process = defined by tasks and activities
    Process instance = a living process

    An Activity is conceptually a Step. It can be Automatic or Interactive.
    A Transition determines the passage from an Activity to another.

    An Activity is made of one or more Tasks

    A Role is a job function of a Participant

    Flow Objects model Steps in the Process.They can be:
    Activities, Gateways, Events, Global Activities, Flow, Lanes, Artifacts