Presentation is loading. Please wait.

Presentation is loading. Please wait.

ARCH-5: Service Interfaces in Practice Christian Stiller Technical Architect.

Similar presentations


Presentation on theme: "ARCH-5: Service Interfaces in Practice Christian Stiller Technical Architect."— Presentation transcript:

1 ARCH-5: Service Interfaces in Practice Christian Stiller Technical Architect

2 © 2006 Progress Software Corporation2 ARCH-5: Service Interfaces in Practice Before we begin… Let me tell you a story

3 © 2006 Progress Software Corporation3 ARCH-5: Service Interfaces in Practice Before we begin… Let me tell you a story…

4 © 2006 Progress Software Corporation4 ARCH-5: Service Interfaces in Practice Before we begin… Let me tell you a story…

5 © 2006 Progress Software Corporation5 ARCH-5: Service Interfaces in Practice Before we begin…

6 © 2006 Progress Software Corporation6 ARCH-5: Service Interfaces in Practice Before we begin…

7 © 2006 Progress Software Corporation7 ARCH-5: Service Interfaces in Practice Before we begin… Let me tell you a story…

8 © 2006 Progress Software Corporation8 ARCH-5: Service Interfaces in Practice Agenda  Review OpenEdge® Reference Architecture  Requirements for Service Interfaces  Service Interfaces in Practice OpenEdge GUI WebSpeed® UI.NET™ UI Web services Sonic

9 © 2006 Progress Software Corporation9 ARCH-5: Service Interfaces in Practice OpenEdge Reference Architecture Presentation Business Services Data Access Data Sources Common Infrastructure Enterprise Services

10 © 2006 Progress Software Corporation10 ARCH-5: Service Interfaces in Practice From a functional perspective… Service Interfaces EnterpriseReportingEnterpriseReporting B2C Information Kiosk Kiosk Back Office Application Application B2BCollaborationServicesB2BCollaborationServices BusinessServicesLayerBusinessServicesLayer Open API A2A Integration WirelessDevicesWirelessDevices B2C Web Portal

11 © 2006 Progress Software Corporation11 ARCH-5: Service Interfaces in Practice …to a technical perspective Service Interfaces Crystal Xi using.NET proxy Crystal Xi using.NET proxy.NET using.NET proxy.NET using.NET proxy OpenEdgeGUIOpenEdgeGUI Sonic ESB OpenEdgeAppServerOpenEdgeAppServer Web Services Sonic MQ.NET CF using Web Services.NET CF using Web Services OpenEdgeWebSpeedOpenEdgeWebSpeed

12 © 2006 Progress Software Corporation12 ARCH-5: Service Interfaces in Practice OpenEdge Reference Architecture – Service Interface

13 © 2006 Progress Software Corporation13 ARCH-5: Service Interfaces in Practice Service Interface A Service Interface is an API that is exposed to the outside world. This API serves as a bridge between the Business Servicing Layer and the Presentation and Integration layers.

14 © 2006 Progress Software Corporation14 ARCH-5: Service Interfaces in Practice Agenda  Review OpenEdge Reference Architecture  Requirements for Service Interfaces  Service Interfaces in Practice OpenEdge GUI WebSpeed UI.NET UI Web Services Sonic

15 © 2006 Progress Software Corporation15 ARCH-5: Service Interfaces in Practice  “Connect” to business logic  Run business logic Calling the business logic

16 © 2006 Progress Software Corporation16 ARCH-5: Service Interfaces in Practice  Session  Context  Security  Auditing  Directory Service Additional steps

17 © 2006 Progress Software Corporation17 ARCH-5: Service Interfaces in Practice  “Connect” to business logic  Session management  Context management  Security checks  Audit activity  Find / start / initialize business logic  Run business logic Calling the business logic

18 © 2006 Progress Software Corporation18 ARCH-5: Service Interfaces in Practice  Connection to AppServer™ Do we need to connect to the AppServer? How do we connect to the AppServer?  Client side context Can client maintain session, context or security information? Can we control and rely on the client side context? Client Capabilities

19 © 2006 Progress Software Corporation19 ARCH-5: Service Interfaces in Practice  Client security How do clients authenticate? Can we take a session token to validate identity or do we need to authenticate on each request? Can we use client principals?  Dataset support Can client send and receive Dataset structures? Can client send Before/After table data? Client Capabilities cont.

20 © 2006 Progress Software Corporation20 ARCH-5: Service Interfaces in Practice  “Connect” to business logic  Parameter conversion  Session management  Context management  Security checks  Audit activity  Find / start / initialize business logic  Run business logic Calling the business logic

21 © 2006 Progress Software Corporation21 ARCH-5: Service Interfaces in Practice Agenda  Review OpenEdge Reference Architecture  Requirements for Service Interfaces  Service Interfaces in Practice OpenEdge GUI WebSpeed UI.NET UI Web Services Sonic

