IP Library Granted Patent US 7,698,429
Granted Patent B1
US 7,698,429 · App. 10/830,175 · Granted Apr 13, 2010

System and method for customizing a core product

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,698,429
App. No.
10/830,175
Granted
Apr 13, 2010
Kind
B1
Abstract

An enterprise framework for a Service Oriented Architecture (SOA) is disclosed. The enterprise framework is utilized for creating, replacing, or modifying services on the SOA without modifying core code. With the framework, a service client may access services provided by the SOA via any middleware available now or in the future by utilizing auto-generation of middleware bindings via templates.

Claims (50)

1. A method for customizing a core product, the method comprising the steps of:

creating a core product for utilization by more than one customer, the core product comprising core code, the core product being a service-oriented architecture;

on at least one hardware server, creating a framework for customizing the core product to create a customized service-oriented architecture, the customized service-oriented architecture meeting a service need of at least one specific customer that is not met by the core product;

wherein the service-oriented architecture comprises a plurality of existing service implementations;

wherein the framework creates the customized service-oriented architecture by at least one of:

specializing at least one of the plurality of existing service implementations; and

replacing at least one of the plurality of existing service implementations;

wherein the customized service-oriented architecture includes and functionally utilizes the core product in unaltered form along with any specialized or replacing services; and

wherein the at least one of specializing or replacing comprises generation of new code based on the service need of the at least one specific customer.

2. The method of claim 1 , wherein the step of creating a framework comprises the steps of:

creating a first service implementation as defined in an XML configuration;

requesting, by a service client, a service implementation;

creating, by a service factory, the first service implementation; and

allowing access, by a service interface, to the first service implementation by the service client.

3. The method of claim 2 , further comprising the step of accessing a particular service via at least one middleware, wherein the service client remains independent of the at least one middleware.

4. The method of claim 3 , further comprising automatically generating middleware bindings for the at least one middleware during a build operation.

5. The method of claim 4 , wherein the step of automatically generating comprises generating the middleware bindings via templates.

6. The method of claim 5 , further comprising automatically generating a middleware binding for a new middleware via a new template.

7. The method of claim 3 , wherein the at least one middleware comprises at least one of Web Services, EJB local access, EJB remote access, local Java call access, and MDB message queue access.

8. The method of claim 3 , wherein accessing the particular service via the at least one middleware comprises utilizing a client proxy stub.

9. The method of claim 2 , further comprising the step of specializing the first service implementation by creating a new custom service implementation and subclassing the first service implementation.

10. The method of claim 9 , further comprising the step of overriding select methods of the first service implementation by the new custom service implementation.

11. The method of claim 2 , further comprising the step of replacing the first service implementation by creating a new custom service implementation and replacing the first service implementation with the new custom service implementation.

12. The method of claim 2 , further comprising adding a new custom service implementation by creating a new custom service implementation, a new custom service factory, a new custom service client, and a new custom service interface.

13. A system for customizing a core product, the system comprising:

a core product comprising core code, the core product being a service-oriented architecture for use by more than one customer;

at least one hardware server, the at least one hardware server providing a framework for customizing the core product to create a customized service-oriented architecture, the customized service-oriented architecture meeting a service need of at least one specific customer that is not met by the core product;

wherein the service-oriented architecture comprises a plurality of existing service implementations;

wherein the at least one hardware server utilizes the framework to create the customized service-oriented architecture by at least one of:

specializing at least one of the plurality of existing service implementations; and

replacing at least one of the plurality of existing service implementations;

wherein the customized service-oriented architecture includes and functionally utilizes the core product in unaltered form along with any specialized or replacing service implementations; and

wherein the at least one of specializing and replacing comprises generation of new code based on the service need of the at least one specific customer.

14. The system of claim 13 , wherein the framework comprises:

wherein the plurality of existing service implementations are defined in an XML configuration;

a service client for requesting a service implementation;

a service factory for creating the requested service implementation; and

a service interface for allowing access to the requested service implementation by the service client.

15. The system of claim 14 , further comprising at least one middleware for accessing a particular service, wherein the service client remains independent of the at least one middleware.

16. The system of claim 15 , wherein a plurality of middleware bindings for the at least one middleware are automatically generated during a build operation.

17. The system of claim 16 , wherein the plurality of middleware bindings are generated via templates.

18. The system of claim 17 , wherein a middleware binding for a new middleware is generated automatically via a new template.

19. The system of claim 15 , wherein the at least one middleware comprises at least one of Web Services, EJB local access, EJB remote access, local Java call access, and MDB message queue access.

20. The system of claim 15 , wherein a client proxy stub is instantiated to allow access to the particular service through the at least one middleware.

21. The system of claim 14 , wherein, if the at least one existing service implementation is specialized, a new custom service implementation is created and the at least one existing service implementation is subclassed.

22. The system of claim 21 , wherein select methods of the at least one existing service implementation are overridden by the new custom service implementation.

23. The system of claim 14 , wherein, if the at least one existing service implementation is replaced, a new custom service implementation is created and the at least one existing service implementation is replaced with the new custom service implementation.

24. The system of claim 14 , wherein, if a new custom service is added, a new custom service implementation, a new custom service factory, a new custom service client, and a new custom service interface are created.

25. The system of claim 13 , wherein the framework creates a customized core product by specializing at least one of the plurality of existing service implementations.

26. The system of claim 13 , wherein the framework creates a customized core product by replacing at least one of the plurality of existing service implementations.

Assignments (14)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
CHANGE OF NAME Recorded Apr 26, 2017
From: DELL SYSTEMS CORPORATION
To: NTT DATA SERVICES CORPORATION
Reel/Frame 042346/0831 →
RELEASE OF SECURITY INTEREST Recorded Nov 4, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION
Reel/Frame 040564/0886 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Nov 4, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; AVENTAIL LLC; DELL SYSTEMS CORPORATION
Reel/Frame 040564/0897 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
CHANGE OF NAME Recorded Dec 3, 2015
From: PEROT SYSTEMS CORPORATION
To: DELL SYSTEMS CORPORATION
Reel/Frame 037198/0430 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →