« Return to Thread: still about how to generate BPEL process without GUI designer

Re: still about how to generate BPEL process without GUI designer

by jdcondor :: Rate this Message:

Reply to Author | View in Thread

Hi Sam,

See in-line...

sam wang wrote:
Dear Nam,

I am very sorry to interrupt you again. The URL
"http://bits.nbextras.org/download/trunk/nightly/latest/" in your email is for NB 6.1 beta, right?
  
It is nightly build.  Beta1 build already released, does not container these fixes...
I download it and create the correct environment based on NB 6.1 beta. However, I still got
confused about the following questions:

First, I don't know what's myCatalogModel, even after I read the code of
"CliValidateBpelProjectDelegate" in bpel.project. I attached the source code at the attachment for
your reference.
  
My mistake during cut-n-paste the class name.  It should be CliBpelCatalogModel.  An implementation of CatalogModel is required to be in the lookup to resolve external references (to wsdl / xsd) from the bpel you are trying to load.
Second, I have no clue about "myLoadPlainDocumentMethod". Could you please explain a little bit
more for me, or even better, provide me a simple sample?
  
Look at xml.xam/src/org/netbeans/modules/xml/xam/dom/ReadOnlyAccess#loadSwingDocument
Third, is your sample code for creating a blank BPEL process or reading a BPEL process project
created by NB GUI? If it's latter, the "pathToSourceFile" means the BPEL file directory or the
BPEL project src directory?
  
It could be any bpel sources.  In case for creating a new bpel process you could just provide your own skeleton template file.
Fourth, does NB BPEL provide the API to process WSDL file? for example, partnerlink definition in
the WSDL file? (from your last email, it seems NB BPEL provides such kind of capability:
wsdl.model, wsdlext). Could you please give me a simple sample to demonstrate the usage? If the
sample code from your last email is for reading a BPEL process, is there a way to retrieve the
corresponding WSDL file in this BPEL project for further processing, and how?
  
I would let other BPEL model experts give you sample code.

(just a hint: there are PartnerLinkReference and PortTypeReference in bpel.model, which help you navigate to the referenced WSDL elements)

Thank you very much for the great help!
Sam





--- Nam Nguyen Nam.Nguyen@... wrote:

  
It supposed to be that openide.util is the *only* small basic NB module 
needed for using this stack:

..bpel.model
..wsdl.model
..wsdlext
..schema.model
..xam

I just discovered some unwanted dependencies introduce since the sierra 
merge.  We have removed the extra dependencies.  You can try out the 
following code after get the latest daily NB build at 
http://bits.nbextras.org/download/trunk/nightly/latest/

To create a bpel model, do something like this:

         File bpelFile = new File(pathToSourceFile);
         Lookup lookup = Lookups.fixed(new Object[]{
                bpelFile,
                myLoadPlainDocumentMethod(bpelFile),
                myCatalogModel,
            });
         ModelSource source = new ModelSource(lookup, editable);
         BpelModelFactory factory = 
Lookup.getDefault().lookup(BpelModelFactory.class);
         BpelModel model = factory.getModel (source);

For more detail on myCatalogModel, look at file 
CliValidateBpelProjectDelegate in bpel.project module.  You can 
reimplement it quickly removing dependency on the retriever Utilities.

-Nam

sam wang wrote:
    
Hi Jason,

Thank you for the reply. Since there are existing codes for generating BPEL, I prefer not to
reinvent the wheel :-)

Eclipse BPEL also provides an open source BPEL model, which is more clear and simple than
NetBeans'. However, since I want to use NetBeans execution engine to run the BPEL process, I'd
better use NetBeans' BPEL model to generate BPEL file to make sure the compatibility. 

Anyway, I really don't think there is no way to re-use NetBeans BPEL model to generate BPEL
      
file
    
without GUI.

Any hint will be greatly appreciated!
Sam




--- Jason Baragry Jason.Baragry@... wrote:

  
      
Hi Sam,

BPEL is just an XML document. Why can't you just use XML apis to 
programmatically create the BPEL XML document and then import it into 
netbeans?

regards
Jason

    
        
Dear all,

I just checked the source code of BPEL, I found that the BPEL model seems tightly coupled
          
with
    
      
          
NB
    
        
GUI. For example, first I want to generate a blank BPEL process through:
org.netbeans.modules.bpel.model.impl.BpelModelFactoryImpl

However, I need to get "org.netbeans.modules.xml.xam.ModelSource", which tightly coupled
          
with
    
      
          
the
    
        
NB GUI through "org.openide.util.Lookup". I don't know how to instantiate "Lookup".

Another potential approach seems through
"org.netbeans.modules.bpel.project.BpelproProjectGenerator". However, it only creates an
          
empty
    
"EjbProject". I have two questions about "EjbProject". First, if it can be treated as a
          
"BPEL"
    
project. Second, if it can be treated as a "BPEL" project, how can I create a very simple
"synchronizing BPEL example", just like the example provided by NB SOA. Or simpler, I can
      
          
generate
    
        
this simple BPEL project through NB GUI first, and then trying to load this project into
          
some
    
class in order to retrieve the BPEL process with the resources. But I don't know how to do
      
          
this. I
    
        
think once I get the BPEL instance, I can manipulate it through all the classes in the
          
package
    
"org.netbeans.modules.bpel.model.impl".

In a word, my requirement is very simple. First, I want to generate a quite simple BPEL
      
          
process as
    
        
the template (just like the synchronizing BPEL example provided by NB SOA example), then
manipulating this BPEL process through NB's BPEL model (for example, adding activities such
          
as
    
"receive", "reply", "invoke","assign", etc.)

Since this is part of my Ph.D research and I am in huge pressure to graduate, any quick
hint/suggestion will be greatly appreciated!!

Sam


      ____________________________________________________________________________________
Never miss a thing.  Make Yahoo your home page. 
http://www.yahoo.com/r/hs
  
      
          
    
        

      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now. 
      
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ 
    
  
      
    



      ____________________________________________________________________________________
Never miss a thing.  Make Yahoo your home page. 
http://www.yahoo.com/r/hs
  

 « Return to Thread: still about how to generate BPEL process without GUI designer