Hi, xmlwebservices-ga:
Thanks for posting this interesting and even provocative question.
From its wording I can certainly plan to steer clear of language
specific material and also of any W3C mediated discussions. By
your request for an answer consisting of "links" I also feel you
want the researcher (that would be me) to steer clear of much
editorializing on the subject, to let the sources speak for them-
selves as it were. [I've stuck "Search Strategies" in places where
it seems further digging through Google results would be fruitful.]
However the choice of links is still a function of editorial bias,
so I thought it best to drag a little of my bias out into the open
for the sake of fair disclosure.
DeMarco and Lister (Peopleware, 2nd ed.) draw a distinction between
what they call big-M Methodologies and little-m methodologies for
software development:
"There is a big difference between Methodology and methodology.
Small m methodology is a basic approach one takes to getting a job
done. It doesn't reside in a fat book, but rather inside the
heads of the people carrying out the work. Such a methodology
consists of two parts: a tailored plan (specific to the work at
hand) and a body of skills necessary to effect the plan. One
could hardly be opposed to methodology: The work couldn't even
begin without it. But a Methodology is very different.
"Big M Methodology is an attempt to centralize thinking. All
meaningful decisions are made by the Methodology builders, not by
the staff assigned to do the work. Those who espouse a Methodol-
ogy have a long list of its supposed benefits, including standard-
ization, documentary uniformity, managerial control, and state-of-
the-art techniques. These make up the overt case for the Method-
ology. The covert case is simpler and cruder: the idea that
project people aren't smart enough to do the thinking."
Having acknowledged such a biased point of view on my part, I will
nonetheless lead off with links to a big M Methodology take on
this topic. (See the short piece linked at bottom, on Foxes in
the Web Services Hen Houses, for one stab at debunking the big M.)
Model-Driven Architecture and Web Services Design
=================================================
[OMG's Model-Driven Architecture (MDA) Meets Web Services]
http://www.omg.org/news/meetings/workshops/presentations/uml2001_presentations/13-2_Iyengar_MDA-Meets-WebServices-UMLWS.pdf
By Sridhar Iyengar, Unisys Fellow and Member, OMG Architecture Board.
[Model-Driven Architecture and Web Services]
http://www.omg.org/news/meetings/workshops/presentations/WebServices_2002/01-2_Frankel_LATE_MDA_and_Web_Services_Tutorial.pdf
By David S. Frankel, Chief Consulting Architect, IONA Technologies.
[Model-Driven Architecture Extends UML]
http://www.devx.com/SummitDays/Article/7803/2213?pf=true
Both MDA and UML are "owned" by Object Management Group (OMG), a
consortium of major IT vendors.
[Model-Driven Development]
http://www.iturls.com/English/SoftwareEngineering/SE_el.asp
A page full of links...
[Workshop - Applying Model Driven Architecture to Web Services]
http://www.cutter.com/workshops/40.html
Web services is a cross-platform technology, where MDA aims like UML
to provide "platform independent" modelling and specification of
business applications.
Search Strategy
Keywords:MDA "Web services" formal design methodology
*********************************************************************
Having gotten the big M off my chest, at least for the moment, let
me toss in some little m material. While it might seem that little m
methodology would be mired in language-specific or platform-specific
concerns, I don't think that's entirely so with XML Web Services.
A colleague of mine once remarked that XML is like Prolog. This is
true in several respects, all related to a "declarative nature" of
the two technologies. In both cases the designer/developer is free
to invent vocabulary at a high-level of functionality, and in both
cases much of the functionality derives from pattern matching, e.g.
XPath patterns in the case of XML/XSLT vs. unification of terms in
Prolog.
Declarative programming means to make the design and implementation
as closely aligned as possible. A long-standing but now somewhat
moribund project at Microsoft was called "Intentional Programming",
which aimed to clarify at least some of the advantages of such an
approach.
A recent champion of this has been Michael Corning, who continues
to fight the good fight under a banner of "schema-based programming"
and the slogan, "It's models all the way down...". Herewith some
links into the past and future of this little m methodology and its
connections with Web Services design:
Schema-Based Programming and Web Services Design
================================================
[Web Services Faceplates]
http://www.wrox.com/books/1861007027.htm
This book describes a "declarative programming" approach to design
and implementation of Web Services. Michael Corning is one of its
authors.
[Intentional XML and Schema-Based Programming]
http://www.vbxml.com/conference/wrox/2000_vegas/text/michael_intentional.pdf
A talk by Michael Corning on Intentional Programming and its
realization in Intentional XML, with foreshadowing of application
to Web Services.
[Microsoft veteran launches Intentional Software]
http://news.com.com/2100-1001-958198.html?tag=fd_top
Charles Simonyi, a 20-year alum of MS responsible for "Hungarian"
notation and many key products like MS Excel and Word, has begun
an independent company with partner Gregor Kiczales, a professor
at Univ. of British Columbia.
[Intentional Software]
http://www.intentsoft.com/
Their Web site's home page.
Other Web Services Design Resources of Interest
===============================================
[Don Box's House of Web Services]
http://msdn.microsoft.com/library/default.asp?url=/msdnmag/issues/02/02/WebServ/TOC.asp
I always found Don's wit (in the sense of intelligence) to be
incisive (in the sense of cutting through hype), on COM, on XML,
and now on Web Services.
Search Strategy
Keywords: "Don Box" "Web services" design
[Foxes in the Web Services Hen Houses?]
http://www.line56.com/articles/default.asp?ArticleID=4205
"Why large, legacy systems vendors are desperate for you to think
they have all the answers", by Shekar Ayyar (December 17, 2002).
Search Strategy
Keywords: "Web services" "design methodology"
[XML Web Services Working Group]
http://web-services.gov/
Hi! We're from the government, and we're here to help!
"A Web service is a software system identified by a URI, whose public
interfaces and bindings are defined and described using XML. Its
definition can be discovered by other software systems. These systems
may then interact with the Web Service in a manner described by its
definition, using XML based messages conveyed by Internet protocols."
(yes, MITRE cribbed this from W3C; an obligatory definition and
passing mention of Tim Berniers-Lee and The Semantic Web)
regards, mathtalk-ga |
Clarification of Answer by
mathtalk-ga
on
16 Apr 2003 08:23 PDT
Hi, xmlwebservices-ga:
One point in common between the big-M Methodology and little-m
methodology approaches discussed above is an emphasis on "models".
Perhaps because XML is already close to hand in developing Web
services, many of the "standards" for description of Web services
(which are an important element of "delivering" a Web service because
of the need to be able to browse for an appropriate provider) are
again flavors of XML. (Recall the earlier mention of Intentional XML
in connection with schema-based programming.)
Thus a very hands-on book like Wrox's Professional Open Source Web
Services by K. Apshankar et al, which has no entries in the TOC or
index for "design" or "methodology", has nonetheless a chapter on Web
Services Architecture (Ch. 2). In addition to discussing the
evolution of foundational technologies such as SOAP and WSDL (both
under W3C auspices) and UDDI (an industry initiative by a consortium
of the same name, see link below) and other Web registry proposals,
the authors touch on these XML-based modelling languages:
RDF (Resource Description Framework)
Part of W3C's Semantic Web activities, RDF is intended as a general
mechanism for providing information about Web services.
[RDF Specification]
http://www.w3.org/RDF/
[Create/submit your own RDF page]
http://swordfish.rdfweb.org/rweb/aboutme
WSUI (Web Service User Interface)
This enables an application designer to add (in language and platform
independent fashion) a presentation/interaction layer on top of the
"invocation" layer provided by SOAP. In this way an entire
application (and not simply a "service") can be dynamically embedded
in another application, using just server-side components (assumes
XHTML enabled clients).
[WSUI]
http://www.wsui.org/
WSFL (Web Service Flow Language)
This is an XML-based extension of WSDL (Web Service Description
Language) which describes "composition" of Web services. Like a
"makefile" for building a standalone executable, WSFL lays out the
"flow" of data among service providers necessary to accomplish a
defined business goal, possibly through "recursive" definitions, as
well as "global" models which describe the interactions between Web
service partners.
[WSFL 1.0]
http://www-3.ibm.com/software/solutions/webservices/pdf/WSFL.pdf
In essentially the same arena (Web services "orchestration") Microsoft
has been pushing another WSDL extension approach:
[XLANG - eXtensible Language]
http://www.gotdotnet.com/team/xml_wsspecs/xlang-c/default.htm
Other Links of Interest
[SOAP 1.2/XMLP]
http://www.w3.org/2000/xp/Group/
[WSDL]
http://www.w3.org/TR/wsdl
[UDDI]
http://www.uddi.org/
[Web Services and Process Modelling]
http://www.cs.man.ac.uk/ipg/CS637/WSandPM.pdf
A recent overview of SOAP, WSDL, and UDDI etc. as contributing to the
definition of Web services.
[Web Services and Semantic Web Resources]
http://www.wsindex.org/Resources/
A portal to many related sites including some for process modelling,
training and tutorials.
|