OpenAjax Alliance

OpenAjax Alliance News

Subscribe to OpenAjax Alliance News: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get OpenAjax Alliance News: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Most companies, especially from the banking domain, develop a large amount of their software in C/C++, and generally, they are not interested in redeveloping the code in any other new generation language, such as .NET or Java, due to cost and performance reasons. One well known advantage [1] to sticking with the C++ legacy application is performance. Most scientific applications are intentionally developed in C++ for the same reason. But then, integration of this existing functionality with the new application is a big issue. The solution to this problem is incubating service orientation into the application architecture and accessing the legacy code by exposing it as a service, based on open standards so that it can be used across various platforms.

One of the ways of implementing Service Orientated Architecture (SOA) is Web Services; it provides a strong foundation for software interoperability through open standards such as Simple Object Access Protocol (SOAP), Web Services Description Language (WSDL), eXtensible Markup Language (XML), etc. Web services can be readily used for leveraging legacy code which can then be seamlessly integrated with any application across platforms, allowing portability and reusability. Exposing the current legacy code as a Web service enables us to take advantage of the performance of the existing legacy application while working with modern-age technology.

Tools/Frameworks
There are various tools/frameworks available, both open source and proprietary, through which we can create and deploy Web services written in C++. They also allow exposing existing application functionality written in C++ as a Web service. Some of the tools in this domain are listed below:

  • gSOAP [2]
  • Apache Axis C++ [3],
  • Rouge Wave's LEIF [4]
  • Systinet server for C++ [5]
Of these, gSOAP and Axis C++ are the open source tools, while LEIF and Systinet Server for C++ are proprietary tools. We have used gSOAP for exposing legacy code as a Web service, which I explain later in this article.

gSOAP
GSOAP tool is an implementation of a SOAP protocol using C/C++ language, which helps in the development of SOAP Web services and client side development in C/C++. It provides a C/C++ SOAP API that hides SOAP-specific details from the user which eases the development of a service/client. The gSOAP compiler maps C/C++ data types to equivalent XML data types and vice-versa, hence, providing full interoperability.

The gSOAP package includes pre-build tools [6]:

  • WSDL/schema parser tool (wsdl2h.exe): Imports one or more WSDL files and XML schemas to generate a header file with the service prototypes and the data types used.
  • Stub/skeleton compiler (soapcpp2.exe): Using a header file, it generates (de)serialize routines for data types, stub and skeleton code. This tool will generate either client-stub or server-skeleton or both.

    There are two ways to create and deploy a Web Service, as shown in Figure 1:

  • A top down approach where you start with a WSDL.
  • A bottom up approach where you start by writing a web service.
With a WSDL
This approach is mostly used whenever a client wants to use an existing Web service or if a user starts by writing a WSDL file. A WSDL file consists of the descriptions of all service methods, in terms of data types used, their inputs and outputs, their location, namespaces used, etc. These descriptions in the WSDL file have to be C/C++ equivalent, so as to use/implement the Web services, i.e., "wsdl to header file" conversion is required. In order to generate a WSDL equivalent C/C++ header file, gSOAP provides a WSDL2H tool.

As explained earlier, a wsdl2h.exe is used to convert the .wsdl file to a header file, consisting of C/C++ equivalent data type mapping and function prototypes. Then this header file should be processed using the soapcpp2 stub/skeleton tool. This creates C/C++ source files that provide (de)serialize functions for the data types, stub and skeleton routines.

Using pre-build tools:

  • wsdl2h -o out.h inputfile.wsdl
  • soapcpp2 out.h
the wsdl2h command generates out.h from inputfile.wsdl. The header file is then processed by the gSOAP compiler to generate the stubs and skeletons as explained in the next section.

By Writing a Web Service
Create a header file, say "service.h." The SOAP service methods are declared in the header file as function prototypes. Then the header file should be processed by the soapcpp2 stub/skeleton compiler tool in order to generate the stubs and skeletons. This can be achieved by:

Soapcpp2 service.h

(Or)

Soapcpp2 -c service.h (to generate the code using pure C)

