SlideShare a Scribd company logo
1 of 69
Download to read offline
SOA @ T-Mobile –
Vollautomatische Service Provisionierung auf dem ESB


W-JAX 2008, München, Carsten Sensler & Andre Karalus
Agenda

!!   Prerequisites

!!   SOA Backplane in a nutshell

!!   Design time – in detail

!!   Runtime – in detail

!!   Provisioning time – in detail

!!   Organizational aspects – international focus

!!   Summary



                                              C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   2
Who we are?
!!   Dipl.-Ing. Carsten Sensler
      !!   Employee of T-Mobile Deutschland GmbH since April 2007
           (but since December 2005 working in the SOA Backplane
           program )
      !!   Department of Enterprise Integration
      !!   System & Solution Designer
      !!   Functional leader of the international Service Provisioning
           Team
      !!   http://www.sensler.de


!!   Dipl.-Inf. Andre Karalus
      !!   Freelancer,
      !!   since March 2006 consultant for T-Mobile
      !!   Designer and developer of the runtime core component of
           the ESB in SOA Backplane and of the Core from the Service
           Repository




                                                     C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   3
Prerequisites
Corporate Structure.
Subsidiaries and affiliates.

                                                   !! Direct or indirect investments by Telekom
                                                      Group in companies dealing with mobile
                             Hungary
                    US NL                             communications in twelve countries
                                                   !! The T-Mobile brand is represented in
                    UK CZ    Mace-                    Germany, Austria, Hungary, Great Britain,
    T-Mobile                 donia
    Germany                                           the Czech Republic, the Netherlands, the
                    A   PL                            Slovak Republic, Croatia and the USA
                             Croatia
                                                   !! Almost 125 million customers in the
                                                      majority holdings
   T-Mobile                   Slovak
   International             Republic


                             Monte-
                             negro
 Deutsche Telekom
                                                                                       SOA Backplane Participant



                                 C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile                               5
SOA Backplane in nutshell
SOA Backplane – overview (simplified)
                                     Business System(s)                             Logs


                                             WS/                          e.g. Corba, Tuxedo,
                                                                          JMS, …
                                            others
    Xplor
                                        Adapter(s)
                                      Common Access                        Logs/
                                        Layer (CAL)                        Status
                            Config

                                            SOAP                                                   Message-
                                              –
                     LSPA




    Service                                  JMS
                                                                                                  / Log-Store
  Repository                                                                                         (LMS)
   (CEISeR)                               EMS
                        Routing                                                Msgs.
                                     (Messaging, ESB)



               Design time
                                  Runtime
        Provisioning time


                                            C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile                 7
TMD             TMUK                                                  TMCZ


                       ...                                                ...

                   .                                       .                                    .




                                         Adapter
                                          Adapter
  Service                                  Adapter
                                                                                          Central view
Repository                                                                                    on
 (CEISeR)                                                                                 BAM, Logs &
                             International System                                          Monitoring




                             C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile                         8
Intention of the SOA Backplane program

!!   SOA Backplane will deliver a number of software systems and standards, namely
      !!   a service bus which is the SOA communication infrastructure with static routing
            !!   Service repository
            !!   Access layer framework
            !!   Basic messaging infrastructure (JMS)


      !!   additional value adding components and functionality including
            !!   logging, monitoring
            !!   service contract management
            !!   business activity monitoring
            !!   transport components for B2B communication


      !!   the Backplane Guide and SOA Governance as a set of guidelines and rules as to how SOA will be
           implemented within T-Mobile.




                                                    C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   9
Benefits of SOA BP
!!   Standardized architecture and interfaces and communication protocols
      !!    (e.g. technology independence, single interface type)
!!   Loosely-coupled systems
      !!    (e.g. releases and downtimes decoupled)
!!   Reuse

!!   Advanced logging and monitoring
      !!    (e.g. locate incidents in 1 step)
!!   Location independency
      !!    (e.g. individual IP addresses or firewall clearences do not matter)


!!   This leads to
      !!   shorter Time-to-market                                             Benefits                Success   Investment


      !!   Cost savings


                                                C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile                          10
Static routing vs. dynamic routing
!!   The routing basically defines which Service Consumer (SC) is talking to which Service
     Provider (SP)
      !!   With dynamic routing the SC specifies the target within the (technical part of the) message. The ESB is then
           forwarding the message ad hoc to the SP
      !!   With static routing the SC identifies itself wanting to use a certain service. The ESB is configured to know the
           routing for that and then forward the message according to that configured information
!!   The advantage of dynamic routing is the flexibility to add new SC on the fly
!!   Downsides
      !!   No control who is using who or if a SP is used at all, no SC specific QoS enforceable
!!   The advantage of static routing is the full control over the ESB thus enabling SOA
     governance
!!   The downside is that all changes to routings have to be configured in the ESB before being
     used




                                                      C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile                     11
SOA Backplane – Design time
SOA Backplane – Service Repository Interfaces

   Imports                                                                             Exports
                                                                        external                        internal
   Provider /                                                                                           Tibco EMS
   consumer              Xplor                                            Reports                         (JMS)
relations & SLA       (DSL editor)                                                                     configuration

  Technical                                                                                             Common
 environment                                                              SOA BP                      Access Layer
                       Service-
  definitions                                                                                           artefacts
                      Repository

  WSDLs *,                                                                                            Deployment &
                                                                        WSDLs *,
  XSDs &                                                                                                 security
                                                                         XSDs
  metadata                                                                                             configuration
                  Round trip is supported
Authorisation &
    contact
  information
                                                                                        * T-Mobile specific subset of
                                                                                        WSI basic profile 1.1



                                 C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile                                    13
The Service Repository in a nutshell

!! Provide all information needed by service participants for consistent service implementation
  and utilisation (architecture)

!! Store definition of different SOA backplane environments and binding of service
  participants to these environments (binding)

!! Support fully automated configuration of SOA backplane environments (dev, test, prod, …)
  (service provisioning)

!! Support SOA governance (service discovery, reuse) and impact analysis (change / incident
  contact information) (management)




                                        C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   14
The Underlying MetaModel




                     C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   15
CEISeR - *.xadmin

!! Specifies the following information


   !! CEISeR-Namespaces
   !! User of CEISeR
   !! Access rights
   !! Contact information
   !! Concern (for regular notification of changes of a specific part of the
     CEISeR contents)




                                  C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   16
CEISeR – Service interface definition

!!   WSDLs and the included XSD

!!   All SOA Backplane compliant WSDL files have to include the EI XSD file
     (ei.messaging.datatypes.xsd)

!!   For designing a service interface definition for SOA Backplane there exist 23 rules
     (constraints)
      !!   wsdl-style MUST be quot;document/literal wrapped” (http://www-128.ibm.com/developerworks/
           webservices/library/ws-whichwsdl/)
      !!   All operations MUST have a quot;SOABPExceptionquot; – fault
      !!   wsdl:definitions MUST contain only ONE wsdl:portType-section
      !!   Enconding MUST be quot;UTF-8quot;.




                                             C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   17
CEISeR – Architecture - *.xarchitecture

  !!   The architecture in the context of CEISeR is defined by all
        !!   applications with their
        !!   components with their
        !!   ports and the
        !!   logical connection between the components


  !!   The architecture reflects the enterprise architecture of the involved systems



                                 Application-1                                                  Application-2

                                 Component-A                                                       Component-B

                                          Using-Port
                                                                                            Providing-Port




                                                 C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile             18
CEISeR – Infrastructure - *.xinfrastructure

!!   The infrastructure layer is separated into three layers
      !!   (SOABP Runtime) Environment
      !!   Virtual Environment
      !!   Physical environment




                                            C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   19
CEISeR – Infrastructure - *.xinfrastructure
!!   The internal architecture of the SOA-Backplane infrastructure consists of

     !!   Binding-Components: they can be load-balanced, so that a binding-component-dispatcher (BCD) dispatches
          the load to a set of binding-component-worker (BCW) ( i.e. Common Access Layer – CAL)

     !!   JMS-Servers: they can be designed with more than one instances (JSI) for ensuring failover

!!   All direct or indirect connected JMS-Server and binding-components build a closed environment. There could be
     exist many environments. ( i.e. Dev, T&A, Production). There is no connection between environments



                             BCD-1                                                                        BCD-3
                                                      SOA-Backplane
                         BCW-1   BCW-2                                                              BCW-3     BCW-4


                                                                                      JS-3
                                            JS-1

                                                                                      JSI-1


                                                              JS-2                     JSI-2




                                                    C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile               20
