SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
JBoss Wise [1] is a library for simplifying webservices invocation and testing. It provides solutions for easy browsing of WSDL models, zero-code invocation of WS operations and for lowering the technical entry level to WS testing. The presentation will go through the recently added functionalities; the focus will then shift to WS testing, with a demo of the available GUI and an overview of the future enhancement efforts.
JBoss Wise [1] is a library for simplifying webservices invocation and testing. It provides solutions for easy browsing of WSDL models, zero-code invocation of WS operations and for lowering the technical entry level to WS testing. The presentation will go through the recently added functionalities; the focus will then shift to WS testing, with a demo of the available GUI and an overview of the future enhancement efforts.
1.
JBoss Wise: breaking barriers to WS testing
Alessio Soldano
alessio.soldano@jboss.com
Principal Software Eng.
JBoss - Red Hat
October 22nd, 2013
Milan JBoss User Group
2.
Let's invoke a WS in Java...
●
You've been given a WSDL (reference)...
●
...so you start by generating the stubs (JAXWS tools)
3.
Let's invoke a WS in Java...
●
Then you import the sources in your IDE...
●
... finally you code against them an invoke the endpoint
4.
Perhaps you automate the process a bit...
●
Maven plugins for generating the stubs automatically
... but ...
5.
Pros / Cons
●
Your code is actually bound to the generated classes
(client – server coupling)
●
Good solution for clients of stable endpoints
●
Not suitable to quick testing of multiple/different endpoints
6.
JBoss Wise
●
Java library for easily invoking webservices
●
Built on top of JBossWS stack
●
Goals
‣Effective
‣Easy
client/server decoupling
browsing of WSDL models
‣(nearly)zero-code
‣Lowering
invocation of WS operations
the technical entry level to WS testing
7.
Dynamic client API
●
Get a dynamic client for a WSDL operation and invoke...
8.
Dynamic client API
●
or browse the model to choose the method to call
●
What about parameters?
‣
non-trivial endpoints get and return structured data...
‣
we need Object instances to put in the invocation
Map...
9.
WebParameter inspection + reflection
●
Get Java type from WebParameter instances
●
Use reflection to build up the desired data
●
... working on classes generated on-the-fly by Wise ...
●
ugly, unpractical, etc.
10.
Wise mappers
●
Allow users to invoke endpoints using their own model
●
Map user model to internally generated client classes
●
Any custom mapper can be implemented
●
... moving the problem to defining the proper vehicle and
transformation of user data into target endpoint
parameters
11.
Smooks mapper
●
“Smooks is an extensible framework for building
applications for processing XML and non XML data (CSV,
Java, ...) using Java”
with proper Smooks mappers, Wise can invoke a WS
endpoint given any model (even in different formats) !
12.
Smooks mapper
●
Define the request and response mappings..
●
... and invoke providing the user model
13.
Tree model
So the request / response model is really the core
concept here... what about something very simple yet
generic, with String only values?
●
Tree-like view model
●
kind of a DOM tree built on the
valid WS req/res space
14.
Tree model usage
●
Get tree view model and populate it...
●
Invoke the endpoint and convert the result in another tree...
15.
Tree model advantages
●
Detyped model... but still compliant to the WSDL/schema
●
Simple and generic...
enough to build a GUI !
Demo Time :-)
16.
Wise GUI
●
Web based
‣
‣
usable everywhere (even on mobile...)
‣
●
no need for Eclipse / IDE
deployed on JBoss (even on Openshift...)
Focus on the data, not on the technology
‣
No WS, XML or Java knowledge required
‣
Fast / agile WS testing
‣
Enable business acceptance tests from analysts
17.
Wise Invokes Services Easily
●
Wise is built on top of a JavaEE certified stack (JBossWS)
... this ensures core correctness and interoperability.
●
You're consuming WS services (based on WSDL / XSD)
‣
you're granted compliance with the contract
‣
... but you don't get your hands dirty with SOAP ;-)
Is it really that complex and inconvenient to call one of
those dreaded WSDL based WS services? ;-)
18.
Future features (maybe...)
●
GUI user management
●
Import / export GUI environment
●
Multiple authentication options
●
Explicit WS-Policy support
●
Smooks Eclipse plugin for Wise mappers generation?
●
...
... but we need help from YOU !
19.
Links
●
Project homepage: www.jboss.org/wise
●
Blog: jbosswise.blogspot.com
●
Code for this presentation: https://github.com/asoldano/demo
Write us! Contribution is more the welcome!
0 likes
Be the first to like this
Views
Total views
1,416
On SlideShare
0
From Embeds
0
Number of Embeds
733
You have now unlocked unlimited access to 20M+ documents!
Unlimited Reading
Learn faster and smarter from top experts
Unlimited Downloading
Download to take your learnings offline and on the go
You also get free access to Scribd!
Instant access to millions of ebooks, audiobooks, magazines, podcasts and more.
Read and listen offline with any device.
Free access to premium services like Tuneln, Mubi and more.