The compiler generates stub and skeleton routines for the function prototypes in service.h. The generated stub routines allow C/C++ client applications to interact with existing Web services. The skeleton routines are generated for each of the service methods in the header file which can be readily used to implement one or more of the service methods as a new SOAP Web service. The Stub/Skeleton code takes care of insertion and extraction of SOAP-XML messages and also provides the (de)marshal of the data types between clients and servers.

An Example to Demonstrate How a Report Generator Developed in C Can be Exposed as a Web Service
GenerateReport method, which is being published as a Web service, takes templateName as an argument, which is an XML Template file based on which the actual report is generated. This function will return the path of the report (file location on the server).

Writing a Function Prototype The service function prototype has to be in the following syntax:

int [namespace prefix__] methodname ([input param list], output param);

The following are observations based on the syntax:

  • The namespace prefix to a method is optional.
  • The parameter list can have zero or more input parameters but a mandatory output parameter (a pointer that holds the output value).
  • Service methods always return integer values upon success (SOAP_OK else error constant).
The Listing below shows the service method signature and usage of the directive "//gsoap". These directives are used to set the properties of a service. The directive below specifies the location of the service:

CodeSnippet

Now save the file and name it Report.h

Execute the soapcpp2.exe with the header file shown below:

Soapcpp2 -c Report.h (option -c is used for generating the files in pure c)

On successful execution, the compiler generates the following files:

  • soapH.h: Has the function prototypes for the functions defined in soapC.c.
  • Report.wsdl: Has the services descriptions. This file is published, so that client applications can use these remote service methods.
  • Report.nsmap: Provides namespace mapping table which is required to enable SOAP applications to validate the content of SOAP messages. This table is used at runtime to resolve namespace bindings and (de)serialize routines in order to validate the service request/responses.
  • soapStub.h: Has the function prototypes of the soap wrapper methods, soap service dispatcher methods, and modified data types generated by the compiler.
  • soapC.c: Contains the (de)serialization routine for the data types used by the service routines and also routines for generating SOAP-XML related code.
  • soapClient.c: Has the functionality that creates the XML output with the header and the XML representation of the structure with the parameters of the function. This is responsible for sending and receiving the XML request and response messaging. Waits on the result and populates the result struct (output holding data type) with the elements of the received XML.
  • soapServer.c: Provides lookup of service methods, dispatches a request to the appropriate service method, and ensembles the required input parameters from the received XML message and a reference to the output. On execution of the service, the output is populated, which is then serialized and an XML message is created and sent back to the client.
Server Side Implementation
Listing 1 shows the service method implementation. The service method must be implemented in the server side application and the type signature of the method must be identical to the remote method specified in the header file (soapStub.h) shown below:

int Report__generateReport( struct soap[8] *soap, char *templateName, char **outputFilePath);

The service function uses three SOAP API functions soap_init, soap_serve and soap_receiver_fault.

  • Soap_init method: Initializes the soap runtime environment.
  • Soap_serve method: Acts as a service dispatcher. It listens to client requests and invokes the appropriate service method through a skeleton routine. After the request is served, the response is encoded in SOAP and sent to the client.
  • Soap_receiver_fault: Sets the fault string and fault details in the current runtime environment. Every remote method implemented in a SOAP service returns an error code as a return value. SOAP_OK denotes success and others denote an exception. A receiver error indicates that the service can't handle the request, but can possibly recover from the error. To return an unrecoverable error, use the function soap_sender_fault.
Client Side Implementation
The client side implementation that uses the service can be done in any language, i.e., JAVA/C/.NET. Listing 2 shows how a C-Client uses the service. A client requests a service through the client stub routines(soap_call_Report_generateReport) generated by the stub compiler (see Figure 2).

