Service Component Architecture
   HOME

TheInfoList



OR:

Service Component Architecture (SCA) is a software technology designed to provide a model for applications that follow
service-oriented architecture In software engineering, service-oriented architecture (SOA) is an architectural style that focuses on discrete services instead of a monolithic design. By consequence, it is also applied in the field of software design where services are provided ...
principles. The technology, created by major software vendors, including IBM,
Oracle Corporation Oracle Corporation is an American multinational computer technology corporation headquartered in Austin, Texas. In 2020, Oracle was the third-largest software company in the world by revenue and market capitalization. The company sells da ...
and
TIBCO Software TIBCO Software Inc. is an American business intelligence software company founded in 1997 in Palo Alto, California. It has headquarters in Palo Alto, California, and offices in North America, Europe, Asia, the Middle East, Africa and Sout ...
, encompasses a wide range of technologies and as such is specified in independent specifications to maintain programming language and application environment neutrality. Many times it uses an enterprise service bus (ESB).


History

The original partners announced on November 30, 2005 were:
BEA Systems BEA Systems, Inc. was a company that specialized in enterprise infrastructure software products which was wholly acquired by Oracle Corporation on April 29, 2008. History BEA began as a software company, founded in 1995 and headquartered in ...
, IBM,
IONA Technologies IONA Technologies was an Irish software company founded in 1991. It began as a campus company linked to Trinity College Dublin had its headquarters in Dublin, and eventually also expanded its offices in Boston and Tokyo. It specialised in dist ...
,
Oracle Corporation Oracle Corporation is an American multinational computer technology corporation headquartered in Austin, Texas. In 2020, Oracle was the third-largest software company in the world by revenue and market capitalization. The company sells da ...
,
SAP AG Sap is a fluid transported in xylem cells (vessel elements or tracheids) or phloem sieve tube elements of a plant. These cells transport water and nutrients throughout the plant. Sap is distinct from latex, resin, or cell sap; it is a sepa ...
,
Sybase Sybase, Inc. was an enterprise software and services company. The company produced software to manage and analyze information in relational databases, with facilities located in California and Massachusetts. Sybase was acquired by SAP in 2010; ...
, Xcalia and
Zend Technologies Zend, formerly Zend Technologies, is a Minneapolis, Minnesota-based software company. The company's products, which include Zend Studio, assist software developers with developing, deploying, and managing PHP-based web applications. The company w ...
. Additional members announced on July 26, 2006 were Cape Clear,
Interface21 Spring (previously known as SpringSource) was the company created by the founders of the Spring Framework (a programming model for enterprise Java applications) to support and develop Spring and related projects. Originally incorporated as Int ...
, Primeton Technologies,
Progress Software Progress Software Corporation (Progress) is an American public company that offers software for creating and deploying business applications. Headquartered in Burlington, Massachusetts with offices in 16 countries, the company posted revenues ...
, Red Hat, Rogue Wave Software,
Software AG Founded in 1969, Software AG is an enterprise software company with over 10,000 enterprise customers in over 70 countries. The company is the second largest software vendor in Germany, and the seventh largest in Europe. Software AG is traded on t ...
,
Sun Microsystems Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, ...
and
TIBCO Software TIBCO Software Inc. is an American business intelligence software company founded in 1997 in Palo Alto, California. It has headquarters in Palo Alto, California, and offices in North America, Europe, Asia, the Middle East, Africa and Sout ...
.
Siemens AG Siemens AG ( ) is a German multinational conglomerate corporation and the largest industrial manufacturing company in Europe headquartered in Munich with branch offices abroad. The principal divisions of the corporation are ''Industry'', ''E ...
joined the collaboration of companies working on the technology on September 18, 2006. In addition to the partners, the SCA community had some formal supporters.


Definition

