ASPnews Home

News

Analysis

Trends

Strategies

ASP Directory

Community

About Us

Search ASPnews:



internet.com
Developer
Downloads
International
Internet Lists
Internet News
Internet Resources
IT
Linux/Open Source
Personal Technology
Small Business
Windows Technology
xSP Resources
Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers
internet.commerce
Be a Commerce Partner
Cheap Plane Tickets
Digital Camera Review
Register Domain Name
Memory Flash Cards
Online Education
Batteries
T-Shirts
Remote Access
Advertising Trucks
Online Degrees
Best Digital Camera
Cheap Web Hosting
Digital Camera Review



ASPnews Focus
Top News:
» SOAs So Close, Yet So Far

» Why SaaS Is Making a Comeback

» Join the Discussion: ASPnews.com's industry forums

Plus:
» More ASP News

TOP 50
Top 20 Providers
 & Top 30 Enablers
Free Newsletter!



ASPnews Shortcuts
Week's Top News

ASP News at internetnews.com

Industry Events

Discussion Forums

Industry Basics

Site Guide

Signup for Verio’s Windows Multi-Site Hosting risk-free for 30 days. Verio’s hosting plans offer guaranteed reliability, performance, ease of use and live support, 24x7x365.

ANALYSIS

The Case for Developing a Service-Oriented Architecture, Part 1


Continued from Page 3

Requirements for a Service-Oriented Architecture

From the problems discussed above, it should be clear that an architecture should be developed that meets all requirements, and that those requirements include:

  1. First and foremost, leverage existing assets. Existing systems can rarely be thrown away, and often contain within them great value to the enterprise. Strategically, the objective is to build a new architecture that will yield all the value hoped for, but tactically, the existing systems must be integrated such that, over time, they can be componentized or replaced in manageable, incremental projects
  2. Support all required types or “styles” of integration. This includes:
    • User Interaction – Being able to provide a single, interactive user experience
    • Application Connectivity – A communications layer that underlies all of the architecture
    • Process Integration – Choreographs applications and services
    • Information Integration – Federates and moves the enterprise data
    • Build to Integrate – Builds and deploys new applications and services.
  3. Allow for incremental implementations and migration of assets. This will enable one of the most critical aspects of developing the architecture: the ability to produce incremental ROI. Countless integration projects have failed due to their complexity, cost, and unworkable implementation schedules.
  4. Include a development environment that will be built around a standard component framework, promote better reuse of modules and systems, allow legacy assets to be migrated to the framework, and allow for the timely implementation of new technologies.
  5. Allow implementation of new computing models; specifically, new portal-based client models, Grid computing, and on-demand computing.

A Service-Oriented Architecture: Not Just Web Services

The advent of Web services has produced a fundamental change because the success of many Web services projects has shown that the technology does in fact exist, whereby you can implement a true service-oriented architecture. It lets you take another step back and not just examine your application architecture, but the basic business problems you are trying to solve. From a business perspective, it’s no longer a technology problem; it is a matter of developing an application architecture and framework within which business problems can be defined, and solutions can be implemented in a coherent, repeatable way.

First, though, it must be understood that Web services does not equal service-oriented architecture. Web services is a collection of technologies — including XML, SOAP, WSDL, and UDDI — that lets you build programming solutions for specific messaging and application integration problems. Over time, you can reasonably expect these technologies to mature, and eventually be replaced with better, more efficient, or more robust ones, but for the moment, they will do. They are, at the very least, a proof of concept that SOAs can finally be implemented. So what actually does constitute a service-oriented architecture?

SOA is just that, an architecture. It is more than any particular set of technologies, such as Web services; it transcends them, and, in a perfect world, is totally independent of them. Within a business environment, a pure architectural definition of a SOA might be something like “an application architecture within which all functions are defined as independent services with well-defined invokable interfaces that can be called in defined sequences to form business processes.”

Note what is being said here:

  1. All functions are defined as services. This includes purely business functions, business transactions composed of lower-level functions, and system service functions. This brings up the question of granularity, which will be addressed later.
  2. All services are independent. They operate as “black boxes,” external components that neither know nor care how they perform their function, merely that they return the expected result.
  3. In the most general sense, the interfaces are invokable; that is, at an architectural level, it is irrelevant whether they are local (within the system) or remote (external to the immediate system), what interconnect scheme or protocol is used to effect the invocation, or what infrastructure components are required to make the connection. The service may be within the same application, or in a different address space within an asymmetric multiprocessor, on a completely different system within the corporate Intranet, or within an application in a partner’s system used in a B2B configuration.

In all this, the interface is the key, and is the focus of the calling application. It defines the required parameters and the nature of the result; thus, it defines the nature of the service, not the technology used to implement it. It is the system’s responsibility to effect and manage the invocation of the service, not the calling application. This allows two critical characteristics to be realized: first, that the services are truly independent, and second, that they can be managed. Management includes many functions, including:

  1. Security – Authorization of the request, encryption and decryption as required, validation, and so forth.
  2. Deployment – Allowing the service to be redeployed (moved) around the network for performance, redundancy for availability, or other reasons.
  3. Logging – For auditing, metering, and so on.
  4. Dynamic rerouting – For failover or load balancing
  5. Maintenance – Management of new versions of the service

About the Authors

Kishore Channabasavaiah received a Bachelors degree in Mechanical Engineering from Bangalore University, India. He is currently an Executive Architect in the Chicago Innovation Center of IBM Global Services. He provides thought leadership for e-business Integration solutions with a focus on Web services and end-to-end solutions. His current focus is in Web application solutions, conducting technical solution reviews, Web services, service-oriented architecture, and Pervasive Computing.

Kerrie Holley received a Bachelor of Arts degree in Mathematics and a Juris Doctorate in law degree from DePaul University. He is currently a Distinguished Engineer in IBM Global Services and a Chief Architect in the e-business Integration Solutions where he provides thought leadership for the Web services practice. His current focus is in software engineering best practices, end-to-end advanced Web development, adaptive enterprise architecture, conducting architecture reviews, Web services, and service-oriented architecture.

Edward M. Tuggle, Jr. received a Bachelor of Science degree in Mathematics from the University of Oklahoma, and is currently a Senior Software Engineer on the IBM Software Group jStart Emerging Technology Solutions team. He has worked with IBM in operating systems design, development, and maintenance for 23 years, for the past six years in Java technology and other emerging technologies, and is now specializing in Web services and service-oriented architecture.

Analysis courtesy of Developer.com

Go to page: Prev  1  2  3  4  

Email this Article
View Printable Version
Back to Analysis

 

Featured Links
Learn the secrets of the popular search engines!
Free Web Hosting Buyer's Guide -- Click Here!
Enhance your Web site with the Dynamic HTML HierMenus Code


JupiterWeb networks:

internet.comearthweb.comDevx.comGraphics.com

Search JupiterWeb:

Jupitermedia Corporation has three divisions:
Jupiterimages, JupiterWeb and JupiterResearch

Copyright 2005 Jupitermedia Corporation All Rights Reserved.
Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Jupitermedia Corporate Info | Newsletters | Tech Jobs | Shopping | E-mail Offers


Give us your Feedback