The client code introduces us to few more SOAP related functions, namely, soap_call_* methods, soap_print_fault, soap_end, soap_done:

  • Soap_call_* methods: The method names would be of the form:
    int soap_call_[namespace]_methodname(struct soap*,char*URL,char*action,parameters..)
    - struct soap: Stores the soap runtime environment.
    - URL: Specifies where the service is deployed. The service location is specified as http://...../mod_gsoap.dll?servicename. The mod_gsoap allows gsoap shared libraries to be plugged into HTTP Servers. It will dynamically load the required gsoap servers at runtime.
    - Action: Secifies the SOAP Action. For each remote method declared, a client stub routine(soap_call_method) is generated. These routines are generated by stub/skeleton compiler. These functions act as wrappers and modify the parameters to and from the request/response message data structures, (de)serializes, and validates the data before sending and after receiving the result.
  • soap_print_fault: During the processing of a request, if an exception is generated, then the appropriate error number is assigned to the current runtime environment. This method is used to print a descriptive message for the corresponding error to a specified stream (standard output or a custom file).
  • soap_end: This method internally calls the soap_free method which cleans up temporary and (de)serialized data created in the current runtime environment. This has to be used at the end of a transaction/messaging.
  • Soap_done: This function cleanly terminates a gsoap runtime environment, detaches callbacks registered to, and closes any sockets connection opened for message exchange. This has to be the last funtion called, as it detaches the soap struct attached to the runtime environment.
Performance
The SOAP/XML services performance is highly driven by XML-Native Data type mapping, XML (de)encoding, XML Call Latency, floating point data type handling. gSOAP preprocessor translates XML directly into application data and vice versa. It uses an optimized two phase serializing algorithm [8] which reduces the runtime checking of object/pointer references. This, in turn, improves the latency/roundtrip messages achieved per second. Looking at the performance of wrt, .NET, and Axis Java frameworks, it gives as much as 50 to 100% performance gain (depends on the network condition and machine configuration). We did performance analysis using gSOAP, .NET, and Axis Java by implementing the same basic Web services on each, and invoked the service from a Java client on the network. The Computer configuration used is :RAM 512MB, Windows XP, Intel(r) Pentium(r) 4CPU, 2.80GHz,2.79GHz. Results retrieved are as shown in Figure 3.

As you can see in Figure 3, gSOAP performed around 5% better than .NET and approx. 100% better than Axis Java on similar network conditions.

Conclusion
The introduction of Web services and the advantages offered using gSOAP has made the migration of complex C/C++ business and scientific applications to a Web-based environment easier. Web service standards such as SOAP, Representational State Transfer (REST), and XML-RPC facilitate integration of such legacy applications over the Internet. SOAP/XML is a mechanism to integrate existing C/C++ programs with other client-side technologies. This article provides insight on how to expose an existing C/C++ functionality as a Web service using the open source gSOAP Library.

References
[1]  Pistol, C., and Lungu, A. "Deploying C++ Grid Services: Options and Performance":
www.cs.duke.edu/~anda/cps296.5/final_projects/PaperWS.pdf

[2]  gSOAP: www.cs.fsu.edu/~engelen/soap.html

[3]  Apache Axis C++: http://ws.apache.org/axis/cpp/index.html.

[4]  Rogue Wave's LEIF: www.roguewave.com/products/leif/

[5]  Systinet Server for C++: www.systinet.com/products/ssc/overview

[6]  gSOAP 2.7.8 User Guide: www.cs.fsu.edu/~engelen/soapdoc2.pdf

[7]  Struct soap definition: www.cs.fsu.edu/~engelen/stdsoap2.h

[8]  Toward Remote Object Coherence with Compiled Object Serialization for Distributed Computing with XML Web Services:
www.cs.fsu.edu/~engelen/cpcpaper06.pdf

[9]  Gupta: Masters Project Report.

SOA Web Services Edge Conference Call For Papers Now Open
SOA Web Services Edge East 2007 Conference & Expo and Enterprise Open Source 2007 Conference & Expo, both to be held June 25-26, 2007, announce that their Call for Papers is now open. Topics include all development and management aspects of Web services and Service-Oriented Architecture plus all development and management aspects of Open Source technology.

SOA Web Services Edge 2007 - International Conference & Expo 

