ASSISTING DEVELOPERS TO BUILD HIGH-QUALITY CODE-FIRST WEB SERVICE APIS

Authors

  • JUAN MANUEL RORIGUEZ ISISTAN-CONICET, UNICEN, Paraje Arroyo Seco S/N Tandil, Buenos Aires, Argentina
  • CRISTIAN MATEOS ISISTAN-CONICET, UNICEN, Paraje Arroyo Seco S/N Tandil, Buenos Aires, Argentina
  • ALEJANDRO ZUNINO ISISTAN-CONICET, UNICEN, Paraje Arroyo Seco S/N Tandil, Buenos Aires, Argentina

Keywords:

WEB SERVICES, CODE-FIRST, WSDL ANTI-PATTERNS, AUTOMATIC DETECTION, SERVICE DISCOVERY, SERVICE UNDERSTANDABILITY

Abstract

Searching and understanding Web Services is challenging mainly because service developers tend to disregard the importance of the exposed service APIs. In many situations these APIs are defined using WSDL documents, which are written in an XML dialect. Service developers can opt between manually writing these documents or inferring them from service implementations. This work is focused on the later methodology and provides techniques and tools for generating WSDL documents avoiding wellknown bad practices (e.g., lack of textual comments or representative names) that compromise Web Service API quality. Our experiments show that by using our approach the obtained WSDL documents are more likely to be free from these undesirable practices so they better describe service functionality. In addition, these experiments show that the WSDL documents generated using our approach also have other important quality-related features, such as less redundant data-type definitions and better defined data-types. Experiments have been performed by comparing our proposal against WSDL generation tools/approaches from both the industry and the academy.

 

Downloads

Download data is not yet available.

References

References

