SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
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
Let's invoke a WS in Java...
●

You've been given a WSDL (reference)...

●

...so you start by generating the stubs (JAXWS tools)
Let's invoke a WS in Java...
●

Then you import the sources in your IDE...

●

... finally you code against them an invoke the endpoint
Perhaps you automate the process a bit...
●

Maven plugins for generating the stubs automatically

... but ...
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
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
Dynamic client API
●

Get a dynamic client for a WSDL operation and invoke...
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...
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.
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
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) !
Smooks mapper
●

Define the request and response mappings..

●

... and invoke providing the user model
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
Tree model usage
●

Get tree view model and populate it...

●

Invoke the endpoint and convert the result in another tree...
Tree model advantages
●

Detyped model... but still compliant to the WSDL/schema

●

Simple and generic...
enough to build a GUI !

Demo Time :-)
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
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? ;-)
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 !
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!

Mais conteúdo relacionado

Mais procurados

Web assembly: a brief overview
Web assembly: a brief overviewWeb assembly: a brief overview
Web assembly: a brief overviewPavlo Iatsiuk
 
JavaScript TDD
JavaScript TDDJavaScript TDD
JavaScript TDDUri Lavi
 
Isomorphic JavaScript: #DevBeat Master Class
Isomorphic JavaScript: #DevBeat Master ClassIsomorphic JavaScript: #DevBeat Master Class
Isomorphic JavaScript: #DevBeat Master ClassSpike Brehm
 
React js TRAINING IN BANGALORE
React js TRAINING IN BANGALOREReact js TRAINING IN BANGALORE
React js TRAINING IN BANGALOREnearlearn
 
React js TRAINING IN BANGALORE
React js TRAINING IN BANGALOREReact js TRAINING IN BANGALORE
React js TRAINING IN BANGALOREnearlearn
 
Isomorphic JavaScript with Nashorn
Isomorphic JavaScript with NashornIsomorphic JavaScript with Nashorn
Isomorphic JavaScript with NashornMaxime Najim
 

Mais procurados (6)

Web assembly: a brief overview
Web assembly: a brief overviewWeb assembly: a brief overview
Web assembly: a brief overview
 
JavaScript TDD
JavaScript TDDJavaScript TDD
JavaScript TDD
 
Isomorphic JavaScript: #DevBeat Master Class
Isomorphic JavaScript: #DevBeat Master ClassIsomorphic JavaScript: #DevBeat Master Class
Isomorphic JavaScript: #DevBeat Master Class
 
React js TRAINING IN BANGALORE
React js TRAINING IN BANGALOREReact js TRAINING IN BANGALORE
React js TRAINING IN BANGALORE
 
React js TRAINING IN BANGALORE
React js TRAINING IN BANGALOREReact js TRAINING IN BANGALORE
React js TRAINING IN BANGALORE
 
Isomorphic JavaScript with Nashorn
Isomorphic JavaScript with NashornIsomorphic JavaScript with Nashorn
Isomorphic JavaScript with Nashorn
 

Destaque

JBoss AS7 web services
JBoss AS7 web servicesJBoss AS7 web services
JBoss AS7 web servicesalepalin
 
The curtain falls on MyUniversity project! - LT
The curtain falls on MyUniversity project! - LTThe curtain falls on MyUniversity project! - LT
The curtain falls on MyUniversity project! - LTMyUniversity project
 
The curtain falls on MyUniversity project! - CAT
The curtain falls on MyUniversity project! - CATThe curtain falls on MyUniversity project! - CAT
The curtain falls on MyUniversity project! - CATMyUniversity project
 
23376 CL Sergon A3 Poster_HR
23376 CL Sergon A3 Poster_HR23376 CL Sergon A3 Poster_HR
23376 CL Sergon A3 Poster_HRGreg Stewart
 
Ginecomastia causas
Ginecomastia causasGinecomastia causas
Ginecomastia causasjavrtggg
 
final final copy of BIKE SHARE IN SAN JOSE
final final copy of BIKE SHARE IN SAN JOSEfinal final copy of BIKE SHARE IN SAN JOSE
final final copy of BIKE SHARE IN SAN JOSEKenneth Rosales
 
Cultura, ciudad y acción colectiva; Eder Silva
Cultura, ciudad y acción colectiva; Eder SilvaCultura, ciudad y acción colectiva; Eder Silva
Cultura, ciudad y acción colectiva; Eder Silvaesbquilla94
 