CEISeR – Binding - *.xbinding

  !!   The architecture can be instantiated for eachexisting infrastructure-environment
  !!   Each component has to be bound to exact one binding-component of each desired environment.
  !!   For each providing-port, the URL where the binding-component can call the service-
       implementation must be published to the corresponding binding-component.


                                                                                                       Component-B
                             Component-A                                                        Providing-Port-1
                                       Using-Port-1
                                                                                                Providing-Port-2


                                                                            Providing-Port-1 = http://1....
                                                                            Providing-Port-2 = http://2....


                                                                                                              Providing-Port-1 = http://3....
                                                                                                              Providing-Port-2 = http://4....


                     BC-1                     BC-2                                                          BC

                     SOA-Backplane-Environment-1                                SOA-Backplane-Environment-2



                                                      C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile                                       21
Technical design of CEISeR - simplified


                     Xplor or Batch-Processing




                        Webservice Interface
                       Job-Execution Manager
                     Import                            Export

                        Persistence/ Access

                              DB Backend




                          C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   22
CEISeR Metaphers

!!   Job Execution and Job description
      !!   Executes specified tasks in the job description file to CEISeR.
      !!   A job is executed via the job framework and the communication CEISeR-Server -> Client and vice
           versa is done via a web service


!!   Transaction number
      !!   Each “real” commit to the DB leads in an unique transaction number (similar to the revision
           concept of Subversion)


!!   Offline working with CEISeR
      !!   We work always offline with CEISeR
      !!   e.g: Synchronize your local model with the global CEISeR model via a job




                                                C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile      23
How is CEISeR organized internally

!!   Every entity has got a namespace
      !!   A “directory”




!!   Every entity has got a name
!!   Namespaces are separated by dots
      !!   tmo.ei.icc.training


!!   namespace + . + name = CEISeR fully qualified name
      !!   tmo.ei.icc.training.Infrastructure




                                                C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   24
Control and audit changes

!!   Control access to the service repository
      !!   The access is subject to proper authentication
      !!   The account is managed in the company’s central LDAP


!!   Restrict changes according to the organizational structure
      !!   The privileges to modify contents of the repository are subject to authorization
      !!   It’s modeled with user and roles, roles have different privileges and relate to namespace
           hierarchies (every object in our repository belongs to a namespace)


!!   Audit what was changed, by whom and why
      !!   The set of changes applied to the repository belong to a transaction
      !!   The transaction can be reviewed later on, the changed objects, the user that did it and a
           description are recorded



                                                C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile    25
Organize Artifacts

!!   It is not possible to name every single object when referring to the configuration - it
     becomes necessary to group single objects in order to have a larger granularity thus
     enabling manageability
      !!   Usually you have components, packages, modules, subsystems or the like


!!   The soa repository itself determines the structure by it’s meta model
      !!   layers are interface, architecture, binding, infrastructure, policy, …
      !!   Top level objects are used to refer to a logical subsystem
            !!   Application
            !!   BindingSet
            !!   Environment
            !!   …




                                                  C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   26
Create baselines at milestones and refer to them (1)

!!   Typical milestones are the begin of QA phase or the productive release

!!   We use the branching and tagging concept, this is a feature of the soa repository (i.e. the
     underlying core platform and it’s build into the persistence layer)

!!   We are able to label a certain state of the repository and use it later on
      !!   To refer to it while browsing the repository
      !!   To build a service configuration on top of that state
      !!   To generate a report of that state




                                                  C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   27
Create baselines at milestones and refer to them (2)

!!   It‘s possible to create a branch from a certain repository state
!!   This branches can be referred and fixes can be applied
!!   Changes can be merged back and this is documented
          main
          TA12
          TA13
          TA14                                         branch_1
          TA15                                           TA17
          TA16                                           TA19                                     branch_2
          TA18                                           TA20                                       TA22
          TA21                                           TA23                                       TA31
          TA24              branch_3
          TA25                TA27
          TA26                TA28
          TA29                TA30                                        TAxx         CEISeR transaction xx
          TA32                                                                         Branch dependency
                                                                                       Merge documentation



                                            C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile                28
Xplor Eclipse based client

!!   Eclipse plug-in or Eclipse-based RCP

!!   DSL editor for CEISeR
      !!   Generic GUI based on CEISeR meta model, Import DSL meta model and local configuration


!!   Supports
      !!   Editing of job definition files (manifest, architecture, binding, infrastructure;
           search, edit, delete, insert, change, …)
      !!   Analysis of job results (model diff, constraint violations)
      !!   Analysis of model dumps (offline snapshot of partial or full model)
      !!   Analysis of a diff between two model revisions (diff of two snapshots)


!!   Various wizards for creating CEISeR jobs and CEISeR modells


                                                   C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   29
Xplor perspective




                                                                             Model element details

          Job view

                     Model details
        Search



                                        Search results

                       C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile                           30
Xplor perspective - 2

!!   Xplor Configuration
      !!   job view, where all imported jobs are visualized
!!   Xplor structure
      !!   This view is for modelling the CEISeR artifacts, adding and deleting top-level elements and their
           child-elements
!!   Xplor Element
      !!   Details view for a selected element in the Xplor structure view
!!   Xplor Search
      !!   Search the active model for some model-elements (you can choose only valid model-elements)
!!   Xplor Search Results
      !!   Result view of a search




                                                 C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile           31
Future Prospects – CEISeR Evolution

!!   With our strategic partner “Software AG”* we will shift CEISeR to a standard product
     (CentraSite) to decrease/ avoid unnecessary internal development effort and therefore to
     safe money (in the long run).

!!   We will realize human-oriented workflows with the bpm suite “webMethods” from SAG
     regarding the processes working with CEISeR to formalize the process

      !!   Defining a contract (service interface definition)
      !!   Defining an architecture, binding, …
      !!   Service Lifecycle management




            * http://www.computerwoche.de/knowledge_center/soa_bpm/1862456/

                                                  C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   32
SOA Backplane - Runtime

Here is the action … – Details of the ESB
The Enterprise Service Bus – in general

         !quot;#$%&'#'()*+,)quot;#$%&'#'()+-'..(#/$01/'#*+2'1/3/$01/'#+

                               Application


                                              SOAP/HTTP


                                                                                     CAL



                                                 SOAP/JMS

                               JMS Bus




                               C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile         34
SOA Backplane –
Common Access Layer (CAL) - ESB

             !quot;#$%&'#'()*+,)quot;#$%&'#'()+-'..(#/$01/'#*+2'1/3/$01/'#+

       Application           Application                          Application


                Document Literal

       Http invoker        Socket invoker                          JMS invoker
                                                                                                                  CAL

     Tuxedo Plug In   RPC Literal PlugIn              XSLT PlugIn                        Binary protocol PlugIn



                                   SOAP/JMS

                                       JMS Bus



                                   C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile                                  35
Existing Plugins/Adapter

!!   XSLT transformation (needs two XSLTs as configuration data)
      !!   Uses XSL transformation to map arbitrary XML messages
      !!   One example is the useage of SAP Netweaver (in TMAT)



!!   Tuxedo Plugin (needs the XSDs as configuration data)
      !!   Transforms flat FMLBuffer to structured data and vice versa


!!   Binary Plugin (needs a link to Java-library as configuration data)
      !!   Maps XML to a binary structure and vice versa
      !!   Used as base for Convergys Rater Plugin (MyFaves project)



!!   RPC literal Plugin (no config data needed)
      !!   Used for proprietary internal predecessor message format
      !!   Transforms RPC literal SOAP to document literal wrapped




                                                          C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   36
Java Message Service – JMS

!!   JMS is the Java API for accessing MOM (message oriented middleware)

!!   A message is transported from a sender to a consumer via a queue asynchronously at least
     once, each message has only one consumer
!!   PTP:




!!   All participants must use JMS to take part in the message exchange



                                         C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   37
Java Message Service – JMS -2

!!   For publish/subscribe one can use a topic, thus there can be multiple consumers for one
     message
!!   This results in a timing dependency -> durable




                                         C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   38
Java Message Service - Bus

!!   When using the Tibco EMS, different EMS servers
     can be connected to a hub and spoke
!!   Thus an international JMS Bus can be established
     using only a minimal set of interconnections
!!   A queue/topic can be accessed from a JMS client
     connected anywhere to the bus
!!   A globally accessible queue is residing on the
     central EMS server and a “remote-queue” is
     created as a proxy on each EMS server that will
     provide access to it




                                         C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   39
CAL – message flow* (synchronous request reply, consumer to
provider view)
 The CAL verifies only the
 EIMessage-Context of each
 message



                                   EMS
 Consumer




                                                                                           Provider
             CAL




                                                                                   CAL
                                                                                         *data flow

                             C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile                      40
