1. A method for routing traffic containing route targets, comprising:
receiving traffic from a routing device the traffic being associated with an imported route target;
accessing a table to determine an exported route target associated with the traffic, the exported route target being determined based on the imported route target;
determining a destination device associated with the exported route target; and
routing the traffic to the destination device.
2. The method of claim 1, wherein accessing a table comprises locating an instance in the table referencing the routing device, the imported route target, and the exported route target.
3. The method of claim 2, wherein determining a destination device comprises locating a second instance of the table containing the exported route target.
4. The method of claim 1, wherein:
the traffic comprises a first portion containing the imported route target, and a second portion; and
routing the traffic to the destination device comprises reformatting the first portion of the traffic to contain the exported route target.
5. The method of claim 1, wherein a source IP address in the traffic is associated with an IP address pool associated with a customer.
6. The method of claim 1, wherein the destination device corresponds to a device provisioned to a customer; and wherein routing the traffic to the destination device comprises:
determining a destination routing device associated with the customer;
reformatting the first portion of the traffic to contain the determined exported route target; and
sending the traffic to the destination routing device for forwarding to the determined destination device.
7. A system, comprising:
a storage device containing instructions; and
at least one processor operable to execute the instructions to perform a method comprising steps of:
receiving traffic from a routing device, the traffic being associated with an imported route target;
accessing a table to determine an exported route target associated with the traffic, the exported route target being determined based on the imported route target;
determining a destination device associated with the exported route target; and
routing the traffic to the destination device.
8. The system of claim 7, wherein accessing a table comprises locating an instance in the table referencing the routing device, the imported route target, and the exported route target.
9. The system of claim 8, wherein determining a destination device comprises locating a second instance of the table containing the exported route target.
10. The system of claim 7, wherein:
the traffic comprises a first portion containing the imported route target, and a second portion; and
routing the traffic to the destination device comprises reformatting the first portion of the traffic to contain the exported route target.
11. The system of claim 7, wherein a source IP address in the traffic is associated with an IP address pool associated with a customer.
12. The system of claim 7, wherein the destination device corresponds to a device provisioned to a customer; and wherein the step of routing the traffic to the destination device comprises:
determining a destination routing device associated with the customer;
reformatting the first portion of the traffic to contain the determined exported route target; and
sending the traffic to the destination routing device for forwarding to the determined destination device.
13. A system, comprising:
at least one filtering device and at least one cross-connecting system, the at least one filtering device comprising:
a storage device containing instructions and at least one processor, the processor configured to execute the instructions to perform a method of:
receiving traffic from at least one device associated with at least one customer;
determining whether a destination device associated with the traffic is provisioned to the at least one customer, and based on the determination:
assigning the at least one device to a first globally unique address pool, and
reformatting the traffic to refer to at least one address in the globally unique address pool; and
forwarding the traffic to a routing device associated with the at least one customer for sending to the at least one cross-connecting system;
wherein the at least one cross-connecting system comprises:
a storage device containing instructions and at least one processor, the processor configured to execute the instructions to perform a method of:
receiving traffic from the routing device, the traffic being associated with an imported route target;
accessing a table to determine an exported route target associated with the traffic, the exported route target being determined based on the imported route target;
determining a destination device associated with the exported route target; and
routing the traffic to the destination device.
14. The system of claim 13, wherein the step of assigning the at least one device to a first globally unique address pool further comprises:
determining a geographic region and the at least one customer associated with the traffic;
determining whether an existing address pool is already assigned to the at least one customer or the geographic region;
based on the determination, assigning one of an existing address pool or a new address pool to the traffic.
15. The system of claim 13, wherein the at least one processor in the filtering device is further configured to filter the traffic received from the routing device based on at least an interface associated with the traffic, a data portion of in the traffic, a control portion of the traffic, or properties of the traffic.
16. The system of claim 13, wherein accessing a table to determine an exported route target comprises locating an instance in the table referencing the sending device, the imported route target, and the exported route target.
17. The system of claim 16, wherein determining a destination device comprises locating a second instance of the table containing the exported route target.
18. The system of claim 13, wherein:
the traffic comprises a first portion containing the imported route target and a second portion; and
routing the traffic to the destination device comprises reformatting the first portion of the traffic to contain the exported route target.
19. The system of claim 13, wherein a source IP address in the traffic is associated with an IP address pool associated with the at least one customer.
20. The system of claim 13, wherein the storage device is configured to:
determine whether the destination device is provisioned exclusively or non-exclusively to the at least one customer;
reformat the traffic to refer to the at least one address in the pool, if the destination device is determined to be provisioned non-exclusively to the at least one customer, and
forward the traffic without reformatting the traffic to refer to the at least one address in the pool, if the destination device is determined to be provisioned exclusively to the at least one customer.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A computer readable media having instructions stored thereon that, when executed by a processor causes the processor to provide a network-accessible service using an integrated development environment, the instructions comprising:
an annotated source code, which is a programming language augmented with declarative meta-data that exposes program logic as a network-accessible service;
at least one deployed service component that provides the network-accessible service to a client; and
an enhanced compiler that analyzes the annotated source code, recognizes numerous types of meta-data annotations, and generates a mechanism, which can include one or more of: object files, software components and deployment descriptors, to facilitate the deployment of the at least one service component, wherein the enhanced compiler operates to automatically create, deploy and manage at least one security type using a specification provided by the annotated source code, wherein the at least one security type is applied to at least one of: request messages, callbacks, response messages, and requests and callbacks originating with an intermediate service in a chain;
wherein the annotated source code comprises a list of one or more roles, and the automatically created security type comprises role based security that is limited to the one or more roles;
wherein the annotated source code further comprises annotations that, when compiled by the enhanced compiler, automatically generates reliable messaging capabilities for the network-accessible service, and message interception and transformation capabilities for the network-accessible service;
wherein the reliable messaging capabilities provide guaranteed message delivery between a client and the network-accessible service, and the message interception and transformation capabilities provide for the application of at least one user defined pre and post processing method to messages providing added functionality that does not exist through default message processing.
2. The computer readable media according to claim 1, wherein:
the network-accessible service is a Web service.
3. The computer readable media according to claim 2, wherein:
the at least one service component comprises a servlet container and an enterprise server-side managed component container, which are coupled together to deploy a Web service.
4. The computer readable media according to claim 3, wherein:
the servlet container comprises:
listening and responding to a service request from the client; and
identifying and queuing the service request to be buffered.
5. The computer readable media according to claim 3, wherein:
the enterprise server-side managed component container dispatches a service request based on meta-data to a stateless or stateful component.
6. The computer readable media according to claim 1, wherein:
the network-accessible service simultaneously manages multiple transactions, wherein each transaction can be a conversation of a request andor a response from the client for the network-accessible service.
7. The computer readable media according to claim 6, wherein:
the network-accessible service manages multiple asynchronous transactions, wherein within each asynchronous transaction, the response may be temporally separated from the initiating request for the network-accessible service from the client.
8. The computer readable media according to claim 1, the instructions further comprising:
the integrated development environment (IDE) facilitating a graphical interface-based design and deployment of the network-accessible service and providing an indicator to include or exclude interceptors as a debug breakpoint.
9. The computer readable media according to claim 1, wherein:
the annotated source code is object oriented programming language based.
10. The computer readable media system according to claim 1, wherein:
the meta-data can be either in-file with the annotated source code, or in a separate file, which can be a specially formatted XML file.
11. The computer readable media according to claim 1, wherein:
the annotated source code facilitates access to an external service, which can be one of stateful, stateless, synchronous, and asynchronous.
12. The computer readable media according to claim 1, wherein:
the annotated source code defines a wire binding between the network accessible service and a physical wire format andor protocol.
13. The computer readable media according to claim 12, wherein:
the wire binding can be at least one of:
SOAP over HTTP or SMTP;
transport of XML via generic HTTP Post;
transport of XML over other protocols such as FTP and mail;
and transport of XML over messaging services such as JMS or MSMQ.
14. The computer readable media according to claim 1, wherein:
the at least one security type is comprised of at least one of:
transport security for a data communications channel;
message based encryption security to protect headers and payloads in messages;
authentication of users or computing devices for channel or message based security;
digital signatures for verifying the originator of a message; and
user identity and declarative role-based security for granting or deny a client access to a particular service.
15. The computer readable media according to claim 1, wherein:
the at least one processing method comprises at least one of:
interception and transformation of message headers and contents;
message logging and auditing;
message redirection; and
protocol conversion.
16. A computer-enabled method to provide a network-accessible service using an integrated development environment, comprising:
exposing program logic as a network-accessible service using an annotated source code, which is a programming language augmented with declarative meta-data;
providing the network-accessible service to a client via at least one deployed service component; and
analyzing the annotated source code, recognizing numerous types of meta-data annotations, and generating a mechanism that comprises one or more of: object files, software components and deployment descriptors, to facilitate the deployment of the at least one service component;
automatically creating, deploying and managing at least one security type using a specification provided by the annotated source code, wherein the at least one security type is applied to at least one of:
request messages, callbacks, response messages, and requests and callbacks originating with intermediate services in a chain;
wherein the annotated source code comprises a list of one or more roles, and the automatically created security type comprises role based security that is limited to the one or more roles;
wherein the annotated source code further comprises annotations that, when compiled by the enhanced compiler, automatically generates reliable messaging capabilities for the network-accessible service, and message interception and transformation capabilities for the network-accessible service;
wherein the reliable messaging capabilities provide guaranteed message delivery between a client and the network-accessible service, and the message interception and transformation capabilities provide for the application of at least one user defined pre and post processing method to messages providing added functionality that does not exist through default message processing.
17. The method according to claim 16, wherein:
the network-accessible service is a Web service.
18. The method according to claim 17, further comprising:
listening and responding to a Web service request from the client; and
identifying and queuing the Web service request to be buffered.
19. The method according to claim 17, further comprising:
dispatching a Web service request based on meta-data to a stateless or stateful component.
20. The method according to claim 16, further comprising:
simultaneously managing multiple transactions, wherein each transaction is a conversation of a request andor a response from the client for the network-accessible service.
21. The method according to claim 20, further comprising:
managing multiple asynchronous transactions, wherein within each asynchronous transaction, the response may be temporally separated from the initiating request for the network-accessible service from the client.
22. The method according to claim 16, further comprising:
facilitating a graphical interface-based design and deployment of the network-accessible service.
23. The method according to claim 16, further comprising:
facilitating access to an external service that comprises at least one of stateful, stateless, synchronous, and asynchronous.
24. The method according to claim 16, further comprising:
defining a wire binding between the network-accessible service and a physical wire format andor protocol.
25. A machine readable medium having instructions stored thereon that when executed by a processor cause a computer-enabled system to function as an integrated development environment comprising:
expose program logic as a web service using an annotated source code, which is a programming language augmented with declarative meta-data;
provide the web service to a client via at least one deployed service component; and
analyze the annotated source code, recognizing numerous types of meta-data annotations, and generating a mechanism, which includes at least one of: object files, software components and deployment descriptors, to facilitate the deployment of the at least one service component;
automatically create an interceptor using a specification provided by the annotated source code, wherein the interceptor allows at least one user-defined pre or post processing method to be applied to a message from the client providing added functionality that does not exist through default message processing, wherein the interceptor is configured to transform message headers and content between the client and the deployed service component;
wherein the annotated source code comprises a list of one or more roles, and automatically creating security type comprising role based security that is limited to the one or more roles;
wherein the annotated source code further comprises annotations that, when compiled by the enhanced compiler, automatically generates reliable messaging capabilities for the web service, wherein the reliable messaging capabilities provide guaranteed message delivery between a client and the web service.