WebServices,Interoperability,I computer WebServices Interoperability


Gone are those times when the companies and the organisations didn't need a hi-tech system to handle them. Owing to the considerable increase in the business sector and thus, an enormous increase in the complexity of the organisational struc ----------------------------------------------------------Permission is granted for the below article to forward,reprint, distribute, use for ezine, newsletter, website,offer as free bonus or part of a product for sale as longas no changes a


IntroductionMore and more we're finding that WSDL lies at the heart of Web services interoperability. WSDL is the description language for Web services. Usually a WSDL document is automatically generated by Web services framework tools (e.g., Axis, WASP WSDLCompiler) from the code written in a particular programming language. Developers can use the WSDL document to generate client-side stubs or proxies, which provide convenient access to Web services. Thus the key to enabling seamless Web services interoperability is the ability of one Web services framework to consume the WSDL documents generated by other frameworks. The WSDL interoperability effort is just taking off. You can see further details at http://soap.systinet.net/interop/wsdl/index.html. How to not get trappedThe following subchapters give you some basic tips on how to write interoperable Web services using today's Web services frameworks. These tips may significantly ease your life as well as the lives of other developers who will use your Web services. Hopefully some of those tips will be outdated soon. Keep your types simple - avoid advanced XML Schema constructsThe XML Schema standard is very complex and difficult to implement. Moreover, XML Schema processing is quite time consuming, so many frameworks sacrifice full XML Schema support for performance. Some advanced XML Schema constructs (e.g., choice) are quite hard to express in a programming language, and few Web services frameworks support them. So the key success factor in Web services interoperability is to use basic data types, such as primitive data types, arrays, and structures. As a best practice, decompose the complex types in your interfaces into simple and clean interfaces with basic data types. Also avoid using specific techniques (e.g. INOUT parameter passing) that aren't widely supported. Sample ArchitectureLet we see the architecture of my sample application which uses web services along with messaging concepts.Here 3 web services are used. Two web services, Place Order and Get Order are developed and deployed in Java environment and another one, Send Message is in C# environment. The Ordering System calls the Place Order web service to place an item to order. The Place Order web service stores that item and notifies the Java Expeditor Client through JMS. After the intimation message has come from JMS the Java Expeditor Client calls the Get Order web service to retrieve the ordered items and details. The same Place Order web service calls the another web service, Send Message to send the message to MSMQ, then the Notification message is sent to the C# Expeditor Client from MSMQ. After the intimation message has come from MSMQ, the C# Expeditor Client calls the Get Order web service to retrieve the ordered items and details. Here functionality of the Java Expeditor and C# Expeditor Client are same except that they are developed in different platform to illustrate the interoperability of web services. So here its proved that web service Get Order, which is developed and deployed in Java environment is accessed from the C# Expeditor client and the web service Send Message, which is developed and deployed in C# environment is accessed from Place Order web service of Java environment.Accessing Java Web Service from C#To invoke the Get Order web service in C# Expeditor Client application, we are going to Add Web Reference to the Get Order web service. The steps to be followed to do this are,In Project menu, click Add Web Reference…In the URL box type http://localhost:8888/axis/servlet/AxisServlet (or u can give the web service URL)Now it will show the list of services that are available. From that select Get Order (wsdl) link.Click Add Reference button.We need to create a proxy client to access this web reference. For that we need the wsdl file of that particular web service.Save WSDL file The AxisServlet generates the wsdl file for the web service. To get the wsdl for Get Order Web service, Type this URL in browser: http://localhost:8888/axis/servlet/AxisServlet. Click on wsdl link belongs to Get Order Web service.It will display the wsdl xml content. Save this content with .wsdl extension.Create Proxy Client For the creation of proxy client we can utilize the wsdl tool of Microsoft Visual Studio. Now, open the Command Prompt (preferably the Visual Studio.NET Command Prompt, which verifies the PATH environmental parameters are set correctly). Navigate to the directory containing the GetOrder.wsdl file. Type the following at the command prompt: wsdl /o:GetOrderService.cs GetOrder.wsdl Now the GetOrderService.cs file will be created. This is the proxy class for the referenced web service. So, add this file into the assembly of your C# project. By making instance to this proxy client we can call the Get Order Web service as the following code,GetOrderService GOService = new GetOrderService ();string strOrders;strOrders = GOService.getOrder (); Accessing .Net Web Service from JavaFor accessing the .Net web service we can use the org.apache.soap package and it sub package rpc. We need to provide the Service URL, Target namespace and the Soap Action which is present in the wsdl file. By using the Call class we can invoke the Web service method as in the following code:String URLString = "http://localhost/WebService1/Service1.asmx";String TargetNamespace = "http://localhost/WebService1/Service1";String SOAPAction = "http://Walkthrough/XmlWebServices/sendMessage";URL url = new URL (URLString);//setup a the invocationCall call = new Call();call.setTargetObjectURI (TargetNamespace);call.setMethodName ("sendMessage");call.setEncodingStyleURI (Constants.NS_URI_SOAP_ENC);Response resp = call.invoke (url, SOAPAction);Messaging ConceptsIn the given architecture, u can see the JMS and MSMQ messaging concepts are used. Here the brief notes on these concepts.JMSJMS is a set of interfaces and associated semantics that define how a JMS client accesses the facilities of an enterprise-messaging product. Enterprise messaging is recognized as an essential tool for building enterprise applications and Ecommerce systems, and JMS provides a common way for Java programs to create, send, receive, and read an enterprise messaging system's messages.You can learn more about JMS in the following URL: http://www.chrispeiris.com/articles/JavaMessageService.html MSMQMicrosoft Message Queuing (MSMQ) technology enables .net applications running at different times to communicate across heterogeneous networks and systems that may be temporarily offline. Applications send messages to queues and read messages from queues. You can get more details on MSMQ from http://www.microsoft.com/windows2000/technologies/communications/msmq/default.asp ConclusionIn this part of the Web services tutorial we learned how to write interoperable Web services. All examples were focused on the integration of MS .NET and Java. We demonstrated that Web services technology gives us the opportunity to pick the best technology for each particular piece of our system. Some of us may want to know how to create web services in Java and C#, and also more details on integration of JMS and MSMQ with web services. Those things we are not discussed here. If you have doubts on those areas, please feel free to contact me at [email protected]