Local message flow (only within one NatCo)

                        NatCo B



                        EMS Hub

    1               2                                                 3                             4
          Service                                                                        Service
         Consumer                  Request Queue                                         Provider


         CAL                    EMS Server
                                                                                           CAL
                            Response Queue

                                  NatCo A
    8               7                                                   6                           5




                                                                                                        41
                                         C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile
Global message flow (between two NatCos)




        Service                                                              Service
       Consumer                                                              Provider


       CAL
                                                                             CAL


      NatCo A         EMS Hub                                               NatCo B




                      C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile               42
CAL log points – synchronous MEP - Example




                      C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   43
Message Structure

!!   SOABP conforming SOAP messages adhere to a common structure:
      !! Due to the limitations of some web service toolkits SOA Backplane makes
         currently no use of SOAP header
      !! Instead all SOABP relevant information is encapsulated in the
         eiMessageContext
      !! Subsequent to the eiMessageContext follows the business relevant payload




                                       C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   44
eiMessageContext
!!   It carries the necessary information
     the CAL need to route the message
     (static routing)



!!   It enables business activity
     monitoring

!!   Message warehouse (LMS)

!!   Service policy enforcement




                                    C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   45
SOA Backplane – Provisioning time

Services from the assembly line
CAL runtime configuration by CEISeR and configuration
agents
!!   The CAL runtime configuration consists of a set of WARs and EARs (JEE deployment
     artefacts)

!!   A WAR is containing the configuration for service consumer speaking to the CAL

!!   An EAR is containing the configuration for the CAL to call service providers

!!   Basically no code will deployed (except special customer plug-in code)

!!   By the usage of JEE deployment artefacts (WAR & EAR) the hot deployment mechanism of the CALs
     underlying JBoss can be utilized to achieve “hot configuration” for SOABP




                                           C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile       47
How is the naming determined for queue names at the
EMS server?
!!   It starts with the CQN (CEISeR qualified name) of the providing port component

!!   Suffix is .glob or .loc for global or local queues

!!   Suffix is .req or .resp for request or response queues




                                                                                                            48
                                                      C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile
Service Provision in a Nutshell

!!   A service provision enables the communication between service consumer and service
     provider within one specific SOA Backplane environment
     Simple overview – synchronous request-reply



                                           Queues
                                           Req/Resp                                          Service
                  Service                                                                    Provider
                  Consumer


                 CAL
                                                                                              CAL



        Consumer                                                                                        Provider



                                         Service Provisioning Team, C. Sensler, 16.05.2008                         49
Service Provisioning – in general
The service provisioning – enabling                                                                              CAL
service consumer and provider
communication within one SOA
Backplane environment - is highly
automated.                                                                                                             EMS



                                                                                          The country
                                                                                                                  Staging
                                                       ConfigStore                        specific LSPA            Area
                                                       validates the                      takes the
                                                       configuration event,               corresponding
                                 GSPA webservice       splits it into country             event and executes
                                 send the              specific parts and                 the service
                                 configuration request sends them to a                    configuration to the
                                 to the ConfigStore    special global                     ems server and to
               Execute the                             queue on the TMO                   the CAL (or to the
               service                                 EMS server                         staging area)
               configuration
               event via a job
               from CEISeR




                                             C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile                             50
Legend for Service Provisioning



                       Service Configuration                                   *.ear files –
                       Event                                                   provider configuration


                        CAL – Common                                          *.war files –
                        Access Layer                                          user configuration


                        EMS Server                                            Queues for the
                                                                              EMS server




                        C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile                        Page 51
Service Provisioning– Deployment (new provider, new user)

    Service Configuration Event
                                                              •!New service provider
                                                              •!New Service consumer for the new
                                                              service provider
                                                              •! ommunication via JMS
                                                               C


    jsr88                   deploy_wsg




                                                          Risks:
     CAL
                                                          •! o risks! Only new artefacts will be
                                                           N
                                                          delivered into the CAL/ EMS

    EMS




                                         C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile       Page 52
Service Provisioning– Redeployment (new user of an existing
provider – redeployment of a war file)
    Service Configuration Event
                                                                •!additional service consumer for one
                                                                service provider




    jsr88                   deploy_wsg



                                                          Risks:

     CAL
                                                          •! mall risks!
                                                           S
                                                          •! nly one war file will be changed within the
                                                           O
                                                          CAL (the old user and the new one)

    EMS




                                         C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile          Page 53
Service Provisioning– Redeployment (change of a providers’
endpoint)
    Service Configuration Event
                                                       •!Change of a endpoint of a service provider




    jsr88                   deploy_wsg




                                                          Risks:
     CAL
                                                          •!Small risks
                                                          •!Only one ear file will be changed

    EMS




                                         C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile    Page 54
Service Provisioning– Undeployment (remove of a provider and his
user)
    Service Configuration Event
                                                                •!Remove of a service provider
                                                                •!All belonging consumer will be
                                                                removed too




    jsr88                   deploy_wsg




                                                          Risks:
     CAL
                                                          •!No risks! Only the unneeded artefacts
                                                          will be removed from the CAL
                                                          •!The queues on the EMS server are
    EMS                                                   untouched



                                         C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile       Page 55
Service Provisioning - Summary
!!   All changes within a service configuration affected only the service runtime configuration
     (either provider or consumer) from the requestor of the changes

!!   There are usually no risks and side effects for the whole service configuration (especially for
     the existing configuration which will be untouched)

!!   All service provider changes are encapsulated from the other provider configurations (EAR
     files)

!!   Near all service consumer changes are encapsulated from the other consumer
     configurations, except those changes as described before (new additional service user of a
     existing service provider) (WAR files)




                                           C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile    56
CEISeR/ GCA/ ConfigStore/ LCA – Service Provisioning

!!   There are various ways to generate a service configuration event

!!   You can generate a service configuration event (artefacts) for
      !!   A whole environment (only useful in a development environment or a virtual environment)
      !!   BindingSet (most used way)
      !!   BindingComponentDispatcher (CAL instance of one NatCo)
      !!   ProvidingPortBinding
      !!   UsingPortBinding
      !!   All using and/or providing ports of a specific application



!!   It is possible to generate either DEPLOYMENT or UNDEPLOYMENT events

!!   There are special tasks in the job description file (manifest file)




                                                         C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   57
Service Provisioning Event - validating

!!   1 – before sending the SOAP request to the GCA
      !!   CEISeR validates against the XSD


!!   2 – before splitting the config event
      !!   The GCA validates the number of expected service artefacts with the number of artefacts within
           the library file(s)


!!   3 – before sending the splitted config event to the EMS server
      !!   The ConfigStore validates the CAL and EMS instances with the information from his own
           database, if some discrepancies occur, the ConfigStore aborts the delivery of the configuration
           event




                                                C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile          58
ConfigStore

!!   Central component for verification of a service provision

!!   Monitors each provisioned artefact (services and queues)

!!   Auditing for who send what into which environment

!!   Monitoring of the runtime components

!!   Near future: automatic End-2-End testing to ensure that the service provider is available




                                           C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   59
ConfigStore – Manage Resources




                      C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   Page 60
ConfigStore – Manage Environments




                      C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   Page 61
ConfigStore – Service Resource Map




                      C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   Page 62
ConfigStore – View Infrastructure Latency




                   C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   63
Organizational aspects – international focus

International Service Provisioning Team and Process
Service Provisioning Team - Structure

      International team-lead
                                                   International responsibility
      Carsten, Andre


       TMUK            Local TMUK env. (TSTx, PRD)




                                                                                              International SOA Backplane



                                                                                                                            Support & Training
       TMDE         Local TMDE env. (TSTx, PRD)




                                                                                                       environment
       TMAT         Local TMAT env. (TSTx, PRD)
                                                                          TMHR
                                                                           TMNL
        TMxx        Local TMxx env. (TSTx, PRD)
                                                                          TMCZ




                                        C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile                                                      65
“Process” for requesting and executing a service provision
(work in progress)

   Request                                              Fasttrack (e.g in case of an incident)

                                    Dispatch of the                                Verification                  Approve/   Schedule of the
             Request arrived                               Verification
                                   request within the                                                                       SOABP relevant      Execute
               at the SPT                SPT               (common)                  (local)                       Reject      activities


                                                                                                                                 asynchronous


                                                                                                      What happens
Template?
                                                                                                      after a reject?
…
                                                                                                      …
                                                                  Inform Capacity                                           Notify requestor
                                    Single point of               Manager and                                               Lifecycle status
            Tool?, Who              dispatcher, or                verification?                                             transition?
            requests a              self responsible              Dry run                                                   Tool?
            provision?                                            …
                                                                                               Local processes




 SPT = Service Provisioning Team                                                                                                              proposal

                                                                   C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile                                    66
