7.Introduction to SOA

Document Sample
7.Introduction to SOA Powered By Docstoc
					                                                                         Agenda

                         Module 7                     Evolution of Enterprise Application Frameworks
                                                      What is SOA?
                Introduction to SOA
                                                      SOA Framework

        Assist. Prof. Thanisa Kruawaisayawan
  King Mongkut’s Institute of Technology Ladkrabang
              Dr. Thanachart Numnonda
            Sun Microsystems (Thailand)




     Evolution of Enterprise                           About Enterprise Applications
     Application Framework
                                                       Things that make up an enterprise application
Single tier                                              Presentation logic
Two tier                                                 Business logic
Three tier                                               Data access logic (and data model)
  RPC based                                              System services
  Remote object based                                  The evolution of enterprise application framework
                                                       reflects
Three tier (HTML browser and Web server)
                                                         How flexibly you want to make changes
Application server                                       Where the system services are coming from
Web Services
   Single Tier (Mainframe-based)                                                               Two-Tier

                                                                                               SQL request
                                                                                                                   Database
                                                                                              SQL response




   Dumb terminals are directly connected to mainframe
                                                                         Fat clients talking to back end database
   Centralized model (as opposed distributed model)                         SQL queries sent, raw data returned
   Presentation, business logic, and data access are
   intertwined in one monolithic mainframe application                   Presentation,Business logic and Data Model
                                                                         processing logic in client application




        Three-Tier (RPC based)                                          Three-Tier (Remote Object based)

                 RPC request                SQL request                                  Object request             SQL request
                                                           Database                                                                Database
                 RPC response               SQL response                                 Object response            SQL response




Thinner client: business & data model separated from
presentation                                                             Business logic and data model captured in objects
                                                                          – Business logic and data model are now described in “abstraction”
  Business logic and data access logic reside in middle tier server         (interface language)
  while client handles presentation
                                                                         Object models used: CORBA, RMI, DCOM
Middle tier server is now required to handle system services                 Interface language in CORBA is IDL
                                                                             Interface language in RMI is Java interface
  Concurrency control, threading, transaction, security, persistence,
  multiplexing, performance, etc.
     Three-Tier (Web Server)                                             N-Tier with Application Servers

            HTML request                 SQL request
                                                        Database
            HTML response                SQL response


                            WEB Server


Browser handles presentation logic
Browser talks Web server via HTTP protocol
Business logic and data model are handled by
“dynamic contents generation” technologies (CGI,
Servlet/JSP, ASP)




    N-Tier with Web Services                                                                   Hype or Reality?
                                                                                 ,         -                       "              !   (
                                                                                           ) "                         +' ,                "
                                                                                                                                              !
                                                                         .               ) *
                                                                             " "                   !       "                              (
                                                                                               %
                                                                   , -       !
                                                                                     '     ! !                         #$     %                '       #&   "
                                                                                              &            "
                                                                                                               -                          , !           -
                                                                    ,                                  -
                                                                                 !                                            "                    *
                  What is SOA?                                                           Characteristics of Service
Principles and practices for designing shared,
reusable, distributed services

 SOA Attributes:
   > Separation of service interface from underlying
     implementation (loose coupling)
   > Promotes service reuse through discoverable and
     self-describing services
   > Services are course-grained, composable, and rely
     on a standards based infrastructure




        Accidental Architecture?                                                                             IT Silo
               Silo Oriented Architecture
                                                                        )       "                                "
                                        Rigid                               "        !                       $         !                             '   !



                                        Complex
                                        Expensive                 Check                                   Check                                 Calculate
                                                              Customer Status                         Customer Status                       Shipping Charges

                                        Slow to Market       Determine Product
                                                                Availability
                                                                                                      Determine Product
                                                                                                         Availability                          Order Status             '
                                                                                                            Verify                                Verify
                                        Monolithic                                                     Customer Credit                       Customer Credit

                                                                                                        Order Status
                                        Hard to Integrate

                                                                                                                                                                            -
                                                             Custom                 AS400    Oracle          SAP            Red Prairie   Another            External
                                                            Marketing                Sales    CRM          Finance          Warehouse     Business           Trading
                                                             System                 System   System        System          Mgmt. System     Unit             Partner
