Axis « SOA Web Services « Java Articles

Java Articles
1. Build Deploy
2. Class
3. Core Library
4. Data Types
5. Database JDBC
6. Design
7. Development
8. File Input Output
9. Graphics Desktop
10. J2EE Enterprise
11. J2ME Wireless
12. JVM
13. Language
14. Library Product
15. Network
16. Security
17. SOA Web Services
18. Test
19. Web Development
20. XML
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Products
Java by API
Photoshop Tutorial
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Articles » SOA Web Services » Axis 
1. Web Services Messaging with Apache Axis2: Concepts and Techniques
"Until recently, web service interactions were solely synchronous and request-response in nature. However, it soon became clear that the synchronous request-response type of interaction is a very small subset of messaging scenarios. Messaging is very important in constructing loosely coupled systems, and as a result, this limitation is critical. Web service specifications, such as WS-addressing and WSDL, have incorporated the concepts of messaging, and lay the foundation to cover a wider range of messaging scenarios. The Apache Axis2 architecture assumes neither one message exchange pattern, nor synchronous/asynchronous behavior. This article explains messaging concepts and how Axis2 can be used to implement several well-known messaging scenarios."

2. Creating Web Services with Apache Axis
"Web services have been a buzzword for a while. A friend used to say "Web services are like high school sex. Everyone is talking about doing it, but hardly anyone is, and those that are probably aren't doing it well." These days, though, Web services are moving to college, so to speak, and lots of people are starting to "do it" more often and better than before. Tools are maturing, and creating and working with Web services isn't all that hard anymore."

3. Axis, Axis2 and CXF: Surveying the WS Landscape
"Whichever framework you choose, you'll have the benefit of an active and stable open source community. Each of these frameworks has corporate backing: Axis2 is backed by WSO2, and CXF by Iona. Both have lively developer communities. Axis2 has been around longer but CXF is catching up quickly. My recommendation is this: If multilanguage support is important, Axis2 is the clear choice. If you care about an implementation focused on Java with tight integration into projects like Spring, CXF is a better choice, particularly for embedding web services inside of other programs. If the new features in these projects are not important, and you're relatively happy with Axis1, you should consider staying on this and keep up with the latest maintenance releases until you have a business reason to migrate."

4. Contract-First Web Services with Apache Axis2
"When implementing Web services, there are two alternative development paths you can take: the code-first approach and the contract-first approach. This article drills down into the contract-first approach in detail and shows how the Axis2 code generator can be used to generate code for the server side with the contract-first approach."

5. Invoking Web Services using Apache Axis2
"The above XML segment is called the response payload. You can find the complete source code for this scenario in Scenario1Client.java inside the file invoking-web-services-using-apache-axis2.zip, found in the Resources section below."

6. Introducing AXIOM: The Axis Object Model
"XML has become one of the major technologies used today for business integration software evolution. Lots of object models are being used today to manipulate XML in various ways. AXIOM will improve XML manipulation by providing a new lightweight object model built around pull parsing, enabling efficient and easy manipulation of XML. AXIOM is the object model for Apache Axis 2, the next generation of the Apache web services engine. AXIOM is different from existing XML object models in various ways, the major one being the way it incrementally builds the memory model of an incoming XML source."

7. Apache Axis Live excerpt
"This book excerpt is from "Apache Axis Live" by James Goodwill, copyright 2004. All rights reserved. This chapter is posted with permission from SourceBeat."

8. Axis2: The Next Generation of Apache Web Services
"Apache Axis2 is an effort to incorporate the latest changes in the Web services space and to improve performance and efficiency. During a face-to-face meeting in Colombo, Sri Lanka, in August 2003, some of the leading architects of Apache Axis 1.x got together and initiated Apache Axis2, the next generation of Apache Web services. A new architecture was introduced to fulfill the current demand, taking the best patterns and usage scenarios from Axis 1.x. Key improvements and new features included:"

9. Service Oriented Architecture with Apache Axis > Its All About Service Now
"The left section of Figure 1 shows an IT infrastructure that implements a service-oriented architecture (SOA). This infrastructure offers a range of services to the functional and human users on the right. The exported services can be consumed immediately (for example, an end user automatically downloads a batch of operating system updates) or they can be combined to form other services. How does this mode of use differ from traditional IT infrastructure?"

