Saturday, February 26, 2011

How to setup a BPEL project in Carbon Studio from an existing BPEL artifact

Written by Denis Weerasiri


In this blog post is about how to setup a WSO2 Carbon Studio BPEL project from an existing BPEL artifact.
Suppose there's a BPEL process, and you need to edit it via WSO2 Carbon Studio. We can't directly open a BPEL process via Carbon Studio. First you need to create a BPEL project and import the BPEL process to that BPEL project.

How to create Carbon Studio BPEL project from an existing BPEL process
  • Start Eclipse Carbon Studio. Here you need to make sure you have installed Carbon Studio in Eclipse version you use.
  • In the menu bar goto File -> New -> Other -> BPEL Project . Then the following dialog will appear.

  • Click on Next. Then the following dialog will appear.

  • Add a Project name .Under Configuration click on Modify and put a check on BPEL 2.0 Facet. Click OK.


  • Then click Finish in “New BPEL Project” dialog box.
  • Now the Carbon Studio BPEL project has been created. And now we need to import the process files to this project.
  • For that; first extract a process we have provided. 
  • Then in Carbon Studio; Right click on the project in the “Project Explorer” Window -> Import... Then the following wizard will pop up. Choose “File System”, then click Next.


  • Then the following dialog will appear. And give the location of the previously extracted BPEL process in 7. Then add all the files in that BPEL process. Then Click on Finish.

  • Now the Carbon Studio project is created and you can edit the BPEL process via our editor.


How to deploy and run BPEL projects
  • In Carbon Studio goto File -> Export. Then in the appearing dialog choose "WSO2 BPS BPEL Artifact". Then export the project.
 
  • Add the created BPEL artifact to WSO2 BPS via Web UI.

See original post

Saturday, February 19, 2011

WSO2 Carbon Studio: Tools for WSO2 Middleware Platform

WSO2 is an open source middleware company with a complete and comprehensive SOA middleware platform which is well known as Carbon and a PaaS which is known as Stratos.  But without proper tools, developers who develop their own solutions based on these SOA middleware will not get maximum benefits of them. Therefore, tools can play a significant role in reaching new sights. WSO2 Carbon Studio plays this significant role for WSO2 Carbon stack and Stratos PaaS by allowing new developers to try and evaluate Carbon platform with ease and making tasks easier for existing users.  WSO2 Carbon Studio is a collection of Eclipse plugins which enhances Eclipse IDE functionalities by extending IDE features to support WSO2 Carbon products and Stratos  with many other SOA features. Therefore Eclipse users can download Carbon Studio install it on your Eclipse installation. We decided to use Eclipse because it is completely free and open source and it is the most popular and widely used Java IDE and it will allow us to reach a much wider audience than any other IDE.   Following are the features that are included in the latest Carbon Studio 1.0.4 release. Application Server ToolsCreate and Edit Apache Axis2 Web ServiceContract first (Top down approach) Code first (Bottom-up approach) Create WSDL for Apache Axis2 Web Service archive (aar file) Generate Web Service clientFrom aar file From WSDL Web ApplicationsCreate and edit web applications Test and debug Apache Axis2 Services and Web Applications Deploy Apache Axis2 services and web applications Deploy JAX-WS services Enterprise Service Bus ToolsView, Create and EditEndpoints Proxy Services Sequences Local Entries Create custom mediators Registry Referencing Test and debug custom mediators and other ESB artifacts Deploy custom mediators and other ESB artifactscontaining as hot deployable file containing as registry resource Governance Registry ToolsCreate and deploy registry resource artifactsfrom a local file or a folder Import from a registry or as a registry dump Create, edit, debug and deploy registry handlers and filters Registry ManagementWorking with a registry onlineAdding multiple remote registries at once View, add, edit and delete registry resources and collections Import (drag-drop) resources from registry and file system View, add, edit and delete Properties, Associations, Dependencies, Comments and Tags Modify permission of a resource or collection Easily modify resources through configured Eclipse editors Check-out registry content to Eclipse workspace Working with a registry in the offline modeAdd resources in Eclipse workspace to the registry Add, modify and delete checked-out resources in the workspace and commit the changes back Sync the checked-out resources with the online registry User ManagementAdd, modify and delete users Modify the permissions of a given role Modify permission for a selected registry resource Business Process Server ToolsView, create and edit BPEL projects Test and deploy BPEL artifacts Gadget Server ToolsCreate and edit gadgets Test and deploy gadget artifacts Data Services Server ToolsCreate and edit data services (XML configurations) Create and edit data services validators Test and deploy data services artifacts and data services validators Carbon ToolsCreate, edit, debug and deploy Carbon UI bundles Deploy third party libraries as bundles Test and deploy data service artifacts and data service validators The recommended configuration for WSO2 Carbon Studio is as follow. 1. Eclipse Helios (3.6) or Helios SR1 (3.6.1) for Java EE developers.2. Oracle JDK 1.63. Any Operating System4. Around 100Mb of Hard Disk space In order to install Carbon Studio, there are 2 methods of doing that. You can follow any of them according to your preference. 1. Offline installation via Downloaded WSO2 Carbon Studio P2 features- If you prefer download first and install later, this option is for you.2. Online installation via WSO2 P2 feature repository

