Talend ESB Development Guide

Total Page:16

File Type:pdf, Size:1020Kb

Talend ESB Development Guide Talend ESB Development Guide 6.5.1 Talend ESB Adapted for v6.5.1. Supersedes previous releases. Publication date: January 18, 2018 Copyright © 2018 Talend Inc. All rights reserved. Copyleft This documentation is provided under the terms of the Creative Commons Public License (CCPL). For more information about what you can and cannot do with this documentation in accordance with the CCPL, please read: http://creativecommons.org/licenses/by-nc-sa/2.0/ This document may include documentation produced at The Apache Software Foundation which is licensed under The Apache License 2.0. Notices Talend and Talend ESB are trademarks of Talend, Inc. Apache CXF, CXF, Apache Karaf, Karaf, Apache Cellar, Cellar, Apache Camel, Camel, Apache Maven, Maven, Apache Archiva, Archiva, Apache Syncope, Syncope, Apache ActiveMQ, ActiveMQ, Apache Log4j, Log4j, Apache Felix, Felix, Apache ServiceMix, ServiceMix, Apache Ant, Ant, Apache Derby, Derby, Apache Tomcat, Tomcat, Apache ZooKeeper, ZooKeeper, Apache Jackrabbit, Jackrabbit, Apache Santuario, Santuario, Apache DS, DS, Apache Avro, Avro, Apache Abdera, Abdera, Apache Chemistry, Chemistry, Apache CouchDB, CouchDB, Apache Kafka, Kafka, Apache Lucene, Lucene, Apache MINA, MINA, Apache Velocity, Velocity, Apache FOP, FOP, Apache HBase, HBase, Apache Hadoop, Hadoop, Apache Shiro, Shiro, Apache Axiom, Axiom, Apache Neethi, Neethi, Apache WSS4J, WSS4J are trademarks of The Apache Foundation. Eclipse Equinox is a trademark of the Eclipse Foundation, Inc. SoapUI is a trademark of SmartBear Software. Hyperic is a trademark of VMware, Inc. Nagios is a trademark of Nagios Enterprises, LLC. All other brands, product names, company names, trademarks and service marks are the properties of their respective owners. This product includes software developed at AOP Alliance (Java/J2EE AOP standards), ASM, AntlR, Apache ActiveMQ, Apache Ant, Apache Avro, Apache Axiom, Apache Axis, Apache Axis 2, Apache Batik, Apache CXF, Apache Camel, Apache Chemistry, Apache Common Http Client, Apache Common Http Core, Apache Commons, Apache Commons Bcel, Apache Commons JxPath, Apache Commons Lang, Apache Derby Database Engine and Embedded JDBC Driver, Apache Geronimo, Apache Hadoop, Apache Hive, Apache HttpClient, Apache HttpComponents Client, Apache JAMES, Apache Log4j, Apache Lucene Core, Apache Neethi, Apache POI, Apache Pig, Apache Qpid-Jms, Apache Tomcat, Apache Velocity, Apache WSS4J, Apache WebServices Common Utilities, Apache Xml-RPC, Apache Zookeeper, Box Java SDK (V2), CSV Tools, DataStax Java Driver for Apache Cassandra, Ehcache, Ezmorph, Ganymed SSH-2 for Java, Google APIs Client Library for Java, Google Gson, Groovy, Guava: Google Core Libraries for Java, H2 Embedded Database and JDBC Driver, HsqlDB, Ini4j, JClouds, JLine, JSON, JSR 305: Annotations for Software Defect Detection in Java, JUnit, Jackson Java JSON-processor, Java API for RESTful Services, Jaxb, Jaxen, Jettison, Jetty, Joda-Time, Json Simple, MetaStuff, Mondrian, OpenSAML, Paraccel JDBC Driver, PostgreSQL JDBC Driver, Resty: A simple HTTP REST client for Java, Rocoto, SL4J: Simple Logging Facade for Java, SQLite JDBC Driver, Simple API for CSS, SshJ, StAX API, StAXON - JSON via StAX, Talend Camel Dependencies (Talend), The Castor Project, The Legion of the Bouncy Castle, W3C, Woden, Woodstox : High-performance XML processor, XML Pull Parser (XPP), Xalan- J, Xerces2, XmlBeans, XmlSchema Core, Xmlsec - Apache Santuario, Zip4J, atinject, dropbox-sdk-java: Java library for the Dropbox Core API, google-guice. Licensed under their respective license. Table of Contents Chapter 1. Development Environment Setup .................................................................. 1 1.1. Download Java Development Kit (JDK) ........................................................................ 2 1.2. Download Eclipse IDE for Java EE Developers ................................................................ 2 1.3. Download Tomcat 7.x (optional) ................................................................................. 2 1.4. Download Maven 3 ................................................................................................ 3 1.5. Install Maven2Eclipse (m2e) Plugin (optional) ................................................................. 3 1.6. Install soapUI Plugin (optional) .................................................................................. 5 Chapter 2. Web Services .............................................................................................. 7 2.1. Contract-first development ....................................................................................... 9 2.1.1. Project Structure .......................................................................................... 9 2.1.2. Maven POM files ....................................................................................... 10 2.1.3. Creating the WSDL ..................................................................................... 14 2.1.4. Configuring Deployment Descriptors ................................................................... 16 2.1.5. Creating the Web Service Provider (WSP) ............................................................. 17 2.1.6. Deploying the WSP ..................................................................................... 18 2.1.7. Running the SOAP Client ............................................................................... 19 2.2. Code-first development .......................................................................................... 19 2.2.1. CXF Maven Archetypes ................................................................................ 21 2.2.2. Adding OSGi Capabilities to a Web Service ........................................................... 24 2.2.3. Making SOAP calls with soapUI ....................................................................... 25 2.3. REST Services .................................................................................................... 27 Chapter 3. Camel Routes Overview ............................................................................. 29 Chapter 4. Talend ESB Services Overview .................................................................... 35 4.1. Service Locator ................................................................................................... 36 4.1.1. Using the Service Locator in non-OSGi environments ................................................. 36 4.1.2. Service interface ......................................................................................... 36 4.1.3. Service implementation ................................................................................. 37 4.1.4. Service Consumer ....................................................................................... 40 4.1.5. ZooKeeper usage ........................................................................................ 42 4.1.6. Service Locator for RESTful services .................................................................. 45 4.2. Service Activity Monitoring ..................................................................................... 46 4.2.1. Run the Monitoring Server .............................................................................. 47 4.2.2. Prepare the sample ...................................................................................... 47 4.2.3. Test SAM Server ........................................................................................ 49 Talend ESB Development Guide Talend ESB Development Guide Chapter 1. Development Environment Setup Welcome to Talend ESB! This document looks at best practices in developing with Talend ESB, in particular using Eclipse and Maven as development tools. While development with the Eclipse IDE is covered within this guide, note the Eclipse-based Talend Studio can also be used instead, as it already includes the development components we'll be configuring below. Different types of web services (JAX-WS and JAX-RS based) will be covered in Web Services, and then we'll explore Camel development in Camel Routes Overview. Finally, developing with Talend ESB specific services such as Service Activity Monitoring and the Service Locator is covered in Talend ESB Services Overview. In this chapter we'll look in detail at installing our Eclipse development environment along with associated tools for development of web services and Camel routes. Note, if you're already working with the pre-configured Talend Studio, this process can be skipped. The following sections in this chapter give details of the software needed. Talend ESB Development Guide Download Java Development Kit (JDK) 1.1. Download Java Development Kit (JDK) Either Java SE versions 6 or 7 are acceptable and can be obtained from: http://www.oracle.com/technetwork/ java/javase/downloads/index.html. As we'll be compiling source files, be sure to download the JDK and not the JRE version. 1.2. Download Eclipse IDE for Java EE Developers From the Eclipse download page obtain your operating system's version of Eclipse IDE for Java EE Developers. Juno is the most recent Eclipse version as the time of this writing, but if you already have the previous Helios or Indigo versions of Eclipse on your machine that should work fine as well. After extracting the application, double- clicking the Eclipse icon located in the Eclipse root directory should bring up the IDE; note your specific operating system's version may provide additional convenient options (menu items, desktop icons)
Recommended publications
  • Apache Cxf Rest Service Example Bruzek
    Apache Cxf Rest Service Example Tad never paved any Akkadian intergrading unknowingly, is Aubrey light and resplendent enough? Knotty Lambert tattles some sigmoidectomy after antiodontalgic Tucker conceived aerobiotically. Nickie remains Sadducean after Iggie personifying inevitably or seek any chump. Running on creating the apache rest example if you run it all edits are capable of its recommended to create your browser go to learn apache cxf as the xml? Most english words and get a sample shows throwing exceptions occurred while the help? Easier than to use when the rest dsl will keep the operation on the spring configuration for connection. Dom elements or a spring or attenuate the default values into the classes. Control will generate a java or checkout with spring xml we mentioned before you progress through the methods. Invoked it is enabled and test but the dzone. Office be using your rest service which sends multiple endpoints. High force than to start with a rest service using the code to know to build the server? Trackers while you from apache cxf service example a rest service engine uses akismet to add user does the above. Easiest way to cxf rest service example a custom configured for tomcat? Zombie that the hostname the parts of all injection points are not going to download ibm liberty for communication. Help icon above json outputted in or conditions of the camel components and i motivate the camel! Diverts it so, cxf rest styled dsl consumes the steps to build the routing? Bean to generate the apache service which listens to be nice if set this option on the routes.
    [Show full text]
  • Web Services CXF User Guide
    JBoss Enterprise Application Platform 5 Web Services CXF User Guide for use with JBoss Enterprise Application Platform 5 Edition 5.2.0 Last Updated: 2017-10-13 JBoss Enterprise Application Platform 5 Web Services CXF User Guide for use with JBoss Enterprise Application Platform 5 Edition 5.2.0 Alessio Soldano Edited by Elspeth Thorne Eva Kopalova Petr Penicka Rebecca Newton Russell Dickenson Scott Mumford Legal Notice Copyright © 2012 Red Hat, Inc. This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js ® is an official trademark of Joyent.
    [Show full text]
  • Nimsoft Monitor
    Nimsoft Monitor SOAP Web Services Getting Started Guide Version 2.0 Legal Notices Copyright © 2012 CA. All rights reserved. Warranty The material contained in this document is provided "as is," and is subject to being changed, without notice, in future editions. Further, to the maximum extent permitted by applicable law, Nimsoft LLC disclaims all warranties, either express or implied, with regard to this manual and any information contained herein, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. Nimsoft LLC shall not be liable for errors or for incidental or consequential damages in connection with the furnishing, use, or performance of this document or of any information contained herein. Should Nimsoft LLC and the user have a separate written agreement with warranty terms covering the material in this document that conflict with these terms, the warranty terms in the separate agreement shall control. Technology Licenses The hardware and/or software described in this document are furnished under a license and may be used or copied only in accordance with the terms of such license. No part of this manual may be reproduced in any form or by any means (including electronic storage and retrieval or translation into a foreign language) without prior agreement and written consent from Nimsoft LLC as governed by United States and international copyright laws. Restricted Rights Legend If software is for use in the performance of a U.S. Government prime contract or subcontract, Software is delivered and licensed as "Commercial computer software" as defined in DFAR 252.227-7014 (June 1995), or as a "commercial item" as defined in FAR 2.101(a) or as "Restricted computer software" as defined in FAR 52.227-19 (June 1987) or any equivalent agency regulation or contract clause.
    [Show full text]
  • Action-Based Study and Development of a Web Service Application in Java for METLA
    Prakash Sapkota Action-Based Study and Development of a Web Service Application in Java for METLA Helsinki Metropolia University of Applied Sciences Bachelor of Engineering Information Technology Bachelor’s Thesis 30 January 2014 Abstract Author Prakash Sapkota Title Action-Based Study and Development of a Web Service Appli- cation in Java for METLA Number of Pages 38 pages + 4 appendices Date 30 January 2014 Degree Bachelor of Engineering Degree Programme Information Technology Specialisation option Software Engineering Instructor(s) Mika Galkin, Senior System Analyst Sami Sainio, Lecturer The primary purpose of the thesis project was to carry out an action-based study of web services by developing a forestry related web service application for MetINFO. MetINFO is an information division of the Finnish Forest Research Institute (METLA). It provides various forest-related information services and tools in order to make forest- related information more visible and useful. The goal of the project was to develop a web service application which could be used by Finnish sawmills to upload their roundwood sales data to MetINFO. The uploaded data is used to calculate statistics about roundwood sales in Finland by different forestry centers and price areas. The development of the project involved various steps. Initially, the requirements of the application were analyzed. Based on the requirements, the application was designed and developed using feature-driven development methodology. As the outcome, fully function- ing web services for uploading roundwood sales data and a web based application for ad- ministering uploaded data were created. The developed application was tested in a test environment and all the known bugs were fixed.
    [Show full text]
  • Talend Open Studio for Big Data Release Notes
    Talend Open Studio for Big Data Release Notes 6.0.0 Talend Open Studio for Big Data Adapted for v6.0.0. Supersedes previous releases. Publication date July 2, 2015 Copyleft This documentation is provided under the terms of the Creative Commons Public License (CCPL). For more information about what you can and cannot do with this documentation in accordance with the CCPL, please read: http://creativecommons.org/licenses/by-nc-sa/2.0/ Notices Talend is a trademark of Talend, Inc. All brands, product names, company names, trademarks and service marks are the properties of their respective owners. License Agreement The software described in this documentation is licensed under the Apache License, Version 2.0 (the "License"); you may not use this software except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.html. Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. This product includes software developed at AOP Alliance (Java/J2EE AOP standards), ASM, Amazon, AntlR, Apache ActiveMQ, Apache Ant, Apache Avro, Apache Axiom, Apache Axis, Apache Axis 2, Apache Batik, Apache CXF, Apache Cassandra, Apache Chemistry, Apache Common Http Client, Apache Common Http Core, Apache Commons, Apache Commons Bcel, Apache Commons JxPath, Apache
    [Show full text]
  • SOA and Open Source
    SOA and Open Source Service Business Ma Consumers Systems Portals Web Apps M nageme onitorin g ance Business Process n nn Management t & Composite Services Gover CEP -CEP B AA SO Core Services Business AM Systems COTS Legacy Inhouse Magnus Larsson Callista Enterprise AB Vendor support of Open Source SOA • Vendors provide services for training, consulting and support on selected Open Source SOA products • MuleSource – Over 1000 mission-critical production installations worldwide! – http:// www.mu lesou rce .co m/custo me rs/casestud ies .p hp •WSO2 – http://wso2.com/about/whitepapers/ • Progress FUSE – http://fusesource.com/resources/collateral/ SOA and Open Source Copyright 2009, Callista Enterprise AB Building a SOA Reference Model… Service Business Portals Web Apps Consumers Systems Business Systems COTS Legacy Inhouse SOA and Open Source Copyright 2009, Callista Enterprise AB Building a SOA Reference Model… • Connectivity Service Business - SOAP, Rest, Messaging, Database, FTP… Portals Web Apps Consumers Systems • Transformation - XML, CSV, Fixed Position… • Routing - Header and/or Content based • Enterprise Integration Patterns - Splitting, Aggregation, Resequencing… Core Services Business Systems COTS Legacy Inhouse SOA and Open Source Copyright 2009, Callista Enterprise AB Building a SOA Reference Model… Composite Services Service Business Portals Web Apps Consumers Systems ‐ Course Grained ‐ Internal Messaging High performance access to other services CitComposite Services Core Services Business Systems COTS Legacy Inhouse SOA
    [Show full text]
  • Web Service Development Using CXF
    Web Service Development Using CXF - Praveen Kumar Jayaram Introduction to WS Web Service define a standard way of integrating systems using XML, SOAP, WSDL and UDDI open standards over an internet protocol backbone (HTTP). XML – Tags the data (Extensible Markup Language) SOAP – Used to transfer data (Simple Object Access Protocol) WSDL – Describes services available (Web Service Definition Language) UDDI – Lists the services available in directory (Universal Description Discovery Integration) Why Web Service? High interoperability. Web services are not tied to any programming language or operating system Web Service Frameworks: Axis CXF – We are interested in CXF in this session CXF – Web Service Framework Apache CXF is an open source services framework. CXF helps you build and develop services using frontend programming APIs, like JAX-WS and JAX-RS. Why CXF? 1) JAX-WS support (Frontend) - Ease of building services - Generating WSDL from java classes and java classes from WSDL 2) Spring integration for declaring service endpoints 3) Aegis data binding - Unlike JAXB Aegis does not require annotation for building services 4) Apache liberal licensed and can be used for any type of applications Advantages of CXF over Axis: 1) CXF is JAX-WS complaint whereas Axis falls into proprietary things 2) CXF is very active in fix packs, releases and committers respond to issues often 3) CXF has better support for Spring integration 4) CXF is bit faster than Axis 1 (almost same for Axis 2) and easier to use http://cxf.apache.org/docs/index.html Creating
    [Show full text]
  • Open Source and Third Party Documentation
    Open Source and Third Party Documentation Verint.com Twitter.com/verint Facebook.com/verint Blog.verint.com Content Introduction.....................2 Licenses..........................3 Page 1 Open Source Attribution Certain components of this Software or software contained in this Product (collectively, "Software") may be covered by so-called "free or open source" software licenses ("Open Source Components"), which includes any software licenses approved as open source licenses by the Open Source Initiative or any similar licenses, including without limitation any license that, as a condition of distribution of the Open Source Components licensed, requires that the distributor make the Open Source Components available in source code format. A license in each Open Source Component is provided to you in accordance with the specific license terms specified in their respective license terms. EXCEPT WITH REGARD TO ANY WARRANTIES OR OTHER RIGHTS AND OBLIGATIONS EXPRESSLY PROVIDED DIRECTLY TO YOU FROM VERINT, ALL OPEN SOURCE COMPONENTS ARE PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. Any third party technology that may be appropriate or necessary for use with the Verint Product is licensed to you only for use with the Verint Product under the terms of the third party license agreement specified in the Documentation, the Software or as provided online at http://verint.com/thirdpartylicense. You may not take any action that would separate the third party technology from the Verint Product. Unless otherwise permitted under the terms of the third party license agreement, you agree to only use the third party technology in conjunction with the Verint Product.
    [Show full text]
  • Kuali Student Service System: Technical Architecture Phase 1 Recommendations
    Kuali Student Service System Technical Architecture Phase 1 Recommendations Kuali Student Service System Technical Architecture Phase 1 Recommendations December 31 2007 Kuali Student Technical Team Technical Architecture Phase 1 deliverables 2/14/2008 1 Kuali Student Service System Technical Architecture Phase 1 Recommendations Table of Contents 1 OVERVIEW ........................................................................................................................ 4 1.1 REASON FOR THE INVESTIGATION ................................................................................... 4 1.2 SCOPE OF THE INVESTIGATION ....................................................................................... 4 1.3 METHODOLOGY OF THE INVESTIGATION .......................................................................... 4 1.4 CONCLUSIONS ............................................................................................................... 5 1.5 DECISIONS THAT HAVE BEEN DELAYED ............................................................................ 6 2 STANDARDS ..................................................................................................................... 7 2.1 INTRODUCTION .............................................................................................................. 7 2.2 W3C STANDARDS .......................................................................................................... 7 2.3 OASIS STANDARDS ......................................................................................................
    [Show full text]
  • Pentaho Big Data Plugin 7.1.0.0 Open Source Software Packages
    Pentaho Big Data Plugin 7.1.0.0 Open Source Software Packages Contact Information: Project Manager Pentaho Big Data Plugin Hitachi Vantara Corporation 2535 Augustine Drive Santa Clara, California 95054 Name of Product/Product Version License Component [ini4j] 0.5.1 Apache License Version 2.0 An open source Java toolkit for 0.9.0 Apache License Version 2.0 Amazon S3 Annotation 1.0 1.1.1 Apache License Version 2.0 Annotation 1.1 1.0.1 Apache License Version 2.0 ANTLR 3 Complete 3.5.2 ANTLR License Antlr 3.4 Runtime 3.4 ANTLR License ANTLR, ANother Tool for Language 2.7.7 ANTLR License Recognition AOP Alliance (Java/J2EE AOP 1.0 Public Domain standard) Apache Ant Core 1.9.1 Apache License Version 2.0 Apache Ant Launcher 1.9.1 Apache License Version 2.0 Apache Aries Blueprint API 1.0.1 Apache License Version 2.0 Name of Product/Product Version License Component Apache Aries Blueprint CM 1.0.5 Apache License Version 2.0 Apache Aries Blueprint Core 1.4.2 Apache License Version 2.0 Apache Aries Blueprint Core 1.0.0 Apache License Version 2.0 Compatiblity Fragment Bundle Apache Aries JMX API 1.1.1 Apache License Version 2.0 Apache Aries JMX Blueprint API 1.1.0 Apache License Version 2.0 Apache Aries JMX Blueprint Core 1.1.0 Apache License Version 2.0 Apache Aries JMX Core 1.1.2 Apache License Version 2.0 Apache Aries JMX Whiteboard 1.0.0 Apache License Version 2.0 Apache Aries Proxy API 1.0.1 Apache License Version 2.0 Apache Aries Proxy Service 1.0.4 Apache License Version 2.0 Apache Aries Quiesce API 1.0.0 Apache License Version 2.0 Apache
    [Show full text]
  • Secure Services with Apache CXF
    Karlsruher Entwicklertag 2014 Secure Services with Apache CXF Andrei Shakirin, Talend [email protected] ashakirin.blogspot.com/ Agenda • Introduction in Apache CXF • Security Requirements • Apply security features to CXF Services (JAX-RS) About Me • Software architect in Talend Team • PMC and committer in Apache CXF and commiter in Apache Syncope projects • Speaker for Apache and Java conferences Apache CXF Why CXF? Alternatives: CXF Benefits: • Jersey ° Strong standards support • RestEasy ° SOAP & Rest services Axis 2 • ° Comprehensive Security • Metro ° Streaming and performance • … ° Flexibility ° Large and active community Who uses CXF? • Apache: Camel, ServiceMix, Syncope • JBoss JAX-WS stack • TomEE JAX-WS and JAX-RS stacks • Talend, Fusesource, MuleSoft, WSO2 • Google Adwords, TomTom, … Security Requirements • Authentication (HTTP basic, digest, UsernameToken, X500, Kerberos, SAML) • Authorization (method/resource based, XACML) • Confidentiality (SSL, message encryption) • Integrity (SSL, message signature) • Non-repudiation (message signature) Transport Layer Security • Authentication • Confidentiality • Integrity Is SSL Safe? SSL Handshake Server Certificate Validation 1. Check certificate validity period 2. Check is Certificate Authority (CA) a trusted CA 3. Check the issuer's digital signature in whole chain 4. Check if domain name in the server's certificate match the domain name of the server itself 5. Check CA revocation list Recommendations • Apply negative security tests using abnormal SSL certificates (self-signed, issues for another host, etc) • Don‘t modify application code and disable certificate validation even for testing • Verify libraries default set up, use explicit options if necessary HTTPS: JAX-RS 2.0 Client HTTPS: CXF Client HTTPS Server: Jetty Authentication • HTTP basic, digest • Kerberos • X509 • SAML • JWT HTTP Basic 1. Client: GET /users/ua1b2c3 HTTP/1.0 2.
    [Show full text]
  • Axis, Axis2 and CXF: Surveying the Open Source Web Services Landscape
    Axis, Axis2 and CXF: Surveying the Open Source Web Services Landscape By Bjorn Townsend Open Source Java, Support and Management SourceLabs 206.322.0099 Sourcelabs.com Axis, Axis2 and CXF: Surveying the Open Source Web Services Landscape It's an exciting time to be in open source web services development. Two new next-generation web services frameworks have been released in the last year and a half, both under the umbrella of the Apache Software Foundation. These frameworks are Apache Axis2, which hit 1.0 at the end of April, 2006 and is currently in the release candidate stage for version 1.3, and Apache CXF, which released version 2.0 (the first version released under that name) in early July 2007. Both frameworks also evolved from existing projects. Axis2 came from the well- known Axis 1.x series. CXF is literally the offspring of the XFire and Celtix projects, as those two projects have pooled their codebases and development teams to give rise to CXF. The delta between the old projects and their new versions is significant in each case. Axis2 is a total rewrite of Axis from the ground up, using a new modular architecture that allows its functionality to be more easily extended. CXF has also been extensively retooled from its XFire and Celtix origins. This leads to a few questions. Should existing applications using Axis 1.x, XFire or Celtix move to the new versions of those projects? If a developer does decide to migrate his or her application to one of the new frameworks, which one should they use? Conversely, if one is writing a new web service from the ground up and no migration is required, which one should they use? Is one framework inherently better than the other? Let's tackle these questions in order.
    [Show full text]