The “Move” to Service Orientation                   Layering Principle
         "                , -    "
          ! "              *             •                         , -    "
     #          "            #       "
                                                                 , -

                                                          $      , -

                                                                 , -

                                                                  , -




    SOA Architecture Layers              SOA Architecture Layers (cont.)
                                         Resources
                                              Operational Resources; e.g. CRM, ERP, HR,
                                              Databases
                                              Enterprise components; technologies e.g. Java, .NET,
                                              CORBA, PHP
                                         Services
                                              Selected components which have been developed as
                                              services
                                              Can implement various way; e.g. Web Services
                                              Normally has well defined interface; e.g. WSDL
        SOA Architecture Layers (cont.)                                                                                       Enterprise SOA Implementation

            Business Process
                             Represent powerful orchestration of one or more
                             services that solve a business problem                                                                                                                Composite
                                                                                                                                                                                  Applications
                             Business Process itself is a service of services
            Access                                                                                                   "
                                                                                                                          !



                             Front or User Interface that calls business process
                                                                                                                                                                                                                      !
                             Web Programming, Desktop, Dashboard
                             Can be implemented to run on various devices



                                                                                                                                                                            #$                             #$




                                                  IT Silo                                                                       Reuse Services Via Re-composition
            )       "                                 "                                                                                  )       "                                     "
                "        !                        $         !                             '   !                                              "        !                       $            !                                   '   !




      Check                                    Check                                 Calculate
  Customer Status                          Customer Status                       Shipping Charges
 Determine Product                         Determine Product
    Availability                              Availability                          Order Status             '
                                                 Verify                                Verify
                                            Customer Credit                       Customer Credit
                                                                                                                                     3                             3               3                            3
                                             Order Status                                                                                                      "                       -               "




                                                                                                                 -                                                                                                                                -
 Custom                 AS400     Oracle          SAP            Red Prairie   Another            External                Custom                     AS400
                                                                                                                                                         122       Oracle     SAP
                                                                                                                                                                                $                Red Prairie
                                                                                                                                                                                                    " $             Another            External
                                                                                                                                                                                                                                          *
Marketing                Sales     CRM          Finance          Warehouse     Business           Trading                Marketing
                                                                                                                         ' 3 !                        Sales         CRM'    Finance
                                                                                                                                                                            )                   Warehouse           Business           Trading
                                                                                                                                                                                                                                            " !
 System                 System    System        System          Mgmt. System     Unit             Partner                 System
                                                                                                                           -                         System
                                                                                                                                                       -           System
                                                                                                                                                                    -       System
                                                                                                                                                                              -                Mgmt.0 System
                                                                                                                                                                                                ' !     -             Unit
                                                                                                                                                                                                                      /                Partner
                                                                                                                                                                                                                                        $
  Reuse Services Via Re-composition (cont.)                                                                                                                Reuse Services Via Re-composition (cont.)
                )       "                                                   "                                                                                           )       "                                          "
                    "        !                                      $           !                                     '      !                                              "        !                             $           !                                     '      !




                                 3                                                                                                                  "                                                                                                                                              "
                                                                                                                                                                                                                        3
                                     -                                                                                                                                                                         "       " -
                                         "   !                $                      "                 $                  4$ -
                                                                                                                                            $                                            "   !            $                          "                $                  4$ -
                                                                                                                                                                                                                                                                                           $


            3                                        3                  3                          3                                                                3                                3                 3                          3
                                                 "                          -              "                                                                                                     "                         -              "




                                                                                                                                                -                                                                                                                                              -
 Custom                     AS400                    Oracle         SAP              Red Prairie           Another               External                Custom                     AS400            Oracle     SAP                 Red Prairie           Another               External
Marketing                    Sales                    CRM         Finance            Warehouse             Business              Trading                Marketing                    Sales            CRM     Finance               Warehouse             Business              Trading
 System                     System                   System       System            Mgmt. System             Unit                Partner                 System                     System           System   System               Mgmt. System             Unit                Partner




   Reuse Services Via Re-composition (cont.)
                )       "                                                   "                                                                                           )       "                                          "
                    "        !                                      $           !                                     '      !                                              "        !                             $           !                                     '      !




                                                                                                                      3
                                                                                                                                                    "                                                $                                                    " 5                              -
                                                                                                              "
                                     "       !                $                      "                 $                  4$ -
                                                                                                                                            $


            3                                        3                  3                          3                                                                3                                3                 3                          3
                                                 "                          -              "                                                                                                     "                         -              "




                                                                                                                                                -                                                                                                                                              -
 Custom                     AS400                    Oracle         SAP              Red Prairie           Another               External                Custom                     AS400            Oracle     SAP                 Red Prairie           Another               External
