Contents
Preface
Articles in this Series
Click here to download "Readings in Service Orientation"
"All fine architectural values are human values, else not valuable."
—Frank Lloyd Wright
Many forces are involved with architecture, but the fundamental principles that govern all architectures are simple: it's easy, it works, it's familiar, and it can be trusted.
The purpose of this book is to let you form your own opinions about the impact of services orientation on your business and computing environments. This book is not trying to be an authoritative reference for service orientation. Rather, presented here is an interesting set of classical papers on architecting services by a variety of well-known authors in the architectural space. The topics, or architectural viewpoints covered, go from a perspective on business architecture, through model-based tools, to map from the business to technology to the choices in new IT infrastructure.
One way to look at any IT architecture is as a set of layers. At a technology layer, we are interested in how hardware and operational infrastructure connect together across the network. On top of technology is the application layer in which various applications and components are deployed. The problem with integration of both of these layers is that we typically think about specific instances (.NET to J2EE, or SAP to Siebel). If anything needs to change, then it is normal to change the integration, too; this is the tightly coupled effect.
Today's efforts towards service orientation build around a concept in which a "service" abstracts the inner complexity of distributed computing technology. It's not a new technical concept—a service makes network resources available in a repeatable and consistent manner or protocol, and people or systems can access services in a standardized way. What is new is the uniform agreement across technology vendors and industry groups around the world on everyone using the same fundamental building blocks: the Internet, XML, and open Web Services standard protocols.
Services have a number of characteristics: boundaries are explicit, services are autonomous, services share schema and contract but not class, and service compatibility is based on policy. They operate autonomously, but when together, the intent is that they work to accomplish a common goal and a contract has to exist between the services. Services themselves, in essence then, become the public expression of one or more capabilities of resources in each of our autonomous networks.
These autonomous, loosely-coupled services can be easily assembled to create composite services or easily decomposed into component services. The design intent is to create a whole greater than the sum of the parts, so a high degree of interoperability between your service and my service is sought.
Services are also meant to have real-world effects, so one area in which service orientation has been gaining ground is as an expression for business services, providing a scalable structure for IT to map real-world business requirements onto the technology.
Especially distinctive in service industries, such as telecommunications, service orientation abstracts away from the underlying applications. Instead of thinking about connecting SAP with Siebel, we think of integration in terms of connecting customers to orders, regardless of the underlying implementation.
Finally, looking at layers of technology, the business process layer is where solutions are constructed to support a business requirement through services to the underlying technology. The desired effect is for business process to be more resilient to underlying market changes, and IT can more easily accommodate new requirements in a more agile manner.
But what do we do about all of today's technology? The world still runs on legacy code, so how do we get to a services-based model from there?
Our existing software and many distributed technologies today are largely targeted at one of two distinct design points: ease of programming versus flexibility. Service orientation is about reducing shared assumptions and being more flexible. Object orientation is about ease of use, transparency, and lots of assumptions for easy programming. For the future of software architecture, neither objects nor services will probably be the dominant metaphor; rather, it will be contracts, activities, tasks, and other "higher up the stack" concepts as architects reach for higher-order expressions for their customer communities.
Today, a new meta-tenet, superseding the four commonly accepted service design tenets, is emerging and it can be simply expressed as "the separation of structure from interpretation." In effect, modeling takes on a more prominent role in architectures. Along with a new meta-tenet for services orientation, three truisms are emerging:
- Embrace diversity; there is always something "other."
- People matter (to write software, for example) to reach a higher ground of service orientation.
- Say what you mean and mean what you say.
There has been a lot of material recently written around service architecture, much of it though may be called marketecture. This book takes five different viewpoints on service-oriented architecture and in each viewpoint presents a set of collected readings from various famous authors. The papers here are really a must-read for the architect.
The chapter on Design and Modeling is essentially an end-to-end, business-to-technology set of different perspectives related to architecting services.
A chapter on Data presents two interesting views on information management and information, the business fuel of services architecture.
Next, a chapter on Process talks about design aspects of the behavior of services and choosing the right technology to do the job. Process and Data taken together are really the architectural foundation of the new generation of electronic business transactions.
There is a chapter on Identity, which talks about something so fundamental, even beyond service orientation, that Identity will shift the very center of gravity in how we all need to perceive living on the Web.
Finally, there is a chapter on Protocols and Practice, which presents two papers on service orientation from an infrastructure perspective.
There just wasn't enough room in this book to put everything we would have wanted to include. A companion reference book to this is Microsoft's Dynamic Modeling: Aligning Business and IT.
In putting together this book, the intent was to provide a balanced selection of different viewpoints about this evolving space. No application is an island. Whether we like it or not, tying systems together has become the norm. Yet connecting software is about more than just exchanging bytes. As organizations move toward a services-oriented world, the real goal of creating effective business processes that unite separate systems into a coherent whole comes within reach.
There are too many people to thank for helping to put this book together, and we had too much material for more than just this book. Special thanks goes to Jon Tobey for his help in technical editing and bringing the content together.
We hope you enjoy this series of selected readings on services orientation and that you find practical use for your architecture. On behalf of the authors, we look forward to hearing from you and sharing your architectural vision.
Sincerely,
Dave Welsh
Architect
Microsoft Corporation
John deVadoss
Architect
Microsoft Corporation
<!---->Articles in this Series
Design and Modeling: Aligning Business and IT
Data: Information Management for Services
Process: Services Composition and Consumption
Identity: Who Are You? Can You Use My Service?
Protocols and Practice: Services-based Infrastructure
分享到:
相关推荐
"For the first time in ten years there has been an update to the classic Red Book, Readings in Database Systems, which offers 'readers an opinionated take on both classic and cutting-edge research in ...
在《Readings in Database Systems》这本书中,作者们详细探讨了数据库系统的各个方面,旨在为读者提供一个深入学习数据库技术的资源。本书由Joseph M. Hellerstein和Michael Stonebraker编辑,是该系列的第四版,于...
#### 标题:《Readings in Database Systems 5th_ Peter Bailis.pdf》 此书是数据库领域的经典读物之一,由Peter Bailis、Joseph M. Hellerstein与Michael Stonebraker三位专家共同编辑。作为该领域的权威性作品,...
A number of fundamental DBMS concepts will be covered in the course. You will learn the theory behind database systems, the issues that affect their functionality and performance, and importantly, ...
本书为读者提供了对数据管理领域的经典研究和前沿研究的独到见解,这是自第四版以来十多年来的第一篇。
A number of fundamental DBMS concepts will be covered in the course. You will learn the theory behind database systems, the issues that affect their functionality and performance, and importantly, ...
#### 描述:Readings in database systems - **背景介绍**:这部分内容介绍了数据库系统领域的最新发展动态以及相关的重要文献资料。由Michael Stonebraker引入背景部分,强调了数据库管理领域在过去十年间的爆炸式...
《Unihan Readings汉字读音数据库(MySQL)详解》 Unihan Readings数据库是一个极其重要的资源,它专门针对汉字的多种读音进行了详尽的收录和整理。这个数据库的建立,为研究汉字语言学、计算机处理汉字以及跨语言...
(Eds.) Counselor education and supervision: Readings in theory, practive and research. Springfield, Ill.: Charles C. Thomas, 1972, 421 p., [dollar]14.75 274 BOOK BRIEFS SELIGMAN, M. and BALDWIN, ...
《College Writing Skills with Readings》第七版的特点还包括了版权信息,指出版权由McGraw-Hill Companies, Inc.所有,任何未经允许的复制和分发都是被禁止的。这些信息包括了版权年限,2008年,以及版权的版权...
Readings in theory and practice. New York: Holt, Rinehart and Winston, Inc., 1968, 416 p., [dollar]5.95 (paper) B O O K N O T E S A N D R E V I E W S GUIDANCE AND COUNSELING KOWITZ, GERALD T. ...
Jean Wyrick's rhetorically organized STEPS TO WRITING WELL WITH ADDITIONAL READINGS is known for its student-friendly tone and the clear way it presents the basics of essay writing in an easy-to-...
Morgan.Kaufmann.Principles.of.Transaction.Processing.,一本事务处理的教材。
Selected Readings on Electronic Commerce Technologies:Contemporary Applications
【标题】:“CET-Readings.pdf” 【描述】:“CET-Readings.pdf” 这个文件可能是一个关于英语测试或阅读材料的文档,但具体的内容与IT知识不直接相关,因此无法直接生成IT相关的知识点。不过,我们可以将部分内容...
高中英语 Module 5 Ethnic Culture-Section 1 Background Readings素材 外研版选修7.doc
高中英语 Module 1 Basketball-Section 1 Background readings素材 外研版选修7.doc
Unicode普通话阅读 ...npm install unicode-mandarin-readings --save 用法 var data = require ( 'unicode-mandarin-readings' ) console . log ( data [ "U+597D" ] ) console . log ( data [ "U+9177" ] ) co
If calibration was succesful write down your offsets so you can set them in your projects using something similar to mpu.setXAccelOffset(youroffset) 简单快速,把该偏移带入mpu6050替换下面的值: // ...