Modeling in the service-oriented architecture
By associating a specification with core Web-service elements, Design by Contract gives developers the ability at the design phase of development to reduce conceptual flaws and promote a better understanding of work scope, something that will be especially important in coming years as the Web-service environment becomes more and more dynamic.

by Roger Smith, developer. Intel Corp.

By associating a specification with core Web-service elements, Design by Contract gives developers the ability at the design phase of development to reduce conceptual flaws and promote a better understanding of work scope, something that will be especially important in coming years as the Web-service environment becomes more and more dynamic.

Web services are a new breed of cat in software development. Self-contained, self-describing, modular applications that can be published, located, and invoked across the Internet, Web services are intended to automate a wide range of business functions, everything from providing stock quotes to processing credit card transactions to any of a 1,001 other services.

Above and beyond protocol squabbling, a software design principle that's been around for a while in various incarnations, Design by Contract, offers a unique perspective on what kind of design methodology to apply to Web services and how to best specify the components that make up Web services. (DbC was pioneered by Bertrand Meyer, creator of the Eiffel language; see Meyer's book, Object-Oriented Software Construction, Second Edition (Prentice Hall, 1997), for a more complete description of DbC.) By associating a specification with core Web-service elements, DbC gives developers the ability at the design phase of development to reduce conceptual flaws and promote a better understanding of work scope, something that will be especially important in coming years as the Web-service environment becomes more and more dynamic.

At their most generic, Web services are business processes that can be discovered and run over the Internet using agreed-upon standards such as XML and SOAP. As all but the most uninformed (and possibly unwashed) already know, SOAP currently stands for the Simple Object Access Protocol. I say "currently" because there is movement underfoot in the Microsoft camp to redefine the SOAP acronym as the "Service Oriented Architecture Protocol" as a way to give more respect to the underlying service-oriented architecture.

Subscribers who liked this article also read:
Multithreaded technology and multi-core processors
by Craig Szydlowski, Infrastructure Processor Division, Intel Corp. ...

If you're interested in this topic, these articles may be helpful:

Understanding service-oriented architecture
from Versata Inc. The rapid adoption of J2EE standards, Java, X...
The SOA implementation framework: the future of service-oriented–architecture software
by Jason Bloomberg, senior analyst, ZapThink LLC The world of distr...
Solving information integration challenges in a service-oriented enterprise
by Ronald Schmelzer and Jason Bloomberg, senior analysts, ZapThink LLC...
Trying to evaluate implementation of a service-oriented architecture?
When you start from existing systems, you can think in terms of crea...
Peer-to-peer services
by Ronald Schmelzer, senior analyst, ZapThink LLC. For several ye...

Related Jobs:

Software Developer IV #20651 - IA - Iowa City - Pearson Education
Title: Software Developer IV Req Number: 20651 Date Opened: Thu Ma...
Technology Strategist, Platform Infrastructure Div #6011 - CA - Sunnyvale - Yahoo! Inc.
Technology Strategist, Platform Infrastructure Div Requisition ID 60...
Tech Yahoo!, Service Engineer #6049 - CA - Sunnyvale - Yahoo! Inc.
Tech Yahoo!, Service Engineer Requisition ID 6049 Location Sunnyva...
Storage Architect, Platform Infrastructure #6030 - CA - Sunnyvale - Yahoo! Inc.
Storage Architect, Platform Infrastructure Requisition ID 6030 Loc...
Manager, Software Development: Vitality Platform #5878 - CA - Sunnyvale - Yahoo! Inc.
Manager, Software Development: Vitality Platform Requisition ID 5878...
Software Engineer #T810284 - TX - Austin - Cisco Systems, Inc.
As a member of Cisco Remote Operation Services development team, you w...
Manager, Software Development : CoreID Platform #5877 - CA - Sunnyvale - Yahoo! Inc.
Manager, Software Development : CoreID Platform Requisition ID 5877 ...
Virtualization Architect, Platform Infrastructure #6028 - CA - Sunnyvale - Yahoo! Inc.
Virtualization Architect, Platform Infrastructure Requisition ID 602...
.NET Developer - TX - Plano - Sapphire Technologies
1. Excellent hands-on development using J2EE and .NET required. 2. E...
Technical Lead - Development #LOU0006W - KY - Louisville - Marsh Inc.
Technical Lead - Development LOU0006W (To return to the ...