Speed Script to Stylish UI with PAS for

  • Slides: 25
Download presentation
Speed. Script to Stylish UI with PAS for OE Web. Handlers Irfan Pasha Syed

Speed. Script to Stylish UI with PAS for OE Web. Handlers Irfan Pasha Syed 06/26/2016

Agenda § Introduction to Progress Appserver for Open. Edge § Modernization of “WEB” §

Agenda § Introduction to Progress Appserver for Open. Edge § Modernization of “WEB” § Web. Handlers Overview § Request/Response Objects in Web. Handlers § Workshop 2

PAS for OE - Summary Secure production web server PAS for Open. Edge APSV

PAS for OE - Summary Secure production web server PAS for Open. Edge APSV (AIA) SOAP (WSA) REST/Mobile Installation, administration Simpler Administration, scalability , App. Server connection and operating STATEs Customer Extensible Session Manager Open REST APIs for monitoring and administration Better analysis tools Built-in metrics gathering, current state queries MSAgent ABL Sessions 11 ABL Session 11 ABL ABLSession Faster and optimizes resources Runs same ABL application and client load with less memory and CPU consumption 3

Modernization of “WEB” PAS for Open. Edge Provide compatibility to run existing Webspeed code

Modernization of “WEB” PAS for Open. Edge Provide compatibility to run existing Webspeed code APSV (AIA) SOAP (WSA) REST/Mobile WEB (Webspeed) Shares the same Security stack as that of other PAS OE transports No need for a separate Appserver. Co-exists with PAS OE Applications Session Manager Support for Object-Oriented Programming Model Support all HTTP Standard methods MSAgent Ability to control the HTTP Response Object ABL Sessions 11 ABL Session 11 ABL ABLSession 4

Web. Handlers Overview “Class”ify your Webspeed

Web. Handlers Overview “Class”ify your Webspeed

Web. Handler Interface << Interface >> IWeb. Handler PAS for Open. Edge Handle. Request()

Web. Handler Interface << Interface >> IWeb. Handler PAS for Open. Edge Handle. Request() : INTEGER implements WEB Transport ABL Session in << OOABL Class >> MS-Agent <Web. Handler> Handle. Request() : INTEGER INTERFACE Progress. Web. IWeb. Handler: METHOD PUBLIC INTEGER Handle. Request( ). END INTERFACE. 6

Using Custom. Web. Handler PAS for Open. Edge WEB Transport ABL Session in §

Using Custom. Web. Handler PAS for Open. Edge WEB Transport ABL Session in § Inherits the abstract class Web. Handler which implements the IWeb. Handler interface. § Dispatching for all standard HTTP verbs. MS-Agent § Provides default behavior for the methods you don’t override. << OOABL Class >> <Custom. Web. Handler> § Uses various ABL Objects to handle the payload and write back to the WEB transport over a Web. Stream. Handle. Request() : INTEGER 7

Using Custom. Web. Handler PAS for Open. Edge WEB Transport ABL Session in MS-Agent

Using Custom. Web. Handler PAS for Open. Edge WEB Transport ABL Session in MS-Agent http: //localhost: 8810/HRWeb/web/mycustomer/1 <Custom Web. Handler>: Executes user written Web. Handler class [oepas 1. HRWeb. WEB] default. Handler=Open. Edge. Web. Default. Web. Handler OR default. Handler=<Custom Web. Handler> << << OOABL Class >> >> handler 1=Customer: /mycustomer/{empid} <Custom. Web. Handler> <Web. Handler> Handle. Request() : INTEGER Request URL Pattern Web. Handler class name 8

Using Compatibility. Handler PAS for Open. Edge WEB Transport ABL Session in MS-Agent http:

Using Compatibility. Handler PAS for Open. Edge WEB Transport ABL Session in MS-Agent http: //localhost: 8810/HRWeb/web/getcustomer. p Compatibility. Handler: Executes Classic Webspeed code if no Web. Handler is defined § Allows only POST & GET methods § The Handle. Request() method • Starts web/objects/web-handler. p persistently if not started • web-handler. p is the new web-disp. p << OOABL Class >> Compatibility. Handler Handle. Request() : INTEGER • runs process-web-request in the handle [oepas 1. HRWeb. WEB] default. Handler=Open. Edge. Web. Compatibility. Handler handler 1=Customer: /mycustomer/{empid} 9

Request/Response Objects in Web. Handlers