Summary




          Enjoy….




          C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   67
Discussion




             Thank you.
             Questions?


               C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   68
Links

!!   Java Messaging Service
      !!   http://java.sun.com/products/jms/tutorial/1_3_1-fcs/doc/jms_tutorialTOC.html


!!   SOA@T-Mobile – vollautomatische Service Provisionierung auf dem ESB Teil 1-3,
     Javamagazin 10/08 – 12/08, C. Sensler & A. Karalus
      !!   http://www.sensler.de/data/JM_10.08_Sensler_TMobile1.pdf
      !!   http://www.sensler.de/data/JM_11.08_Sensler_TMobile2.pdf
      !!   http://www.sensler.de/data/JM_12.08_Sensler_TMobile3.pdf (folgt im Dezember)




                                              C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile   69

More Related Content

What's hot

Open APIs in Telecom - Workshop Fokus Berlin 2009
Open APIs in Telecom - Workshop Fokus Berlin 2009Open APIs in Telecom - Workshop Fokus Berlin 2009
Open APIs in Telecom - Workshop Fokus Berlin 2009Marc Schaer
 
Getting Connected And Trusting The Connection
Getting Connected And Trusting The ConnectionGetting Connected And Trusting The Connection
Getting Connected And Trusting The ConnectionSuhaimi Nordin
 
Gardenia company profile
Gardenia company profile Gardenia company profile
Gardenia company profile Hasan Natur
 
Gardenia company profile
Gardenia company profile Gardenia company profile
Gardenia company profile Hasan Natur
 
Point To Point Solutions Presentation
Point To Point Solutions PresentationPoint To Point Solutions Presentation
Point To Point Solutions PresentationP&R Communications
 
Telecom Transformation Using SOA_2
Telecom Transformation Using SOA_2Telecom Transformation Using SOA_2
Telecom Transformation Using SOA_2didemtopuz
 
Next Generation Data Centers
Next Generation Data CentersNext Generation Data Centers
Next Generation Data CentersIMEX Research
 
Enhance Your IT Infrastructure with eZuce Certified Solutions-Alan Percy of A...
Enhance Your IT Infrastructure with eZuce Certified Solutions-Alan Percy of A...Enhance Your IT Infrastructure with eZuce Certified Solutions-Alan Percy of A...
Enhance Your IT Infrastructure with eZuce Certified Solutions-Alan Percy of A...Christina Inge
 
Transbeam EOC Service Overview
Transbeam EOC Service OverviewTransbeam EOC Service Overview
Transbeam EOC Service OverviewTransbeam
 
Lync-Audiocodes Don't rip it lync it madrid april 29
Lync-Audiocodes Don't rip it lync it   madrid april 29Lync-Audiocodes Don't rip it lync it   madrid april 29
Lync-Audiocodes Don't rip it lync it madrid april 29Peter Diaz
 
Transnet’S Competitive Supplier Development Program (Csdp)
Transnet’S Competitive Supplier Development Program (Csdp)Transnet’S Competitive Supplier Development Program (Csdp)
Transnet’S Competitive Supplier Development Program (Csdp)Railways and Harbours
 
Fault handling in the web service stack
Fault handling in the web service stackFault handling in the web service stack
Fault handling in the web service stackOliver Kopp
 
Catalogo Planet Network da Spark Controles
Catalogo Planet Network da Spark ControlesCatalogo Planet Network da Spark Controles
Catalogo Planet Network da Spark ControlesSpark Controles
 
The New Data Center: Consolidated, Converged, Virtualized & Automated
The New Data Center: Consolidated, Converged, Virtualized & AutomatedThe New Data Center: Consolidated, Converged, Virtualized & Automated
The New Data Center: Consolidated, Converged, Virtualized & AutomatedIMEX Research
 
Otm con8923 pdf_8923_0002
Otm con8923 pdf_8923_0002Otm con8923 pdf_8923_0002
Otm con8923 pdf_8923_0002jucaab
 

What's hot (19)

Open APIs in Telecom - Workshop Fokus Berlin 2009
Open APIs in Telecom - Workshop Fokus Berlin 2009Open APIs in Telecom - Workshop Fokus Berlin 2009
Open APIs in Telecom - Workshop Fokus Berlin 2009
 
Getting Connected And Trusting The Connection
Getting Connected And Trusting The ConnectionGetting Connected And Trusting The Connection
Getting Connected And Trusting The Connection
 
Gardenia company profile
Gardenia company profile Gardenia company profile
Gardenia company profile
 
Gardenia company profile
Gardenia company profile Gardenia company profile
Gardenia company profile
 
Point To Point Solutions Presentation
Point To Point Solutions PresentationPoint To Point Solutions Presentation
Point To Point Solutions Presentation
 
IBM z/VSE V4.3 - More capacity for growth
IBM z/VSE V4.3 - More capacity for growthIBM z/VSE V4.3 - More capacity for growth
IBM z/VSE V4.3 - More capacity for growth
 
IEEE_multimedia_2000
IEEE_multimedia_2000IEEE_multimedia_2000
IEEE_multimedia_2000
 
Telecom Transformation Using SOA_2
Telecom Transformation Using SOA_2Telecom Transformation Using SOA_2
Telecom Transformation Using SOA_2
 
Next Generation Data Centers
Next Generation Data CentersNext Generation Data Centers
Next Generation Data Centers
 
Enhance Your IT Infrastructure with eZuce Certified Solutions-Alan Percy of A...
Enhance Your IT Infrastructure with eZuce Certified Solutions-Alan Percy of A...Enhance Your IT Infrastructure with eZuce Certified Solutions-Alan Percy of A...
Enhance Your IT Infrastructure with eZuce Certified Solutions-Alan Percy of A...
 
Transbeam EOC Service Overview
Transbeam EOC Service OverviewTransbeam EOC Service Overview
Transbeam EOC Service Overview
 
Lync-Audiocodes Don't rip it lync it madrid april 29
Lync-Audiocodes Don't rip it lync it   madrid april 29Lync-Audiocodes Don't rip it lync it   madrid april 29
Lync-Audiocodes Don't rip it lync it madrid april 29
 
My Resume
My ResumeMy Resume
My Resume
 
Transnet’S Competitive Supplier Development Program (Csdp)
Transnet’S Competitive Supplier Development Program (Csdp)Transnet’S Competitive Supplier Development Program (Csdp)
Transnet’S Competitive Supplier Development Program (Csdp)
 
Fault handling in the web service stack
Fault handling in the web service stackFault handling in the web service stack
Fault handling in the web service stack
 
Catalogo Planet Network da Spark Controles
Catalogo Planet Network da Spark ControlesCatalogo Planet Network da Spark Controles
Catalogo Planet Network da Spark Controles
 
About Tellabs
About TellabsAbout Tellabs
About Tellabs
 
The New Data Center: Consolidated, Converged, Virtualized & Automated
The New Data Center: Consolidated, Converged, Virtualized & AutomatedThe New Data Center: Consolidated, Converged, Virtualized & Automated
The New Data Center: Consolidated, Converged, Virtualized & Automated
 
Otm con8923 pdf_8923_0002
Otm con8923 pdf_8923_0002Otm con8923 pdf_8923_0002
Otm con8923 pdf_8923_0002
 

Viewers also liked

Tss Reference Architecture Reduced
Tss Reference Architecture   ReducedTss Reference Architecture   Reduced
Tss Reference Architecture Reducedaadly
 
11 literaturverzeichnis und_empfehlungen_fh_salzburg_multimedia_technologie_s...
11 literaturverzeichnis und_empfehlungen_fh_salzburg_multimedia_technologie_s...11 literaturverzeichnis und_empfehlungen_fh_salzburg_multimedia_technologie_s...
11 literaturverzeichnis und_empfehlungen_fh_salzburg_multimedia_technologie_s...guest3dd56a
 
Fluxograma: Passos para verificação de conta PagSeguro
Fluxograma: Passos para verificação de conta PagSeguroFluxograma: Passos para verificação de conta PagSeguro
Fluxograma: Passos para verificação de conta PagSeguroPagSeguro UOL
 
Reference Architecture for Shared Services Hosting_SunilBabu_V2.0
Reference Architecture for Shared Services Hosting_SunilBabu_V2.0Reference Architecture for Shared Services Hosting_SunilBabu_V2.0
Reference Architecture for Shared Services Hosting_SunilBabu_V2.0Sunil Babu
 
Core Principles for Successful Student Development
Core Principles for Successful Student DevelopmentCore Principles for Successful Student Development
Core Principles for Successful Student DevelopmentMeghan Prudencio
 