WebServices,Interoperability,I

computer

Equipment Rental Software – Features And Cost

Equipment rental management software is an essential thing these days for any equipment rental company.A well-developed equipment rental software provides you with a variety of features that can really help you maintain and organise your cus ...

computer

5 Big Reasons Why I Migrated From Angularjs To React

I have 5 main reasons for my angularjs to react migration. No, it's not a comparison on which is better. A comparison between apples and oranges would make no point. React is a library, and angular is a framework. Both can do stuff in their ...

computer

How to troubleshoot McAfee error 2318?

Security software means McAfee! For many computer users, McAfee antivirus is the only choice for security software as it provides all the features and tools which are necessary for device and data protection. This robust antivirus merely sho ...

computer

Manage Multiple Counter With AlignBooks Point of Sale

Fulfilling your businesss needs which can grow your firm is our aim. AlignBooks is better known for providing a strong pillar to newly started or midway businesss. Those companies who dont want to fall back with irregularity manage the inven ...

computer

How to Autoplay Embedded YouTube Videos

Source: How to Autoplay Embedded YouTube VideosEmbedding a video or audio enables the users to share their videos with any of their preferred sites or any social networking platforms. They can do so by copying the embedded link of the parti ...

computer

3 Major Mistakes to Avoid in Retail Business

Truth be told, nearly half of the retail businesses survive longer than four years and which can be something to ponder for a newbie before stepping into the industry. However, this being said, it is also true that you can excel in the indus ...

computer

Start Your Own Computer Repair Business

1. Know your street value. In the early 90's, running a PC repair business centered around selling parts and products, with service on the side. Today, it's about selling hours. If you run a business, you need to consider the X3 rule. That m ...

computer

How Establishments Show Up in Restaurant Searches

The revolutionary rise of technology has made things easy-peasy for consumers in the restaurant industry. Unlike the old days, the availability of innumerable platforms has made it possible for diners to choose from various searching options ...

computer

GuildWars 2 :

The last expansion pack for Guild Wars 2 was Path of Fire, which was released in 2017 and brings you a new enemy-Balthazar, the evil god of war. Although this doesn't sound like another expansion pack currently in production, some fans ma ...

computer

Customer Support at the time of COVID-19 Pandemic

COVID-19 is the worst crisis of our time as we observe social distancing protocols being imposed all around the world. While these measures are a step in effectively managing the COVID-19 pandemic, Hospitality and Retail businesses are confr ...

computer

How to Choose a Contract Management Solution (CLM)?

Contract life cycle management (CLM) systems can simplify and automate contract creation, negotiation, execution and storage. They are an intelligent alternative to the tedious hand tools formerly used for these tasks, which lacked visibili ...

computer

Contacting Google Live Person to Resolve Your Issues

Users are fond of all the Google supported products and look forward to the best services. Also, Google as a whole has never disappointed its users and helped them at every point with its commendable services. Also, being a customer-oriente ...

computer

how to uninstall discord

How to Uninstall Discord in Windows 10? has supported open source technologies, our tool is secure and safe to use. To uninstall a discord from your windows, you'll use this method which is given below.USING THIRD PARTY TOOLS1. Firstly, you ...