Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Service-oriented architecture
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Implementation approaches == Service-oriented architecture can be implemented with [[web service]]s or [[Microservices]].<ref>Brandner, M., Craes, M., Oellermann, F., Zimmermann, O., Web Services-Oriented Architecture in Production in the Finance Industry, Informatik-Spektrum 02/2004, Springer-Verlag, 2004</ref> This is done to make the functional building-blocks accessible over standard Internet protocols that are independent of platforms and programming languages. These services can represent either new applications or just wrappers around existing legacy systems to make them network-enabled.<ref>{{Cite web|url=http://www.ibm.com/support/knowledgecenter/en/SSEQTP_6.1.0/com.ibm.websphere.base.iseries.doc/info/iseries/ae/cwbs_soawbs.html|title=www.ibm.com|website=[[IBM]] |access-date=2016-09-10}}</ref> Implementers commonly build SOAs using web services standards. One example is [[SOAP]], which has gained broad industry acceptance after the recommendation of Version 1.2 from the W3C<ref>{{cite web|url=http://www.w3.org/2003/06/soap12-pressrelease |title=SOAP Version 1.2 ใฎๅ ฌ้ใซใคใใฆ (W3C ๅงๅ) |date=June 24, 2003 |language=ja |publisher=W3.org |access-date=August 13, 2012 }}</ref> (World Wide Web Consortium) in 2003. These standards (also referred to as [[List of web service specifications|web service specifications]]) also provide greater interoperability and some protection from lock-in to proprietary vendor software. One can, however, also implement SOA using any other service-based technology, such as [[Jini]], [[CORBA]], [[Internet Communications Engine]], [[Representational State Transfer|REST]], or [[gRPC]]. Architectures can operate independently of specific technologies and can therefore be implemented using a wide range of technologies, including: * [[Web services]] based on WSDL and [[SOAP]] * Messaging, e.g., with ActiveMQ, JMS, RabbitMQ * RESTful HTTP, with [[Representational state transfer]] (REST) constituting its own constraints-based architectural style * [[Data Distribution Service]] (DDS) * [[OPC Unified Architecture|OPC-UA]] * [[Internet Communications Engine]] * [[Windows Communication Foundation|WCF]] (Microsoft's implementation of Web services, forming a part of WCF) * [[Apache Thrift]] * [[gRPC]] * [[SORCER]] Implementations can use one or more of these protocols and, for example, might use a file-system mechanism to communicate data following a defined interface specification between processes conforming to the SOA concept. The key is independent services with defined interfaces that can be called to perform their tasks in a standard way, without a service having foreknowledge of the calling application, and without the application having or needing knowledge of how the service actually performs its tasks. SOA enables the development of applications that are built by combining loosely coupled and [[interoperable]] services. These services inter-operate based on a formal definition (or contract, e.g., WSDL) that is independent of the underlying platform and programming language. The interface definition [[Information hiding|hides the implementation]] of the language-specific service. SOA-based systems can therefore function independently of development technologies and platforms (such as Java, .NET, etc.). Services written in C# running on .NET platforms and services written in Java running on [[Java Platform, Enterprise Edition|Java EE]] platforms, for example, can both be consumed by a common composite application (or client). Applications running on either platform can also consume services running on the other as web services that facilitate reuse. Managed environments can also wrap COBOL legacy systems and present them as software services.<sup>.</sup><ref>{{Cite web|url=http://www.fujitsu.com/global/documents/about/resources/publications/fstj/archives/vol42-3/paper18.pdf|title=. "Case Study of System Architecture that use COBOL assets"|last=Okishima|first=Haruhiru|date=2006}}</ref> [[High-level programming language]]s such as [[BPEL]] and specifications such as [[WS-CDL]] and [[WS-Coordination]] extend the service concept by providing a method of defining and supporting orchestration of fine-grained services into more coarse-grained business services, which architects can in turn incorporate into workflows and business processes implemented in [[composite applications]] or [[Enterprise portal|portals]]. [[Service-oriented modeling]] is an SOA framework that identifies the various disciplines that guide SOA practitioners to conceptualize, analyze, design, and architect their service-oriented assets. The [[Service-oriented modeling#Service-oriented modeling framework|Service-oriented modeling framework (SOMF)]] offers a modeling language and a work structure or "map" depicting the various components that contribute to a successful service-oriented modeling approach. It illustrates the major elements that identify the "what to do" aspects of a service development scheme. The model enables practitioners to craft a [[project plan]] and to identify the milestones of a service-oriented initiative. SOMF also provides a common modeling notation to address alignment between business and IT organizations.[[File:SOA Elements.png|thumb|450px|right|Elements of SOA, by Dirk Krafzig, Karl Banke, and Dirk Slama<ref>''Enterprise SOA''. Prentice Hall, 2005</ref>]] [[File:SOA Metamodel.svg|thumb|450px|right|SOA meta-model, The Linthicum Group, 2007]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)