Open API Strategy, by Sensedia
Open API Strategy, by SensediaOpen API Strategy, by Sensedia
Open API Strategy, by SensediaSensedia
 
Soa Em Tempos De Crise
Soa Em Tempos De CriseSoa Em Tempos De Crise
Soa Em Tempos De CriseSensedia
 
Hackathons & Innovation: como engajar desenvolvedores em torno da sua empresa...
Hackathons & Innovation: como engajar desenvolvedores em torno da sua empresa...Hackathons & Innovation: como engajar desenvolvedores em torno da sua empresa...
Hackathons & Innovation: como engajar desenvolvedores em torno da sua empresa...Sensedia
 
Soa Next Steps/Passos de Adoção SOA
Soa Next Steps/Passos de Adoção SOASoa Next Steps/Passos de Adoção SOA
Soa Next Steps/Passos de Adoção SOASensedia
 
Construindo APIs Mobile
Construindo APIs MobileConstruindo APIs Mobile
Construindo APIs MobileSensedia
 
Construção de APIs para apps móveis
Construção de APIs para apps móveisConstrução de APIs para apps móveis
Construção de APIs para apps móveisSensedia
 
SOA e APIs: O que muda e o que segue!
SOA e APIs: O que muda e o que segue!SOA e APIs: O que muda e o que segue!
SOA e APIs: O que muda e o que segue!Sensedia
 
How To Become A Successful Student
How To Become A Successful StudentHow To Become A Successful Student
How To Become A Successful Studentsam omuga
 
Repositorio SOA
Repositorio SOARepositorio SOA
Repositorio SOASensedia
 
Governança de Serviços Automatizada na Prática
Governança de Serviços Automatizada na PráticaGovernança de Serviços Automatizada na Prática
Governança de Serviços Automatizada na PráticaSensedia
 
REST - padrões e melhores práticas
REST - padrões e melhores práticasREST - padrões e melhores práticas
REST - padrões e melhores práticasSensedia
 
Hadoop - Primeiros passos
Hadoop - Primeiros passosHadoop - Primeiros passos
Hadoop - Primeiros passosSensedia
 

Viewers also liked (20)

Soa best practice
Soa best practiceSoa best practice
Soa best practice
 
Tss Reference Architecture Reduced
Tss Reference Architecture   ReducedTss Reference Architecture   Reduced
Tss Reference Architecture Reduced
 
11 literaturverzeichnis und_empfehlungen_fh_salzburg_multimedia_technologie_s...
11 literaturverzeichnis und_empfehlungen_fh_salzburg_multimedia_technologie_s...11 literaturverzeichnis und_empfehlungen_fh_salzburg_multimedia_technologie_s...
11 literaturverzeichnis und_empfehlungen_fh_salzburg_multimedia_technologie_s...
 
Fluxograma: Passos para verificação de conta PagSeguro
Fluxograma: Passos para verificação de conta PagSeguroFluxograma: Passos para verificação de conta PagSeguro
Fluxograma: Passos para verificação de conta PagSeguro
 
Reference Architecture for Shared Services Hosting_SunilBabu_V2.0
Reference Architecture for Shared Services Hosting_SunilBabu_V2.0Reference Architecture for Shared Services Hosting_SunilBabu_V2.0
Reference Architecture for Shared Services Hosting_SunilBabu_V2.0
 
Core Principles for Successful Student Development
Core Principles for Successful Student DevelopmentCore Principles for Successful Student Development
Core Principles for Successful Student Development
 
Open API Strategy, by Sensedia
Open API Strategy, by SensediaOpen API Strategy, by Sensedia
Open API Strategy, by Sensedia
 
Soa Em Tempos De Crise
Soa Em Tempos De CriseSoa Em Tempos De Crise
Soa Em Tempos De Crise
 
Hackathons & Innovation: como engajar desenvolvedores em torno da sua empresa...
Hackathons & Innovation: como engajar desenvolvedores em torno da sua empresa...Hackathons & Innovation: como engajar desenvolvedores em torno da sua empresa...
Hackathons & Innovation: como engajar desenvolvedores em torno da sua empresa...
 
Soa Next Steps/Passos de Adoção SOA
Soa Next Steps/Passos de Adoção SOASoa Next Steps/Passos de Adoção SOA
Soa Next Steps/Passos de Adoção SOA
 
Construindo APIs Mobile
Construindo APIs MobileConstruindo APIs Mobile
Construindo APIs Mobile
 
Construção de APIs para apps móveis
Construção de APIs para apps móveisConstrução de APIs para apps móveis
Construção de APIs para apps móveis
 
SOA e APIs: O que muda e o que segue!
SOA e APIs: O que muda e o que segue!SOA e APIs: O que muda e o que segue!
SOA e APIs: O que muda e o que segue!
 
How To Become A Successful Student
How To Become A Successful StudentHow To Become A Successful Student
How To Become A Successful Student
 
Repositorio SOA
Repositorio SOARepositorio SOA
Repositorio SOA
 
Governança de Serviços Automatizada na Prática
Governança de Serviços Automatizada na PráticaGovernança de Serviços Automatizada na Prática
Governança de Serviços Automatizada na Prática
 
REST - padrões e melhores práticas
REST - padrões e melhores práticasREST - padrões e melhores práticas
REST - padrões e melhores práticas
 
SOA vs EDA
SOA vs EDASOA vs EDA
SOA vs EDA
 
SOA for Data Management
SOA for Data ManagementSOA for Data Management
SOA for Data Management
 
Hadoop - Primeiros passos
Hadoop - Primeiros passosHadoop - Primeiros passos
Hadoop - Primeiros passos
 

Similar to SOA @ T-Mobile: Automatic Service Provisioning to the ESB

Next Generation Messaging Market Ronald Gruia (Frost & Sullivan)
Next Generation Messaging Market   Ronald Gruia (Frost & Sullivan)Next Generation Messaging Market   Ronald Gruia (Frost & Sullivan)
Next Generation Messaging Market Ronald Gruia (Frost & Sullivan)guestceb1dfc
 
GE Smallworld Overview September2010
GE Smallworld Overview September2010GE Smallworld Overview September2010
GE Smallworld Overview September2010cwilson5496
 
Next-Gen Data Center Virtualization: Studies in Implementation
Next-Gen Data Center Virtualization: Studies in ImplementationNext-Gen Data Center Virtualization: Studies in Implementation
Next-Gen Data Center Virtualization: Studies in ImplementationIMEX Research
 
Partha cv111 latest
Partha cv111 latestPartha cv111 latest
Partha cv111 latestPartha Misra
 
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011darach
 
Enabling rcs service delivery telesemana august2012 rev2_mx
Enabling rcs service delivery telesemana august2012 rev2_mxEnabling rcs service delivery telesemana august2012 rev2_mx
Enabling rcs service delivery telesemana august2012 rev2_mxRafael Junquera
 
GE Smallworld Network Inventory Overview
GE Smallworld Network Inventory OverviewGE Smallworld Network Inventory Overview
GE Smallworld Network Inventory Overviewcwilson5496
 
WSO2 @ Connected Car
WSO2 @ Connected CarWSO2 @ Connected Car
WSO2 @ Connected CarWSO2
 
John Davies Last Minute Fill In For Sick Speaker
John Davies Last Minute Fill In For Sick SpeakerJohn Davies Last Minute Fill In For Sick Speaker
John Davies Last Minute Fill In For Sick Speakerdeimos
 
Introducing Scalate, the Scala Template Engine
Introducing Scalate, the Scala Template EngineIntroducing Scalate, the Scala Template Engine
Introducing Scalate, the Scala Template EngineJames Strachan
 
Cisco SOA appliance positioning & strategy paper
Cisco SOA appliance positioning & strategy paperCisco SOA appliance positioning & strategy paper
Cisco SOA appliance positioning & strategy paperLakshmana Kattula
 
GlassFish Mobility Platform - Hans Hrasna
GlassFish Mobility Platform - Hans HrasnaGlassFish Mobility Platform - Hans Hrasna
GlassFish Mobility Platform - Hans HrasnaEduardo Pelegri-Llopart
 
TIM CUNDIFF RESUME
TIM CUNDIFF RESUMETIM CUNDIFF RESUME
TIM CUNDIFF RESUMETim Cundiff
 
Tems discovery device_10.0_datasheet-3
Tems discovery device_10.0_datasheet-3Tems discovery device_10.0_datasheet-3
Tems discovery device_10.0_datasheet-3Huseyin Turker
 
Complex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBaseComplex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBasedarach
 
