Although traditional approaches--the ones embodied in CASE tools and modeling frameworks--are appropriate for building individual software components, but they aren't designed to face the challenges of open environments. Service-oriented computing provides a way to create a new architecture that reflects components' tendencies toward autonomy and heterogeneity.