Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mark Thompson.  Software systems are growing more complex  Many methodologies will reach their limit  Developers need a simple and flexible way to.

Similar presentations


Presentation on theme: "Mark Thompson.  Software systems are growing more complex  Many methodologies will reach their limit  Developers need a simple and flexible way to."— Presentation transcript:

1 Mark Thompson

2  Software systems are growing more complex  Many methodologies will reach their limit  Developers need a simple and flexible way to develop applications  Service-Oriented Architecture is such a way

3  Introduction  Common Development Problems  Terminology  Service-Oriented Architecture  Comparison with CBSE  Advantages/Disadvantages  Companies using SOA  Conclusion

4  Software systems are changing  New technologies  New functionality  Telephone switches (100M LOC), OSes (1000s devs)  New software development methods  New tools  New processes  New architectures

5 Space Invaders (1981) Atari 2600

6 Crysis (2007) PC

7  Complexity  Redundant and non-reusable code  Multiplicities of Interfaces

8  Big expectations  Competition  New technology/hardware  Need to keep things as simple as possible  Group code together  Reuse code

9  Code written in different languages  Different applications with same functions  Need to make code as reusable as possible  For all software, not each individual app  Setup common interface for all languages

10  “Integration problem”  n(n-1) interfaces needed to integrate n apps  2(n) new interfaces to add an app Ex: 4 apps need 12 interfaces

11  Service  Governance  Orchestration

12  A single repeatable task  Three main parts:  Service implementation: code that performs the task  Elementary access details: the address of the service and the protocol to access it  Contract: description of the task, the interface, and a Quality of Service (QoS)

13  Interface  Describes the exchanged data  The format of the data  How the service interacts  Does it report back when finished?  Does it report back after a certain amount of time?  Does it ever report back?  QoS: detailed description of interaction rules  Ex: authorization

14  The way corporations govern themselves  Set of principles and practices  Helps achieve corporation’s goal  Sets up a chain of responsibility

15  Optimal to start at the beginning  Controls updates to processes and technologies  Helps keeps services consistent and interoperable  Most successful when employees, customers, suppliers, and partners all participate

16  Combining services to make an app  Best case scenario: little else is needed

17  Video http://www.infoworld.com/d/architecture/infoclipz-service-oriented- architecture-soa-899

18

19  Overview  SOA Principles  XML

20  “[SOA is] an evolutionary approach to building information technology systems that is focused on solving business problems” [1]  “[SOA] is a way of organizing software so that companies can respond quickly to the changing requirements of the marketplace” [6]

21  Create a collection of services  Each service is a small, independent project  Can be new or extracted from existing apps  Orchestrate services to develop applications

22  Standardized Service Contracts  Loose Coupling  Service Abstraction  Service Reusability  Service Autonomy  Service Statelessness  Service Discoverability  Service Composability

23  Contracts designed to specification  Consider optimization and granularity  Make services consistent, reliable, and governable  Allow for different languages, OSes

24  Each service should be standalone  One service can use another, but only through the standard interface  Allows interchanging a new service for old  Allows internal changes to a service

25  Hides the low level details  Easier to understand a service  Easier to use a service  Promotes loose coupling

26  Develop services with reuse in mind  Shortens application development time  Less testing required  Easier to maintain

27  Some control over environment and resources  Otherwise, may not be able to complete task  Increases the reliability and predictability  May require a level of isolation

28  Remain as stateless as possible  Affects a services availability and scalability  May be necessary to maintain a state  May be repeatedly called to complete a task  May need to maintain a “conversation”  May offset state managing responsibilities

29  Prevents rewriting services  Promotes reuse of services  One way is to have a service registry  Contains all of the services  Contains the service contracts  Private or public

30  Describes how services work together  Also known as orchestration  Break large problem into smaller tasks  Services can complete the smaller tasks  If they can’t work together, they need to be modified

31  Common way to interface, but not required  Convenient way to have self-describing data  Is a string of text with “tags” to describe data Ex: Sample XML

32  Both use “building blocks”  CBSE more strict, SOA is more flexible  CBSE has models such as DCOM, CORBA, EJB  SOA has no requirement for internal structure  Both have loose coupling  CBSE has it, but SOA is even “looser”  SOA is platform-independent, language-independent  SOA is networked-based

33  Quicker development times  Simplified development  Reduced redundancy, increased reuse  Reduced testing times  More flexible and agile  Easier maintenance

34  No guarantee for advantages  More time spent on architecture  Need to develop many services  Writing from scratch or extracting can take time  Managing communications between services and debugging them is very complex  Possible security problems  Performance issues

35  Ebay  Over 2 petabytes of data  Over 6 million lines of code  Credits SOA for interoperability between C++ and Java  IBM  Has over 70 services  Reduced application inventory from 16,000 to 4,000

36  Hewlett-Packard  $70 million in savings  Credits SOA for consolidation and reuse  Saw $1 million in immediate savings  Amazon  Over 60 million customers and 1 million partners  Outgrew their old architecture  Other well known companies include: Wachovia Bank, Harley Davidson, Ameriprise Financial, Citigroup, OnStar, and DreamWorks animation

37  Services reduce the amount of redundancy  Using services make the development process quicker and more agile  SOA prepares a corporation for the future

38  [1] Carter, S. (2007). The New Language of Business. Indianapolis: IBM Press.  [2] Channabasavaiah, K., & Holley, K., & Tuggle, E. (2003, December 16). Migrating to a Service-Oriented Architecture. Retrieved February 17, 2010, from IBM website: http://www.ibm.com/developerworks/library/ws-migratesoa/  [3] Erl, T. (n.d.). SOA Principles: An Introduction to the Service-Oriented Paradigm. Retrieved February 17, 2010, from SOA Principles website: http://www.soaprinciples.com/  [4] Kanagwa, Benjamin, and Ezra K. Mugisa. "A Comparison of Service Oriented Architecture with Other Advances in Software Architectures." Web. 25 Apr. 2010..  [5] Lawler, J., & Howell-Barber, H. (2008). Service-Oriented Architecture. Boca Raton: Auerbach Publications.  [6] Margolis, B. (2007). SOA for the Business Developer: Concepts, Bpel, and Sca. City: MC Press.  [7] McKendrick, J. (2006, December 17). Ten Companies Where SOA Made a Difference in 2006. Retrieved March 15, 2010, from ZDNet website: http://blogs.zdnet.com/service-oriented/?p=781

39


Download ppt "Mark Thompson.  Software systems are growing more complex  Many methodologies will reach their limit  Developers need a simple and flexible way to."

Similar presentations


Ads by Google