climatechange_global_overview
climatechange_global_overviewclimatechange_global_overview
climatechange_global_overviewAmine Lotfi
 
Sydney-Shines-edition-2
Sydney-Shines-edition-2Sydney-Shines-edition-2
Sydney-Shines-edition-2Tina Wild
 
The curtain falls on MyUniversity project!- ES
The curtain falls on MyUniversity project!- ESThe curtain falls on MyUniversity project!- ES
The curtain falls on MyUniversity project!- ESMyUniversity project
 
The Longest Day Event 2015 - Alzheimer’s Association
The Longest Day Event 2015 - Alzheimer’s AssociationThe Longest Day Event 2015 - Alzheimer’s Association
The Longest Day Event 2015 - Alzheimer’s AssociationScott Robarge
 
Nuestra contribución a la paz mundial 21.11.2015
Nuestra contribución a la paz mundial 21.11.2015Nuestra contribución a la paz mundial 21.11.2015
Nuestra contribución a la paz mundial 21.11.2015Mercedes Gonzalez
 

Destaque (18)

JBoss AS7 web services
JBoss AS7 web servicesJBoss AS7 web services
JBoss AS7 web services
 
Survey results
Survey resultsSurvey results
Survey results
 
Articulo licue
Articulo licueArticulo licue
Articulo licue
 
The curtain falls on MyUniversity project! - LT
The curtain falls on MyUniversity project! - LTThe curtain falls on MyUniversity project! - LT
The curtain falls on MyUniversity project! - LT
 
Prompt 1
Prompt 1Prompt 1
Prompt 1
 
The curtain falls on MyUniversity project! - CAT
The curtain falls on MyUniversity project! - CATThe curtain falls on MyUniversity project! - CAT
The curtain falls on MyUniversity project! - CAT
 
Blue Correlation
Blue Correlation  Blue Correlation
Blue Correlation
 
23376 CL Sergon A3 Poster_HR
23376 CL Sergon A3 Poster_HR23376 CL Sergon A3 Poster_HR
23376 CL Sergon A3 Poster_HR
 
Ginecomastia causas
Ginecomastia causasGinecomastia causas
Ginecomastia causas
 
Abanob gamil C V
Abanob gamil C VAbanob gamil C V
Abanob gamil C V
 
final final copy of BIKE SHARE IN SAN JOSE
final final copy of BIKE SHARE IN SAN JOSEfinal final copy of BIKE SHARE IN SAN JOSE
final final copy of BIKE SHARE IN SAN JOSE
 
Cultura, ciudad y acción colectiva; Eder Silva
Cultura, ciudad y acción colectiva; Eder SilvaCultura, ciudad y acción colectiva; Eder Silva
Cultura, ciudad y acción colectiva; Eder Silva
 
climatechange_global_overview
climatechange_global_overviewclimatechange_global_overview
climatechange_global_overview
 
Sydney-Shines-edition-2
Sydney-Shines-edition-2Sydney-Shines-edition-2
Sydney-Shines-edition-2
 
The curtain falls on MyUniversity project!- ES
The curtain falls on MyUniversity project!- ESThe curtain falls on MyUniversity project!- ES
The curtain falls on MyUniversity project!- ES
 
The Longest Day Event 2015 - Alzheimer’s Association
The Longest Day Event 2015 - Alzheimer’s AssociationThe Longest Day Event 2015 - Alzheimer’s Association
The Longest Day Event 2015 - Alzheimer’s Association
 
Ocd 3.0
Ocd 3.0Ocd 3.0
Ocd 3.0
 
Nuestra contribución a la paz mundial 21.11.2015
Nuestra contribución a la paz mundial 21.11.2015Nuestra contribución a la paz mundial 21.11.2015
Nuestra contribución a la paz mundial 21.11.2015
 

Semelhante a JBoss Wise: breaking barriers to WS testing

MvvmCross Introduction
MvvmCross IntroductionMvvmCross Introduction
MvvmCross IntroductionStuart Lodge
 
MvvmCross Seminar
MvvmCross SeminarMvvmCross Seminar
MvvmCross SeminarXamarin
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?Balajihope
 
