Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[alf-dev] Inquiry about integrating SCM tools

I received the following question via a direct email, so I thought I would share the inquiry and my reply with the community.  The query came in from Europe.  Since the party did not expect thier inquiry to be broadcast, I've edited out references to the inquirer, but have encouraged them to use the mailing list as the mechanism for future queries:
 

"We have this prospect who wishes to evaluate the workload for them to make their application ALF-enabled / compliants, in order to let these applications exchange data and information.

One of the scenario they consider :

- They have many developement tools : RM tools, SCM tools, deployment tools and would like to integrate them and let the communication together.

- They actually do not just want them to exchange simple data, but would like to see them potentially exchange complex data.

 One of their scenario would be : ClearCase transfers a baseline to Subversion via ALF...

 Now : they want to get an idea of the workload to make their application ALF Compliant.

My additional question is : is ALF designed to achieve that kind of thing ?

 Thank you for giving us estimation of the workload to for instance make ClearCase ALF compliant :

- time to make it WebServices enables

- time to make it ALF enabled (be able to raise ALF events)

- Workload to implement and deploy it (does it impact the client side also, which means that you have to re-deploy your clients)..."

And my reponse:

"One of the best places to start is the Eclipse ALF website: www.eclipse.org/alf.  Click on the Architecture tab (http://www.eclipse.org/alf/alf_architecture.php) and you will see a link to the ALF Conformance document (http://www.eclipse.org/alf/includes/ALF_Conformance_Guidelines.pdf).

 Due to the widespread adoption of SOA, ALF has adopted web services as the standard for integration.  The basic requirement is therefore:

  1. That a tool expose those services needed for a meaningful integrtion as SOAP web services, described using WSDL, or

  2. A wrapper or gateway is used to, say integrate with the tool using an existing callable API on one side of the gateway/wrapper and expose those services as SOAP web services (described by WSDL) on the other.  You might have a web services gateway from IBM, Microsoft or other vendors already installed and available.

 That is all that is needed for a tool to participate in an integration using ALF. ALF integrations are orchestrated using a BPEL engine, and BPEL is built around services that are described using WSDL.  You can use an open source or commercial BPEL engine, such as ones from Oracle, Active Endpoints, Red Hat, etc.

 As you will see in the conformance document, there are additional enablement possibilities,  and with each of the optional features, you get addtional benefits.  But for simply integrating tools, all you need is for the tool to expose a web service interface described in WSDL 1.1  Some of the optional enablements are:

  1. Raising ALF Events to cause your BPEL orchestrations to be launched upon changes to data with tools.  If you don't want to be event driven, it is simple to write a timer that launches a BPEL process via an ALF Event.  The first thing that process would do is determine whether any recent changes have occurred.

  2. For certain types of tools you can write (or adhere to an ALF Vocabulary).  An ALF Vocabulary is simply a collection of data structure and operations expressed as XML Schemas and WSDLs for a set of similar tools.  ALF already provides vocabularies for SCM and BUILD.  The use of vocabularies is optional, but if used, they provide two benefits:

     a) it simplifies the mapping of data from one tool to another in the BPEL orchestration

     b) it increases you ability to replace one tool with another that conforms to the same vocabulary

 I only have a high-level understanding of ClearCase, and a brief Google search did not reveal whether it exposes a SOA interface, so I would assume it does not.  Subversion does expose a web service interface.  So the bulk of the work will be to decide what services you need (perhaps you can use the ALF vocabulary for SCM as an example) and use a code generation tool such as the Eclipse WTP (Web tools platform) to generate a SOA interface from the API definition.

 You do not need to raise ALF event initially.  I recommend starting with a command line program that has a timer that, say every 20 minutes, raises an ALF event to trigger a BPEL orchestration (as described above).  Later you can consider having one or the tools raise an ALF event to trigger a process, but that ususally requires either adding code to the tool or writing an external monitor, say to monitor changes in the database.  The timer and polling approach is a simple way to start.

 ALF is a server-side framework.  The orchestrations can run without human intervention, so no client is needed - you typically can use the existing user interfaces of the tools that are being integrated via ALF.

 Let me know if you need additional information.  I also recommend you ask this type of question on the ALF mailing list, so the community can benefit from the information."

 Regards,

Brian

 
   Brian Carroll | Eclipse ALF Project Lead | Serena Fellow
   (O) (503) 617-2436 (C) (503) 318-2017

Serena Software - The Mashups are here!

 

 

**********************************************************************

This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message.

**********************************************************************

 


Back to the top