According to industry analyst firm Gartner Group, by 2008 more than 60 percent of enterprises will use SOA as the guiding principle when creating mission-critical applications and processes. "Businesses that ignore the potential of SOA will find themselves outpaced by rivals who improve their agility and transform themselves into new kinds of enterprises," says Gartner analyst Yafim Natis.

Help with that transformation: submit your speaking proposal today. Topics will include:

  • Transitioning Successfully to SOA
  • Federated Web services
  • ebXML
  • Orchestration
  • Discovery
  • The Business Case for SOA
  • Interop & Standards
  • Web Services Management
  • Messaging Buses and SOA
  • Enterprise Service Buses
  • SOBAs (Service-Oriented Business Apps)
  • Delivering ROI with SOA
  • Java Web Services
  • XML Web Services
  • Security
  • Professional Open Source
  • Systems Integration
  • Sarbanes-Oxley
  • Grid Computing
  • Business Process Management
  • Web Services Choreography

Speaker Candidates
Ideal candidates are i-Technology experts who have first-hand experience in the development and/or implementation of Web services, .NET, MX, or Java applications, XML-based technologies, and service-oriented architectures in general. .NET and Java developers involved in building, deploying, or maintaining Web services and IT/IS management involved in IT integration and related issues are also welcome.

If you have something substantive, challenging, and original to offer, you are encouraged to submit a proposal. In the proposal, please highlight previous speaking engagements including classroom or course work. Please provide at least three references with respect to speaking ability, as well as contact information that will allow us to reach you to evaluate presentation skills. Past speakers do not need to provide references.

Enterprise Open Source 2007 - International Conference & Expo

In the world of Enterprise Open Source software, the code is free and open but you can pay for things such as support, packaging, and/or reliable distributions. This conference aims to help attendees navigate the choppy waters between what JBoss CEO Marc Fleury calls "the expectations/perceptions of the open source community and the reality of sustaining the kind of software and services that professional IT management can be comfortable signing off on."

Help with that navigation process: submit your speaking proposal today. Topics will include:

  • Open Source Licenses
  • Open Source & E-Mail
  • Databases
  • ROI Case Studies
  • Open Source ERP & CRM
  • Open-Source SIP
  • Testing
  • LAMP Technologies
  • Open Source on the Desktop
  • Open Source & Sarbanes-Oxley
  • IP Management

Speaker Candidates
Ideal candidates are i-Technology experts who have first-hand experience in building, deploying and developing the Open Source environment , perl, php, Python, Apache, Eclipse, Symbian, LAMP, MacLAMP, mySQL.

If you have something substantive, challenging, and original to offer, you are encouraged to submit a proposal. In the proposal, please highlight previous speaking engagements including classroom or course work. Please provide at least three references with respect to speaking ability, as well as contact information that will allow us to reach you to evaluate presentation skills.

Benefits of Being a Member of the 2007 Faculty
Speakers will receive unprecedented visibility in pre-conference promotion in print and online. They will also receive exposure via the accompanying Web Services Edge 2007 East conference portal for many months prior to and following the conference. Sessions may be recorded and made available via the Internet to a wider audience (at the discretion of SYS-CON Events). Speakers will have the benefit of attending the entire conference as our guest.

"SOA Web Services Edge" and "Enterprise Open Source" Conference 2006 Sponsors Included:

Adobe
Adobe revolutionizes how the world engages with ideas and information - anytime, anywhere and through any medium.For more than two decades, the company's award-winning technologies and software have redefined business, entertainment, and personal communications by setting new standards for producing and delivering content that engages people anywhere at anytime.

Apress
Apress is a publishing company devoted to meeting the needs of programmers and IT professionals. Apress' unique approach to computer book publishing grew out of conversations between Dan Appleman and Gary Cornell, Apress' founders, who believe that too many programming books are of such low quality that they are a complete waste of time. Computer professionals need quality books that are not just rehashes of documentation.

Backbase
Backbase offers Rich User Interface / AJAX software to enable web developers to create a much richer user experience for their online applications. Our AJAX technology combines the "reach" of web applications with the "richness" of desktop applications. Backbase AJAX software can be used with a normal web browser, without the need to install plug-ins such as Flash or Java. Backbase includes a complete development and runtime environment, which makes development of AJAX applications efficient.