See original post

Tuesday, February 15, 2011

Tools for Developers who want to use SOA Middleware

Written by Sami

The WSO2 Carbon Studio is a complete, Eclipse-based SOA development environment, consisting of a broad set of development tools for developing Services, Clients and other related SOA artifacts for your SOA.

You can develop SOA applications using wide array of artifacts with WSO2 Carbon Studio.

The full list of WSO2 Carbon Studio features include:

Application Server Tools

  1. Create and edit Apache Axis2 Web service
    • Contract first (Top-down approach)
    • Code first (Bottom-up approach)
  2. Create WSDL for Apache Axis2 Web service archive (aar file)
  3. Generate Web service client
    • From aar file
    • From WSDL
  4. Web Applications
    • Create and edit web applications
  5. Test and debug Apache Axis2 services and Web applications
  6. Deploy Apache Axis2 services and web applications
  7. Deploy JAX-WS services

Enterprise Service Bus Tools

  1. View, create and edit
    • Endpoints
    • Proxy Services
    • Sequences
    • Local Entries
  2. Create custom mediators
  3. Registry referencing
  4. Test and debug custom mediators and other ESB artifacts
  5. Deploy custom mediators and other ESB artifacts
    • Containing as hot deployable file
    • Containing as registry resource

Governance Registry Tools

  1. Create and deploy registry resource artifacts
    • from a local file or a folder
    • Import from a registry or as a registry dump
  2. Create, edit, debug and deploy registry handlers and filters
  3. Registry management
    • Working with a registry online
      • Adding multiple remote registries at once
      • View, add, edit and delete registry resources and collections
      • Import (drag-n-drop) resources from from registry and file system
      • View, add, edit and delete properties, associations, dependencies, comments and tags
      • Modify permission of a resource or collection
      • Easily modify resources through configured eclipse editors
      • Check-out registry content to eclipse workspace
    • Working with a registry in the offline mode
      • Add resources in Eclipse workspace to the registry
      • Add, modify and delete checked-out resources in the workspace and commit back changes
      • Sync the checked-out resources with the online registry
    • User management
      • Add, modify and delete users
      • Modify permissions of a given role
      • Modify permission for a selected registry resource

Business Process Server Tools

  1. View, create and edit BPEL projects
  2. Test and deploy BPEL artifacts

Gadget Server Tools

  1. Create and edit gadgets
  2. Test and deploy gadget artifacts

Data Services Server Tools

  1. Create and edit data services (XML configurations)
  2. Create and edit data services validators
  3. Test and deploy data service artifacts and data service validators

Carbon Tools

  1. Create, edit, debug and deploy Carbon UI bundles
  2. Deploy third party libraries as bundles
  3. Test and deploy data service artifacts and data service validators

See original post

Monday, February 14, 2011

Interesting, but unsolved error when building Apache Axiom

Written by Amila Maharachchi

These days I was busy with getting the WSO2 Carbon trunk building successfully. While working on it, I encountered an interesting build failure when building Apache Axiom with tests.

Lets think, the Carbon trunk's structure is as follows.


Carbon
|--Dir1
|--Axiom
|--dirX
|--dirY
|--Dir2
|--Dir3

If I go to the Axiom folder and build it with tests, it builds successfully. But, if I stay in Dir1 (i.e. the parent directory which Axiom is in) and give the maven command to build all modules in Dir1 (with tests), I get this error. This seems to happen when building the Axiom OSGI Test Suite.


