Download presentation
Presentation is loading. Please wait.
Published byArron Fisher Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.