4G LTE Mobile Broadband Overview
4G LTE Mobile Broadband Overview4G LTE Mobile Broadband Overview
4G LTE Mobile Broadband OverviewSigit Priyanggoro
 
Mule ESB - Integration Simplified
Mule ESB - Integration SimplifiedMule ESB - Integration Simplified
Mule ESB - Integration SimplifiedRich Software
 

Similar to SOA @ T-Mobile: Automatic Service Provisioning to the ESB (20)

10 fn key2
10 fn key210 fn key2
10 fn key2
 
Next Generation Messaging Market Ronald Gruia (Frost & Sullivan)
Next Generation Messaging Market   Ronald Gruia (Frost & Sullivan)Next Generation Messaging Market   Ronald Gruia (Frost & Sullivan)
Next Generation Messaging Market Ronald Gruia (Frost & Sullivan)
 
GE Smallworld Overview September2010
GE Smallworld Overview September2010GE Smallworld Overview September2010
GE Smallworld Overview September2010
 
Next-Gen Data Center Virtualization: Studies in Implementation
Next-Gen Data Center Virtualization: Studies in ImplementationNext-Gen Data Center Virtualization: Studies in Implementation
Next-Gen Data Center Virtualization: Studies in Implementation
 
Partha cv111 latest
Partha cv111 latestPartha cv111 latest
Partha cv111 latest
 
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
 
Enabling rcs service delivery telesemana august2012 rev2_mx
Enabling rcs service delivery telesemana august2012 rev2_mxEnabling rcs service delivery telesemana august2012 rev2_mx
Enabling rcs service delivery telesemana august2012 rev2_mx
 
GE Smallworld Network Inventory Overview
GE Smallworld Network Inventory OverviewGE Smallworld Network Inventory Overview
GE Smallworld Network Inventory Overview
 
WSO2 @ Connected Car
WSO2 @ Connected CarWSO2 @ Connected Car
WSO2 @ Connected Car
 
John Davies Last Minute Fill In For Sick Speaker
John Davies Last Minute Fill In For Sick SpeakerJohn Davies Last Minute Fill In For Sick Speaker
John Davies Last Minute Fill In For Sick Speaker
 
Introducing Scalate, the Scala Template Engine
Introducing Scalate, the Scala Template EngineIntroducing Scalate, the Scala Template Engine
Introducing Scalate, the Scala Template Engine
 
IMS Services
IMS ServicesIMS Services
IMS Services
 
Cisco SOA appliance positioning & strategy paper
Cisco SOA appliance positioning & strategy paperCisco SOA appliance positioning & strategy paper
Cisco SOA appliance positioning & strategy paper
 
GlassFish Mobility Platform - Hans Hrasna
GlassFish Mobility Platform - Hans HrasnaGlassFish Mobility Platform - Hans Hrasna
GlassFish Mobility Platform - Hans Hrasna
 
TIM CUNDIFF RESUME
TIM CUNDIFF RESUMETIM CUNDIFF RESUME
TIM CUNDIFF RESUME
 
Tems discovery device_10.0_datasheet-3
Tems discovery device_10.0_datasheet-3Tems discovery device_10.0_datasheet-3
Tems discovery device_10.0_datasheet-3
 
Exchange 2013 ABC's: Architecture, Best Practices and Client Access
Exchange 2013 ABC's: Architecture, Best Practices and Client AccessExchange 2013 ABC's: Architecture, Best Practices and Client Access
Exchange 2013 ABC's: Architecture, Best Practices and Client Access
 
Complex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBaseComplex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBase
 
4G LTE Mobile Broadband Overview
4G LTE Mobile Broadband Overview4G LTE Mobile Broadband Overview
4G LTE Mobile Broadband Overview
 
Mule ESB - Integration Simplified
Mule ESB - Integration SimplifiedMule ESB - Integration Simplified
Mule ESB - Integration Simplified
 