10. Web services and Axis2 architecture


11. Transform Java classes into Web services using Axis2 and JiBX, Part 2: Turn your XML into a fully functional Web service
"You should now be an JiBX-Axis2 Web service developer, capable of turning several of your favorite Java classes into Web services using Axis2 and JiBX."

12. SOA development with Axis2, Part 1: Understanding Axis2 basis
"AXIOM (AXIs2 Object Model) is the base for Axis2, where any incoming SOAP message is represented as AXIOM inside Axis2. The advantage of AXIOM over other XML representations is that it is based on a pull parser technique, while most others are based on a push parser technique. The main difference of pull over push is that in the pull technique the invoker has the full control on the parser and he can ask for the next event, where as in the case of push, when we ask the parser to proceed it will fire the events until it reaches the end of the document."

13. Transform Java classes into Web services using Axis2 and JiBX, Part 1: Use XML to define a Web service from your Java classes
"Web services are increasingly more important in day-to-day development, and one of the more popular open source platform choices for developing Web services is Axis2. Written in the Java language, Axis2 can leverage a great deal of freedom from JiBX, a framework for binding XML to Java. Meaning, you already have a Java project, full of your Java classes and data structures, and you don't want to mess with, or change them whatsoever. JiBX allows this by binding XML data used by Axis2 to your Java classes. Advantages of this include easier code maintenance because the Web service will just use your already developed, tried and true Java classes."

14. Develop Web services with Axis2, Part 1: Deploy and consume simple Web services using the Axis2 runtime
"Deployment of the service in Axis2 is quite simple; just copy the .aar file to the axis2/WEB-INF/services directory in the axis2 Web application in your servlet container. In case of Tomcat, it will be $TOMCAT_HOME/webapps/axis2/WEB-INF/services."

15. Java Web services, Part 2: Digging into Axis2: AXIOM
"Apache Axis2 1.1 has been released and offers exciting new features to fans of the long-running Apache series of Web services frameworks. We'll cover Axis2 itself in a future article, but this article digs into the AXIs Object Model (AXIOM) XML document model that lies at the core of Axis2. AXIOM is one of the major innovations behind Axis2, and one of the reasons Axis2 offers the potential for substantially better performance than the original Axis. This article guides you through how AXIOM works, how various parts of Axis2 build on AXIOM, and then finishes with a look at how AXIOM performance compares to other Java? document object models."

16. Programming JMS applications using AXIS
"JMS defines a standard way for Java applications to create and exchange messages via Message Oriented Middleware (MOM) . You will be using MQSeries as your MOM. You will be developing a Point to Point (P2P) message based system, which allows messages to be exchanged between the producer and the consumer through a channel called a queue. A queue is a destination to which a producer sends messages and from which the receiver takes messages. Each message is consumed by only one receiver in this model."

17. Java Web Services, Part 3: Axis2 Data Binding
"Another alternative, if you're using Java 5 or later, is to use Java Architecture for XML Binding (JAXB) 2.0 and Java API for XML Web Services (JAX-WS) annotations to expose your data objects and service classes as Web services. These annotations don't offer the same level of customization as Jibx2Wsdl provides, but they let you embed your configuration information directly in the source code, which some developers find appealing. Axis2 provides experimental support for JAXB 2.0 and JAX-WS as of the 1.2 release, and this will improve in future releases. Future versions of Jibx2Wsdl may also support using JAXB 2.0 and JAX-WS annotations as customizations. (A future article in this series will cover JAXB 2.0 and JAX-WS in more depth and come back to this topic of generating WSDL from code at that time.)"

18. Online banking with Apache Geronimo and Axis2, Part 3: The client: Using the Web service
"Time to complete your example online banking application. In this final installment of the three-part tutorial series, you'll use Apache Geronimo, Axis2, and the Web service you built in Part 1 and Part 2 to create a user interface (UI) that will allow users to view and modify their personal banking data."

19. Migrating Apache Axis apps to Axis2 using Apache Geronimo
"Apache Axis and Axis2 were designed to streamline the process of creating Web services. From Web Services Description Language (WSDL), both Axis and Axis2 automatically generate the Java? classes -- using the WSDL2Java tool -- that you need to construct and deploy your Web service on Apache Geronimo."