On March 21, 2007, the OSOA Collaboration released the first version of specification. The specifications said that an application designed with SCA should have: * Decoupling of application business logic from the details of its invoked service calls * Target services in a multitude of languages including C++,
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
,
COBOL COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural and, since 2002, object-oriented language. COBOL is primarily ...
, and
PHP PHP is a General-purpose programming language, general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementati ...
as well as
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. ...
,
BPEL The Web Services Business Process Execution Language (WS-BPEL), commonly known as BPEL (Business Process Execution Language), is an OASIS standard executable language for specifying actions within business processes with web services. Process ...
, and
XSLT XSLT (Extensible Stylesheet Language Transformations) is a language originally designed for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text or XSL Formatting Objects, which may subse ...
* The ability to work with various communications constructs including one-way, asynchronous, call-return, and notification * The ability to "bind" to legacy components or services, accessed normally by technologies such as Web Services,
EJB Jakarta Enterprise Beans (EJB; formerly Enterprise JavaBeans) is one of several Java APIs for modular construction of enterprise software. EJB is a server-side software component that encapsulates business logic of an application. An EJB web co ...
, JMS, JCA,
RMI RMI may refer to: Science and technology * Radio-magnetic indicator, an instrument used in aircraft navigation * Repetitive motion injury, an injury to the musculoskeletal and nervous systems * Richtmyer–Meshkov instability, an instability occu ...
,
RPC RPC may refer to: Science and technology * Rational polynomial coefficient * Reactive Plastic Curtain, a carbon-dioxide-absorbing device used in some rebreather breathing sets * Regional Playback Control, a regional lockout technology for DVDs * ...
,
CORBA The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between sy ...
and others * The ability to declare (outside of business logic) the
quality of service Quality of service (QoS) is the description or measurement of the overall performance of a service, such as a telephony or computer network, or a cloud computing service, particularly the performance seen by the users of the network. To quantitat ...
requirements, such as security, transactions and the use of reliable messaging * Data could be represented in Service Data Objects SCA, therefore, was promoted to offer flexibility for composite applications, flexibly incorporating reusable components in an SOA programming style. Marketing firm
Gartner Group Gartner, Inc is a technological research and consulting firm based in Stamford, Connecticut that conducts research on technology and shares this research both through private consulting as well as executive programs and conferences. Its clients ...
published a short brief that promoted the SCA and its included technology of Service Data Objects (SDO) in December 2005 . Advantages: * caters for all existing
Java platform Java is a set of computer software and specifications developed by James Gosling at Sun Microsystems, which was later acquired by the Oracle Corporation, that provides a system for developing application software and deploying it in a cro ...
technologies and C++ * less technology dependence – does not have to rely on the
Java programming language Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers ''write once, run an ...
or
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. ...
* Service Data Objects is a technology specification for data access Disadvantages: * Specification does not address performance of SOA applications, which continues to be a detractor of adoption. * Focusing on portability (instead of interoperability), making it vulnerable to repeating
CORBA The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between sy ...
's mistakes. SCA was said to provide interoperability through an approach called "Activation". It is the method that provides the highest degree of component autonomy, compared to older "mediation" (e.g., JBI) or "Invocation" method used in JCA, as explained by an architect at SAP.


Artifacts

The SCA Assembly Model consists of a series of artifacts, which are defined by elements contained in XML files. An SCA runtime may have other non-standard representations of the artifacts represented by these XML files, and may allow for the configuration of systems to be modified dynamically. However, the XML files define the portable representation of the SCA artifacts. The basic artifact is the composite, which is the unit of deployment for SCA and which holds services that can be accessed remotely. A composite contains one or more components, which contain the business function provided by the module. Components 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 Entry Points. Components may also depend on services provided by other components — these dependencies are called references. References 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. References to services provided outside the module, including services provided by other modules, are defined by External Services in the module. Also contained in the module are the linkages between references and services, represented by wires. A component consists of a configured implementation, where an implementation is the piece of program code implementing business functions. The component configures the implementation with specific values for settable properties declared by the implementation. The component can also configure the implementation with wiring of references declared by the implementation to specific target services. Composites are deployed within an SCA System. An SCA System represents a set of services providing an area of business functionality that is controlled by a single organization. As an example, for the accounts department in a business, the SCA System might cover all financial-related functions, and it might contain a series of modules dealing with specific areas of accounting, with one for customer accounts and another dealing with accounts payable. To help build and configure the SCA System, Composites can be used as component implementations, in the same way as Java classes or
BPEL The Web Services Business Process Execution Language (WS-BPEL), commonly known as BPEL (Business Process Execution Language), is an OASIS standard executable language for specifying actions within business processes with web services. Process ...
processes. In other words, SCA allows a hierarchy of composites that is arbitrarily deep – such a nested model is termed recursive. The capture and expression of non-functional requirements, such as security, is an important aspect of service definition, and affects SCA throughout the life-cycle of components and compositions. SCA provides the Policy Framework to support specification of constraints, capabilities and Quality of Service (QoS) expectations, from component design through to concrete deployment.