Recently uploaded

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Recently uploaded (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

SOA @ T-Mobile: Automatic Service Provisioning to the ESB

  • 1. SOA @ T-Mobile – Vollautomatische Service Provisionierung auf dem ESB W-JAX 2008, München, Carsten Sensler & Andre Karalus
  • 2. Agenda !! Prerequisites !! SOA Backplane in a nutshell !! Design time – in detail !! Runtime – in detail !! Provisioning time – in detail !! Organizational aspects – international focus !! Summary C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 2
  • 3. Who we are? !! Dipl.-Ing. Carsten Sensler !! Employee of T-Mobile Deutschland GmbH since April 2007 (but since December 2005 working in the SOA Backplane program ) !! Department of Enterprise Integration !! System & Solution Designer !! Functional leader of the international Service Provisioning Team !! http://www.sensler.de !! Dipl.-Inf. Andre Karalus !! Freelancer, !! since March 2006 consultant for T-Mobile !! Designer and developer of the runtime core component of the ESB in SOA Backplane and of the Core from the Service Repository C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 3
  • 5. Corporate Structure. Subsidiaries and affiliates. !! Direct or indirect investments by Telekom Group in companies dealing with mobile Hungary US NL communications in twelve countries !! The T-Mobile brand is represented in UK CZ Mace- Germany, Austria, Hungary, Great Britain, T-Mobile donia Germany the Czech Republic, the Netherlands, the A PL Slovak Republic, Croatia and the USA Croatia !! Almost 125 million customers in the majority holdings T-Mobile Slovak International Republic Monte- negro Deutsche Telekom SOA Backplane Participant C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 5
  • 6. SOA Backplane in nutshell
  • 7. SOA Backplane – overview (simplified) Business System(s) Logs WS/ e.g. Corba, Tuxedo, JMS, … others Xplor Adapter(s) Common Access Logs/ Layer (CAL) Status Config SOAP Message- – LSPA Service JMS / Log-Store Repository (LMS) (CEISeR) EMS Routing Msgs. (Messaging, ESB) Design time Runtime Provisioning time C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 7
  • 8. TMD TMUK TMCZ ... ... . . . Adapter Adapter Service Adapter Central view Repository on (CEISeR) BAM, Logs & International System Monitoring C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 8
  • 9. Intention of the SOA Backplane program !! SOA Backplane will deliver a number of software systems and standards, namely !! a service bus which is the SOA communication infrastructure with static routing !! Service repository !! Access layer framework !! Basic messaging infrastructure (JMS) !! additional value adding components and functionality including !! logging, monitoring !! service contract management !! business activity monitoring !! transport components for B2B communication !! the Backplane Guide and SOA Governance as a set of guidelines and rules as to how SOA will be implemented within T-Mobile. C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 9
  • 10. Benefits of SOA BP !! Standardized architecture and interfaces and communication protocols !! (e.g. technology independence, single interface type) !! Loosely-coupled systems !! (e.g. releases and downtimes decoupled) !! Reuse !! Advanced logging and monitoring !! (e.g. locate incidents in 1 step) !! Location independency !! (e.g. individual IP addresses or firewall clearences do not matter) !! This leads to !! shorter Time-to-market Benefits Success Investment !! Cost savings C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 10
  • 11. Static routing vs. dynamic routing !! The routing basically defines which Service Consumer (SC) is talking to which Service Provider (SP) !! With dynamic routing the SC specifies the target within the (technical part of the) message. The ESB is then forwarding the message ad hoc to the SP !! With static routing the SC identifies itself wanting to use a certain service. The ESB is configured to know the routing for that and then forward the message according to that configured information !! The advantage of dynamic routing is the flexibility to add new SC on the fly !! Downsides !! No control who is using who or if a SP is used at all, no SC specific QoS enforceable !! The advantage of static routing is the full control over the ESB thus enabling SOA governance !! The downside is that all changes to routings have to be configured in the ESB before being used C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 11
  • 12. SOA Backplane – Design time
  • 13. SOA Backplane – Service Repository Interfaces Imports Exports external internal Provider / Tibco EMS consumer Xplor Reports (JMS) relations & SLA (DSL editor) configuration Technical Common environment SOA BP Access Layer Service- definitions artefacts Repository WSDLs *, Deployment & WSDLs *, XSDs & security XSDs metadata configuration Round trip is supported Authorisation & contact information * T-Mobile specific subset of WSI basic profile 1.1 C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 13
  • 14. The Service Repository in a nutshell !! Provide all information needed by service participants for consistent service implementation and utilisation (architecture) !! Store definition of different SOA backplane environments and binding of service participants to these environments (binding) !! Support fully automated configuration of SOA backplane environments (dev, test, prod, …) (service provisioning) !! Support SOA governance (service discovery, reuse) and impact analysis (change / incident contact information) (management) C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 14
  • 15. The Underlying MetaModel C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 15
  • 16. CEISeR - *.xadmin !! Specifies the following information !! CEISeR-Namespaces !! User of CEISeR !! Access rights !! Contact information !! Concern (for regular notification of changes of a specific part of the CEISeR contents) C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 16
  • 17. CEISeR – Service interface definition !! WSDLs and the included XSD !! All SOA Backplane compliant WSDL files have to include the EI XSD file (ei.messaging.datatypes.xsd) !! For designing a service interface definition for SOA Backplane there exist 23 rules (constraints) !! wsdl-style MUST be quot;document/literal wrapped” (http://www-128.ibm.com/developerworks/ webservices/library/ws-whichwsdl/) !! All operations MUST have a quot;SOABPExceptionquot; – fault !! wsdl:definitions MUST contain only ONE wsdl:portType-section !! Enconding MUST be quot;UTF-8quot;. C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 17
  • 18. CEISeR – Architecture - *.xarchitecture !! The architecture in the context of CEISeR is defined by all !! applications with their !! components with their !! ports and the !! logical connection between the components !! The architecture reflects the enterprise architecture of the involved systems Application-1 Application-2 Component-A Component-B Using-Port Providing-Port C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 18
  • 19. CEISeR – Infrastructure - *.xinfrastructure !! The infrastructure layer is separated into three layers !! (SOABP Runtime) Environment !! Virtual Environment !! Physical environment C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 19
  • 20. CEISeR – Infrastructure - *.xinfrastructure !! The internal architecture of the SOA-Backplane infrastructure consists of !! Binding-Components: they can be load-balanced, so that a binding-component-dispatcher (BCD) dispatches the load to a set of binding-component-worker (BCW) ( i.e. Common Access Layer – CAL) !! JMS-Servers: they can be designed with more than one instances (JSI) for ensuring failover !! All direct or indirect connected JMS-Server and binding-components build a closed environment. There could be exist many environments. ( i.e. Dev, T&A, Production). There is no connection between environments BCD-1 BCD-3 SOA-Backplane BCW-1 BCW-2 BCW-3 BCW-4 JS-3 JS-1 JSI-1 JS-2 JSI-2 C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 20
  • 21. CEISeR – Binding - *.xbinding !! The architecture can be instantiated for eachexisting infrastructure-environment !! Each component has to be bound to exact one binding-component of each desired environment. !! For each providing-port, the URL where the binding-component can call the service- implementation must be published to the corresponding binding-component. Component-B Component-A Providing-Port-1 Using-Port-1 Providing-Port-2 Providing-Port-1 = http://1.... Providing-Port-2 = http://2.... Providing-Port-1 = http://3.... Providing-Port-2 = http://4.... BC-1 BC-2 BC SOA-Backplane-Environment-1 SOA-Backplane-Environment-2 C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 21
  • 22. Technical design of CEISeR - simplified Xplor or Batch-Processing Webservice Interface Job-Execution Manager Import Export Persistence/ Access DB Backend C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 22
  • 23. CEISeR Metaphers !! Job Execution and Job description !! Executes specified tasks in the job description file to CEISeR. !! A job is executed via the job framework and the communication CEISeR-Server -> Client and vice versa is done via a web service !! Transaction number !! Each “real” commit to the DB leads in an unique transaction number (similar to the revision concept of Subversion) !! Offline working with CEISeR !! We work always offline with CEISeR !! e.g: Synchronize your local model with the global CEISeR model via a job C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 23
  • 24. How is CEISeR organized internally !! Every entity has got a namespace !! A “directory” !! Every entity has got a name !! Namespaces are separated by dots !! tmo.ei.icc.training !! namespace + . + name = CEISeR fully qualified name !! tmo.ei.icc.training.Infrastructure C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 24
  • 25. Control and audit changes !! Control access to the service repository !! The access is subject to proper authentication !! The account is managed in the company’s central LDAP !! Restrict changes according to the organizational structure !! The privileges to modify contents of the repository are subject to authorization !! It’s modeled with user and roles, roles have different privileges and relate to namespace hierarchies (every object in our repository belongs to a namespace) !! Audit what was changed, by whom and why !! The set of changes applied to the repository belong to a transaction !! The transaction can be reviewed later on, the changed objects, the user that did it and a description are recorded C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 25
  • 26. Organize Artifacts !! It is not possible to name every single object when referring to the configuration - it becomes necessary to group single objects in order to have a larger granularity thus enabling manageability !! Usually you have components, packages, modules, subsystems or the like !! The soa repository itself determines the structure by it’s meta model !! layers are interface, architecture, binding, infrastructure, policy, … !! Top level objects are used to refer to a logical subsystem !! Application !! BindingSet !! Environment !! … C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 26
  • 27. Create baselines at milestones and refer to them (1) !! Typical milestones are the begin of QA phase or the productive release !! We use the branching and tagging concept, this is a feature of the soa repository (i.e. the underlying core platform and it’s build into the persistence layer) !! We are able to label a certain state of the repository and use it later on !! To refer to it while browsing the repository !! To build a service configuration on top of that state !! To generate a report of that state C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 27
  • 28. Create baselines at milestones and refer to them (2) !! It‘s possible to create a branch from a certain repository state !! This branches can be referred and fixes can be applied !! Changes can be merged back and this is documented main TA12 TA13 TA14 branch_1 TA15 TA17 TA16 TA19 branch_2 TA18 TA20 TA22 TA21 TA23 TA31 TA24 branch_3 TA25 TA27 TA26 TA28 TA29 TA30 TAxx CEISeR transaction xx TA32 Branch dependency Merge documentation C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 28
  • 29. Xplor Eclipse based client !! Eclipse plug-in or Eclipse-based RCP !! DSL editor for CEISeR !! Generic GUI based on CEISeR meta model, Import DSL meta model and local configuration !! Supports !! Editing of job definition files (manifest, architecture, binding, infrastructure; search, edit, delete, insert, change, …) !! Analysis of job results (model diff, constraint violations) !! Analysis of model dumps (offline snapshot of partial or full model) !! Analysis of a diff between two model revisions (diff of two snapshots) !! Various wizards for creating CEISeR jobs and CEISeR modells C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 29
  • 30. Xplor perspective Model element details Job view Model details Search Search results C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 30
  • 31. Xplor perspective - 2 !! Xplor Configuration !! job view, where all imported jobs are visualized !! Xplor structure !! This view is for modelling the CEISeR artifacts, adding and deleting top-level elements and their child-elements !! Xplor Element !! Details view for a selected element in the Xplor structure view !! Xplor Search !! Search the active model for some model-elements (you can choose only valid model-elements) !! Xplor Search Results !! Result view of a search C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 31
  • 32. Future Prospects – CEISeR Evolution !! With our strategic partner “Software AG”* we will shift CEISeR to a standard product (CentraSite) to decrease/ avoid unnecessary internal development effort and therefore to safe money (in the long run). !! We will realize human-oriented workflows with the bpm suite “webMethods” from SAG regarding the processes working with CEISeR to formalize the process !! Defining a contract (service interface definition) !! Defining an architecture, binding, … !! Service Lifecycle management * http://www.computerwoche.de/knowledge_center/soa_bpm/1862456/ C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 32
  • 33. SOA Backplane - Runtime Here is the action … – Details of the ESB
  • 34. The Enterprise Service Bus – in general !quot;#$%&'#'()*+,)quot;#$%&'#'()+-'..(#/$01/'#*+2'1/3/$01/'#+ Application SOAP/HTTP CAL SOAP/JMS JMS Bus C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 34
  • 35. SOA Backplane – Common Access Layer (CAL) - ESB !quot;#$%&'#'()*+,)quot;#$%&'#'()+-'..(#/$01/'#*+2'1/3/$01/'#+ Application Application Application Document Literal Http invoker Socket invoker JMS invoker CAL Tuxedo Plug In RPC Literal PlugIn XSLT PlugIn Binary protocol PlugIn SOAP/JMS JMS Bus C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 35
  • 36. Existing Plugins/Adapter !! XSLT transformation (needs two XSLTs as configuration data) !! Uses XSL transformation to map arbitrary XML messages !! One example is the useage of SAP Netweaver (in TMAT) !! Tuxedo Plugin (needs the XSDs as configuration data) !! Transforms flat FMLBuffer to structured data and vice versa !! Binary Plugin (needs a link to Java-library as configuration data) !! Maps XML to a binary structure and vice versa !! Used as base for Convergys Rater Plugin (MyFaves project) !! RPC literal Plugin (no config data needed) !! Used for proprietary internal predecessor message format !! Transforms RPC literal SOAP to document literal wrapped C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 36
  • 37. Java Message Service – JMS !! JMS is the Java API for accessing MOM (message oriented middleware) !! A message is transported from a sender to a consumer via a queue asynchronously at least once, each message has only one consumer !! PTP: !! All participants must use JMS to take part in the message exchange C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 37
  • 38. Java Message Service – JMS -2 !! For publish/subscribe one can use a topic, thus there can be multiple consumers for one message !! This results in a timing dependency -> durable C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 38
  • 39. Java Message Service - Bus !! When using the Tibco EMS, different EMS servers can be connected to a hub and spoke !! Thus an international JMS Bus can be established using only a minimal set of interconnections !! A queue/topic can be accessed from a JMS client connected anywhere to the bus !! A globally accessible queue is residing on the central EMS server and a “remote-queue” is created as a proxy on each EMS server that will provide access to it C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 39
  • 40. CAL – message flow* (synchronous request reply, consumer to provider view) The CAL verifies only the EIMessage-Context of each message EMS Consumer Provider CAL CAL *data flow C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 40
  • 41. Local message flow (only within one NatCo) NatCo B EMS Hub 1 2 3 4 Service Service Consumer Request Queue Provider CAL EMS Server CAL Response Queue NatCo A 8 7 6 5 41 C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile
  • 42. Global message flow (between two NatCos) Service Service Consumer Provider CAL CAL NatCo A EMS Hub NatCo B C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 42
  • 43. CAL log points – synchronous MEP - Example C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 43
  • 44. Message Structure !! SOABP conforming SOAP messages adhere to a common structure: !! Due to the limitations of some web service toolkits SOA Backplane makes currently no use of SOAP header !! Instead all SOABP relevant information is encapsulated in the eiMessageContext !! Subsequent to the eiMessageContext follows the business relevant payload C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 44
  • 45. eiMessageContext !! It carries the necessary information the CAL need to route the message (static routing) !! It enables business activity monitoring !! Message warehouse (LMS) !! Service policy enforcement C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 45
  • 46. SOA Backplane – Provisioning time Services from the assembly line
  • 47. CAL runtime configuration by CEISeR and configuration agents !! The CAL runtime configuration consists of a set of WARs and EARs (JEE deployment artefacts) !! A WAR is containing the configuration for service consumer speaking to the CAL !! An EAR is containing the configuration for the CAL to call service providers !! Basically no code will deployed (except special customer plug-in code) !! By the usage of JEE deployment artefacts (WAR & EAR) the hot deployment mechanism of the CALs underlying JBoss can be utilized to achieve “hot configuration” for SOABP C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 47
  • 48. How is the naming determined for queue names at the EMS server? !! It starts with the CQN (CEISeR qualified name) of the providing port component !! Suffix is .glob or .loc for global or local queues !! Suffix is .req or .resp for request or response queues 48 C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile
  • 49. Service Provision in a Nutshell !! A service provision enables the communication between service consumer and service provider within one specific SOA Backplane environment Simple overview – synchronous request-reply Queues Req/Resp Service Service Provider Consumer CAL CAL Consumer Provider Service Provisioning Team, C. Sensler, 16.05.2008 49
  • 50. Service Provisioning – in general The service provisioning – enabling CAL service consumer and provider communication within one SOA Backplane environment - is highly automated. EMS The country Staging ConfigStore specific LSPA Area validates the takes the configuration event, corresponding GSPA webservice splits it into country event and executes send the specific parts and the service configuration request sends them to a configuration to the to the ConfigStore special global ems server and to Execute the queue on the TMO the CAL (or to the service EMS server staging area) configuration event via a job from CEISeR C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 50
  • 51. Legend for Service Provisioning Service Configuration *.ear files – Event provider configuration CAL – Common *.war files – Access Layer user configuration EMS Server Queues for the EMS server C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile Page 51
  • 52. Service Provisioning– Deployment (new provider, new user) Service Configuration Event •!New service provider •!New Service consumer for the new service provider •! ommunication via JMS C jsr88 deploy_wsg Risks: CAL •! o risks! Only new artefacts will be N delivered into the CAL/ EMS EMS C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile Page 52
  • 53. Service Provisioning– Redeployment (new user of an existing provider – redeployment of a war file) Service Configuration Event •!additional service consumer for one service provider jsr88 deploy_wsg Risks: CAL •! mall risks! S •! nly one war file will be changed within the O CAL (the old user and the new one) EMS C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile Page 53
  • 54. Service Provisioning– Redeployment (change of a providers’ endpoint) Service Configuration Event •!Change of a endpoint of a service provider jsr88 deploy_wsg Risks: CAL •!Small risks •!Only one ear file will be changed EMS C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile Page 54
  • 55. Service Provisioning– Undeployment (remove of a provider and his user) Service Configuration Event •!Remove of a service provider •!All belonging consumer will be removed too jsr88 deploy_wsg Risks: CAL •!No risks! Only the unneeded artefacts will be removed from the CAL •!The queues on the EMS server are EMS untouched C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile Page 55
  • 56. Service Provisioning - Summary !! All changes within a service configuration affected only the service runtime configuration (either provider or consumer) from the requestor of the changes !! There are usually no risks and side effects for the whole service configuration (especially for the existing configuration which will be untouched) !! All service provider changes are encapsulated from the other provider configurations (EAR files) !! Near all service consumer changes are encapsulated from the other consumer configurations, except those changes as described before (new additional service user of a existing service provider) (WAR files) C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 56
  • 57. CEISeR/ GCA/ ConfigStore/ LCA – Service Provisioning !! There are various ways to generate a service configuration event !! You can generate a service configuration event (artefacts) for !! A whole environment (only useful in a development environment or a virtual environment) !! BindingSet (most used way) !! BindingComponentDispatcher (CAL instance of one NatCo) !! ProvidingPortBinding !! UsingPortBinding !! All using and/or providing ports of a specific application !! It is possible to generate either DEPLOYMENT or UNDEPLOYMENT events !! There are special tasks in the job description file (manifest file) C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 57
  • 58. Service Provisioning Event - validating !! 1 – before sending the SOAP request to the GCA !! CEISeR validates against the XSD !! 2 – before splitting the config event !! The GCA validates the number of expected service artefacts with the number of artefacts within the library file(s) !! 3 – before sending the splitted config event to the EMS server !! The ConfigStore validates the CAL and EMS instances with the information from his own database, if some discrepancies occur, the ConfigStore aborts the delivery of the configuration event C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 58
  • 59. ConfigStore !! Central component for verification of a service provision !! Monitors each provisioned artefact (services and queues) !! Auditing for who send what into which environment !! Monitoring of the runtime components !! Near future: automatic End-2-End testing to ensure that the service provider is available C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 59
  • 60. ConfigStore – Manage Resources C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile Page 60
  • 61. ConfigStore – Manage Environments C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile Page 61
  • 62. ConfigStore – Service Resource Map C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile Page 62
  • 63. ConfigStore – View Infrastructure Latency C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 63
  • 64. Organizational aspects – international focus International Service Provisioning Team and Process
  • 65. Service Provisioning Team - Structure International team-lead International responsibility Carsten, Andre TMUK Local TMUK env. (TSTx, PRD) International SOA Backplane Support & Training TMDE Local TMDE env. (TSTx, PRD) environment TMAT Local TMAT env. (TSTx, PRD) TMHR TMNL TMxx Local TMxx env. (TSTx, PRD) TMCZ C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 65
  • 66. “Process” for requesting and executing a service provision (work in progress) Request Fasttrack (e.g in case of an incident) Dispatch of the Verification Approve/ Schedule of the Request arrived Verification request within the SOABP relevant Execute at the SPT SPT (common) (local) Reject activities asynchronous What happens Template? after a reject? … … Inform Capacity Notify requestor Single point of Manager and Lifecycle status Tool?, Who dispatcher, or verification? transition? requests a self responsible Dry run Tool? provision? … Local processes SPT = Service Provisioning Team proposal C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 66
  • 67. Summary Enjoy…. C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 67
  • 68. Discussion Thank you. Questions? C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 68
  • 69. Links !! Java Messaging Service !! http://java.sun.com/products/jms/tutorial/1_3_1-fcs/doc/jms_tutorialTOC.html !! SOA@T-Mobile – vollautomatische Service Provisionierung auf dem ESB Teil 1-3, Javamagazin 10/08 – 12/08, C. Sensler & A. Karalus !! http://www.sensler.de/data/JM_10.08_Sensler_TMobile1.pdf !! http://www.sensler.de/data/JM_11.08_Sensler_TMobile2.pdf !! http://www.sensler.de/data/JM_12.08_Sensler_TMobile3.pdf (folgt im Dezember) C. Sensler & A. Karalus, W-JAX 2008, SOA @ T-Mobile 69