IP Library Granted Patent US 8,806,431
Granted Patent B1
US 8,806,431 · App. 12/326,103 · Granted Aug 12, 2014

Aspect oriented programming

Inventors: Paul Colton (Hillsborough, CA); Uri Sarid (Menlo Park, CA); Kevin Edward Lindsey (Benbrook, TX)
Assignee: Appecelerator, Inc.
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 8,806,431
App. No.
12/326,103
Granted
Aug 12, 2014
Kind
B1
Abstract

A system and method for utilizing aspect oriented programming on a server. The present invention subjects an HTML layout container to aspect oriented programming on a server-side, and tags the HTML layout container with a class name. A server framework determines if a HTML page of the HTML layout container is being served to an authorized browser, and acts on the determination for the HTML page of the HTML layout container.

Claims (54)

1. A method for utilizing aspect oriented programming on a server, the method comprising:

subjecting a HTML layout container to aspect oriented programming on a server-side;

tagging the HTML layout container with a class name representing a sensitive aspect of the HTML layout container to separate the tagged HTML layout container from non-sensitive HTML layout containers to prevent unauthorized access to sensitive program objects in the tagged HTML layout container from client-side mechanisms, wherein the sensitive aspect comprises at least one of a security, access control and compliance aspect of the HTML layout container and the non-sensitive aspect comprises at least one of a content, presentation or behavior aspect of the HTML layout container;

receiving a request from a browser for the HTML layout container;

locating the HTML layout container on the server-side;

determining at a server framework if a HTML page of the HTML layout container is being served to a browser authorized to access program objects contained in the HTML layout container tagged with the sensitive aspect class name on a client-side;

acting on the determination for the HTML page of the HTML layout container;

performing JavaScript code that is tagged to be performed by the server-side; and stripping out the JavaScript code that is tagged to only be performed by the server-side from the HTML page of the HTML layout container.

2. A system for utilizing aspect oriented programming on a server, the system comprising:

a HTML layout container;

a network;

a browser in communication with the HTML layout container over the network, the browser having means for calling the HTML layout container;

a server comprising

means for subjecting the HTML layout container to aspect oriented programming,

means for tagging the HTML layout container with a class name representing a sensitive aspect of the HTML layout container to separate the tagged HTML layout container from non-sensitive HTML layout containers to prevent unauthorized access to sensitive program objects in the tagged HTML layout container from client-side mechanisms, wherein the sensitive aspect comprises at least one of a security, access control and compliance aspect of the HTML layout container and the non-sensitive aspect comprises at least one of a content, presentation or behavior aspect of the HTML layout container,

means for receiving a call from the browser for the HTML layout container,

means for locating the HTML layout container on the server,

means for determining if a HTML page of the HTML layout container is being served a browser authorized to access program objects contained in the HTML layout container tagged with the sensitive aspect class name on a client-side,

means for acting on the determination for the HTML page of the HTML layout container, means for performing JavaScript code that is tagged to be performed by the server-side, and means for stripping out the JavaScript code that is tagged to only be performed by the server-side from the HTML page of the HTML layout container.

3. The method according to claim 1 wherein the performing of the JavaScript code that are tagged to be performed by the server-side is set to runat=“server” or runat=“both”.

4. The method according to claim 1 wherein the stripping of the JavaScript code that is tagged to only be performed by the server-side is set to runat=“server.”

5. The method according to claim 1 wherein the stripping of the JavaScript code that is tagged to only be performed by the server-side is set to runat=“server-proxy.”

6. The method according to claim 1 further comprising: receiving a callback from the authorized browser; and performing callback functions in the callback by the server-side.

7. The method according to claim 6 further comprising:

packaging results of the callback functions by the server-side; and

returning the results in a response to the callback by the server-side.

8. The method according to claim 1 further comprising:

receiving a callback from the authorized browser; and

performing callback functions in the callback by the server-side.

9. The method according to claim 8 further comprising:

packaging results of the callback functions by the server-side; and

returning the results in a response to the callback by the server-side.

10. A method for utilizing aspect oriented programming on a server, the method comprising:

subjecting a HTML layout container to aspect oriented programming on a server-side;

tagging the HTML layout container with a class name representing a sensitive aspect of the HTML layout container to separate the tagged HTML layout container from non-sensitive HTML layout containers to prevent unauthorized access to sensitive program objects in the tagged HTML layout container from client-side mechanisms, wherein the sensitive aspect comprises at least one of a security, access control and compliance aspect of the HTML layout container and the non-sensitive aspect comprises at least one of a content, presentation or behavior aspect of the HTML layout container

receiving a request from a browser for the HTML layout container;

locating the HTML layout container on the server-side;

determining at a server framework if a HTML page of the HTML layout container is being served to a browser authorized to access program objects contained in the HTML layout container tagged with the sensitive aspect class name;

performing JavaScript code that is tagged to be performed by the server-side; and

stripping out the JavaScript code that is tagged to only be performed by the server-side from the HTML page of the HTML layout container; and

sending the HTML page of the HTML layout container to the authorized browser.

11. The method according to claim 10 wherein the performing of the JavaScript code that are tagged to be performed by the server-side is set to runat=“server” or runat=“both”.

12. The method according to claim 10 wherein the stripping of the JavaScript code that is tagged to only be performed by the server-side is set to runat=“server.”

13. The method according to claim 10 wherein the stripping of the JavaScript code that is tagged to only be performed by the server-side is set to runat=“server-proxy.”

14. The method according to claim 10 further comprising: receiving a callback from the authorized browser; and performing callback functions in the callback by the server-side.

15. The method according to claim 14 further comprising:

packaging results of the callback functions by the server-side; and

returning the results in a response to the callback by the server-side.

16. The method according to claim 10 further comprising:

receiving a callback from the authorized browser; and

performing callback functions in the callback by the server-side.

17. The method according to claim 16 further comprising:

packaging results of the callback functions by the server-side; and

returning the results in a response to the callback by the server-side.

Assignments (4)
SECURITY INTEREST Recorded Aug 27, 2015
From: APPCELERATOR, INC.
To: SILICON VALLEY BANK
Reel/Frame 036442/0008 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2012
From: COLTON, PAUL; SARID, URI; LINDSEY, KEVIN EDWARD
To: APPCELERATOR, INC.
Reel/Frame 028491/0912 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2011
From: APTANA, INC.
To: APPCELERATOR, INC.
Reel/Frame 026181/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2008
From: COLTON, PAUL; SARID, URI; LINDSEY, KEVIN EDWARD
To: APTANA INCORPORATED
Reel/Frame 021908/0323 →
Continuity (1)
Provisional Application 60991766 · Dec 3, 2007