The concepts surrounding web services and SOA come with their own language. Both techies and those who want to be real power users should learn this language. The following are some of these key concepts and terms:
Key Constructs
SOA: Service Oriented Architecture. SOA is a design for linking business and computational resources (principally organizations, applications and data) on demand to achieve the desired results for service consumers (which can be end users or other services). A SOA is a design for plumbing. In most cases, modern SOA is enabled by Web Services.
Web Services: a software system designed to support interoperable machine to machine interaction over a network. In general, this refers to clients and servers that communicate using XML messages that follow the SOAP standard. Frequently there is a machine readable description of the capability of the server, a description in the WSDL format.
Development Framework: A software structure that provides developers with a comprehensive group of tools, scripts and methods so their own apps can be more easily built.
Declarative Programming: A model of programming that makes development far easier for developers and lowers the learning curve so much that more users can become their own developers. When done well, this type of model can make advanced programming as easy as writing a web page.
Mashup: Wikipedia considers a Mashup as “a web application that combines data from more than one source into an integrated experience.” Enterprise mashups are composite web applications that use enterprise data and other resources to empower individual users and support the mission of the enterprise. Enterprise mashups must be more secure and reliable than those commonly found on the open Internet. To really work well, enterprise mashups must be empowered by a SOA approach to architecture.
AJAX: A web development style and technique that uses Asynchronous JavaScript and XML. It is known for its ability to provide users with web applications that have the look and feel of full featured desktop applications. With AJAX, much of the data exchange activity occurs behind the scenes without the entire page having to be refreshed.
REST: A style of programming. Representational State Transfer. A way to apply the principles of the web to transaction oriented services. A model for distributed computing. It does not use an additional messaging layer like SOAP.
Programming Languages
JavaScript: A programming language that adds dynamic scripting to web pages. JavaScript is almost as old as the web itself. JavaScript can be placed in and run from a webpage or from a separate file on the web server. Important note: JavaScript is not Java.
Java: A full featured programming language. It is the most extensively used cross-platform programming language.
.NET: The Microsoft framework.
Key Formats and Standards
XML: eXtensible Markup Language. Defines markup code. The XMLHttpRequest object in JavaScript handles text in this format. XML is both standardized and extensible.
XMLHttpRequest: JavaScript object that can connect with a service using HTTP. All major browsers now support this object.
XSLT: eXtensible Stylesheet Language and Transformation. A templating guide for transforming XML.
JSON: JavaScript Object Notation. A format designed for humans to read and write, and easy for machines to generate and parse.
SDO: Service Data Objects. SDO is a framework for data application programming. It includes and architecture and an API. IT simplifies the J2EE data programming model and supports XML.
SDL: Service Description Language. Machine readable.
DOM: Document Object Model. A model that represents and XML file as a set of related objects.
CSS: Cascading Style Sheet. Can be programmed by JavaScript or changed by users.
SOAP: An XML based, extensible message envelop format, with bindings to underlying protocols of the web.
UDDI: A protocol for publishing and discovering metadata about Web Services to enable applications to find web services.
WSDL: Web Services Description Language. Required for automated client side code generation in the Java and .NET SOAP framework. WSDL is an XML format that allows services interfaces to be described along with details of their bindings.
API: Application Program Interface.
RSS: Really Simple Syndication.
ATOM: An XML language used for web feeds. It was developed because of growing dissatisfaction over RSS and its multiple incompatable versions.
URI: Uniform Resource Identifier. A compact string of characters used to name a resource.