Marketing                    Sales                    CRM         Finance            Warehouse             Business              Trading                Marketing                    Sales            CRM     Finance               Warehouse             Business              Trading
 System                     System                   System       System            Mgmt. System             Unit                Partner                 System                     System           System   System               Mgmt. System             Unit                Partner
                         SOA Framework                                                                                            External/Internal Systems

             $           %                                   '                       69 $ 7

                 /                                   %               8   !           "

                                     $                               '   !                6 $ ,7

                             "                   #                               6          7
                                                                                                                                                      !
                                 *                       4                   -                                   3
                                                                                                                      '       %     -   :
                                                                                                                                                ,
                                                                                                                                                          3   -   ;    -    <       $




    External/Internal Systems (cont.)                                                                                External/Internal Systems (cont.)




                                         "                   #                                              ,4
                                                                                                                 3
                                                                                                                          $   "             !       3 !   !
                                                                                                                                                                  !
                                                                                                                                                                      $ -       "       $   !




                                             !                                                                                                        !
     '   %   -       :                                           3               -    ;         -   <   $             '       %     -   :                 3   -   ;    -    <       $
3                                    ,                                                                           3                              ,
Components of Business Service Layer                                                                                                                                               Business Service Layer – eWay
                                                                                                                                                                                            Connectors
 ,4                                                                                                                                                           ,4
                          $        "                      !          3 !             !                                 $ -               "       $   !                                     $        "                      !          3 !             !                           $ -                   "       $   !
          3                                                                                                   !                                                        3                                                                                                      !




                                                                                                 66               77
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                          -                         $
                                                                                                                                                             ) $                               ' $              $ 4$           ) $          ) $



                                                                      !                                                                                                                                                                !
                      '        %           -          :                          3                    -   ;            -         <       $                                             '        %           -          :                          3               -       ;       -             <       $
      3                                                       ,                                                                                                    3                                                           ,




                          Business Service Layer – Data                                                                                                                                    Business Service Layer – Data
                                     Format                                                                                                                                                          Delivery
 ,4                                                                                                                                                           ,4
                          $        "                      !          3 !             !                                 $ -               "       $   !                                     $        "                      !          3 !             !                           $ -                   "       $   !
          3                                                                                                   !                                                        3                                                                                                      !




                                                                                                                                                         .                 .                                                                                          =           "                 -
              $                    -                                                                                                                                           $                    -
                                       )              ) +     +' ,                       &                                                                                                              )              ) +     +' ,                       &
                  )                                                                          %                                               &   "                                 )                                                                          %                                             &   "

                                                                                                                             -                                                                                                                                                          -
                                                                                                          -                          $                                                                                                                                    -                         $
) $                           ' $              $ 4$           ) $          ) $                                                                               ) $                               ' $              $ 4$           ) $          ) $



                                                                      !                                                                                                                                                                !
                      '        %           -          :                          3                    -   ;            -         <       $                                             '        %           -          :                          3               -       ;       -             <       $
      3                                                       ,                                                                                                    3                                                           ,
                                      Business Service Layer – B2B                                                                                                                                         Components of Business Service
                                             Requirements                                                                                                                                                             Layer
    ,4                                                                                                                                                                                   ,4                            $4 $4                      "            &                       !                                        =        "           "
                                      $    "                              !       3 !              !                               $ -               "               $           !                                                                                                                                                                                   $           !
              3                                                                                                            !                                                                   3                       $    "                   3 !                    3 !                                             !




                  %                                                                                                                 $                        '               !                     %                                                                                                                            $                            '               !
                                                           -                             >                                                                                                                                                  -                                >
          '       !                                                                                                            '         !                           3 !                       '   !                                                                                                                       '         !                               3 !