CalAmp
CalAmp is a recognized leader in satellite DBS technology, wireless networks, software application development, embedded computing and enterprise mobility. Our solutions enable anytime/anywhere access to critical information, data and entertainment content. With comprehensive capabilities ranging from enterprise consulting to product design and development to volume production, CalAmp delivers cost-effective, high-quality, and specially chosen technologies to a broad array of customers and end markets. These include the telemetry and asset training markets, public safety communications, the healthcare industry, and digital multimedia delivery applications. The Enterprise Solutions Group (ESG) represented here at the SOA Web Services Expo, works with global enterprises on the design and deployment of cutting-edge IT and software application platforms. Our products and services offer robust and scalable SOA and Web Services solutions with a proven success record in a variety of industries including Retail, High-Tech, and Digital Media.

Cassatt
Cassatt is an enterprise software and services company delivering solutions that turn an organization's current IT infrastructure into a dynamic, virtual pool of resources that can be tapped on demand. Goal-driven automation from Cassatt continuously optimizes IT resources to meet business service level agreements, dramatically improving IT responsiveness while slashing costs. Based in San Jose, California, Cassatt is a privately held company led by BEA founding Bill Coleman, with financial backing from NEA and Warburg Pincus. For more information, visit http://www.cassatt.com

Centric CRM
Centric CRM is the developer of the world's most advanced, Enterprise Open Source Customer Relationship Management system, Centric CRM. Under development for seven years, Centric CRM comprises over 2-million lines of code representing 50 man-years of development. Its advanced Java/J2EE, web-based, and object-oriented architecture runs on all standards-based platforms. It's used today by Fortune 500 companies in large configurations and by thousands of smaller businesses. Centric CRM includes all common CRM modules and adds significant capabilities such as cross-module Action Plans, collaborative Project and Document Management, Customer Surveys, and sophisticated Help Desk functions. These tools help companies create a rich 360° view of their customers. Centric CRM is THE system of choice for enterprises deploying or upgrading CRM technology that are serious about security, scalability, and robust features. And all in a package that is low cost and easy to use, deploy and maintain. Centric CRM—Built for the Enterprise...Open to All.

Chariot Solutions
Chariot Solutions is a technology services firm dedicated to helping organizations improve productivity through effective business process automation. Our consultants possess a rare combination of industry and deep technical expertise, uniquely qualifying them to design, develop, support and tune mission critical systems for our clients.

Composite Software
Composite Software is the leader in on-demand enterprise data integration. Our Enterprise Information Integration (EII) technology and solutions allow companies to find, access, combine, and deliver on-demand information from critical data sources located in disparate sources across the enterprise, including SAP, Siebel, and Oracle applications. Our solutions enable companies to deploy enterprise data services within a Service Oriented Architecture (SOA) using Web services, or simply using a traditional SQL-based approach. We present information as a single data-services layer to enable you to easily build information applications.

Exadel
Exadel, Inc. is a leading provider of software, services and support that enable companies to create mission-critical business applications based on open source and Java technologies. Offering unmatched expertise at building reliable business solutions, Exadel solves real business problems for hundreds of domestic and international clients, including ABN AMRO Bank (www.mortgage.com), AT&T, Bank of America, eBay, Echopass, GE, Honeywell and Time Warner. Exadel’s fast, scalable and cost-effective solutions reduce application lifecycle costs and development time, eliminating vendor lock-in and improving overall client productivity.

Exadel's commercial product line includes Exadel Studio Pro and Visual Component Platform. Exadel's open source contributions include Enterprise Component Platform and AJAX for JSF.  Exadel services include custom online and onsite training, Exadel Development Boost and Exadel Professional Services. Founded in 1998, Exadel is privately owned and located in the San Francisco Bay Area with development offices located in Chicago, Minsk, and Moscow.  For more information, go to www.exadel.com or call 1.888.4EXADEL.