Transition to a standards body

After several years of incubation under an informal industry collaboration, early (V1.0) implementations of the specification are now coming to market. The collaboration partners indicated that formal industry standardization would be the appropriate next step and announced their intentions in March 2007. The chosen Standards Development Organization is the OASIS organization, and a new
OASIS In ecology, an oasis (; ) is a fertile area of a desert or semi-desert environmentOpen CSA
Member Section has been established. Charters for six new Technical Committees (TCs) have been submitted to OASIS and a Call for Participation for Technical Committee members has been issued within the OASIS organization. The Technical Committees planned to start their work in September 2007. Participation in these OASIS SCA TCs remains open to all companies, non-profit groups, governments, academic institutions, and individuals. Archives of the work will be accessible to both members and non-members, and OASIS will offer a mechanism for public comment.


See also

* Apache ServiceMix *
Business Process Model and Notation Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes in a business process model. Originally developed by the Business Process Management Initiative (BPMI), BPMN has been maintained by the ...
(BPMN) *
Docker (software) Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called '' containers''. The service has both free and premium tiers. The software that hosts the containers is called ...
*
Enterprise application integration Enterprise application integration (EAI) is the use of software and computer systems' architectural principles to integrate a set of enterprise computer applications. Overview Enterprise application integration is an integration framework compo ...
(EAI) * Mule (software) * Open ESB *
Reactive programming In computing, reactive programming is a declarative programming paradigm concerned with data streams and the propagation of change. With this paradigm, it's possible to express static (e.g., arrays) or dynamic (e.g., event emitters) data streams ...
* Semantic service-oriented architecture (SSOA) *
Service-oriented modeling Service-oriented modeling is the discipline of modeling business and software systems, for the purpose of designing and specifying Service-orientation, service-oriented business systems within a variety of architectural styles and paradigms, such ...
* Windows Communication Foundation (WCF)


References


Further reading

* Understanding SCA from experts Jim Marino and Michael Rowle

* SOA for the Business Developer: Concepts, BPEL, and SCA— * Apache Tuscany in Action, * Open Source SOA, {{ISBN, 1-933988-54-1


External links


Mail of 2013-02-19 with Death of OASIS SCA Assembly technical committee, on that mail the amazing SCA died
* ttps://soa.netbeans.org/ NetBeans SOA Composite Application Project Homebr>camelseRunning Apache Camel in OpenESBIntroduction to programming for SCA
Dr. Dobb's
Apache Tuscany – Open Source implementation of the SCA specification
* ttp://www.pocomatic.com/docs/whitepapers/webservices/#sca-as-a-dsm PocoCapsule for WS and SCAAn open source C++ SCA container based on inversion-of-control (IoC) and domain-specific-modeling (DSM)
Newton open source distributed SCA & OSGi runtimeA French public research project, which includes a SCA runtime called FraSCatiSCA Home Page at OASIS web siteCurrent SCA Resources & CollateralLatest SCA & SDO NewsIntroducing SCA – A tutorial by David Chappell, Chappell & AssociatesEclipse STP/SCA sub project
An Open Source Eclipse project that provides a set of tools for SCA

Enterprise application integration Service-oriented (business computing)