E. E. Allen and R. Cartwright. Safe instantiation in generic java. Science of Computer Programming, 59(1-

:26 – 37, 2006. Special Issue on Principles and Practices of Programming in Java (PPPJ 2004).

V. Basili, L. Briand, et al. A validation of object-oriented design metrics as quality indicators. Software

Engineering, IEEE Transactions on, 22(10):751 –761, oct 1996.

J. Beaton, S. Y. Jeong, et al. Usability challenges for enterprise service-oriented architecture APIs. In IEEE

Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pp. 193–196. Sept. 2008.

M. B. Blake and M. F. Nowlan. Taming Web Services from the wild. IEEE Internet Computing, 12(5):62–69,

J. Bloch. How to design a good api and why it matters. In Companion to the 21st ACM SIGPLAN symposium

on Object-oriented programming systems, languages, and applications, OOPSLA ’06, pp. 506–507. ACM,

New York, NY, USA, 2006.

H. S. Chae, Y. R. Kwon, et al. A cohesion measure for object-oriented classes. Software: Practice and

Experience, 30(12):1405–1431, 2000.

S. R. Chidamber and C. F. Kemerer. A metrics suite for object oriented design. IEEE Transactions on Software

Engineering, 20(6):476–493, 1994.

M. Crasso, J. M. Rodriguez, et al. Revising WSDL Documents: Why and how. IEEE Internet Computing,

:48–56, Octuber-September 2010.

M. Crasso, A. Zunino, et al. Combining document classification and ontology alignment for semantically

enriching Web Services. New Generation Computing, 28:371–403, 2010.

pWS-discovery: http://docs.oasis-open.org/ws-dd/discovery/1.1/wsdd-discovery-1.1-spec.html

—. A survey of approaches to Web Service discovery in Service-Oriented Architectures. Journal of Database

Management, 22:103–134, 2011.

C. D. M. Dan Klein. Accurate unlexicalized parsing. In Proceedings of the 41st Meeting of the Association

for Computational Linguistics, pp. 423–430. 2003.

F. Deissenboeck and M. Pizka. Concise and consistent naming. Software Quality Journal, 14(3):261–282,

T. Erl. SOA Principles of Service Design. Prentice Hall, 2007.

A. Erradi and P. Maheshwari. Enhancing web services performance using adaptive quality of service management.

In B. Benatallah, F. Casati, et al., eds., Web Information Systems Engineering (WISE 2007), vol. 4831

of Lecture Notes in Computer Science, pp. 349–360. Springer Berlin Heidelberg, 2007.

J. Fan and S. Kambhampati. A snapshot of public Web Services. SIGMOD Record, 34(1):24–32, 2005.

J. M. Garc´ıa, D. Ruiz, et al. Improving semantic Web Services discovery using SPARQL-based repository

filtering. Web Semantics: Science, Services and Agents on the World Wide Web, 17(0):12 – 24, 2012.

M. Grechanik, C. Fu, et al. A search engine for finding highly relevant applications. In 32nd ACM/IEEE

International Conference on Software Engineering (ICSE ’10), Cape Town, South Africa, pp. 475–484. ACM

Press, New York, NY, USA, 2010.

T. Grill, O. Polacek, et al. Methods towards api usability: A structural analysis of usability problem categories.

In M. Winckler, P. Forbrig, et al., eds., Human-Centered Software Engineering, vol. 7623 of Lecture Notes in

Computer Science, pp. 164–180. Springer Berlin Heidelberg, 2012.

S. Hall´e, G. Hughes, et al. Generating interface grammars from WSDL for automated verification of web

services. In L. Baresi, C.-H. Chi, et al., eds., Service-Oriented Computing, vol. 5900 of Lecture Notes in

Computer Science, pp. 516–530. Springer Berlin Heidelberg, 2009.

M. Henning. API design matters. Communications of the ACM, 52(5):46–56, May 2009.

E. Høst and B. Østvold. Debugging method names. In S. Drossopoulou, ed., ECOOP 2009 - Object-Oriented

Programming, vol. 5653 of Lecture Notes in Computer Science, pp. 294–317. Springer Berlin Heidelberg,

W. Jiang, T.Wu, et al. Qos-aware automatic service composition: A graph view. Journal of Computer Science

and Technology, 26(5):837–853, 2011.

N. Khamis, R. Witte, et al. Automatic quality assessment of source code comments: The javadocminer. In

C. Hopfe, Y. Rezgui, et al., eds., Natural Language Processing and Information Systems, vol. 6177 of Lecture

Notes in Computer Science, pp. 68–79. Springer Berlin Heidelberg, 2010.

D. Lawrie, H. Feild, et al. An empirical study of rules for well-formed identifiers. Journal of Software

Maintenance and Evolution: Research and Practice, 19(4):205–229, 2007.

S.-Y. Lin, C.-H. Lai, et al. A trustworthy qos-based collaborative filtering approach for web service discovery.

Journal of Systems and Software, 93:217–228, 2014.

G. A. Miller. Wordnet: A lexical database for english. Communications of the ACM, 38(11):39–41, Nov.

D. Milne and I. H. Witten. An open-source toolkit for mining wikipedia. Artificial Intelligence, 194:222 –

, 2013.

T. Narock, V. Yoon, et al. A Provenance-Based Approach to Semantic Web Service Description and Discovery.

Decision Support Systems, 2014. In press.

J. L. Ordiales Coscia, C. Mateos, et al. Anti-pattern free code-first Web Services for state-of-the-art Java

WSDL generation tools. International Journal of Web and Grid Services, 9(2):107–126, 2013.

M. Papazoglou, P. Traverso, et al. Service-oriented computing: A research roadmap. International Journal of

Cooperative Information Systems, 17(2):223–255, 2008.

G. M. Rama and A. Kak. Some structural measures of api usability. Software: Practice and Experience, p. In

press, 2013.

J. Rodriguez, M. Crasso, et al. Automatically detecting opportunities for Web Service Descriptions improvement.

In W. Cellary and E. Estevez, eds., Software Services for e-World, vol. 341 of IFIP Advances in

Information and Communication Technology, pp. 139–150. Springer Boston, 2010.

—. Bottom-up and top-down cobol system migration to web services: An experience report. IEEE Internet

Computing, 17(2):44–51, 2013.

J. M. Rodriguez, M. Crasso, et al. Improving web service descriptions for effective service discovery. Science

of Computer Programming, 75(11):1001 – 1021, 2010.

—. An approach for web service discoverability anti-patterns detection. Journal of Web Engineering, 12(1-

:131–158, 2013.

M. Sharifi, S. B. Ramezani, et al. Predictive self-healing of web services using health score. Journal of Web

Engineering, 11(1):79–92, Mar. 2012.

D. Steidl, B. Hummel, et al. Quality analysis of source code comments. In Program Comprehension (ICPC),

IEEE 21st International Conference on, pp. 83–92. May 2013.

T. Suzumura, T. Takase, et al. Optimizing web services performance by differential deserialization. In 2005

IEEE International Conference on Web Services, pp. 185–192. july 2005.

T. Tenny. Program readability: procedures versus comments. IEEE Transactions on Software Engineering,

(9):1271–1279, Sep 1988.

M. Wei, J. Xu, et al. Ontology-based home service model. Computer Science and Information Systems,

(2):813 – 838, 2012.

M.-W. Zhang, B. Zhang, et al. Web service composition based on qos rules. Journal of Computer Science

and Technology, 25(6):1143–1156, 2010.

M. Zibran, F. Eishita, et al. Useful, but usable? factors affecting the usability of apis. In Reverse Engineering

(WCRE), 2011 18th Working Conference on, pp. 151–155. Oct 2011.

G. Zou, Y. Gan, et al. Dynamic composition of web services using efficient planners in large-scale service

repository. Knowledge-Based Systems, 62:98–112, 2014.

Downloads

Published

2015-03-19

Issue

Section

Articles