Vision and Concept of SOA (Prof. Fujio Maruyama)


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Vision and Concept of SOA (Prof. Fujio Maruyama)

  1. 1. Vision and Concept of SOA Wakhok University Maruyama Fujio
  2. 2. Agenda  IT Technology is Changing!  Moore and Guilder’s Law  From the era of computer to the era of Network  Service meets Network!  Emerging SOA Technology  The change of integrated technology  BPEL  JBI  SCA  Web2.0  Vision and Concept of SOA
  3. 3. IT Technology is Changing! From the Era of Computer to the Era of Network
  4. 4. Overview of the Changing environment of IT Technology First of all, let's see changing environment of the software technology. A remarkable change has been witnessed in the past decade. It was basically an advancement of hardware that enabled such a change. This kind of change started from hardware technology heading to the network is one of the significance in 21st century. Thus, it is obvious that a continual change will persist in the IT technology.
  5. 5. Changes of Software Java is 10 years old. XML is 7 years old. Web Service is 5~6 years old. 2005-2006: EJB3.0, JBI, SCA, …
  6. 6. The Laws of Moore and Gilder SOA has been appeared in the Network during tremendous historical background which is also known as advancement of paradigm shift from computer to Network. Network can provide the services!
  7. 7. The Law of Moore In every 18 months, the number of transistors in a circuit will reach 2 times, whereas the price will be reduced into half, the prediction widely known as Moore’s law has already been 40 years since it has been published. Now, as we look back at 30 years of its development, will the progress of approximately 1000 folds in 15 years be continued from now on too?
  8. 8. Moore’s Law In 1965 40th Anniversary
  9. 9. In 1975, 30 Years Before [Super Big Size Computer System] Super computer (HITAC8800/8700) of Tokyo University
  10. 10. In 1975, 30 Years Before Super Big Size Computer in Japan • Main Memory 4MB • Drum for Swap 16MB • Drum for File 8MB • Group Disk 2.13GB • IO Processor
  11. 11. In 1976 The sale of TK-80  CPU 8bit μPD8080A  RAM 512bytes ~ 1K  ROM 768bytes
  12. 12. 2005, Now on 4Gb of Memory In 30 years, from the era of Kilo-Mega to the era of Mega-Giga.
  13. 13. In 2006 2 TFLOPS
  14. 14. “Moore’s Law Limit” It is the fact that the growth of semiconductors technology in such degree had continued exponentially, however, there is a limit on it. If growth continues at this speed, finally, it means that one electron has to bear the information of a single bit. Furthermore, this law will probably be invalid within a decade. With the existing technology, it would be so difficult to produce a chip of Tera bit memory, similarly, it would almost be impossible to produce a chip of Peta bit memory.
  15. 15. Conclusion of Moore's Law The number of electrons to store a bit of information ? X
  16. 16. Exploring for a new principle To exceed this limit, many information can be stored in a single electron as a superposition of multi state of the information.  Quantum Computing  Quantum Communication  Quantum Encryption
  17. 17. Quantum Mechanics and Information Theory
  18. 18. Road Map for Quantum Computing However, even in the context of relatively optimistic research and development projects, it is said that the feasibility of the quantum computing technology will require 20-30 years more to come. In fact, the goal of implementation has not yet been in their sight.  Implementation of Encrypted network technology 2020  Implementation of Quantum communication network 2030  Implementation of general-purposed quantum computer 2035 onward
  19. 19. The law of Gilder If we believe Moore’s law will be invalid within a few year, and if the implementation of quantum technology of the next generation is also not in the sight, then, what will support/pull the IT technology in the future? According to the law of Gilder, the growth of network speed will doubles in every 6 months. Enlargement of such kind of bandwidth is due to the contribution of optical fibers network technology.
  20. 20. Speeding up of the Network Technology From TDM (Time Division Multiplexing) To WDM (Wavelength Division Multiplexing)
  21. 21. Network Evolution (Gilder’s Law) will overcome The Computer Evolution (Moore’s Law) 2x/6-9mo 1M Log Growth 10,000 100 2x/18mo Y 97 99 01 03 05 07
  22. 22. From the era of computer to the era of Network According to the law of Guilder, it can be assumed and it is possible that the speed of present networks, say, in Giga bit class, will be in Tera bit class in 5 years, by 2010. By 2015, the implementation of Peta bit network will also become feasible. Hence, the attractive power of IT innovation, as for moving to network from the computer is self-assured.
  23. 23. The argument related to the error of network programming and the Gilder’s assumption About 10 years before, the argument had been raised about the limit of the network programming. Here, typical case of the arguments of Mr. Waldo and Mr. Deutsch will be introduced. Later on, Gilder had made a bold assumption, but the solution has not yet been achieved.
  24. 24. “A Note on Distributed Computing” Jim Waldo et al. i_tr-94-29.pdf The view point of local programming and distributed programming need to be dealt differently.
  25. 25. We argue that objects that interact in a distributed system need to be dealt with in ways that are intrinsically different from objects that interact in a single address space. These differences are required because distributed systems require that the programmer be aware of latency, have a different model of memory access, and take into account issues of concurrency and partial failure.
  26. 26. We look at a number of distributed systems that have attempted to paper over the distinction between local and remote objects, and show that such systems fail to support basic requirements of robustness and reliability. These failures have been masked in the past by the small size of the distributed systems that have been built. In the enterprise-wide distributed systems foreseen in the near future, however, such a masking will be impossible.
  27. 27. Formulated in 10 Years Ago Network is Homegenous added by Gosling
  28. 28. The Expectation of Gilder If the speed of the network becomes same as that of internal bus of the computer, it would not be necessary to assemble all the specific devices within a particular machine rather it could be distributed over a network.
  29. 29. Azul Network Attached Processing 10G Ether
  30. 30. CISCO / Topspin Programmable Server Switch InfiniBand
  31. 31. Service meets Network To standardize the essential property of SOA, as we have seen before, it is not only the network of the 21st century but also the network of various services. Hence, Service oriented Network is the central concept of SOA. At this point, SOA and Grid technology have lots of common scenarios.
  32. 32. The similarities between Grid and SOA  When a service is provided to the end-user by inter relating various nodes in the networks and hence forming a virtual organization, at that time the provider is called the Grid.  The consumer of the Grid service will just require the service and may not have interest in the detail implementation of the service.  In Grid technology the service provider is known as the “Virtual Organization” where as in SOA it is called as the “Black Box”. However, both means the same.
  33. 33. SOA/Grid as a network service  In the context of SOA/Grid, by integrating various services over a network rather than just as a independent server with simple functionalities, various services with different kind of properties will be provided.  Compared to the primitive server-client model, the range of service provided by SOA/GRID will be expanded rapidly.
  34. 34. The development and the maturity of the concept: “Network provides services”  After the establishment of electrical network during early 20th century, various Life-line network industries have been established and developed.  The growth of functionality and the bandwidth of digital Network from the beginning of 21st century.  Enhancement in the usage of network within business communities.  The development of service integration over a network.
  35. 35. Emerging SOA Technology For the first time, we take a look on the change of integrated technology, then we introduce three emerging SOA technology. BPEL, JBI and SCA. And at last we show Web 2.0 as a presentiment of a new Network Media.
  36. 36. The change of integrated technology From integration by means of Web service to the integration of Web services In the beginnings, it was emphasized that heterogeneous environment must be integrated. Presently, it has been realized as important theme that such emphasis should be given to the integration of various web services.
  37. 37. New technology to leverage the integrating technology of Web service  Asynchronous One Way Messaging  WSDL Message Exchange Pattern  Document Centric  WS-Addressing  WSIF  WSDL2.0
  38. 38. Asynchronous One Way Messaging It has been demanded from web service technology to adapt the long life cycle of business process through the enlargement of its application in the business. Blocking until there is a response, was the synchronous style of HTTP Request / Response model. This can be changed partly by using asynchronous style known as One way Messaging, which led to the structural changes in Web service.
  39. 39. WSDL Message Exchange Patterns  Request-Response MEP  One-Way MEP  Callback MEP
  40. 40. WSDL Message Exchange Patterns Request-Response MEP One-Way MEP
  41. 41. WSDL Message Exchange Patterns Callback MEP
  42. 42. Document Centric The next approach is applying the viewpoint of document centric method in which it is not necessary to view the message as arguments and the return value of RPC rather it is possible to apply the viewpoint of message exchange between the nodes in a network. With such approach, the portType element of WSDL will define interface and the types element will define the total implementation of the service.
  43. 43. RPC Java<->XML Mapping POST DeSerialization Serialization Object as XML Object as an an argument XML argument H Method invocation T Method invocation in Client in Server T P Returned Returned XML XML Object Object DeSerialization Serialization
  44. 44. Document Centric XML In XML Out XML Inside X X X M M M L L L RPC
  45. 45. WS-Addressing WS-Addressing is simple but it is very essential in order to support asynchronous one way messaging. It will not be exaggeration to claim that without WS- Addressing the new technology of SOA will not be feasible. Similarly, this technology will provide the foundation for WS-RF such to handle the stateless server with stateful resource.
  46. 46. Message Information Headers [Address](Compulsory) <wsa:To> xs:anyURI </wsa:To> [Source Endpoint] <wsa:From> Endpoint Reference </wsa:From> [Reply Endpoint] <wsa:ReplyTo> Endpoint Reference </wsa:ReplyTo> [fault endpoint ] <wsa:FaultTo> Endpoint Reference </wsa:FaultTo> [Action] (Compulsory) <wsa:Action> xs:anyURI </wsa:Action> [Message ID] <wsa:MessageID> xs:anyURI </wsa:MessageID> [Relationship] <wsa:RelatesTo RelationshipType="..."> xs:anyURI </wsa:RelatesTo>
  47. 47. Mapping of Endpoint Reference to SOAP Message A) <Wsa:Address> property in end point reference will be copied in the destination header <wsa:To> of SOAP message B) <wsa:ReferenceProperties> properties of the end point reference will be the header block of SOAP message. The elements inside wsa:RefenceProperties will be added in the header block of the new message.
  48. 48. <wsa:EndpointReference> A <wsa:Address> </wsa:Address> <wsa:ReferenceProperties> B <tns:resourceID> C </tns:resourceID> </wsa:ReferenceProperties> </wsa:EndpointReference> <soap:Envelope> <soap:Header> <wsa:To> </wsa:To> <tns:resourceID> C </tns:resourceID> </soap:Header> <soap:Body> … some message </soap:Body> </soap:Envelope>
  49. 49. BPEL as a core technology of SOA BPEL has been the core technology for the integration of Business process in recent days. We can see very interesting development such as the separation between abstract definition of WSDL/WSIL and the protocol binding in services integration using MEP which is also related to JBI.
  50. 50. Message Exchange Pattern in BPEL (MEP) Integration of service in BPEL is done by exchanging messages among services. In BPEL, there are two pattern for message exchange namely synchronous and asynchronous type.
  51. 51. Synchronous type of message exchange Request/Response type of Web Service Request A B Response Requester Provider The process of A will be blocked until there is a response.
  52. 52. Asynchronous type of One-way messaging. Message A B Sender Receiver The process of A will not be blocked
  53. 53. Message exchange pattern in Asynchronous type One-way messaging and Callback One-way Message A B One-way Message A B Callback
  54. 54. How can BPEL integrate the existing services? The client who utilizes the BPEL process as an integrated business services can be seen as a single service itself defined in a WSDL. In this way, the development of service integration will advance recursively.
  55. 55. At the user side, BPEL will be seen as a single web service defined in a WSDL. Client BPEL Process
  56. 56. Service A At the user side, BPEL will be seemed as a single web service defined in a WSDL. Service B Client BPEL Process Service C Actually, various services are integrated
  57. 57. For the caller side, the service that appeared Service A to be a single service could Service A3 perhaps be a integrated Service Service A2 A Service by BPEL. Service A1 Client BPEL Process Service B Service C BPEL Process Service C Service C1 Service C2
  58. 58. Service A Service A3 BPEL Process Service A2 Service A1 Client BPEL Process Service B Service C BPEL Process Though the services are integrated by BPEL, it can Service C2 Service C1 be called from BPEL too, because it is a single service.
  59. 59. The component formed with the services which is converted set/network of loosely coupled services.  With single WSDL, the integration between two services can be described, but even if you have a number of WSDL, only the integration between two end points can be described.  By multiple WSDL + BPEL, BPEL’s role being the joint point for various services, a single service can be formed with the description of various services.  The service developed in this way, will become a component of a service architecture recursively.
  60. 60. Java Business Integration Service integration by message exchange The JBI is the system which aims toward the integration of service by message exchange with the functionalities of MoM originated messaging and Web service originated messaging
  61. 61. Composite Application & Collaboration on Network  Need “Composite Application” which collaborate multiple service components on network.
  62. 62. Composite Application & Collaboration on Network  Component provides “Service” on network  “Composite” component enables service “collaboration”  “Composite applications(CAS)” provide services on network
  63. 63. Composite Application & Collaboration on Network  Service provision and service collaboration are realized by “Message Exchange”.  JBI is a platform of Composite Applications which are composed by multiple components.  Without JBI there would be no java Composite Application Platform.  With JBI the platform has a “frame”,but now it needs the tools and technology.
  64. 64. How JBI integrates services?  Standardization of interface of services and interface of message exchange  Standardization of message format  Normalizing Message routing. Standardization of Service Bus.
  65. 65. Normalized Message Router BC manages multiple protocols for external services. Internally, BC exchanges Normalized Messages on NMR. NMR is the heart of JBI.
  66. 66. Concentrate on Transformation Service (XSLT) Engine Business Logic Management Management Normalized System System Route Normalized Message Router Normalized Message Router Normalized Message Binding Component Connect to External Services,with multiple protocols
  67. 67. ServiceEngine and BindingComponent
  68. 68. SE(Service Engine)and BC (Binding Component)  Service Engine (SE) provides the transformation service and business logic to other components, and it consumes such services also. SE integrates the Java based application (and other resources) or application with available Java API.  Binding Component (BC) offers the connectivity to the external service of JBI. This can involve communications protocols, or services provided by EIS. BC can integrate applications (and other resources) that use network technology that is not available directly in Java.
  69. 69. Example of Service Engine SE can function as a container  XSLT XML transformation engine  WS-BPEL 2.0 business process execution engine  EJB container
  70. 70. Binding components can provide the ability to use communication protocol  SOAP over HTTP [ 1.1.html],  JMS/MOM [ ss/final/jsr914/index.html]  AS1/AS2 EDI [ charter.html] communications stacks.
  71. 71. Separation between Business logic and communication logic  In JBI, Service Engine and Binding component are separated.  In this way, by separating business logic with communication logic the complexity of implementation can be reduced and can increase the flexibility.
  72. 72. Service Engine Orchestration Transformation J2EE (BPEL) (XSLT) Platform Management Management System System Normalized Message Router Normalized Message Router WS-I Basic AS2 JMS SOAP Binding Component
  73. 73. Separation of Consumer and Provider  From Consumer to Provider  Separation of Consumer and Provider  send and accept
  74. 74. From Consumer to Provider NMR Consumer Provider NMR Endpoint DeliveryChannel
  75. 75. Separation of Consumer and Provider send NMR Consumer Provider NMR send
  76. 76. Separation of Consumer and Provider accept NMR Consumer Provider NMR accept
  77. 77. Message Exchange and Composit of Components Component of JBI is combined through Message Exchange. In other words, Components of JBI has no relations except Message Exchange. Composit of Component is defined by Message exchange.
  78. 78. Flow of Message NMR BC1 SE1 NMR BC2 SE2
  79. 79. Flow of Message NMR BC1 SE1 NMR BC2 SE2
  80. 80. Flow of Message NMR BC1 SE1 NMR BC2 SE2
  81. 81. Flow of Message NMR BC1 SE1 NMR BC2 SE2
  82. 82. Flow of Message NMR BC1 SE1 NMR BC2 SE2
  83. 83. Flow of Message NMR BC1 SE1 NMR BC2 SE2
  84. 84. Flow of Message NMR BC1 SE1 NMR BC2 SE2
  85. 85. Composit of Component SE2 BC1 SE1 BC2 Wiring between Components
  86. 86. SCA Service Component Architecture
  87. 87. Motivation  SCA aims to simplify the creation and integration of business applications built using a Service Oriented Architecture (SOA).  SCA also provides the capability to build coarse-grained service components as assemblies of fine-grained components.  SCA aims to reduce or eliminate the “incidental” complexity to which application developers are exposed when they deal directly with middleware APIs.
  88. 88. The benefits of SCA approach  simplified business component development  simplified assembly and deployment of business solutions built as networks of services  increased agility and flexibility  protection of business logic assets by shielding from low-level technology change  improved testability
  89. 89. SCA also supports a variety of component  SCA component may be a BPEL process,  its interface may be defined in WSDL,  the component may be a Java class with an interface defined as a Java interface.
  90. 90. Account Module diagram
  91. 91. Web Front-end Module
  92. 92. Subsystem
  93. 93. Architecture
  94. 94. Example of SCA system
  95. 95. SCA system  The system consists of one or more ModuleComponents and potentially EntryPoints and ExternalServices, plus the Wires that connect them.  Module components represent configured instances of an SCA module,  the module component can set values for the external services of the module and can set values for properties exposed by the module
  96. 96. Subsystems  For convenience, the configuration of an SCA system can be divided up into a series of smaller sections, each of which can be updated and deployed separately. These smaller sections of a system are called Subsystems.  One of the important aspects of the SCA system is the concept of administrative control – the system represents the extent of control of an organization.
  97. 97. Subsystem and ModuleComponent
  98. 98. Module Assembly  Module typically contains one or more components that are deployed together into an SCA system.  Services that are offered for use by components outside the module are represented as EntryPoints in the module.  Where components in the module depend on services provided outside the module, the dependencies are represented as ExternalServices in the module.
  99. 99. Module
  100. 100. Components  Components are configured instances of implementations.  Components provide and consume services.  More than one component can use and configure the same implementation,where each component configures the implementation differenty.  For example each component may configure a reference of the same implementation to consume a different service.
  101. 101. An SCA Component
  102. 102. External Service  SCA external services within a module represent remote services that are external to the SCA module that uses the service.  These external services can be accessed by components within the module like any service provided by an SCA component.
  103. 103. Entry Point  Entry points are used to publish services provided by a module, so that they are addressable outside the boundaries of a module.  The service published from the module can be a service of a component defined in the module, or an external service defined in the module.  The latter case allows the republication an external service with a new address and/or new bindings.
  104. 104. Wire  SCA wires within a module connect service references to services.  Valid references are component references and entry points. Valid services are component services and external services.
  105. 105. Binding
  106. 106. Bindings  Bindings are used to define the access mechanism used when a service is invoked remotely, such as Web services, JMS/Messaging, CORBA IIOP and Database Stored Procedures.  Bindings are used by entry points and by external services.
  107. 107. Bindings  For an entry point, the binding defines the access mechanism which clients must use in order to access the service offered by the entry point.  For an external service, the binding describes the access mechanism that is used when the remote service is called.
  108. 108. separation of the access mechanism from the business logic  Bindings are configured and managed independently of the implementation code.  The separation is a key aspect of SCA, which permits the same business logic to be used with a variety of different access mechanisms and which permits a system assembler to change and add access mechanisms as the needs of the business evolve.
  109. 109. SCA supports a series of different binding types.  Web service,  JMS messaging,  stateless session EJB,  data base stored procedure,  EIS service.  SCA binding,
  110. 110. Implementation
  111. 111. decouples service implementation and assembly  first, the implementation of components which provide services and which consume other services;  second, the assembly of components to build the business application through the wiring of service references to services.
  112. 112. Service Implementations and Service Clients  Java, PHP, C++, COBOL and C.  BPEL and XSLT  SQL and XQuery.
  113. 113. An implementation can provide a service  service is a set of operations defined by an interface that can be used by other components.  Implementations can also use other services – these are service references (references for short) which indicate a dependency that the implementation has on services provided elsewhere.
  114. 114. Dependency injection  valuable technique for implementing business applications and hiding details of service location and instantiation.  SCA applies the technique of dependency injection to configure SCA services, using it to provide a component instance with its references and property values.
  115. 115. Infrastructure Capabilities and Policies  There are sets of attributes that may be required when calling a service from a client,which go under the collective heading of “Infrastructure Capabilities”.  Examples of infrastructure capabilities include security attributes such as authentication and encryption requirements, transaction characteristics and whether reliable delivery of messages from client to service is required.
  116. 116. Policies  SCA defines infrastructure capabilities through the use of Policies, which are bundled collections of attributes and settings. SCA attaches policy definitions to components,to entry points and to external services.
  117. 117. Web2.0 A Presentiment of a New Network Media
  118. 118.
  119. 119. The seven principles 1. The Web As Platform 2. Harnessing Collective Intelligence 3. Data is the Next Intel Inside 4. End of the Software Release Cycle 5. Lightweight Programming Models 6. Software Above the Level of a Single Device 7. Rich User Experiences
  120. 120. Developing Web 2.0 Apps  Challenging programming model  Asychronous communication  Ad hoc protocols  Structured storage of unstructured data  Limitless scalability requirements  Little or no componentization  Lengthy development cycles  Quality control issues
  121. 121. Web2.0 Meme Map  Strategic Positioning  The web is platform  User Positioning  You control your own data  Core competence
  122. 122. Core competence  Services, not packaged software  Architecture of Participation  Cost-effective scalability  Remixable data source and data transformations  Software above the level of a single device  Harnessing collective intelligence
  123. 123.  Tagging, not taxonomy : Flickr,  Rich User Experiences : Gmail,Google maps, AJAX  User as contributor : PageRank,eBay reputation, Amazon review
  124. 124.  customer self-service enabling long-tail : Google AdSense  Partition not publishing : Blog  Radical Decentralization : BitTorrent  Radical Trust : Wikipedia
  125. 125. Some Key Words
  126. 126.  An attitude, not technology  The long tail  Data as "Intel Inside"  Hackability  The perpetual beta  Software that gets better the more people use it
  127. 127.  The right to remix "Some rights reserved"  Play  Granular Addressability of contents  Rich user experience  Trust your users  Small pieces loosely joined web as component
  128. 128.  DoubleClick --> Google AdSense  Ofoto --> Flickr  Akamai --> BitTorrent  --> Napster  Britannica Online --> Wikipedia  personal websites --> blogging  evite --> and EVDB
  129. 129.  domain name speculation --> search engine optimization  page views --> cost per click  screen scraping --> web services  publishing --> participation  content management systems --> wikis  directories (taxonomy) --> tagging ("folksonomy")  stickiness --> syndication
  130. 130. Vision and Concept of SOA
  131. 131. The changes in SOA technology  The flow of the SOA in a narrow sense, was a transformation from the integrated technology by means of Web service to a integrated technology of Service Composition by BPEL, JBI and SCA.  In a broad sense, by integrating various services in the network as we found in JBI, SOA is headed to the implementation of higher layer of the services through message exchange.
  132. 132. Technological specialties of SOA  The style of architecture at which all the components formed as service is called SOA (Service Oriented Architecture).  In this style of architecture, service is provided basically via Network.  Service in a network is carried out by message. It brings about the changes of state and provides a kind of power in a component that receives the message.
  133. 133. Technological specialties of SOA  The fundamental relationship between components in this architecture is “loose coupling” due to the message exchange.  Loose coupling means that the components of this architecture are independent to each other except the relationship of message exchange.  These loosely coupled independent components provide reusable and specific service in a network.
  134. 134. Contact point of SOA and Business  From the business point of view, we should be aware that SOA could be a network technology of each business sector.  Characterizing each business sector as a bearer of specific service is important. Decoupling of main and cross-sectional services will also be required in some cases.  As for second approach, AOP(aspect oriented programing) is important also as a design methodology of a software in network age rather than just being a implementation technology.
  135. 135. Vision of SOA  During the first half of 21st century, the principal power that pulled IT was the rapid enhancement of network technology. This advancement of network, as we witnessed in Grid computing technology, will certainly effect remarkably for the future software architecture also.  The 20th century was the turning era towards service industries from agricultural industries in the economic world. This kind of transformation is continuing now too.  In this way, network meets services. Simultaneously, newer services of network will start to change as seen in web 2.0.