22 © 2006 Progress Software Corporation22 ARCH-5: Service Interfaces in Practice OpenEdge GUI  Direct connection to the AppServer  Can maintain client side context Login / session ID Client side context  Supports Client principals  Native Dataset support  Written in ABL  Able to do asynchronous AppServer calls

23 © 2006 Progress Software Corporation23 ARCH-5: Service Interfaces in Practice OpenEdge GUI Service Interface  Connect to AppServer  Pass in Session-ID and other context  Pass in parameters for request Might contain Dataset  Restore session / context  Check security  Return results to client Might contain Dataset

24 © 2006 Progress Software Corporation24 ARCH-5: Service Interfaces in Practice Show code example for GUI service interface in OpenEdge Architect OpenEdge GUI Service Interface

25 © 2006 Progress Software Corporation25 ARCH-5: Service Interfaces in Practice OpenEdge WebSpeed  Complex Client-Server model Web-browser – WebSpeed agent WebSpeed code – Business Servicing layer  Datasets Not supported in HTML “screens” Supported in WebSpeed code  Client side session / context (in both “clients”) Login / session ID Client side context  Written in ABL

26 © 2006 Progress Software Corporation26 ARCH-5: Service Interfaces in Practice OpenEdge WebSpeed Service Interface  Map HTML request to ABL Forms, browser variables, URL parameters, cookies Might need to create Before/After tables for Datasets  Connect to AppServer Or run Business logic in same session  Restore session / context  Check security  Map results back to HTML

27 © 2006 Progress Software Corporation27 ARCH-5: Service Interfaces in Practice Show code example for GUI service interface in OpenEdge Architect OpenEdge WebSpeed Service Interface

28 © 2006 Progress Software Corporation28 ARCH-5: Service Interfaces in Practice.NET Open Client  Connect to AppServer through Proxies  Client side session / context Login / session ID Client side context  Dataset support  Written in C#, J#, VB.NET… Typically backend and UI are separate development teams  Typically static Service Interface

29 © 2006 Progress Software Corporation29 ARCH-5: Service Interfaces in Practice.NET Open Client Service Interface  Connect to AppServer through Proxy  Pass in Session-ID and other context  Pass in parameters for request Might contain Dataset  Restore session / context  Check security  Return results to client Might contain Dataset

30 © 2006 Progress Software Corporation30 ARCH-5: Service Interfaces in Practice Show code example for.NET UI service interface in OpenEdge Architect.NET UI Service Interface

31 © 2006 Progress Software Corporation31 ARCH-5: Service Interfaces in Practice Web Services Client  Dataset Can’t expose Datasets to Web services Before/After tables not supported in Web services  Typically no knowledge about client No client side session / context information Limited security (e.g. no login)  Typically client has no knowledge about backend Needs fine grained, self-documenting services

32 © 2006 Progress Software Corporation32 ARCH-5: Service Interfaces in Practice Web Services Service Interface  Connect to AppServer through Web Services Adapter  Pass in login information Validate login  Pass in any context / session information  Parameters may need to be mapped into Datasets  Datasets need to be broken into temp-tables  Business logic is called

33 © 2006 Progress Software Corporation33 ARCH-5: Service Interfaces in Practice Show code example for Web services service interface in OpenEdge Architect Web Services Service Interface

34 © 2006 Progress Software Corporation34 ARCH-5: Service Interfaces in Practice Sonic Integration Client  Dataset Datasets can’t be sent in messages Before/After tables not supported  Typically no knowledge about client  Typically client has no knowledge about backend  Might be just a published message No direct response

35 © 2006 Progress Software Corporation35 ARCH-5: Service Interfaces in Practice Sonic Integration Client  Receive message  Message may need to be mapped into Datasets  Pass in login information Validate login  Pass in any context / session information  Business logic is called

36 © 2006 Progress Software Corporation36 ARCH-5: Service Interfaces in Practice Show code example for Sonic service interface in OpenEdge Architect Sonic Service Interface

37 © 2006 Progress Software Corporation37 ARCH-5: Service Interfaces in Practice In Summary  Service Interfaces Bridge different technologies Implement core services Needs to be created for each client type

38 © 2006 Progress Software Corporation38 ARCH-5: Service Interfaces in Practice Relevant Exchange Sessions  ARCH-7: Integrate This! SonicMQ and the OpenEdge Reference Architecture  ARCH-10: Delivering Services within Sonic ESB  ARCH-13: Multiple "Views" with WebSpeed

39 © 2006 Progress Software Corporation39 ARCH-5: Service Interfaces in Practice Questions?

40 © 2006 Progress Software Corporation40 ARCH-5: Service Interfaces in Practice Thank you for your time

41 © 2006 Progress Software Corporation41 ARCH-5: Service Interfaces in Practice


Download ppt "ARCH-5: Service Interfaces in Practice Christian Stiller Technical Architect."

Similar presentations


Ads by Google