-------------------------------------------------------
T E S T S
-------------------------------------------------------
The current artifact axiom-osgi-run-1.2.12-SNAPSHOT.jar is not a valid bundle
Running org.apache.axiom.test.ServiceTest
Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0 sec
[FATAL ERROR] org.apache.felix.ipojo.junit4osgi.plugin.Junit4osgiPlugin#execute() caused a linkage error (java.lang.LinkageError) and may be out-of-date. Check the realms:
[FATAL ERROR] Plugin realm = app0.child-container[org.apache.felix:maven-junit4osgi-plugin:1.0.0]
urls[0] = file:/home/amila/.m2/repository/org/apache/felix/maven-junit4osgi-plugin/1.0.0/maven-junit4osgi-plugin-1.0.0.jar
urls[1] = file:/home/amila/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar
urls[2] = file:/home/amila/.m2/repository/org/apache/felix/org.apache.felix.framework/1.6.1/org.apache.felix.framework-1.6.1.jar
urls[3] = file:/home/amila/.m2/repository/org/apache/felix/org.osgi.core/1.2.0/org.osgi.core-1.2.0.jar
urls[4] = file:/home/amila/.m2/repository/org/apache/felix/org.osgi.compendium/1.2.0/org.osgi.compendium-1.2.0.jar
urls[5] = file:/home/amila/.m2/repository/org/apache/felix/org.osgi.foundation/1.2.0/org.osgi.foundation-1.2.0.jar
urls[6] = file:/home/amila/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
urls[7] = file:/home/amila/.m2/repository/org/apache/felix/org.apache.felix.ipojo/1.2.0/org.apache.felix.ipojo-1.2.0.jar
urls[8] = file:/home/amila/.m2/repository/org/apache/felix/org.apache.felix.ipojo.metadata/1.2.0/org.apache.felix.ipojo.metadata-1.2.0.jar
urls[9] = file:/home/amila/.m2/repository/org/apache/felix/org.apache.felix.ipojo.handler.extender/1.2.0/org.apache.felix.ipojo.handler.extender-1.2.0.jar
urls[10] = file:/home/amila/.m2/repository/org/apache/felix/org.apache.felix.ipojo.junit4osgi/1.0.0/org.apache.felix.ipojo.junit4osgi-1.0.0.jar
urls[11] = file:/home/amila/.m2/repository/net/sourceforge/cobertura/cobertura/1.9/cobertura-1.9.jar
urls[12] = file:/home/amila/.m2/repository/oro/oro/2.0.8/oro-2.0.8.jar
urls[13] = file:/home/amila/.m2/repository/asm/asm/2.2.1/asm-2.2.1.jar
urls[14] = file:/home/amila/.m2/repository/asm/asm-tree/2.2.1/asm-tree-2.2.1.jar
urls[15] = file:/home/amila/.m2/repository/log4j/log4j/1.2.9/log4j-1.2.9.jar
urls[16] = file:/home/amila/.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0.jar
urls[17] = file:/home/amila/.m2/repository/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar
urls[18] = http://felix.extensions:9/
[FATAL ERROR] Container realm = plexus.core
urls[0] = file:/media/dev/software/apache-maven-2.1.0/lib/maven-2.1.0-uber.jar
urls[1] = file:/home/amila/.m2/repository/org/apache/maven/archetype/archetype-packaging/2.0-alpha-4/archetype-packaging-2.0-alpha-4.jar
urls[2] = file:/home/amila/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] loader constraint violation: loader (instance of org/codehaus/classworlds/RealmClassLoader) previously initiated loading for a different type with name "org/codehaus/plexus/util/xml/XMLWriter"
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.LinkageError: loader constraint violation: loader (instance of org/codehaus/classworlds/RealmClassLoader) previously initiated loading for a different type with name "org/codehaus/plexus/util/xml/XMLWriter"
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195)
at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255)
at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at org.apache.felix.ipojo.junit4osgi.plugin.XMLReport.generateReport(XMLReport.java:194)
at org.apache.felix.ipojo.junit4osgi.plugin.Junit4osgiPlugin.executeTest(Junit4osgiPlugin.java:573)
at org.apache.felix.ipojo.junit4osgi.plugin.Junit4osgiPlugin.invokeRun(Junit4osgiPlugin.java:447)
at org.apache.felix.ipojo.junit4osgi.plugin.Junit4osgiPlugin.execute(Junit4osgiPlugin.java:253)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:483)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:678)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:540)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:519)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:371)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:332)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:181)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:356)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes 7 seconds
[INFO] Finished at: Sat Feb 12 23:44:07 IST 2011
[INFO] Final Memory: 233M/964M


Several other people have encountered this problem, but I didn't see a solution for this. If you know the reason for this, please add a comment. It will be very helpful :).

See original post

 

Copyright 2009 All Rights Reserved Revolution Two Church theme modified by Milinda Pathirage