Service Oriented Architecture • CCT355H5 • Professor Michael Jones • Suezan Makkar
X False: SOA = web services SOA = distributed services Ideal: SOAcleanly partitions & consistently represents business services Real: SOA is a fundamental change in the way we do business The false, the ideal, the real
Abbreviation: SOA Simply put, SOA presents well-defined business functions as services, which are made available to multiple applications through standard protocols. Remember: SOA is not a technology but an architectural approach. What is Service Oriented Architecture?
SOA services communicate with messages by using the XML Schema. Communications among various consumers, providers and services takes place in heterogeneous environment. SOA services act as a directory listing and are maintained by a registry within the enterprise. Applications invoke the service by looking up the service in the registry. Every SOA contains the quality of service (QoS). WSDL is a standard used for describing the services as SOA services. Key Characteristics
1) Standardized service contract- adhere to agreement on service descriptions 2) Service loose coupling- minimizes dependencies between services 3) Service abstraction - Hide logic from the outside world 4) Service reusability - divide business logic into reusable services 5) Service autonomy - control the business logic they encapsulate 6) Service statelessness - minimize retained information specific to an activity 7) Service discoverability - Self discovered, so they can be easily found and assessed on any platform 8) Service composability SOAs 8 Principles
SOA is based on a service-level agreement between a service owner (source) and the service consumer. The transaction between the two is tracked at all points. How Does it Work? • Service Consumer sends a request • Service Producer responds with a service • Connects two softwares together
Current Environment The Cruel Reality Why SOA? How Can SOA fix this?
Continuously responds to business changes • Supports new channels and complex applications • Addresses new needs with existing applications • Increased data security • Improved transparency • Agility in deploying applications SOA is Implemented Because...
? Still Don’t Understand Neither Did I...
Traditionally, building your IT meant piecing together a collection of hardware, software, and networking. These components were rigidly integrated, so implementing change was difficult. Example: + +
With SOA, your IT is built with easy assembly and easily configurable components like building blocks. Think of each building block not as a piece of software or hardware but as a service that your business performs like: Checking Credit Checking Inventory Checking Shipping Status
Because SOA works modularly like building blocks you can flexibly assemble your services anyway you want. When your needs change, instead of starting from scratch you can just take apart your blocks and put them back together to make something different.
Better reuse - Build new client functionality on top of existing business services • Well defined interfaces • - Make changes without affecting clients • Easier to maintain • Better flexibility Benefits of SOA
MYTH vs. FACT myth: SOA is new and revolutionary. fact: EDI, CORBA and DCOM were conceptual examples of service orientation. myth: SOAs require Web Services. fact: SOAs may be realized via Web services but they are not necessarily required to to implement SOA. myth: A SOA Reference Architecture reduces implementation risk. fact: SOAs are like snowflakes - no two are the same. A SOA Reference Architecture may not necessarily provide the best solution for your organization. myth: SOA is a technology. fact: SOA is a design philosophy. No vendor/product will ever offer a “complete”SOA “stack” because SOA needs vary from one organization to another. SOA should be built upon your current investments.
The ability to change, is what enables a business to innovate.