Professional Documents
Culture Documents
Company Website:
http://www.fujitsu.com
Authors Website:
http://fourthmonth.wordpress.com/
Why do Web Services exist? Why does the Service Bus exist? Why is XML everywhere? Why is there a rules engine? Why is everyone talking about the cloud? Summary
Introduction
Why ask why? You already know the What? and the Who? Google is great for the How? Answering the question: Why? - tough With SOA, a *lot* of Whys? will have to be answered
Why SOA?
Brief history of n-tier architecture Phase 1: Server <-> Dumb Terminal Phase 2: Server <-> PC (Client/Server) Phase 3: Server <-> Web Server <-> Client (ntier architecture) Phase 4: Distributed computing (heres where SOA comes in)
Example: Retailer does credit checks on large vendors and wants to use that functionality for customers. Instead of reinventing the wheel (and having multiple credit-check code procedures to maintain), credit check procedure is exposed as a web service credit checks against vendors in one program and credit checks against individuals in another program use same code base to handle approval process
Technology that enabled the internet as we know it: TCP/IP Technology that enables distributed computing: Web Services
Uses XML to exchange info with other software using common protocols Encapsulates a specific task Uses XML Self-describing Discoverable
SOA and web services are based on messages Web Services are de-coupled ESB provides a common framework to handle Web Services messages without forcing them to be coupled The ESB hides details in proxies
Example: Hospital uses a program that uses a web service to interact with insurance company X. X gets bought by Y who has their own web service. Instead of writing a new program for Y, web service in ESB can be modified for Y without changing client application.
Communications Nerve Center Services: Messaging Point-to-point Point-to-point request/response Broadcast Broadcast request/response Publish/subscribe Store and forward
Communications Nerve Center Services: Management Interface Adapters - ESB routes message to an app and has to transform message into a format that the app can interpret. A software adapter fulfills this task Mediation Service Broker facilitates interaction between partners
Communications Nerve Center Services: Metadata Security Authentication Authorization Privacy Integrity Auditing Service Abstraction
Core functionality: Invocation support for synchronous and asynchronous transport protocols, service mapping (locating and binding) Routing addressability, static/deterministic routing, content-based routing, rules-based routing, policy-based routing Mediation adapters, protocol transformation, service mapping Messaging message-processing, message transformation and message enhancement
Core functionality: Process choreography implementation of complex business processes Service orchestration coordination of multiple implementation services exposed as a single, aggregate service Complex event processing event-interpretation, correlation, pattern-matching Other quality of service security (encryption and signing), reliable delivery, transaction management Management monitoring, audit, logging, metering, admin console, BAM
6,000 human languages 8,000 computer languages How are programs supposed to interact with other programs?
Standard needed thats extensible XML describes data itself, not just how to display it Source program not only sends data, but also sends what its sending
Typical enhancement request: 1) User identifies need(s) 2) Business analyst outlines change 3) Developer must locate change and implement 4) Unit test for validity 5) Integration test 6) System Test 7) Regression test 8) Acceptance test 9) Deployment
Typical enhancement request with a rules engine: 1) User identifies need(s) 2) Business analyst makes change in rules engine
Example: Retailer grants $500,000 in credit to large vendors. In Q4 (anticipating greater volume for holiday season), retailer temporarily grants $750,000 in credit to large vendors. With rules engine, business analyst can make change on-the-fly.
Most developers/IT personnel do a lousy job estimating (even with years of experience) Cloud technologies allow you to spin up additional hardware/computing power as its needed
If SOA is in place, expanding capabilities of complex applications distributed amongst a (potentially) infinite number of servers is relatively simple Redundancy and 24/7 access is more easily obtained
Fujitsu: http://www.fujitsu.com
Oracle documentation: http://docs.oracle.com Authors Website: http://fourthmonth.wordpress.com/ Authors Email: chris.ostrowski@us.fujitsu.com
Contact Information