Tech io nodejs_20130531_v0.6
Tech io nodejs_20130531_v0.6Tech io nodejs_20130531_v0.6
Tech io nodejs_20130531_v0.6Ganesh Kondal
 
MSc Enterprise Systems Development Guest Lecture at UniS (2/12/09)
MSc Enterprise Systems Development Guest Lecture at UniS (2/12/09)MSc Enterprise Systems Development Guest Lecture at UniS (2/12/09)
MSc Enterprise Systems Development Guest Lecture at UniS (2/12/09)Daniel Bryant
 
Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?" Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?" Tikal Knowledge
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWareMichael Vorburger
 
Advanced Node.JS Meetup
Advanced Node.JS MeetupAdvanced Node.JS Meetup
Advanced Node.JS MeetupLINAGORA
 
Node js presentation
Node js presentationNode js presentation
Node js presentationshereefsakr
 
Workshop 2: JavaScript Design Patterns
Workshop 2: JavaScript Design PatternsWorkshop 2: JavaScript Design Patterns
Workshop 2: JavaScript Design PatternsVisual Engineering
 
Sugarcoating your frontend one ViewModel at a time
Sugarcoating your frontend one ViewModel at a timeSugarcoating your frontend one ViewModel at a time
Sugarcoating your frontend one ViewModel at a timeEinar Ingebrigtsen
 
Groovy In the Cloud
Groovy In the CloudGroovy In the Cloud
Groovy In the CloudJim Driscoll
 
jQquerysummit - Large-scale JavaScript Application Architecture
jQquerysummit - Large-scale JavaScript Application Architecture jQquerysummit - Large-scale JavaScript Application Architecture
jQquerysummit - Large-scale JavaScript Application Architecture Jiby John
 

Semelhante a JBoss Wise: breaking barriers to WS testing (20)

MvvmCross Introduction
MvvmCross IntroductionMvvmCross Introduction
MvvmCross Introduction
 
MvvmCross Seminar
MvvmCross SeminarMvvmCross Seminar
MvvmCross Seminar
 
Nodejs presentation
Nodejs presentationNodejs presentation
Nodejs presentation
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?
 
Training: MVVM Pattern
Training: MVVM PatternTraining: MVVM Pattern
Training: MVVM Pattern
 
Tech io nodejs_20130531_v0.6
Tech io nodejs_20130531_v0.6Tech io nodejs_20130531_v0.6
Tech io nodejs_20130531_v0.6
 
Node.js on Azure
Node.js on AzureNode.js on Azure
Node.js on Azure
 
MSc Enterprise Systems Development Guest Lecture at UniS (2/12/09)
MSc Enterprise Systems Development Guest Lecture at UniS (2/12/09)MSc Enterprise Systems Development Guest Lecture at UniS (2/12/09)
MSc Enterprise Systems Development Guest Lecture at UniS (2/12/09)
 
Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?" Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?"
 
Mean stack
Mean stackMean stack
Mean stack
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWare
 
Advanced Node.JS Meetup
Advanced Node.JS MeetupAdvanced Node.JS Meetup
Advanced Node.JS Meetup
 
Lightning fast sass
Lightning fast sassLightning fast sass
Lightning fast sass
 
Node js presentation
Node js presentationNode js presentation
Node js presentation
 
Node.js an Exectutive View
Node.js an Exectutive ViewNode.js an Exectutive View
Node.js an Exectutive View
 
Workshop 2: JavaScript Design Patterns
Workshop 2: JavaScript Design PatternsWorkshop 2: JavaScript Design Patterns
Workshop 2: JavaScript Design Patterns
 
NoSQL and ACID
NoSQL and ACIDNoSQL and ACID
NoSQL and ACID
 
Sugarcoating your frontend one ViewModel at a time
Sugarcoating your frontend one ViewModel at a timeSugarcoating your frontend one ViewModel at a time
Sugarcoating your frontend one ViewModel at a time
 
Groovy In the Cloud
Groovy In the CloudGroovy In the Cloud
Groovy In the Cloud
 
jQquerysummit - Large-scale JavaScript Application Architecture
jQquerysummit - Large-scale JavaScript Application Architecture jQquerysummit - Large-scale JavaScript Application Architecture
jQquerysummit - Large-scale JavaScript Application Architecture
 

Último

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

JBoss Wise: breaking barriers to WS testing

  • 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!