Ingres
Ingres Corporation is the world’s leading provider of business open source relational databases for companies of all sizes. Ingres’s mission is to supply the market with the best database technology at a price point that enables customers, both large and small, and partners to reduce their Total Cost of Ownership. Based in Redwood City, California, Ingres is a young and dynamic company. Ingres was formed as a partnership between Computer Associates and Garnett & Helfrich Capital with a product range that has loyal customer base, many of whom have been using the technology for more than a decade.

Metallect
Metallect helps enterprises adopt and govern Service Oriented Architectures. Metallect's IQ Server uses advanced semantic inferencing and metamodeling to guide organizations through all stages of the service development and governance lifecycle. In the design phase, IQ Server discovers and maps common business services to legacy application logic that may be appropriate for promotion as a services or integration with newly developed services. Instances of duplicative or redundant logic can be rapidly identified, consolidated and deleted. In development, IQ Server addresses service and logic dependencies to enable rapid assessment and impact analysis. Post deployment, IQ Server provides an auditing solution for managing governance of ongoing service creation, modification and sun-setting policies. Regardless of whether you are just beginning your SOA initiatives or at the point where you need to manage policies governing existing services, don't continue on without the detailed logic-level knowledge Metallect's IQ Server delivers.

Optaros
Optaros is a consulting and systems integration firm that helps enterprises solve IT business problems by providing services and solutions that maximize the benefits of open source software. Bringing together experts in creating enterprise IT solutions and experts in the power of open source, Optaros plans and builds business systems that give you better value today and increased control in the future. For more about Optaros, go to www.optaros.com

OSS Nokalva
OSS Nokalva solutions enable enterprises to efficiently process XML in web applications significantly reducing the verbosity and overhead of SOAP/XML. Our standards-based binary XML solutions are perfect for Web Services in resource-constrained and/or bandwidth-constrained environments. Both FAST SOAP and Traditional XML SOAP messages are supported in our solutions, allowing speed where it is needed while maintaining the ability to communicate with traditional XML based peers. Founded in 1988, OSS is a leading vendor of software development toolkits that empower companies worldwide to rapidly and reliably develop standards based solutions for XML, Web Services, ASN.1, and Biometrics. OSS solutions are deployed in several applications including mission-critical systems in Telecommunications, Space and Military applications. OSS serves 900+ customers including several major global corporations such as Cisco, IBM, Motorola, Siemens, Verisign, Ericsson, Sun, HP and many others. Several OSS employees are active participants in the W3C Efficient XML, OASIS and ASN.1 Standards Groups.

Parasoft
Parasoft is the leading provider of innovative solutions for automated testing and analysis within the software development lifecycle. Parasoft products and services enable software developers and IT organizations significantly to enhance total software quality and security, accelerate time to market, dramatically reduce development expenses, and increase end-user satisfaction.

In a Web services environment, business processes contain services that can span applications, departments and organizations. Component-based tests at the message and implementation layers are critical for ensuring service integrity and stability. Parasoft solutions for SOA help predict and prevent potential problems, detect and remove existing problems, and build applications that can recover if an error does occur.

Rogue Wave Software
Rogue Wave Software, a division of Quovadx, Inc. (Nasdaq: QVDX), provides reusable software components and services to professional developers for enterprise-class, high-performance application development, including Rogue Wave® Hydra, LEIF, SourcePro® C++, and Stingray®. Today, thousands of developers at some of the world's leading companies have used these products to develop mission-critical applications. Rogue Wave Software operates throughout the United States, Europe and Asia. For more information, please visit http://www.roguewave.com.

SugarCRM
SugarCRM is the world's leading provider of commercial open source customer relationship management (CRM) software for companies of all sizes. SugarCRM's mission is to provide the most innovative, highest quality, easily customized and most appreciated business tools created by the open source development and business models. SugarCRM develops solutions by actively engaging the CRM community, consisting of users, customers, developers and experts, and incorporates their needs, opinions and experiences into the solution.

