| By Sam Pullara | Article Rating: |
|
| May 20, 2002 12:00 AM EDT | Reads: |
9,318 |
WebLogic Server 7.0 contains the most advanced, performant, and standards-compliant Web service stack of any application server. With an additional download (until the JAX-RPC specification goes final - it may by the time you see this article - see http://jcp.org/jsr/detail/101.jsp) you get a Java standards-compliant Web service stack that also passes the SOAP interoperability tests. So you might ask how easy is it to use this system to call existing Web services and to build new Web services? The answer is: almost trivial.
Let's look at a concrete example to demonstrate a couple of things: (1) is it straightforward to build Web service clients and (2) the Web service stack interoperates with very complicated and intricate non-WebLogic-hosted Web services. For our Web service, let's look at the TerraServer (http://www.terraserver.com). The TerraServer is hosted by Microsoft and appears to be running the .NET runtime on the server. Our first step will be to generate the client libraries required to access the Web service from the WebLogic Server. To do so, run this Ant script:
<project name="verify" default="all" basedir="."> <target
name="all" >
<clientgen
wsdl="http://terraserver.microsoft.net/TerraService.asmx?WSDL"
packageName="net.terraservice.terraserver"
clientJar="terraserver.jar" /> </target> </project>
This Ant script uses the WebLogic Web Service clientgen task to generate a client-side service factory, client-side stubs, and statically typed objects from the WSDL provided by the TerraServer's .NET service. All automatically, without user intervention. The JAR that's generated can then be placed in your EJB or WAR to let you access this service at runtime. Using the documentation that Microsoft provides for the service we can write some simple code that gets an image of the BEA San Francisco office in the lower right-hand corner (my office is on the top floor on the left side of the building):
TerraServiceSoap service = new TerraService().getTerraServiceSoap();
LonLatPt point = new LonLatPt(-122.4028244, 37.7921829); TileMeta
meta = service.GetTileMetaFromLonLatPt(point, Theme.Photo,
Scale.Scale1m); byte[] gif = service.GetTile(meta.getId(););
You can easily drop this code into a servlet to display the image or use it from a Swing application by JARring up the generated classes from the Ant script along with the classes from the webserviceclient.jar included in the lib directory of your WebLogic Server distribution. Using external Web services directly from your Java or full J2EE application has never been easier!
On the flip side, we have also added tools for deploying stateless session EJBs and arbitrary Java classes as server-side Web service components using a similar Ant task called servicegen. Not only does the task create a deployable module for your service but it also generates WSDL for your clients. This allows you to take either older EJBs that you were using for your normal J2EE applications or new EJBs/classes that you're writing for an application and automatically make then available to anyone with a proper Web service stack. In the future, not long after 7.0 ships, we'll also offer a tool that takes WSDL and generates a stubbed-out stateless session bean implementation to which you can add your business logic. This will let you take an arbitrary service specification and build an implementation without having to start from scratch. All these tools will increase your productivity, extend interoperability, and help you integrate legacy applications into your J2EE application.
Now when you combine Web services, message-driven beans, and EJBs you can see that building a simple message broker becomes a reality for the skilled J2EE programmer. So for small-scale integration systems it's now possible to build your own with off-the-shelf tools and a little hard work. For those that don't want to be distracted with the intricacies of brokering Web services, there will be a large market for products like WebLogic Integration Server in which you can build whole marketplaces from the ground up without spending your development dollars on infrastructure.
Web services are at the forefront of all new integration initiatives and because of the high interoperability between Web service stacks, they are everyone's first choice for extending legacy applications. As more and more legacy applications expose their functionality via Web services the demand for Web service integration servers will only increase. And with new applications also written to be Web services-compliant, we may not have these legacy integration problems in the future. If you build your systems now with future interoperability in mind, your applications can remain a valuable part of the software infrastructure in your enterprise.
Published May 20, 2002 Reads 9,318
Copyright © 2002 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Sam Pullara
Sam Pullara has been a software engineer at WebLogic since 1996 and has contributed to the architecture, design, and implementation of many aspects of the application server.
e-mail: sam@sampullara.com
- The Economics of Cloud Computing Analyzed
- GovIT Expo Highlights Cloud Computing
- Cloud Computing Best Practices
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Why SOA Needs Cloud Computing - Part 1
- The Cloud Transition: What Does It Mean For You?
- Cloud Computing Strategy
- IBM’s Mainframe Monopoly Threatened by BMC Founder’s Shop
- Economy Drives Adoption of Virtual Lab Technology
- Virtualization Expo Call for Papers Deadline December 15
- Oracle in Leader's Quadrant for Enterprise Application Servers
- Oracle Fusion Middleware Delivers World Record Single-Node Result
- The Economics of Cloud Computing Analyzed
- The Difference Between Web Hosting and Cloud Computing
- GovIT Expo Highlights Cloud Computing
- Cloud Computing Best Practices
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Citrix Aims To Cripple VMware’s Cloud Designs
- Product Evaluation: JBoss TCO Calculator
- Why SOA Needs Cloud Computing - Part 1
- Build Reliability into Cloud Computing for SMBs
- Perhaps SOA is More Strategy Than Architecture
- EC Wrong, Wrong, Wrong – and Sloppy to Boot: Intel
- Five Reasons to Choose a Private Cloud
- Java vs C++ "Shootout" Revisited
- Where Are RIA Technologies Headed in 2008?
- Configuring Eclipse for Remote Debugging a WebLogic Java Application
- Migrating a JBoss EJB Application to WebLogic
- XA Transactions
- The Top 250 Players in the Cloud Computing Ecosystem
- An Introduction to Abbot
- WebLogic Tutorial: "Integrating Apache Poi in WebLogic Server"
- Eclipse "Pollinate" Project to Integrate with Apache Beehive
- Failover and Recovery of Enterprise Applications - Part 1
- Cover Story: A Practical Solution to Internationalization of a J2EE Web App
- WebSphere vs WebLogic: IBM and BEA Spar Over SPEC Results
































