Abstract:
A service access architecture to enable customer access to telecommunications provider services is provided. The service access architecture includes a service layer providing a standard interface for communication with customer applications to access network systems and data systems of the telecommunications provider. The service access architecture also includes a device/data layer maintaining the network systems and data systems of the telecommunications provider. The service access architecture includes an adaptation layer coupled to communicate, via at least one broker of the adaptation layer, with the service layer and to communicate, via at least one adapter of the adaptation layer, with the device/data layer, the adaptation layer operable to interface between the service layer and the device/data layer. A method is also provided for a customer of a telecommunications provider to gain access to the telecommunications provider&#39;s services and applications using a customer application.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     None. 
     STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
     Not applicable. 
     REFERENCE TO A MICROFICHE APPENDIX 
     Not applicable. 
     FIELD OF THE INVENTION 
     The present invention relates to the accessing of services and information within an enterprise. More particularly, embodiments of the present invention allow customers of a telecommunications provider to access the telecommunications provider&#39;s services and information in a secure and consistent manner. 
     BACKGROUND OF THE INVENTION 
     A telecommunications provider might offer services such as local, long distance, and wireless services that might include text messaging, three-way calling, and location-based services, as well as more traditional telephony services. Such services can be referred to collectively as network systems, network capabilities, or network services. The telecommunications provider might wish to allow access to these network systems to other enterprises that are customers of the telecommunications provider. The telecommunications provider might also wish to allow its customers to have access to business data maintained by the telecommunications provider such as billing data, customer information, and product information, for example. Such data can be referred to collectively as data systems, back office information, or back office applications. Security measures would typically be put in place to ensure that customers are allowed access only to the network systems and data systems to which they are authorized. A customized set of security measures might be implemented for each customer, resulting in numerous different types of access procedures and security protocols. 
     SUMMARY OF THE INVENTION 
     A service access architecture to enable customer access to telecommunications provider services is provided. The service access architecture includes a service layer providing a standard interface for communication with customer applications to access network systems and data systems of the telecommunications provider. The service access architecture also includes a device/data layer maintaining the network systems and data systems of the telecommunications provider. The service access architecture includes an adaptation layer coupled to communicate, via at least one broker of the adaptation layer, with the service layer and to communicate, via at least one adapter of the adaptation layer, with the device/data layer, the adaptation layer operable to interface between the service layer and the device/data layer. 
     An alternative embodiment is a method for an application of a customer of a telecommunications provider to access the telecommunications provider&#39;s services. The method includes sending a request, by the customer application, to a service layer provided by the telecommunications provider, and the service layer sending the request to an adaptation layer provided by the telecommunications provider. The method provides for the adaptation layer sending the request to a device/data layer provided by the telecommunications provider, and the device/data layer fulfilling the request. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of the service access architecture according to one embodiment. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Previously existing architectures for exposing network systems and data systems to external customers have several limitations. First, inadequate security mechanisms may exist to restrict access to the network systems and data systems. Also, the interfaces to the network systems and data systems may be non-standard, requiring customized procedures to set up communication. In addition, the protocols needed to interface with network devices may be highly complex. Also, there may be no central means of managing access to the network systems and data systems. Finally, there may be no consistent way to track customer usage of the network systems and data systems. 
     As an example of previously existing architecture, an outside company might establish a virtual private network (VPN) with a telecommunications provider as a means of securely accessing the telecommunications provider&#39;s services and data. The outside company might connect through the VPN directly to the telecommunications provider and use a customized application solution to obtain the desired service or data. A different company might have to establish another VPN and the custom solution, such as direct connection to a device, is typically not reusable by others. 
     Since these types of connections are made directly to the devices, knowledge of low-level network communication protocols would typically be needed on the part of the outside companies. If the telecommunications provider changed devices, the outside companies would typically need to employ different communication protocols for the new devices, possibly requiring the rewriting of large quantities of low-level programming code. 
     A multi-tiered approach that can be referred to as service access architecture addresses the above problems by managing access to business data and network capabilities in a centralized, controlled, and secured manner. The service access architecture provides an infrastructure that allows a telecommunications company to expose its network systems and its data systems to external customers as a set of services. 
     In this manner all customers are exposed to a consistent set of interfaces when accessing the telecommunications provider&#39;s network systems and data systems. The interfaces to the network and data systems are based on open standard technologies such as HTTP, XML, Web Services, or other common protocols. Layers of the service access architecture below these common interfaces handle the communications with the network systems and with the information repositories, or back office applications, that hold the business information. Thus, developers in the outside companies only need to know how to code to these common protocols. Knowledge is not needed of low-level network protocols and details of events at the layer where the network systems and data systems reside. 
     The outside companies can build their own applications to communicate with the interfaces to retrieve business data and use the telecommunications provider&#39;s services. This arrangement can eliminate the need for the telecommunications provider to create communications applications and customized security measures for the customers. This also decouples outside companies from the telecommunications provider&#39;s network capabilities and business data in the sense that changes in these back end services do not affect the customers. 
     Devices that can access the interfaces include wireless and wireline telephones, stand-alone and networked computers, PDA&#39;s, and other communication devices. The devices can use various operating systems such as Palm, J2ME, Pocket PC, and Microsoft Windows. 
       FIG. 1  depicts an embodiment of the service access architecture  5 . In this embodiment, four layers are used to provide external customers  16  access to the internal network systems and data systems of a telecommunications provider  18 : an application layer  10 , a service layer  20 , an adaptation layer  30 , and a device/data layer  40 . 
     The applications  12  of customers  16  that are using the service access architecture  5  reside in the application layer  10 . This layer is located physically in a network that is external to that of the telecommunications provider  18 . The applications  12  are typically next-generation, telecom-enabled applications. 
     One or more firewalls  14  may be present between the customers&#39; applications  12  and the internal network systems and data systems of the telecommunications provider  18 . That is, the telecommunications customer  16  may have a firewall protecting their network and the telecommunications provider  18  may have the firewall  14  protecting their network as well. The telecommunications provider  18  might have its own applications inside its firewall  14 , allowing it to use the same services. For example, a web site for use by the customers  16  might be placed on the inside of the telecommunications provider&#39;s  18  firewall  14 , but still within the application layer  10 . 
     The service layer  20  exposes the telecommunications provider&#39;s  18  network systems and data systems as a set of services. Customers  16  are provided with a common set of interfaces with which to access the services in the service layer  20 . The interfaces to the services and data are based on open standard technologies such as HTTP, XML, Java, Web Services, or other common protocols. 
     The service layer  20  consists of a network services domain  21 , a data services domain  25 , and a common services domain  26 . The network services domain  21 , which can also be referred to as telecom services, contains a set of services that provide access to the telecommunications provider&#39;s  18  network systems. A customer application  12  attempting to gain access to a particular network system via a network service can find the appropriate reference to the network service in the network services domain  21  by looking up the network service in a directory service  22 . 
     The data services domain  25 , which can also be referred to as information services, contains a set of services that provide access to the telecommunications provider&#39;s  18  data systems, such as customer data and product data. A customer application  12  attempting to gain access to a particular data system via a data service can find the appropriate reference to the data service in the data services domain  25  by looking up the data service in a directory service  22 . 
     The common services domain  26  contains a set of common services that support the services in the other two domains. Components of the common services domain  26  can include a directory service  22 , a security service  23 , and an accounting service  24 . 
     The security service  23  performs authentication and authorization when customer applications  12  attempt to access the network systems and data systems. All customer applications  12  pass through the same security service  23  regardless of whether the applications  12  are attempting to reach a network system or a data system. 
     The directory service  22  provides a means for an application  12  to locate and obtain a reference to a service so that the application can invoke methods on that service or make service invocations. Applications look up services using publicized names. 
     The accounting service  24  provides the telecommunications provider  18  with data regarding the level of usage of the service access architecture  5  by customer applications  12 . This information can be used for billing purposes. 
     In the embodiment of  FIG. 1 , the service layer  20  is implemented on a Web Services platform  27 , but other platforms could be used. 
     The adaptation layer  30  provides standardized interfaces between the service layer  20  and the device/data layer  40 . It acts as a bridge between the specific protocols of the network systems and data systems on the device/data layer  40  and the network services  21  and data services  25  in the service layer  20 . This provides a high degree of decoupling between the network/data services  21 ,  25  and the actual network and/or data systems being accessed. The adaptation layer  30  can consist of a network broker  31  and an information broker  33 . 
     The network broker  31  component of the adaptation layer  30  provides the service layer  20  with a standardized interface to the underlying network systems. The interface provided by the network broker  31  is independent of the network system to which a request is being sent. The network broker  31  routes network requests to the appropriate network systems via a set of network adapters  35 . The network broker  31  may consult a metadata repository of routing information to make routing decisions. 
     The network adapters  35  associated with the network broker  31  provide an abstraction layer to the actual device level protocols needed to interface with the network systems. That is, the network adapters  35  translate requests from the standard format received by the network broker  31  from the network services  21  into the low-level networking protocols used by the network systems. The network adapters  35  then send the requests to the appropriate network systems as directed by the network broker  31 . This decoupling of the network systems from the network broker  31  allows the service access architecture  5  to support a plug-and-play approach to the connection of new network devices. 
     The information broker  33  component of the adaptation layer  30  provides the service layer  20  with a standardized interface to the underlying data systems. The interface provided by the information broker  33  is independent of the data system to which a request is being sent. The information broker  33  routes information requests to the appropriate data system via a set of data adapters  37 . The information broker  33  may consult a metadata repository of routing information to make routing decisions. 
     The data adapters  37  associated with the information broker  33  provide an abstraction layer to the actual back office application programming interfaces (APIs) needed to interface with the data systems. That is, the data adapters  37  translate requests from the standard format received by the information broker  33  from the data services  25  into the APIs used by the data systems. The data adapters  37  then send the requests to the appropriate data systems as directed by the information broker  33 . This decoupling of the data systems from the information broker  33  allows the service access architecture  5  to support a plug-and-play approach to the connection of new back office applications. 
     In the embodiment of  FIG. 1 , the adaptation layer  30  is implemented on a J2EE platform  39 , but other platforms could be used. 
     The device/data layer  40  contains the network systems and data systems that the telecommunications provider  18  wishes to expose to its customers  16 . In the embodiment of  FIG. 1 , the network systems are local network systems  41 , long distance network systems  42 , and wireless network systems  43 , but other types and quantities of services could be present. The data systems shown are billing systems  47 , trouble management systems  48 , and customer information systems  49 , but other types and quantities of applications could be present. 
     The network adapters  35  typically use various low-level network protocols such as SS7, LIF, AAL5, SIP, and X.25 to access the network systems  41 ,  42 , and  43 . The data adapters  37  typically use various APIs such as CORBA, ODBC, MQSeries, and RMI to access the data systems  47 ,  48 , and  49 . 
     When communication is established between a network adapter  35  and a network system  41 ,  42 , or  43 , a customer application  12  is able to access the system  41 ,  42 , or  43  via the network services  21  and the network broker  31 . Similarly, when communication is established between a data adapter  37  and a data system  47 ,  48 , or  49 , a customer application  12  is able to access the data system  47 ,  48 , or  49  via the data services  25  and the information broker  33 . 
     In an example, a customer application  12  might request access to a wireless network system  43  of a telecommunications provider  18 . The request would pass from the application  12  to the firewall  14  set up by the customer. If the customer authorizes the request to pass through their firewall, the request is routed to the firewall  14  of the telecommunications provider  18 . If the customer application  12  is authorized to cross the firewall  14 , the request continues on to the service layer  20 . The security service  23  of the service layer  20  then determines if the customer application  12  is authentic and is authorized to have access to the requested system  43 . 
     If the customer application  12  is authenticated and authorized, the application  12  uses the directory service  22  to obtain a reference to the desired network service  43 . The customer application  12  then uses the reference to send a request to network services. The network service then forwards the request to the network broker  31  in the adaptation layer  30 . The accounting service  24  in the service layer  20  might record that the customer application  12  has made the request. 
     Upon receiving the request, the network broker  31  consults its metadata repository to determine the network system to which the request should be sent. In this example, the request is being sent to a wireless network system  43 . After determining the appropriate network system, the network broker  31  sends the request to the network adapter  35  for that system. The network adapter  35  translates the request from the format in which it was received from the network broker  31  into the format of the wireless network system  43 . The network adapter  35  then sends the request to the wireless network system  43  and the application  12  is thus given access to the requested system  43 . 
     Any data that might be provided to the customer application  12  by the network system  43  would be returned to the application  12  along the same path through which the request flowed. A status describing whether or not the request was completed successfully might also be returned to the customer application  12  along the same path by which the request was sent to the network system  43 . In cases where the network system  43  performs a function without returning any data to the customer application  12 , the status alone might be returned. 
     A request from a customer application  12  for information in a data system  47 ,  48 , or  49  would be handled in a similar manner. That is, after passing through the firewall  14 , the request would be sent to the service layer  20 . Upon the security service  23 , directory service  22 , and accounting service  24  performing the functions described above, the request is sent to the information broker  33  in the adaptation layer  30 . 
     Upon receiving the request, the information broker  33  consults its metadata repository to determine the data system to which the request should be sent. After determining the appropriate data system  47 ,  48 , or  49 , the information broker  33  sends the request to the data adapter  37  for that data system  47 ,  48 , or  49 . The data adapter  37  translates the request from the format in which it was received from the information broker  33  into the API of the appropriate data system  47 ,  48 , or  49 . The data adapter  37  then sends the request to the data system  47 ,  48 , or  49  and the customer application  12  is thus given access to the requested data system  47 ,  48 , or  49 . 
     As described above, any data that is returned to the customer application  12  and any statuses regarding the success or failure of a data request would be returned to the application  12  along the same path through which the data request flowed. 
     In this way, outside companies are allowed to use the network capabilities of a telecommunications provider and to have access to data held by the telecommunications provider. Instead of each customer having its own pipeline with customized technology and security for accessing data and services, the service access architecture provides a common, cohesive form that is the same for all customers. A customer can make a request in a standard, high-level language and the service access architecture can fulfill the request without the need for the customer to be aware of the low-level details that occur within the network devices and back office applications belonging to the telecommunications provider. Further, the present disclosure allows each of the layers, particularly the service layer  20 , adaptation layer  30 , and device/data layer  40  to evolve and be modified or upgraded without impacting the other or adjacent layers. 
     Although only a few embodiments of the present invention have been described, it should be understood that the present invention may be embodied in many other specific forms without departing from the spirit or the scope of the present invention. The present examples are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope of the appended claims along with their full scope of equivalents.