|
||||
Service-Oriented World Cheat Sheet: A Guide to Key Concepts, Technology, and More Part 1Reprinted with permission from the Patricia Seybold Group by Brenda M. Michelson Its a Service-Oriented World Its no secret that we are fans of services and service-oriented architecture. For years, we have been proclaiming the significance of serviceoriented architecture and Web Services technology in creating an adaptive IT architecture for customer experience. More recently, we have shared our belief that the current uses of SOA for integration and customer- (user-) facing applications are merely the first stages of the service-oriented evolution. Over the next few years, SOA will be the springboard for innovative IT shops to move towards business scenario development. In business scenario development, IT business solutions will be compositions of services, business events, and business processes. These compositions match the interactions of your businesswith customers, partners, employees, and regulatory agenciesin support of commerce, collaboration, and information exchange. Now, everyone is talking SOA, services and Web Services. If you Google service oriented architecture, you get almost 12 million hits. 12 million hits for an IT concept with architecture in it! And if you Google Web Services, over a billion hits! While thats no indication of true adoption, it certainly does validate the buzz factor. In fact, so many people are talking SOA, and labeling their products and services accordingly, OASIS has recently formed an SOA reference model technical committee. According to the May 3, 2005, OASIS news release1, the SOA reference model will offer an understanding of the core elements within a service oriented environment and the associations and relationships among those elements. Essentially, the intent of the reference model is to separate fact from fictionto provide software and application architects a starting point to delivering SOA solutions. This is good, but as we all know, it will take time (perhaps a lot) to complete. In the meantime, as a service to our clients who are interested in, or are pursuing a service-oriented strategy, we have developed this overview report on services and SOA. This SOA Cheat Sheet report includes key service concepts, information on supporting technologies, a view of the SOA landscape, and some keys to SOA success. Service and SOA Basics What Is a Service? Simply stated, a service is a thing that fulfills a purpose. A service is, in essence, a worker, employed to achieve a specific end goal for a requester. The end goal may be small in scope, such as retrieving information, or large in scope, such as executing a business process. Most services are in the middle, completing a function. The scope of a service is referred to as its grain, or level of granularity. WHAT KIND OF THING IS A SERVICE? A service is an abstract resource that has a name, a job, job tasks, contact information and policies regarding security and service levels. To use (request) a service, you send a messagein accordance to the contact information and policiesand then (if appropriate), receive a reply message. A SERVICES JOB. The job of a service is limited to a single distinct business concept, function, or process. This characteristic is referred to as the bounds of a service. Finding the correct bounds is a key factor in service definition. A service may call upon other services if it needs assistance to complete its job. This service-to-service relationship is called collaboration.
SERVICE COLLABORATION. Services collaborate through orchestration, business interaction, or interception:
NOT ALL SERVICES ARE ALIKE. Not all services are simple information-oriented requests/replies. Beyond request/reply, a service may be a worker, a monitor, an agent, an aggregator, or even a process.
What Is SOA? The term SOA is used interchangeably for three distinct concepts: the architectural concept, the style of the resulting business solutions, and the supporting infrastructure. In this section, we describe each concept. SERVICE-ORIENTATION. Service orientation is an architectural concept that refers to the loose coupling of a service (an abstract resource with a defined job) and its provider (the physical asset(s) that perform the job tasks). A requestor only knows what the services job is and how to request it. The service is the only one that knows its implementation. Typically, service-orientation is applied to functional assets that correspond to business concepts (Open Customer Account) or system concepts (Authenticate User). However, service-oriented thinking can apply to any domain, including integration, network, platform, or even programming services. If a requester knows what a service offers (job, service levels) and how to use it (contact, security), then it really is not important (to the requester) how that service works, as long as the results meet expectations. SERVICE-ORIENTED ARCHITECTURE. SOA is an IT architecture strategy for business solution (and infrastructure solution) delivery based on the concept of service-orientation.
SOA STYLES FOR BUSINESS SOLUTIONS. The two primary styles of SOA used in business solution development are composite application development and flow. Composite Application Development. In composite applications, the user interaction drives a request for one or many services. Most of the service invocations are synchronous in nature. A composite application typically serves one business domain. Composite applications are often delivered in a portal. Flow. In flow, business process and/or events drive the service invocations. The service invocations are a mix of asynchronous and synchronous; however, the overall flow is usually long running and asynchronous. A flow typically crosscuts business domains and often extends outside of the enterprise.
Closing the loop on flow, any service may generate an event or be invoked via an automated transaction (business process step, eventdriven activity). We believe this is the true power of SOA, combining services, events, and business process for human and automated (agent-based) interactions. SOA ENVIRONMENT. Refers to the collective environment that allows services to be defined, developed and used by other services, and to be assembled into solutions by adding process, interaction mechanisms, user interface, and/or rules. In addition to service development and solution assembly, the SOA environment provides runtime and management functions such as service discovery, policy definition and enforcement, quality of service (performance, availability, reliability and load), transaction management, audit, and usage metering. Why SOA? Certainly, everyone is talking about SOA, but talk doesnt justify adoption. In our experience, we find that SOA has both business and IT advantages. Business advantages consist of the following:
IT advantages include:
References 1 See http://www.oasis-open.org/news/oasis_news_05_03_05.php. 2 Note that the ROI from reuse typically occurs between the second and third use of the service. This note is based on industry metrics that consider the increased design and development time to get the service right to be reusable. -- Brenda M. Michelson is the Sr. VP and Sr. Consultant for the Patricia Seybold Group.
Read more reports on Web Services and Service-Oriented Architecture by Brenda M. Michelson and others. |
sponsored by
|
||||
| Copyright (c) 2004-2005, nextslm.org. All Rights Reserved. Legal Statement. | |||||