20. Introducing Axis 2, the Next Generation of the Apache Web Service Stack
"Srinath Perera is a principal architect for Axis2, and his expertise are in Web services, J2EE, and XML-processing technologies. He is a PMC-Member of the Apache Web Service Project and is a committer of Apache Projects, Geronimo, Axis, EWS and Axis2."

21. Developing Java Web Services with AXIS
"Apache Axis has made developing Java Web services a breeze. In this article, I will discuss some guidelines that prove to be very helpful when developing Java Web services using Axis. This article discusses the customization of Axis and the deployment of Web services; it does not discuss the theory of Web services, XML, Java, and so forth."

22. Utilizing a Non-Java Web Service with Axis2
"In simple terms, Axis2 is not just the next version of the Axis 1.x family; rather, it is a revolutionary version of Axis 1.x. Axis2 is no longer bound to request-response Web service invocation. As in the Axis 1.x family, there is no turning point like the "pivot point" in Axis2, and Axis2 is built totally on keeping asynchronous Web service invocation in mind. Axis2 acts as a pipe that carries the SOAP message from one end to other. The entry point to the pipe is a transport receiver, and the end point is a message receiver. After handing over the message to the message receiver, Axis2 does not care about the message. Therefore, it's up to the message receiver to invoke the service and send the response, if any, so service implementation class(es) need not always be a Java class; it can be something else as well."

23. The Axis2 Transport Framework
"As mentioned earlier, Axis2 is transport independent and it does not care about the type of the senders and receivers, or all the transport-related code written using interfaces. It is very easy to implement those interfaces and extend the transport framework. Therefore, adding and removing a transport sender/receiver is not a headache; implementing a transport for a given protocol is just a matter of implementing the sender and receiver and register them in axis2.xml. At last, the Listener Manager API is very useful for applications such as BEPL, WS-Eventing, and WS-Notification, and so on."

24. Axis2 Execution Framework
"Axis2 is fair enough to provide Web service interaction with dynamic and flexible execution framework. Flexibility is achieved using the concept of phases and phase rules, and the dynamic nature of the execution chain has been achieved by runtime module engagement."

25. Writing an Axis2 Service from Scratch
"Message context is the property bag + the incoming SOAP message representation in Axis2. There are some services that want to access message context inside its service implementation class; one probable use case could be to access a transport header inside the service and make a decision on that. Axis2 uses a technique called dependency injection to inject message context to the service implementation class; Axis2 uses Java reflection for that. So, if the service wants to access message context inside its service implementation class, it has to add a method called setOperationContext to service the implementation class as follows."

26. The Axis2 Information Model
"As you can see from the preceding code, the axis2.xml file has parameters that can be defined in different levels as well. Here, you have parameters at the top level as well as inside transports. Parameters mainly are used to configure the system and to provide configuration data that may be needed at runtime. For example, if you need to log some request to a particular location, that location can be provided by using a parameter. Parameters are designed to store primitive data types (string, int, double, and so forth), OMelements, and the like, but NOT any type of objects. Even though storing object types inside a parameter is not invalid, it is not the correct method to follow."

27. Embedding Apache Axis2 into Existing Applications
"Once you follow the steps above, you have completed the process of all the configurations required to embed Axis2 to an existing application. Now,look at how you are going to share the libraries."

28. Understanding Axis2 Deployment Architecture
"The flexibility and extensibility of Axis2 is focused mainly on its deployment descriptors. Because all these descriptors are XML-based, the extensibility nature of XML has reflected to Axis2 as well. There are three main deployment descriptors in Axis2, as follows:"

29. Axis2 Session Management
"In the case of a Transport session, Axis2 uses transport-related session management techniques to manage session. As an example, in the case of HTTP, it uses HTTP cookies to manage the session. The lifetime of the session is controlled by the transport, not by Axis2; Axis2 stores the service context and serviceGroupContext in the transport session object so that the service can access those contexts as long as the session lives."

30. Working with Axis2: Making a Java Class into a Service
"It is possible to write POJO applications with object arrays, and you can have an object array as a field of a bean and as a method in a Service class as shown below. It should be noted here that an object array can be any kind."

w___w__w_.___j___ava__2s___.___c_o___m_ | Contact Us
Copyright 2003 - 08 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.