This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these template messages)
|
Thomas Erl | |
---|---|
Born | 1967 (age 55–56) |
Nationality | Canadian |
Occupation | Author |
Known for | Service-orientation design principles, service design Patterns, cloud computing |
Website | Thomas Erl website |
Thomas Erl (born 1967) is a Canadian author, and public speaker known for major contributions to the field of service-oriented architecture. Author of eight books on Service Orientation, Erl defined eight widely accepted principles of service orientation.
Erl is an SOA author, series editor of the Prentice Hall Service-Oriented Computing Series from Thomas Erl [1] and editor of the Service Technology Magazine. [2] Erl's primary work has been in laying down the core principles of Service Oriented Computing and service orientation. He also initiated and contributed in creating the catalog of SOA design patterns for building service-oriented systems.
As an entrepreneur, Erl founded SOA School [3] in 2004, Cloud School [4] in 2010, and Arcitura Education Inc. [5] in 2011 as an umbrella corporation for his schools. SOA School established the SOA Certified Professional (SOACP) [6] accreditation program and Cloud School established the Cloud Certified Professional accreditation program. Erl's eight books are used as part of the curriculum for SOA School and Cloud School and Erl helped develop these curricula.
Erl regularly participates in Gartner AADI Summits, [7] the SOA Symposium and Cloud Symposium [8] and the DoD SOA and Semantic Technology Symposium [9] conferences where he delivers the keynote address. Over 100 articles and interviews by Erl have been published in publications, including the Wall Street Journal, SOA World Magazine, [10] InformIT, [11] and CIO Magazine. [12]
Erl is known for defining eight principles of service design for service-orientation. These principles were first published in 2005 in his book Service-Oriented Architecture: Concepts, Technology, and Design [13] and in the 2005 edition of SOA World Magazine, [14] and then became the basis for his book SOA Principles of Service Design, [15] published in 2007.
Based on the principles of service design, Erl filed multiple patents [16] on designing services and service modeling. In 2007, Erl transferred the Intellectual Property of one of his service modeling works to Red Hat [17] for building service modeling tools. Based on the IP, Redhat created the tool Overlord. [18]
Erl contributed to the WS-BPEL 2.0 Working Group Primer [19] specifications, also published by OASIS.
He led a community movement which resulted in the publication of master pattern catalog for SOA. [20] It was a three-year collaborative project from the SOA community producing pattern catalog of 85 patterns that were later compiled in the book, SOA Design Patterns. [21] He also maintains a set of websites focused on SOA glossary, [22] SOA principles, [23] and SOA methodology. [24]
Erl is the founding member of the SOA Manifesto Working Group and co-chairs the Education Committee. [25] As of mid-May 2011 [update] , the SOA Manifesto [26] had been signed by over 800 signatories and voluntarily translated to ten languages: Chinese, Dutch, French, German, [27] Italian, Portuguese, Russian, Spanish, Tamil, and Hindi. He is also responsible for drafting the Annotated version of the SOA Manifesto. [28]
Since his first publication in 2004, Erl has published seven additional books and is working with other authors on new books for his Prentice Hall series. All books are based on the set of principles and patterns that were initially covered in SOA Principles of Service Design [15] and SOA Design Patterns. [21] Each book has a different angle educating and teaching the concept, the philosophy, and architectural aspects of service orientation in the perspective of the targeted audience. Some of the recently published books focused on SOA governance, cloud computing, and REST. Erl's books, principles, and patterns have been cited by many articles and whitepapers on ACM, [29] IEEE, HL7, OMG, Oracle Technology Network, MSDN, and IBM DeveloperWorks.
{{cite book}}
: CS1 maint: multiple names: authors list (link){{cite book}}
: CS1 maint: multiple names: authors list (link){{cite book}}
: CS1 maint: multiple names: authors list (link)A design pattern is the re-usable form of a solution to a design problem. The idea was introduced by the architect Christopher Alexander and has been adapted for various other disciplines, particularly software engineering.
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 to the other components by application components, through a communication protocol over a network. A service is a discrete unit of functionality that can be accessed remotely and acted upon and updated independently, such as retrieving a credit card statement online. SOA is also intended to be independent of vendors, products and technologies.
In system administration, orchestration is the automated configuring, coordinating, and managing of computer systems and software.
Service-orientation is a design paradigm for computer software in the form of services. The principles of service-oriented design stress the separation of concerns in the software. Applying service-orientation results in units of software partitioned into discrete, autonomous, and network-accessible units, each designed to solve an individual concern. These units qualify as services.
Network Agility is an architectural discipline for computer networking. It can be defined as:
Service-oriented modeling is the discipline of modeling business and software systems, for the purpose of designing and specifying service-oriented business systems within a variety of architectural styles and paradigms, such as application architecture, service-oriented architecture, microservices, and cloud computing.
Service-orientation design principles are proposed principles for developing the solution logic of services within service-oriented architectures (SOA).
In the domain of the service-orientation design paradigm, the Enterprise Inventory is a design pattern by Thomas Erl that answers the question, "How can services be delivered to maximize recomposition?"; the application of this pattern results in a standardized enterprise-wide service inventory that fosters repeated service composition.
Within the service-orientation design paradigm, Service Refactoring is a design pattern, which is applied to an existing service so that either the service logic or its implementation can be changed without affecting the service consumers.
The event-driven messaging is a design pattern, applied within the service-orientation design paradigm to enable the service consumers, which are interested in events that occur within the periphery of a service provider, to get notifications about these events as and when they occur without resorting to the traditional inefficient polling based mechanism.
The standardized service contract is a software design principle applied within the service-orientation design paradigm to guarantee that service contracts within a service inventory adhere to the same set of design standards. This facilitates standardized service contracts across the service inventory.
In computing, service composability is a design principle, applied within the service-orientation design paradigm, that encourages the design of services that can be reused in multiple solutions that are themselves made up of composed services. The ability to recompose the service is ideally independent of the size and complexity of the service composition.
Domain Inventory is a design pattern, applied within the service-orientation design paradigm, whose application enables creating pools of services, which correspond to different segments of the enterprise, instead of creating a single enterprise-wide pool of services. This design pattern is usually applied when it is not possible to create a single inventory of services for whole of the enterprise by following the same design standards across the different segments of the enterprise. The Domain Inventory Design pattern by Thomas Erl asks, "How can services be delivered to maximize recomposition when enterprise-wide standardization is not possible?" and is discussed as part of this podcast.
Service normalization is a design pattern, applied within the service-orientation design paradigm, whose application ensures that services that are part of the same service inventory do not contain any redundant functionality. This design pattern emphasizes on creating normalized services, much like creating normalized tables in a database where all the attributes in a table only relate to the entity described by the table and any attributes that do not directly relate to the entity are either put into a new table or in an existing table that better fits the context of that attribute.
Service layer is an architectural pattern, applied within the service-orientation design paradigm, which aims to organize the services, within a service inventory, into a set of logical layers. Services that are categorized into a particular layer share functionality. This helps to reduce the conceptual overhead related to managing the service inventory, as the services belonging to the same layer address a smaller set of activities.
Canonical Protocol is a design pattern, applied within the service-orientation design paradigm, which attempts to make services, within a service inventory, interoperable with each other by standardizing the communication protocols used by the services. This eliminates the need for bridging communication protocols when services use different communication protocols.
In software engineering, Canonical Schema is a design pattern, applied within the service-orientation design paradigm, which aims to reduce the need for performing data model transformation when services exchange messages that reference the same data model.
In the context of software engineering and software architecture, service granularity is a key design concern when applying the paradigm of service-orientation for instance during service-oriented modeling. Service granularity specifies the scope of business functionality and the structure of the message payload in a service operation that is provided within a service-oriented architecture (SOA).
A microservice architecture – a variant of the service-oriented architecture structural style – is an architectural pattern that arranges an application as a collection of loosely coupled, fine-grained services, communicating through lightweight protocols. One of its goals is that teams can develop and deploy their services independently of others. This is achieved by the reduction of several dependencies in the code base, allowing for developers to evolve their services with limited restrictions from users, and for additional complexity to be hidden from users. As a consequence, organizations are able to develop software with fast growth and size, as well as use off-the-shelf services more easily. Communication requirements are reduced. These benefits come at a cost to maintaining the decoupling. Interfaces need to be designed carefully and treated as a public API. One technique that is used is having multiple interfaces on the same service, or multiple versions of the same service, so as to not disrupt existing users of the code.
Robert Cecil Martin, colloquially called "Uncle Bob", is an American software engineer, instructor, and best-selling author. He is most recognized for developing many software design principles and for being a founder of the influential Agile Manifesto.
Global Provider of Vendor-Neutral SOA Training & Certification
Global Provider of Vendor-Neutral Cloud Computing Training & Certification
Thomas Erl articles & podcasts
A Community Site for SOA Design Patterns
Definitions for Service-Oriented Computing Terms
An Introduction to the Service-Orientation Paradigm
Mainstream Processes for Service-Oriented Analysis & Design
An Independent Committee Dedicated to the Pursuit of Educational Excellence in the Field of Service-Oriented Computing