Request/Response Objects in Web. Handlers

IWeb. Request Object § Open. Edge. Web. IWeb. Request • Object that contains the

IWeb. Request Object § Open. Edge. Web. IWeb. Request • Object that contains the entity, headers, cookies and other HTTP Request payload information. METHOD OVERRIDE PROTECTED INTEGER Handle. Get( INPUT po. Request AS Open. Edge. Web. IWeb. Request ): properties 11

Web. Response Object § Open. Edge. Web. Response • Initialized to compose a HTTP

Web. Response Object § Open. Edge. Web. Response • Initialized to compose a HTTP Response. It contains a status code and reason, headers, cookies and a message body. o. Response = NEW Open. Edge. Web. Response(). 12

Web. Response. Writer Object § Open. Edge. Web. Response. Writer • Writes an HTTP

Web. Response. Writer Object § Open. Edge. Web. Response. Writer • Writes an HTTP response payload to the Web. Stream, inherits Output. Stream o. Writer = NEW Web. Response. Writer(o. Response). 13

Build it like “HRWeb” A PASOE sample to take home

Build it like “HRWeb” A PASOE sample to take home

Workshop Essentials o Arcade Instance o Workshop Material o Smart people around you to

Workshop Essentials o Arcade Instance o Workshop Material o Smart people around you to help out in need 15

Workshop – Part 1 Develop HRWeb Application Enable Form-local Security 16 Kendo. UI +

Workshop – Part 1 Develop HRWeb Application Enable Form-local Security 16 Kendo. UI + Angular. JS for Open. Edge

Workshop – Part 2 Develop HRWeb Application Enable Form-local Security 17 Kendo. UI +

Workshop – Part 2 Develop HRWeb Application Enable Form-local Security 17 Kendo. UI + Angular. JS for Open. Edge

Workshop – Part 3 Develop HRWeb Application Enable Form-local Security 18 Kendo. UI +

Workshop – Part 3 Develop HRWeb Application Enable Form-local Security 18 Kendo. UI + Angular. JS for Open. Edge

Security in PASOE

Security in PASOE

Spring Security - Introduction § Spring Security is a Powerful, flexible security solution for

Spring Security - Introduction § Spring Security is a Powerful, flexible security solution for providing comprehensive security services for J 2 EE based enterprise applications § Protection against attacks like session fixation, cross site request forgery, etc § It provides services for Authentication and Authorization Who are you ? 20 We know who you are. Are you allowed ?

Spring Security in OEABL Applications 1 Authenticate user credentials PAS for Open. Edge OE

Spring Security in OEABL Applications 1 Authenticate user credentials PAS for Open. Edge OE ABL 1 OE ABL 2 OE ABL 3 Spring Security Authentication Spring Security Authorization Create a Sealed Client. Principal 2 Authorize user by ROLE, URL resources, HTTP method etc MSAgent “n” ABL Sessions 3 Sealed Client-Principal available in the MS-Agent session: current-request-info: Get. Client. Principal() 21 4

Kendo. UI + Angular. JS for Open. Edge

Kendo. UI + Angular. JS for Open. Edge

Kendo. UI + Angular. JS for Open. Edge § Kendo. UI • Kendo UI®

Kendo. UI + Angular. JS for Open. Edge § Kendo. UI • Kendo UI® by Progress is an HTML 5 user interface framework for building interactive and highperformance websites and applications. § Angular. JS • Angular. JS is a very powerful Java. Script Framework, mostly used to develop Single Page Application (SPA). It extends HTML DOM with additional attributes and makes it more responsive to user actions. Build Rich UI Applications much Faster Kendo. UI + Angular. JS 23

Questions METHOD OVERRIDE PROTECTED INTEGER Handle. Post( INPUT po. Request AS Open. Edge. Web.

Questions METHOD OVERRIDE PROTECTED INTEGER Handle. Post( INPUT po. Request AS Open. Edge. Web. IWeb. Request ): your. Question = String(cast(po. Request: Entity, Memptr): Value). my. Answer = Send. Mailto("isyed@progress. com"). if LENGTH (myanswer) > 0 then do: response: Status. Code = 200. response: Status. Reason = "Here is your reply". end. else do: response: Status. Code = 500. response: Status. Reason = “Post it in end. writer = new Web. Response. Writer(response). writer: Write(my. Answer). return 0. END METHOD. 24 Open. Edge forum".