.                     .                                                                                                =           "                 -                               .                 .                                                                                                           =           "                     -
                          $                    -                                                                                                                                                           $                    -
                                                   )                  ) +     +' ,                     &                                                                                                       )                    )                  ) +     +' ,                        &
                              )                                                                                %                                                 &       "                                                                                                                             %                                                         &       "

                                                                                                                                             -                                                                                                                                                                                               -
                                                                                                                           -                         $                                                                                                                                                                 -                             $
    ) $                                   ' $                  $ 4$           ) $            ) $                                                                                         ) $                               ' $                  $ 4$               ) $           ) $



                                                                                     !                                                                                                                                                                                   !
                                  '        %           -              :                            3               -       ;        -            <       $                                                         '        %           -              :                               3                       -       ;        -                <       $
          3                                                                   ,                                                                                                                3                                                                   ,




                                      Business Process Management                                                                                                                                                          Business Process Monitoring



                                                                                                                                                                                                                                                                                 $             '           !



    ,4                                                                                                                                                                                   ,4
                                      $    "                              !       3 !              !                               $ -               "               $           !                                     $    "                              !           3 !             !                                       $ -                   "               $           !
          3                                                                                                                !                                                                   3                                                                                                                       !



                                                                                     !                                                                                                                                                                                   !
                                  '        %           -              :                            3               -       ;        -            <       $                                                         '        %           -              :                               3                       -       ;        -                <       $
          3                                                                   ,                            -                                                                                   3                                                                   ,                               -
         User Interface and Single Window                                                                                                                                       User Interface and Single Window
                        View                                                                                                                                                               View (cont.)

                                                                                                                                                                                )       "                   "                                                                 '            !             $   > "
                                                                                                                                                                                                        $           !           '         !                   !                *
                      /                               %           8           !                       "               &                                                             "       !                                                             "                            "




                                                                      $           '               !                                                                                                                                           $       '               !



,4                                                                                                                                                                     ,4
              $   "                       !           3 !                 !                                                   $ -              "           $       !                            $   "                       !       3 !           !                                            $ -             "       $   !
     3                                                                                                            !                                                         3                                                                                                      !



                                                          !                                                                                                                                                                           !
          '       %       -           :                                   3                                   -   ;            -        <          $                                        '       %           -       :                         3                       -        ;            -    <             $
     3                                            ,                                       -                                                                                 3                                                   ,                                 -




          A Smarter                                                                                                                         Service-                            Example1: New Employee Hiring
          Approach                                                                                                                          Oriented
                                                                                                                                            Architecture

         ?                        !
                                                                                                                                            and
                                                                                                                                            Single View
                                                                                                                                            Composite
                      &                                                                                                                     Applications



                                                                          "
                              "               !                   $           !                           '       !




                              3                                   3                           3                                     3
                                                              "                                   -                       "




                          '       3           !                                       '               )                                                        *
                                                                                                                                                       $
  Example2: Loan Application                        Recommended SOA Book
                                                                  SOA in Practice
                                                                  The Art of Distributed System
                                                                  Design
                                                                   by Nicolai M. Josuttis
                                                                   O'Reilly
                                                                  ISBN-10: 0-596-52955-4
                                                                  ISBN-13: 978-0-596-52955-0
                                                                  This book gives a very precise
                                                                  and fundamental overview of
                                                                  what it means to realize a SOA
                                                                  in practice




Recommended SOA Book (cont.)                      Recommended SOA Book (cont.)
                 Service Oriented                                 SOA Using Java™ Web
                 Architecture                                     Services
                 Concepts Technology                              by Mark D. Hansen
                 Design                                           Prentice Hall
                 by Thomas Erl                                    ISBN-10: 0-13-044968-7
                 Prentice Hall/PearsonPTR                         ISBN-13: 978-0-13-044968-9
                 ISBN: 0131858580                                 This Book is a hands on
                 Hardcover, 760 pages                             programmer s guide to
                 This Book provides a                             implementing Web services
                 comprehensive, end-to-end                        and Service Oriented
                 tutorial for SOA, Web Services                   Architecture SOA using
                                                                  Java EE 5 and Java SE 6.
                 and service-orientation. There
                 are more than 125 case study
                 examples.

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:9
posted:3/11/2012
language:English
pages:12
Description: Introduction to SOA - Evolution of Enterprise Application Frameworks - What is SOA? - SOA Framework