Web Age Solutions
Web Age Solutions understands that unique business processes and services are integrated into every Application Development strategy. Since 1999 we have been a frontrunner in providing technical education solutions for Fortune 500 organizations implementing these critical processes and technologies. Years of expertise in Web Services, WSDL, XML and SOAP, coupled with substantial knowledge of environments such as WebSphere, WebLogic, JBoss; uniquely positions Web Age to now offer solutions in Service Oriented Architecture (SOA). Additionally, Web Age has the in-house expertise to deliver vendor specific, customized training, based on how each company may choose to implement SOA. Web Age differentiates itself by moving far beyond basic SOA offerings of theory, which are often conceptual and vendor-generic in nature. Regardless of platform, and whether the job role is Business Analyst, Administrator, Developer, Architect, Tester, Manager or Executive, Web Age is able to assist corporations with all phases of SOA planning, training and implementation.

The first international AJAXWorld Conference & Expo which took place on October 2 - 4, 2006, at the Santa Clara Convention Center in Santa Clara, CA is sponsored by Adobe, Amazon, Apress, Backbase, ComponentArt, Cynergy Systems, Google, Helmi Technologies, IBM, ICEsoft, ILOG, Infragistics, JackBe, Laszlo Systems, Nexaweb, OASIS, Parasoft, Sun Microsystems, telerik, TIBCO, U7 Web Technologies, Visible Measures, Zapatec; including media sponsors AJAX Matters, AJAXWorld Magazine, BZ Media, ColdFusion Developer's Journal, DevtownStation.com, Eclipse Developer's Journal, Eclipse Review, Enterprise Open Source Magazine, Integration Developer News, ITtoolbox.com, Java Developer's Journal, LinuxWorld.com, Methods & Tools, Network World, Open Enterprise Trends, Sarbanes-Oxley Compliance Journal, SD Times, Software Test & Performance, SOA Web Services Journal, SYS-CON.TV, Web 2.0 Journal, and Web Developer's & Designer's Journal.

To date, more than 50 organizations have joined the OpenAjax Alliance, including:

Adobe
Ajaxian
American Greetings (AG/Interactive)
Backbase
BEA
Bling Software
Borland
Curl
Dojo Foundation
Eclipse Foundation
edge IPK
eLink Business Innovations
ENOVIA MatrixOne
Fair Isaac
Finetooth
The Front Side
Google
IBM
ICEsoft
Ikivo
ILOG
IN2
Innoopract
Intel
IT MILL
JackBe
Javeline
JWAX
Laszlo Systems
Merced Systems
Mozilla Corporation
Nexaweb
Nitobi
Novell
OpenLink Software
Openwave Systems
Opera
Oracle
Red Hat
SAP
Scalix
Seagull Software
Sitepen
Software AG
Sun Microsystems
Tibco
Vertex Logic
Vircom
Webtide
XML11
Zend Zimbra
Zoho

More Stories By Mohit Chawla

Mohit Chawla is a software engineer with the Web Services Center of Excellence at Infosys Technologies, Hyderabad. His primary area of interest is SOA, with a specific focus on Web services implementations on various platforms. He is also interested in developing applications using emerging WS-* standards. His current is currently focused on SOA-based enablement of legacy systems.

More Stories By Vijaya Bhaskar Peddinti

Vijaya Bhaskar Peddinti is a Software Engineer with Web Services Centre of Excellence in SET Labs, Infosys Technologies, Hyderabad. His experience has been in product development of various sizes based on SCA.

Comments (3) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Larry Klien 07/24/07 07:42:59 AM EDT

You should also give wsdlpull a shot. Its just a client only web services tool and easier than gsoap to use for invokiing web services. You dont need to write any code and it works from command line straight away.

mdavis 02/28/07 04:17:40 PM EST

Wow, you forgot one very slick product, Artix. It not only exposes C++ applications but it also produces new C++ applications easily for SOA/webservices integration. See http:\\www.iona.com.

Oisin Hurley 12/19/06 06:07:14 AM EST

You missed out on one product in this space - Artix - it's a multiprotocol ESB that supports exposing C++ applications as Web Services using your existing protocol/transport infrastructures. See the website: http://www.iona.com/products/artix/?WT.mc_id=1234515