You are on page 1of 29

Service-oriented architecture

From Wikipedia, the free encyclopedia

Jump to: navigation, search The external links in this article or section may require cleanup to comply with Wikipedia's content policies.
Please improve this article by removing excessive or inappropriate external links. Please remove this tag when this is done. talk!

"he introduction to this article provides insufficient context for those unfamiliar with the sub#ect matter.
Please help improve the introduction to meet Wikipedia$s layout standards. %ou can discuss the issue on the talk page.

Service Oriented Architecture &'(! is an evolution of distributed computing and modular programming. &'( provides a modularity of logic that can be presented as a service for a client client as in client)server architecture! and at the same time function as a client for other services. *elative to earlier attempts to promote software reuse via modularity of functions or classes, &'($s atomic level ob#ects are +,, to +,,,, times larger, and are associated by an application designer or engineer using orchestration. -n the process of orchestration, relatively large chunks of software functionality services! are associated in a non)hierarchical arrangement in contrast to a class$s hierarchies! by a software engineer or process engineer using a special software tool which contains an exhaustive list of all of the services and their characteristics currently available. .nderlying and enabling all of this is metadata which is sufficient to describe not only the characteristics of these services, but the data that drives them. /01 has been used extensively in &'( to create data which is wrapped in a nearly exhaustive description container. (nalogously, the services themselves are typically described by W&21, and communications protocols by &'(P. Whether these description languages are the best possible for the #ob, and whether they will remain the favorites going forward, is at present an open 3uestion. What is certain is that &'( is utterly dependent on data and services that are described using some implementation of metadata which meets two criteria. "he metadata must be in a form which software systems can consume to dynamically configure to maintain coherence and integrity, and in a form which system designers can understand and use to manage that metadata. "he goal of &'( then is to allow fairly large chunks of functionality to be strung together to form ad)hoc applications which are built almost entirely from existing software services. "he larger the chunks the fewer the interface points re3uired to implement any given set of functionality. "his is at odds with very large chunks of functionality which are not granular enough to be easily reused. &ince each interface brings with it some amount of processing overhead, there is a performance consideration in choosing the granularity of services. "he great promise of &'( though, is that in this world, the marginal cost of creating the nth application is 4ero, as all of the software re3uired

already exists to satisfy the re3uirements of other applications. 'nly orchestration is re3uired to produce a new application. &'( services are loosely coupled, in contrast, for example, to the functions a linker binds together to form an executable, a 211, or an assembly. &'( services also run in 5safe5 wrappers such as the .67" environment, which manages memory allocation and reclamation, allows ad)hoc and late binding, and some degree of indeterminate data typing. -t is important to note that increasingly there are third party software companies which offer software services for a fee. 8oing forward, many &'( systems may be composed of services, only some of which were created in)house. "his has the potential to spread costs over many customers, and customer uses, and promotes standardi4ation both in and across industries. "he travel industry in particular now has a well)defined and documented set of services, and the data they consume sufficient to allow any reasonably competent software engineer to create travel agency software using entirely off the shelf software services. 'ther industries, such as the finance industry, are also making significant progress in this direction. "here is no widely agreed upon definition of &'( other than its literal translation. -t is an architecture that relies on service)orientation as its fundamental design principle.9+: -n an &'( environment independent services can be accessed without knowledge of their underlying platform implementation.9;: "hese concepts can be applied to business, software and other types of producer<consumer systems.

ontents
9hide:

+ &ervice)oriented architecture ; *e3uirements for a &'( = Web services approach to a service)oriented architecture > 'ther &'( ?oncepts @ &'( definitions A Why &'(B C &'( principles D &ervice)oriented design and development o D.+ &ervice contract E &'( and web service protocols +, &'(, Web ;.,, and mashups ++ &'( ;., or (dvanced &'( +; What are the challenges faced in &'( adoptionB += ?riticisms of &'( +> &'( and Fusiness (rchitecture +@ &'( and network management architecture +A Jargon

+C 1iterature o +C.+ Fooks, non)technical o +C.; Fooks, technical o +C.= (rticles<Papers, non)technical o +C.> (rticles<Papers, technical o +C.@ &tandards +D *eferences +E &ee also ;, 7xternal links

!edit" Service-oriented architecture


( service-oriented architecture &'(! is a collection of services that communicate with each other, for example, passing data from one service to another or coordinating an activity between one or more services. ?ompanies have longed to integrate existing systems in order to implement information technology -"! support for business processes that cover the entire business value chain. ( variety of designs are used, ranging from rigid point)to)point electronic data interchange 72-! interactions to Web auctions. Fy using the -nternet, companies make their -" systems available to internal departments or external customers, but the interactions are not flexible and are without standardi4ed architecture. Fecause of this increasing demand for technologies that support connecting and sharing of resources and data, there is a need for a flexible, standardi4ed architecture. &'( is a flexible architecture that unifies business processes by structuring large applications into building blocks, or small modular functional units or services, to be used by different groups of people in and outside the company. "he building blocks can be one of three roles: service provider, service broker, or service re3uestor. &ee Web services approach to a service)oriented architecture to learn more about these roles.

!edit" #equirements for a SOA


-n order to efficiently use a &'(, you must abide by the following re3uirements:

-nteroperability between different systems and programming languages "he most important basis for a simple integration between applications on different platforms is a communication protocol, which is available for most systems and programming languages. ?lear and unambiguous description language "o use a service offered by a provider, it is not only necessary to be able to access the provider system, but the syntax of the service interface must also be clearly defined in a platform)independent fashion.

*etrieval of the service "o allow a convenient integration at design time or even system run time, a search mechanism is re3uired to retrieve suitable services. "he services should be classified as computer)accessible, hierarchical or taxonomies based on what the services in each category do and how they can be invoked.

!edit" We$ services approach to a service-oriented architecture


Web services implement a service)oriented architecture. ( ma#or focus of Web services is to make functional building blocks accessible over standard -nternet protocols that are independent from platforms and programming languages. "hese services can be new applications or #ust wrapped around existing legacy systems to make them network) enabled. ( service can rely on another service to achieve its goals. 7ach &'( building block can play one or more of three roles:

&ervice provider "he service provider creates a Web service and possibly publishes its interface and access information to the service registry. 7ach provider must decide which services to expose, how to make trade)offs between security and easy availability, how to price the services, or, if they are free, how to exploit them for other value. "he provider also has to decide what category the service should be listed in for a given broker service and what sort of trading partner agreements are re3uired to use the service. &ervice broker "he service broker, also known as service registry, is responsible for making the Web service interface and implementation access information available to any potential service re3uestor. "he implementer of the broker decides about the scope of the broker. Public brokers are available through the -nternet, while private brokers are only accessible to a limited audience, for example, users of a company intranet. Furthermore, the amount of the offered information has to be decided. &ome brokers speciali4e in many listings. 'thers offer high levels of trust in the listed services. &ome cover a broad landscape of services and others focus within an industry. "here are also brokers that catalog other brokers. 2epending on the business model, brokers can attempt to maximi4e look)up re3uests, number of listings or accuracy of the listings. "he .niversal 2escription 2iscovery and -ntegration .22-! specification defines a way to publish and discover information about Web services. &ervice re3uestor "he service re3uestor or Web service client locates entries in the broker registry using various find operations and then binds to the service provider in order to invoke one of its Web services.

!edit" Other SOA oncepts

(rchitecture is not tied to a specific technology. -t may be implemented using a wide range of technologies, including &'(P, *P?, 2?'0, ?'*F(, Web &ervices or W?F. &'( can be implemented using one or more of these protocols and, for example, might use a file system mechanism to communicate data conforming to a defined interface specification between processes conforming to the &'( concept. "he key is independent services with defined interfaces that can be called to perform their tasks in a standard way, without the service having foreknowledge of the calling application, and without the application having or needing knowledge of how the service actually performs its tasks.

7lements of &'(, by 2irk Graf4ig, Garl Fanke, and 2irk &lama. 7nterprise &'(. Prentice Hall, ;,,@

&'( 0eta 0odel, "he 1inthicum 8roup, ;,,C &'( can also be regarded as a style of information systems architecture that enables the creation of applications that are built by combining loosely coupled and interoperable services9citation needed:. "hese services inter)operate based on a formal definition or contract, e.g., W&21! that is independent of the underlying platform and programming language. "he interface definition hides the implementation of the language)specific service. &'() based systems can therefore be independent of development technologies and platforms such as Java, .67" etc!. &ervices written in ?I running on .67" platforms and services written in Java running on Java 77 platforms, for example, can both be consumed by a common composite application or client!. (pplications running on either platform can also consume services running on the other as Web services, which facilitates reuse. 0any ?'F'1 legacy systems can also be wrapped by a managed environment and presented as a software service. "his has allowed the useful life of many core legacy systems to be extended indefinitely no matter what language they were originally written in. &'( can support integration and consolidation activities within complex enterprise systems, but &'( does not specify or provide a methodology or framework for documenting capabilities or services.

High)level languages such as FP71 and specifications such as W&)?21 and W&) ?oordination extend the service concept by providing a method of defining and supporting orchestration of fine grained services into more coarse)grained business services, which in turn can be incorporated into workflows and business processes implemented in composite applications or portals9citation needed:. "he use of &ervice component architecture &?(! to implement &'( is a current area of research.

!edit" SOA definitions


&'( is a design for linking business and computational resources principally organi4ations, applications and data! on demand to achieve the desired results for service consumers which can be end users or other services!. '(&-& the 'rgani4ation for the (dvancement of &tructured -nformation &tandards! defines &'( as the following: A paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. It provides a uniform means to offer, discover, interact with and use capabilities to produce desired effects consistent with measurable preconditions and expectations. "here are multiple definitions of &'(, the '(&-& group and the 'pen 8roup have created formal definition with depth which can be applied to both the technology and business domains.

'pen 8roup &'( 2efinition &'()2efinition!9=: '(&-& &'( *eference 0odel &'()*0!9>: What -s &ervice)'riented (rchitectureB /01.com! What is &ervice)'riented (rchitectureB Javaworld.com! Webopedia definition "ech7ncyclopedia definition 'b#ect 0anagement 8roup '08 ! &'( &pecial -nterest 8roup definition What-s.com definition &earchWeb&ervices.com 6umerous &'( definitions by industry experts

"hough many definitions of &'( limit themselves to technology or #ust web services, this is predominantly pushed by technology vendorsJ in ;,,= they talked #ust of web services, while in ;,,A the talk is of events and process engines.9citation needed:

!edit" Why SOA%


"he main drivers for &'( adoption are that it links computational resources and promotes their reuse. 7nterprise architects believe that &'( can help businesses respond more 3uickly and cost)effectively to changing market conditions9@: . "his style of

architecture promotes reuse at the macro service! level rather than micro ob#ects! level. -t can also simplify interconnection to ) and usage of ) existing -" legacy! assets. &'( Practitioners 8uide: Why &ervices)'riented (rchitectureB provides a high)level summary on &'(. -n some respects, &'( can be considered an architectural evolution rather than a revolution and captures many of the best practices of previous software architectures. -n communications systems, for example, there has been little development of solutions that use truly static bindings to talk to other e3uipment in the network. Fy formally embracing a &'( approach, such systems are better positioned to stress the importance of well) defined, highly inter)operable interfaces.9citation needed: &ome have 3uestioned whether &'( is #ust a revival of modular programming +EC,s!, event)oriented design +ED,s! or interface<component)based design +EE,s!9citation needed:. &'( promotes the goal of separating users consumers! from the service implementations. &ervices can therefore be run on various distributed platforms and be accessed across networks. "his can also maximi4e reuse of services9citation needed:.

!edit" SOA principles


"he following &uidin& principles define the ground rules for development, maintenance, and usage of the &'(9A:

*euse, granularity, modularity, composability, componenti4ation, and interoperability ?ompliance to standards both common and industry)specific! &ervices identification and categori4ation, provisioning and delivery, and monitoring and tracking

"he following specific architectural principles for design and service definition focus on specific themes that influence the intrinsic behaviour of a system and the style of its design:

Service 'ncapsulation ) ( lot of existing web)services are consolidated to be used under the &'( (rchitecture. 0any a times, such services have not been planned to be under &'(. Service (oose couplin& ) &ervices maintain a relationship that minimi4es dependencies and only re3uires that they maintain an awareness of each other Service contract ) &ervices adhere to a communications agreement, as defined collectively by one or more service description documents Service a$straction ) Feyond what is described in the service contract, services hide logic from the outside world Service reusa$ility ) 1ogic is divided into services with the intention of promoting reuse

Service composa$ility ) ?ollections of services can be coordinated and assembled to form composite services Service autonomy K &ervices have control over the logic they encapsulate Service optimi)ation K (ll else e3ual, high)3uality services are generally considered preferable to low)3uality ones Service discovera$ility K &ervices are designed to be outwardly descriptive so that they can be found and assessed via available discovery mechanisms9C:

-n addition, the following factors should also be taken into account when defining a &'( implementation:

&'( *eference (rchitecture &'( Practitioners 8uide Part ;: &'( *eference (rchitecture covers the &'( *eference (rchitecture, which provides a worked design of an enterprise)wide &'( implementation with detailed architecture diagrams, component descriptions, detailed re3uirements, design patterns, opinions about standards, patterns on regulation compliance, standards templates etc. 1ife cycle management &'( Practitioners 8uide Part =: -ntroduction to &ervices 1ifecycle introduces the &ervices 1ifecycle and provides a detailed process for services management though the service lifecycle, from inception through to retirement or repurposing of the services. -t also contains an appendix that includes organi4ation and governance best practices, templates, comments on key &'( standards, and recommended links for more information. 7fficient use of system resources &ervice maturity and performance 7(- 7nterprise (pplication -ntegration

!edit" Service-oriented desi&n and development


This section does not cite any references or sources.
Please help improve this section by adding citations to reliable sources. help, get involvedL! .nverifiable material may be challenged and removed. "his section has been tagged since *une +,,-.

"he modelling and design methodology for &'( applications has become known by the terms service)oriented analysis and design and &'(2 9D:. &'(2 is a design methodology for developing highly)agile systems in a consumer<producer model that abstracts implementation from process, such that a service)provider can be modified or changed without affecting the consumer.

!edit" Service contract


( service contract needs to have the following components:

Header

6ame ) 6ame of the service. &hould indicate in general terms what it does, but not be the only definition o Mersion ) "he version of this service contract o 'wner ) "he person<team in charge of the service o *(? *esponsible ) "he role the person<team is responsible for the deliverables of this contract<service. (ll versions of the contract (ccountable ) .ltimate 2ecision 0aker in terms of this contract<service ?onsulted ) Who must be consulted before action is taken on this contract<service. "his is ;)way communication. "hese people have an impact on the decision and<or the execution of that decision. -nformed ) Who must be informed that a decision or action is being taken. "his is a +)way communication. "hese people are impacted by the decision or execution of that decision, but have no control over the action. o "ype ) "his is the type of the service to help distinguish the layer in which it resides. 2ifferent implementations will have different service types. 7xamples of service types include: Presentation Process Fusiness 2ata -ntegration Functional o Functional *e3uirement From *e3uirements 2ocument! ) -ndicates the functionality in specific bulleted items what exactly this service accomplishes. "he language should be such that it allows test cases to prove the functionality is accomplished. o &ervice 'perations ) 0ethods, actions etc. 0ust be defined in terms of what part of the Functionality it provides. o -nvocation ) -ndicates the invocation means of the service. "his includes the .*1, interface, etc. "here may be multiple -nvocation paths for the same service. We may have the same functionality for an internal and external clients each with a different invocation means and interface. 7xamples: &'(P *7&" 7vents "riggers 6on)Functional o &ecurity ?onstraints ) 2efines who can execute this service in terms of roles or individual partners, etc. and which invocation mechanism they can invoke. o Nuality of &ervice ) 2etermines the allowable failure rate o "ransactional ) -s this capable of acting as part of a larger transaction and if so, how do we control thatB
o

o o o

&ervice 1evel (greement ) 2etermines the amount of latency the service is allowed to have to perform its actions &emantics ) 2ictates or defines the meaning of terms used in the description and interfaces of the service Process ) 2escribes the process, if any, of the contracted service

!edit" SOA and we$ service protocols


This section does not cite any references or sources.
Please help improve this section by adding citations to reliable sources. help, get involvedL! .nverifiable material may be challenged and removed. "his section has been tagged since *une +,,-.

&'( may be built on Web services standards e.g., using &'(P! that have gained broad industry acceptance. "hese standards also referred to as web service specifications! also provide greater interoperability and some protection from lock)in to proprietary vendor software. 'ne can, however, implement &'( using any service)based technology, such as Jini. Service-oriented architecture is often defined as services exposed using the Web &ervices Protocol &tack9citation needed: . "he base level of web services standards relevant to &'( includes the following:

/01 ) a markup language for describing data in message payloads in a document format H""P or H""P&! ) re3uest<response protocol between clients and servers used to transfer or convey information &'(P ) a protocol for exchanging /01)based messages over a computer network, normally using H""P /(?01 ) a markup language for expressing access control rules and policies. Web &ervices 2escription 1anguage W&21! ) /01)based service description that describes the public interface, protocol bindings and message formats re3uired to interact with a web service .niversal 2escription, 2iscovery, and -ntegration .22-! ) (n /01)based registry to publish service descriptions W&21! and allow their discovery

6ote, however, that a system does not necessarily need to use any or all of these standards to be 5service)oriented.5 For example, some service oriented systems have been implemented using ?orba, Jini and *7&".

!edit" SOA. We$ +.,. and mashups


Web ;., refers to a 5second generation5 of web sites, primarily distinguished by the ability of visitors to contribute information for collaboration and sharing. Web ;.,

applications use Web services and may include (#ax, Flash, &ilverlight or JavaF/ user interfaces, Web syndication, blogs, and wikis. While there are no set standards for Web ;.,, it is characterised by building on the existing web server architecture and using services. Web ;., can therefore be regarded as displaying some &'( characteristics9E:. 0ashups are also regarded by some as Web ;., applications. "he term 5enterprise mashup5 has been coined to describe Web applications that combine content from more than one source into an integrated experience, which share many of the characteristics of service)oriented business applications &'F(s!, which are applications composed of services in a declarative manner. "here is ongoing debate about 5the collision of Web ;.,, mashups, and &'(5, with some stating that Web ;., applications are a realisation of &'( composite and business applications. 9+,:

!edit" SOA +., or Advanced SOA


(mid much negative reaction, 'racle is taking up SOA +., as 5the next)generation version of &'(5 combining service)oriented architecture and 7vent 2riven (rchitecture, and categori4ing the first iteration of &'( as client)server driven9++: . 7ven though 'racle indicates that 8artner is coining a new term, 8artner analysts indicate that they call this advanced SOA and it is $whimsically$ referred to as &'( ;.,.9+;: 0ost of the pure)play middleware vendors e.g., web0ethods and "-F?' &oftware! have had &'( ;., attributes for years. &'( ;., can therefore be regarded as 5more marketing noise than anything else59+=: and product evangelism rather than a new 5way of doing things5. However, other industry commentators have critici4ed attaching a version number to an application architecture design approach, while others have stated that the 5next generation5 should apply to the evolution of &'( techni3ues from -" optimi4ation to business development9+>: .

!edit" What are the challen&es faced in SOA adoption%


This section does not cite any references or sources.
Please help improve this section by adding citations to reliable sources. help, get involvedL! .nverifiable material may be challenged and removed. "his section has been tagged since *une +,,-.

'ne obvious and common challenge faced is managing services metadata9citation needed:. &'()based environments can include many services which exchange messages to perform tasks. 2epending on the design, a single application may generate millions of messages. 0anaging and providing information on how services interact is a complicated task. (nother challenge is providing appropriate levels of security. &ecurity model built into an application may no longer be appropriate when the capabilities of the application are

exposed as services that can be used by other applications. "hat is, application)managed security is not the right model for securing services. ( number of new technologies and standards are emerging to provide more appropriate models for security in &'(. &ee &'( &ecurity entry for more info. (s &'( and the W&)O specifications are constantly being expanded, updated and refined, there is a shortage of skilled people to work on &'( based systems, including the integration of services and construction of services infrastructure. /nteropera$ility is another important aspect in the &'( implementations. "he W&)organi4ation has developed Fasic Profile FP! and Fasic &ecurity Profile F&P! to enforce compatibility. "esting tools have been designed by W&)- to help assess whether web services are conformant with W&)- profile guidelines. (dditionally, another ?harter has been established to work on the *eliable &ecure Profile. "here is significant vendor hype concerning &'( that can create expectations that may not be fulfilled. Product stacks are still evolving as early adopters test the development and runtime products with real world problems. &'( does not guarantee reduced -" costs, improved systems agility or faster time to market. &uccessful &'( implementations may realise some or all of these benefits depending on the 3uality and relevance of the system architecture and design9+@: . See also: W&)0etadata7xchange 'W1)& (brobit *oy

!edit" riticisms of SOA


&ome criticisms of &'( are based on the assumption that &'( is #ust another term for Web &ervices. For example, some critics claim &'( results in the addition of /01 layers introducing /01 parsing and composition. -n the absence of native or binary forms of *emote Procedure ?all *P?! applications could run slower and re3uire more processin& power, increasing costs. 0ost implementations do incur these overheads, but &'( can be implemented using technologies for example, Java Fusiness -ntegration JF-!! which do not depend on remote procedure calls or translation through /01. However, there are emerging and open)source /01 parsing technolgies, such as 0T123(. and various /01)compatible binary formats http:<<vtd) xml.sf.net<persistence.html! that promise to significantly improve the &'( performance. &tateful services re3uire both the consumer and the provider to share the same consumer) specific context, which is either included in or referenced by messages exchanged between the provider and the consumer. "he drawback of this constraint is that it could reduce the overall scalability of the service provider because it might need to remember the shared context for each consumer. -t also increases the coupling between a service provider and a consumer and makes switching service providers more difficult. (nother concern is that WS-4 standards and products are still evolvin& e.g., transaction, security!, and &'( can thus introduce new risks unless properly managed

and estimated with additional budget and contingency for additional Proof of ?oncept work. (n informal survey by 6etwork ?omputing placed &'( as the most despised bu44word 6ovember ;,,A!. &ome critics feel &'( is merely an obvious evolution of currently well)deployed architectures open interfaces, etc!. ( &'( being an architecture is the first stage of representing the system components that interconnect for the benefit of the business. (t this level a &'( is #ust an evolution of an existing architecture and business functions. &'(s are normally associated with interconnecting back end transactional systems that are accessed via web services. "he real issue with any -" 5architecture5 is how one defines the information management model and operations around it that deal with information privacy, reflect the business$s products and services, enable services to be delivered to the customers, allow for self care, preferences and entitlements and at the same time embrace identity management and agility. 'n this last point, system modification agility! is a critical issue which is normally omitted from -" system design. 0any systems, including &'(s, hard code the operations, goods and services of the organisation thus restricting their online service and business agility in the global market place. (dopting &'(s is therefore #ust the first diagrammatic! step in defining a real business system. "he next step in the design process is the definition of a &ervice 2elivery Platform &2P! and its implementation. -t is in the &2P design phase where one defines the business information models, identity management, products, content, devices, and the end user service characteristics, as well as how agile the system is so that it can deal with the evolution of the business and its customers.

!edit" SOA and 5usiness Architecture


'ne area where &'( has been gaining ground is in its power as a mechanism for defining business services and operating models and thus provide a structure for -" to deliver against the actual business re3uirements and adapt in a similar way to the business. "he purpose of using &'( as a business mapping tool is to ensure that the services created properly represent the business view and are not #ust what technologists think the business services should be. (t the heart of &'( planning is the process of defining architectures for the use of information in support of the business, and the plan for implementing those architectures 7nterprise (rchitecture Planning by &teven &pewak and &teven Hill!. 7nterprise Fusiness (rchitecture should always represent the highest and most dominant architecture. 7very service should be created with the intent to bring value to the business in some way and must be traceable back to the business architecture.

Within this area, &'0( &ervice)'riented 0odelling and (rchitecture! was announced by -F0 as the first &'()related methodology in ;,,>. &ince then, efforts have been made to move towards greater standardi4ation and the involvement of business ob#ectives, particularly within the '(&-& standards group and specifically the &'( (doption Flueprints group. (ll of these approaches take a fundamentally structured approach to &'(, focusing on the &ervices and (rchitecture elements and leaving implementation to the more technically focused standards.

!edit" SOA and network mana&ement architecture


"he principles of &'( are currently being applied to the field of network management. 7xamples of &ervice)'riented network management architectures are "& +DD ,,+ ! "anagement #SS Architecture from 7"&-, and the recently published 0.=,A, $rinciples for the "anagement #f ext !eneration etwor%s recommendation from the -".)" &'(. "ools for managing &'( infrastructure include:

&ymantec (P0 HyPerformix -P& Performance 'ptimi4er HP 0anagement &oftware < 0ercury &'( 0anager -F0 "ivoli Framework "idal &oftware -ntersperse

!edit" *ar&on
This section does not cite any references or sources.
Please help improve this section by adding citations to reliable sources. help, get involvedL! .nverifiable material may be challenged and removed. "his section has been tagged since *une +,,-.

&'( is an architectural style rather than a product. &everal vendors offer products which can form the basis of, or enable, &'())particularly 7nterprise &ervice Fus 7&F! products. 7&Fs provide infrastructure that can be purchased, implemented and leveraged for &'()based systems9citation needed:. &'( relies heavily on metadata design and management. 0etadata design and management products are also critical to implementing &'( architectures. &ee the list of &'( related products for an overview and ideas.

1istri$uted computin&
From Wikipedia, the free encyclopedia

Jump to: navigation, search

1istri$uted computin& is a method of computer processing in which different parts of a program run simultaneously on two or more computers that are communicating with each other over a networ%. 2istributed computing is a type of se&mented or parallel computing. Fut the latter term is most commonly used to refer to processing in which different parts of a program run simultaneously on two or more processors that are part of the same computer. While both types of processing re3uire that a program be segmented Pdivided into sections that can run simultaneously, distributed computing also re3uires that the division of the program take into account the different environments on which the different sections of the program will be running. For example, two computers are likely to have different file systems and different hardware components. (n example of distributed computing is F'-6?, a framework in which large problems can be divided into many small problems which are distributed to many computers. 1ater, the small results are reassembled into a larger solution. 2istributed computing is a natural result of the use of networks to allow computers to efficiently communicate. Fut distributed computing is distinct from computer networking or fra&mented computing. "he latter refers to two or more computers interacting with each other, but not, typically, sharing the processing of a single program. "he World Wide Web is an example of a network, but not an example of distributed computing. "here are numerous technologies and standards used to construct distributed computations, including some which are specially designed and optimi4ed for that purpose, such as *emote Procedure ?alls *P?! or *emote 0ethod -nvocation *0-! or .67" *emoting.

ontents
9hide:

+ 'rgani4ation ; 8oals and advantages o ;.+ 'penness = 2rawbacks and disadvantages > (rchitecture @ ?oncurrency o @.+ 0ultiprocessor systems o @.; 0ulticore systems o @.= 0ulticomputer systems o @.> ?omputing taxonomies o @.@ ?omputer clusters o @.A 8rid computing A 1anguages C 7xamples o C.+ Pro#ects D &ee also

E *eferences +, Further reading ++ 7xternal links

!edit" Or&ani)ation
'rgani4ing the interaction between each computer is of prime importance. -n order to be able to use the widest possible range and types of computers, the protocol or communication channel should not contain or use any information that may not be understood by certain machines. &pecial care must also be taken that messages are indeed delivered correctly and that invalid messages are re#ected which would otherwise bring down the system and perhaps the rest of the network. (nother important factor is the ability to send software to another computer in a portable way so that it may execute and interact with the existing network. "his may not always be possible or practical when using differing hardware and resources, in which case other methods must be used such as cross)compiling or manually porting this software.

!edit" 6oals and advanta&es


"here are many different types of distributed computing systems and many challenges to overcome in successfully designing one. "he main goal of a distributed computing system is to connect users and resources in a transparent, open, and scalable way. -deally this arrangement is drastically more fault tolerant and more powerful than many combinations of stand)alone computer systems.

!edit" Openness
'penness is the property of distributed systems such that each subsystem is continually open to interaction with other systems see references!. Web &ervices protocols are standards which enable distributed systems to be extended and scaled. -n general, an open system that scales has an advantage over a perfectly closed and self)contained system. ?onse3uently, open distributed systems are re3uired to meet the following challenges: 0onotonicity 'nce something is published in an open system, it cannot be taken back. Pluralism 2ifferent subsystems of an open distributed system include heterogeneous, overlapping and possibly conflicting information. "here is no central arbiter of truth in open distributed systems. .nbounded nondeterminism (synchronously, different subsystems can come up and go down and communication links can come in and go out between subsystems of an open

distributed system. "herefore the time that it will take to complete an operation cannot be bounded in advance see unbounded nondeterminism!.

!edit" 1raw$acks and disadvanta&es


See also: &allacies of 'istributed (omputing -f not planned properly, a distributed system can decrease the overall reliability of computations if the unavailability of a node can cause disruption of the other nodes. 1eslie 1amport famously 3uipped that: 5( distributed system is one in which the failure of a computer you didn$t even know existed can render your own computer unusable.59+: "roubleshooting and diagnosing problems in a distributed system can also become more difficult, because the analysis may re3uire connecting to remote nodes or inspecting communication between nodes. 0any types of computation are not well suited for distributed environments, typically owing to the amount of network communication or synchroni4ation that would be re3uired between nodes. -f bandwidth, latency, or communication re3uirements are too significant, then the benefits of distributed computing may be negated and the performance may be worse than a non)distributed environment. 2istributed computing pro#ects may generate data that is proprietary to private industry, even though the process of generating that data involves the resources of volunteers. "his may result in controversy as private industry profits from the data which is generated with the aid of volunteers. -n addition, some distributed computing pro#ects, such as biology pro#ects that aim to develop thousands or millions of 5candidate molecules5 for solving various medical problems, may create vast amounts of raw data. "his raw data may be useless by itself without refinement of the raw data or testing of candidate results in real)world experiments. &uch refinement and experimentation may be so expensive and time)consuming that it may literally take decades to sift through the data. .ntil the data is refined, no benefits can be ac3uired from the computing work. 'ther pro#ects suffer from lack of planning on behalf of their well)meaning originators. "hese poorly planned pro#ects may not generate results that are palpable, or may not generate data that ultimately result in finished, innovative scientific papers. &ensing that a pro#ect may not be generating useful data, the pro#ect managers may decide to abruptly terminate the pro#ect without definitive results, resulting in wastage of the electricity and computing resources used in the pro#ect. Molunteers may feel disappointed and abused by such outcomes. "here is an obvious opportunity cost of devoting time and energy to a pro#ect that ultimately is useless, when that computing power could have been devoted to a better planned distributed computing pro#ect generating useful, concrete results. (nother problem with distributed computing pro#ects is that they may devote resources to problems that may not ultimately be soluble, or to problems that are best pursued later in the future, when desktop computing power becomes fast enough to make pursuit of such solutions practical. &ome distributed computing pro#ects may also attempt to use computers to find solutions by number)crunching mathematical or physical models. With

such pro#ects there is the risk that the model may not be designed well enough to efficiently generate concrete solutions. "he effectiveness of a distributed computing pro#ect is therefore determined largely by the sophistication of the pro#ect creators.

!edit" Architecture
Marious hardware and software architectures are used for distributed computing. (t a lower level, it is necessary to interconnect multiple ?P.s with some sort of network, regardless of whether that network is printed onto a circuit board or made up of loosely) coupled devices and cables. (t a higher level, it is necessary to interconnect processes running on those ?P.s with some sort of communication system. 2istributed programming typically falls into one of several basic architectures or categories: ?lient)server, =)tier architecture, 6)tier architecture, 2istributed ob#ects, loose coupling, or tight coupling.

?lient)server P &mart client code contacts the server for data, then formats and displays it to the user. -nput at the client is committed back to the server when it represents a permanent change. =)tier architecture P "hree tier systems move the client intelligence to a middle tier so that stateless clients can be used. "his simplifies application deployment. 0ost web applications are =)"ier. 6)tier architecture P 6)"ier refers typically to web applications which further forward their re3uests to other enterprise services. "his type of application is the one most responsible for the success of application servers. "ightly coupled clustered! P refers typically to a set of highly integrated machines that run the same process in parallel, subdividing the task in parts that are made individually by each one, and then put back together to make the final result. Peer)to)peer P an architecture where there is no special machine or machines that provide a service or manage the network resources. -nstead all responsibilities are uniformly divided among all machines, known as peers. Peers can serve both as clients and servers.

!edit" oncurrency
2istributed computing implements a kind of concurrency. -t interrelates tightly with concurrent programming so much that they are sometimes not taught as distinct sub#ects 9;: .

!edit" 3ultiprocessor systems


( multiprocessor system is simply a computer that has more than one ?P. on its motherboard. -f the operating system is built to take advantage of this, it can run different processes or different threads belonging to the same process! on different ?P.s.

!edit" 3ulticore systems


-ntel ?P.s from the late Pentium > era 6orthwood and Prescott cores! employed a technology called Hyperthreading that allowed more than one thread usually two! to run on the same ?P.. "he more recent &un .ltra&P(*? "+, (02 (thlon A> /;, (02 (thlon F/, (02 'pteron, -ntel Pentium 2, -ntel ?ore, -ntel ?ore ; and -ntel /eon processors feature multiple processor cores to also increase the number of concurrent threads they can run.

!edit" 3ulticomputer systems


( multicomputer may be considered to be either a loosely coupled 6.0( computer or a tightly coupled cluster. 0ulticomputers are commonly used when strong compute power is re3uired in an environment with restricted physical space or electrical power. ?ommon suppliers include 0ercury ?omputer &ystems, ?&P-, and &G% ?omputers. ?ommon uses include =2 medical imaging devices and mobile radar.

!edit" omputin& taxonomies


"he types of distributed systems are based on Flynn$s taxonomy of systemsJ single instruction, single data &-&2!, single instruction, multiple data &-02!, multiple instruction, single data 0-&2!, and multiple instruction, multiple data 0-02!. 'ther taxonomies and architectures available at ?omputer architecture and in ?ategory:?omputer architecture.

!edit" omputer clusters


"ain article: (luster computing ( cluster consists of multiple stand)alone machines acting in parallel across a local high speed network. 2istributed computing differs from cluster computing in that computers in a distributed computing environment are typically not exclusively running 5group5 tasks, whereas clustered computers are usually much more tightly coupled. 2istributed computing also often consists of machines which are widely separated geographically.

!edit" 6rid computin&


"ain article: !rid computing ( grid uses the resources of many separate computers connected by a network usually the -nternet! to solve large)scale computation problems. 0ost use idle time on many thousands of computers throughout the world. &uch arrangements permit handling of data that would otherwise re3uire the power of expensive supercomputers or would have been impossible to analy4e.

!edit" (an&ua&es
6early any programming language that has access to the full hardware of the system could handle distributed programming given enough time and code. *emote procedure calls distribute operating system commands over a network connection. &ystems like ?'*F(, 0icrosoft 2?'0, Java *0- and others, try to map ob#ect oriented design to the network. 1oosely coupled systems communicate through intermediate documents that are typically human readable e.g. /01, H"01, &801, /.@,,, and 72-!. 1anguages specifically tailored for distributed programming are:

(da programming language 9=: (lef programming language 7 programming language 7rlang programming language 1imbo programming language '4 programming language QP1 programming language!

!edit" 'xamples
!edit" 7ro8ects
"ain article: )ist of distributed computing pro*ects ( variety of distributed computing pro#ects have grown up in recent years. 0any are run on a volunteer basis, and involve users donating their unused computational power to work on interesting computational problems. 7xamples of such pro#ects include the &tanford .niversity ?hemistry 2epartment FoldingRhome pro#ect, which is focused on simulations of protein folding to find disease curesJ World ?ommunity 8rid, an effort to create the world$s largest public computing grid to tackle scientific research pro#ects that benefit humanity, run and funded by -F0J &7"-Rhome, which is focused on analy4ing radio)telescope data to find evidence of intelligent signals from space, hosted by the &pace &ciences 1aboratory at the .niversity of ?alifornia, FerkeleyJ and distributed.net, which is focused on breaking various cryptographic ciphers.9>: 2istributed computing pro#ects also often involve competition with other distributed systems. "his competition may be for prestige, or it may be a matter of enticing users to donate processing power to a specific pro#ect. For example, stat races are a measure of the work a distributed computing pro#ect has been able to compute over the past day or week. "his has been found to be so important in practice that virtually all distributed computing pro#ects offer online statistical analyses of their performances, updated at least daily if not in real)time.

9niversal 1escription 1iscovery and /nte&ration


From Wikipedia, the free encyclopedia

Jump to: navigation, search 9niversal 1escription. 1iscovery and /nte&ration 911/! is a platform)independent, /01)based registry for businesses worldwide to list themselves on the -nternet. .22- is an open industry initiative, sponsored by '(&-&, enabling businesses to publish service listings and discover each other and define how the services or software applications interact over the -nternet. ( .22- business registration consists of three components:

White Pages P address, contact, and known identifiersJ %ellow Pages P industrial categori4ations based on standard taxonomiesJ 8reen Pages P technical information about services exposed by the business.

.22- is one of the core Web services standards9+:. -t is designed to be interrogated by &'(P messages and to provide access to Web &ervices 2escription 1anguage documents describing the protocol bindings and message formats re3uired to interact with the web services listed in its directory. .22- was written in (ugust, ;,,,, at a time when the authors had a vision of a world in which consumers of Web &ervices would be linked up with providers through a public or private dynamic brokerage system. -n this vision, anyone needing a service such as credit card authentication, would go to their service broker and select one supporting the desired &'(P or other service interface and meeting other criteria. -n such a world, the publicly operated .22- node or broker would be critical for everyone. For the consumer, public or open brokers would only return services listed for public discovery by others, while for a service producer, getting a good placement, by relying on metadata of authoritative index categories, in the brokerage would be critical for effective placement. "he .22- was integrated into the Web &ervices -nteroperability W&)-! standard as a central pillar of web services infrastructure. Fy the end of ;,,@, it was on the agenda for use by more than seventy percent of the Fortune @,, companies in either a public or private implementation, and particularly among those enterprises that seek to optimi4e software or service reuse. 0any of these enterprises subscribe to some form of service) oriented architecture &'(!, server programs or database software licensed by some of the professed founders of the .22-.org and '(&-&. "he .22- specifications supported a publicly accessible .niversal Fusiness *egistry in which a naming system was built around the .22-)driven service broker. -F0, 0icrosoft and &(P announced they were closing their public .22- nodes in January ;,,A.9;:

&ome assert that the most common place that a 911/ system can be found is inside a company where it is used to dynamically bind client systems to implementations. "hey would say that much of the search metadata permitted in .22- is not used for this relatively simple role. However, the core of the trade infrastructure under .22-, when deployed in the .niversal Fusiness *egistries now being disabled!, has made all the information available to any client application, regardless of heterogeneous computing domains.

ontents
9hide:

+ .22- 2ata 0odel o +.+ .22- 2ata "ypes ; .22- 6odes S *egistry o ;.+ .22- 6odes o ;.; .22- *egistry = -mplementations o =.+ .22- clients o =.; .22- servers > &ee also @ 7xternal links A *eferences

!edit" 911/ 1ata 3odel


!edit" 911/ 1ata Types

$usiness'ntity: "he top level structure, describing a business or other entity for which information is being registered $usinessService: 2escription of a set of services which may contain one or more binding"emplates. $indin&Template: -nformation necessary to invoke specific services which may encompass bindings to one or more protocols, such as H""P or &0"P. t3odel: "echnical Tfinger printU for a given service which may also function as namespace to identify other entities, including other t0odels.

!edit" 911/ :odes ; #e&istry


!edit" 911/ :odes
.22- nodes are servers which support the .22- specification and belong to a .22registry.

!edit" 911/ #e&istry


.22- registries are collections of one or more nodes.

Service component architecture


From Wikipedia, the free encyclopedia

Jump to: navigation, search Service omponent Architecture <S A= is a relatively new initiative advocated by ma#or vendors of Java 77 technology. -ts proponents claim it is more natively suited for the delivery of applications that conform with the principles of service)oriented architecture. (s such, &?( components are supposedly more technologically agnostic.

ontents
9hide:

+ Partners ; &upporters = 2efinition > Further (nalysis @ &?( artifacts A "ransition to a &tandards Fody C Footnotes D &ee also E 7xternal links

!edit" 7artners
Partner vendors include:

the original members: F7( &ystems, -F0, -'6( "echnologies, 'racle ?orporation, &(P (8, &ybase, /calia and Qend "echnologies the additional members announced on July ;A, ;,,A: ?ape ?lear, -nterface;+, Primeton "echnologies, Progress &oftware, *ed Hat, *ogue Wave &oftware, &oftware (8, &un 0icrosystems and "-F?' &oftware.9+: &iemens (8, who #oined the collaboration of companies working on the technology on &eptember +D, ;,,A.

!edit" Supporters

-n addition to the partners above, the &?( community has a significant set of formal supporters. 9;: "he &upporters Program remains open for any interested vendor, -&M, customer or user of the &?( technology to contribute to its evolution.

!edit" 1efinition
'n 0arch ;+, ;,,C the '&'( ?ollaboration released the M+., level of specification 9=:. "he specifications specify that an application designed with &?( should have the following advantages:

2ecoupling of application business logic from the details of its invoked service calls including . "arget services in a multitude of languages including ?VV, Java, ?'F'1, and PHP as well as /01, FP71, and /&1". "he ability to seamlessly work with various communications constructs including 'ne)Way, (synchronous, ?all)*eturn, and 6otification. "he ability to 5bind5 to legacy components or services, accessed normally by technologies such as Web &ervices, 7JF, J0&, J?(, *0- and others. "he ability to declare outside of business logic! the Nuality of &ervice re3uirements, such as &ecurity, "ransactions and the use of *eliable 0essaging. 2ata could be represented in &ervice 2ata 'b#ects.

"he value proposition of &?(, therefore, is to offer the flexibility for true composite applications, flexibly incorporating reusable components in an &'( programming style. "he overhead of business logic programmer concerns regarding platforms, infrastructure, plumbing, policies and protocols are removed, enabling a high degree of programmer productivity.

!edit" >urther Analysis


8artner 8roup has published a short brief that concluded that the &?( included technology of &ervice 2ata 'b#ect &2'! will en#oy more rapid adoption due to its maturity. 9>: (dvantages:

caters for all existing Java platform technologies and ?VV less technology dependence ) does not have to rely on the Java programming language, nor /01 uses &2', which is the only industry standard for data access in &'( lack of support by 0icrosoft encourages potential users to broaden their spectrum of &'( solutions to an increasing number of vendors.

2isadvantages:

lack of support by 0icrosoft reduces the relevancy of &?( for a large number of potential users. &pecification does not address performance of &'( applications, which continues to be a detractor of adoption.

&?( is said to provide interoperability through an approach called 5(ctivation5. -t is the method that provides the highest degree of component autonomy, compared to older 5mediation5 e.g. JF-! or 5-nvocation5 method used in J?(, as explained by an architect at &(P 9+:.

!edit" S A artifacts
"he S A Assem$ly 3odel consists of a series of artifacts, which are defined by elements contained in /01 files. ( &?( runtime may have other non)standard representations of the artifacts represented by these /01 files, and may allow for the configuration of systems to be modified dynamically. However, the /01 files define the portable representation of the &?( artifacts. "he basic artifact is the omposite, which is the unit of deployment for &?( and which holds Services which can be accessed remotely. ( composite contains one or more omponents, which contain the business function provided by the module. ?omponents offer their function as services, which can either be used by other components within the same module or which can be made available for use outside the module through 'ntry 7oints. ?omponents may also depend on services provided by other components P these dependencies are called #eferences. *eferences can either be linked to services provided by other components in the same module, or references can be linked to services provided outside the module, which can be provided by other modules. *eferences to services provided outside the module, including services provided by other modules, are defined by 7xternal &ervices in the module. (lso contained in the module are the linkages between references and services, represented by Wires. ( ?omponent consists of a configured /mplementation, where an implementation is the piece of program code implementing business functions. "he component configures the implementation with specific values for settable 7roperties declared by the implementation. "he component can also configure the implementation with wiring of references declared by the implementation to specific target services. ?omposites are deployed within a S A System. ( &?( &ystem represents a set of services providing an area of business functionality that is controlled by a single organi4ation. (s an example, for the accounts department in a business, the &?( &ystem might cover all financial related function, and it might contain a series of modules dealing with specific areas of accounting, with one for customer accounts, another dealing with accounts payable. "o help build and configure the &?( &ystem, ?omposites can be used as component implementations, in the same way as a Java classes or a FP71 processes. -n other words, &?( allows a hierarchy of composites that is arbitrarily deep ) such a nested model is termed recursive.

"he capture and expression of non)functional re3uirements such as security is an important aspect of service definition, and has impact on &?( throughout the lifecycle of components and compositions. &?( provides the 7olicy >ramework to support specification of constraints, capabilities and Nuality of &ervice No&! expectations, from component design through to concrete deployment.

!edit" Transition to a Standards 5ody


(fter several years of incubation under an informal industry collaboration, early M+.,! implementations of the specification are now coming to market. "he collaboration have now indicated that formal industry standardi4ation is the appropriate next step and announced their intentions in 0arch ;,,C. "he chosen &tandards 2evelopment 'rgani4ation is the '(&-& organi4ation, and a new '(&-& 'pen ?&( 0ember &ection has been established 9@:. ?harters for six new "echnical ?ommittees "?s! have been submitted to '(&-&9A: and a ?all for Participation for "echnical ?ommittee members has been issued within the '(&-& organi4ation. "he "echnical ?ommittees will start their work in &eptember ;,,C. Participation in these '(&-& &?( "?s remains open to all companies, non)profit groups, governments, academic institutions, and individuals. (rchives of the work will be accessible to both members and non)members, and '(&-& will offer a mechanism for public comment9C:.

OAS/S <or&ani)ation=
From Wikipedia, the free encyclopedia

Jump to: navigation, search +his article is about standards organisation. &or other uses, see #asis ,disambiguation-. "he Or&ani)ation for the Advancement of Structured /nformation Standards OAS/S! is a global consortium that drives the development, convergence and adoption of e)business and web service standards. 0embers of the consortium decide how and what work is undertaken through an open, democratic process. "echnical work is happening in the following categories: Web &ervices, e)?ommerce, &ecurity, 1aw S 8overnment, &upply ?hain, ?omputing 0anagement, (pplication Focus, 2ocument)?entric, /01 Processing, ?onformance<-nterop, and -ndustry 2omains.

ontents
9hide:

+ History

; &pecific standards under development by '(&-& technical committees = Patent disclosure controversy > 7vents o >.+ '(&-& (doption Forum @ &ee also A 7xternal links

!edit" ?istory
'(&-& was first formed as S63( Open in +EE= as a trade association of &801 tool vendors to cooperatively promote the adoption of &801 through mainly educational activities, though some amount of technical activity was also pursued including an update of the ?(1& "able 0odel specification and specifications for fragment interchange and entity management. -n +EED, with the movement of the high tech industry to /01, &801 'pen changed its emphasis from &801 to /01, and changed its name to '(&-& 'pen to be inclusive of /01 and any future structured information standards. "he focus of the consortium$s activities also moved from promoting adoption as /01 was getting lots of attention on its own! to developing technical specifications. -n July ;,,, a new technical committee process was approved. With the adoption of the process the manner in which technical committees were created, operated, and progressed their work was regulari4ed. (t the adoption of the process there were five technical committeesJ by ;,,> there were nearly C,. 2uring +EEE '(&-& was approached by .6<?7F(?", the committee of the .nited 6ations dealing with standards for business, to #ointly develop a new set of specifications for electronic business. "he #oint initiative, called 5eb/015 and which first met in 6ovember +EEE, was chartered for a three year period. (t the final meeting under the original charter, in Mienna, .6<?7F(?" and '(&-& agreed to divide the remaining work between the two organi4ations and to coordinate the completion of the work through a coordinating committee. -n ;,,> '(&-& submitted its completed eb/01 specifications to -&' "?+@> where they were approved as IS# ./000.

!edit" Specific standards under development $y OAS/S technical committees

?(P ) ommon Alertin& 7rotocol, is an /01)based data format for exchanging public warnings and emergencies between alerting technologies. ?-N ) ustomer /nformation @uality, is an /01 &pecifications for defining, representing, interoperating and managing party information e.g. name, address!.

2ocFook 1oc5ook! is a markup language for technical documentation. -t was originally intended for authoring technical documents related to computer hardware and software but it can be used for any other sort of documentation. 2-"( 1arwin /nformation Typin& Architecture! is a modular and extensible /01)based language for topic)based information, such as for online help, documentation, and training. 'pen2ocument OAS/S Open 1ocument >ormat for Office Applications! is an open document file format for saving office documents such as spreadsheets, memos, charts, and presentations. &(01 ) Security Assertion 3arkup (an&ua&e, a standard /01)based framework for the secure exchange of authentication and authori4ation information. &P01 ) Service 7rovisionin& 3arkup (an&ua&e, a standard /01)based protocol for the integration and interoperation of service provisioning re3uests. .F1 ) 9niversal 5usiness (an&ua&e, 6ational effort to define a royalty)free library of standard electronic /01 business documents. (ll invoices to the 2anish government have to be in .F1 electronic format since February ;,,@. W&20 ) We$ Services 1istri$uted 3ana&ement /*- ) e2tensi$le #esource /dentifier, a .*-)compatible scheme and resolution protocol for abstract identifiers used to identify and share resources across domains and applications. /2- ) 2#/ 1ata /nterchan&e, a standard for sharing, linking, and synchroni4ing data 5dataweb5! across multiple domains and applications using /01 documents, e/tensible *esource -dentifiers /*-s!, and a new method of distributed data control called a link contract.

!edit" 7atent disclosure controversy


1ike many bodies producing open standards, '(&-& has a patent disclosure policy re3uiring participants to disclose intent to apply for software patents for technologies under consideration in the standard. 1ike the W=?, which re3uires participants to offer royalty)free licenses to anyone using the resulting standard, '(&-& offers a similar *oyalty Free on 1imited "erms mode, along with a *oyalty Free on *(62 "erms mode and a *(62 reasonable and non)discriminatory! mode for its committees 9+: . ?ontroversy has arisen because this licensing allows publication of standards re3uiring licensing fee payments to patent holders, the use of which would effectively eliminate the possibility of free<open source implementations of these standards. Further, contributors

could initially offer royalty)free use of their patent, later imposing per)unit fees, after the standard becomes accepted. &upporters of '(&-& point out this could occur anyway since an agreement would not be binding on non)participants, discouraging contributions from potential participants. &upporters further argue that -F0 and 0icrosoft shifting standardi4ation efforts from the W=? to '(&-& is evidence this is already occurring.

You might also like