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

Slides:



Advertisements
Similar presentations
Server Access The REST of the Story David Cleary
Advertisements

Testing Web Applications. Applications Architecture Client Server Architecture.
MOVE-7: Sonic Success Stories for OpenEdge® customers Bob Trabucchi Sr Presales Consultant Sandy Caiado Sr Presales Consultant.
Rob Straight SOA-1: Applied SOA: Building Out Your SOA Environment with OpenEdge ® Principal Product Manager.
Introducing OpenEdge BPM: Ken Wilner, VP of Technology, OpenEdge Integrating Business Process Management Capabilities Into Your OpenEdge Application.
ARCH-13 Developing WebSpeed  Applications Chris Skeldon Principal Consultant.
ARCH-13: Multiple "Views" with WebSpeed® Chris Skeldon Principal Consultant.
OpenEdge BPM What’s Coming in 11.3 Michael Banks Suresh Inavolu.
DEV-13: You've Got a Problem, Here’s How to Find It
Scale Up Access to your 4GL Application using Web Services
Definitions, Definitions, Definitions Lead to Understanding.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Building Secure Applications.
DEV-14: Understanding and Programming for the AppServer™
What’s new in Progress Developer Studio for OpenEdge 11.0?
A New Object Model for WebSpeed and HTTP
The Easiest Way to Write Web Applications Jordi Sastre IT Architect, PSC May 2012.
ARCH12: QA Considerations - OERA ARCH-12: QA considerations for applications following the OpenEdge Reference Architecture SMAT-Team Tobago Thomas Hutegger.
OPS-17: Utilizing Firewalls - In the Reign of Fire
DB-19: OpenEdge® Authentication Without the _User Table
FORESEC Academy FORESEC Academy Security Essentials (II)
SOA-06: Get On the Bus with the OpenEdge ® Adapter for Sonic ESB ® David Cleary Principal Software Engineer, Progress.
DONE-10: Adminserver Survival Tips Brian Bowman Product Manager, Data Management Group.
SOA-4: Introduction to OpenEdge ® Integration Technologies Jamie Townsend Applied Architect.
SOA-12: Integrate over the Web with OpenEdge® Web Services
Chapter 4: Core Web Technologies
ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical.
INT-11: It’s Monday Morning, Do You Know Where Your Service Has Been? Service Management with Sonic ™ and Actional Marv Stone Progress Software.
ARCH-03: Implementing the OpenEdge™ Reference Architecture – Part 1 John Sadd Progress Fellow and OpenEdge Evangelist.
DEV-25: From Box to Development for WSA/AIA/WebSpeed ™ using Tomcat Matt Harrison Senior Software Engineer, Progress OpenEdge.
DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager.
Progress SOA Reference Model Explained Mike Ormerod Applied Architect 9/8/2008.
ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application.
ARCH-3: Context Management in the OpenEdge® Reference Architecture John Sadd Engineering Fellow and OpenEdge Evangelist.
DEV-09: User Authentication in an OpenEdge™ 10.1 Distributed Computing Environment Michael Jacobs Development Architect.
ARCH-4: The Presentation Layer in the OpenEdge® Reference Architecture Frank Beusenberg Senior Technical Consultant.
DEV-36: Composite MVP – Building Blocks in Presentation Layer
INT-5: Integrate over the Web with OpenEdge® Web Services
SOA-26: Extending Your Application with OpenEdge ® Web Services John Sadd OpenEdge Evangelist.
SOA-21: Integrating SAP and Other Packaged Applications into your SOA Infrastructure Wayne Lockhart Sr. Product Manager.
COMP-1: OpenEdge® Management Overview and Demo Principal Technical Support Engineer Cyril E. Gleiman.
SOA-25: Data Distribution Solutions Using DataXtend ® Semantic Integrator for Sonic ™ ESB Users Jim Barton Solution Architect.
ARCH-07: Implementing the OpenEdge™ Reference Architecture – Part 2
INNOV-02 Integrating your Business Logic with the World Jan Van Lishout - Tom Vanpol Progress Software.
ARCH-11: Building your Presentation with Classes John Sadd Fellow and OpenEdge Evangelist Sasha Kraljevic Principal TSE.
INT-9: Implementing ESB Processes with OpenEdge ® and Sonic ™ David Cleary Principal Software Engineer.
ARCH-08 A Common Business Service Approach to Application Development Anthony Swindells Progress Fellow.
A New Object Model for WebSpeed and HTTP
A7: Architecting Your Application in OpenEdge ® 10 Mike Ormerod Applied Architect.
ARCH-7: Integrate this! SonicMQ® and the OpenEdge® Reference Architecture Christian Stiller Technical Architect.
DEV-8: AppServer ™ Mode Case Studies Simon Epps Solutions Engineer.
ARCH-04 Before You Begin Your Transformation Project… Phillip Magnay Architect – Applied Technology.
Implementing The SOA Reference Model An ESB Developer’s Perspective David Millman Principal Architect 9/8/2008.
Mike Ormerod C1: Applied SOA: Building Out Your SOA Environment with OpenEdge ® Applied Architect.
MOVE-15: Leveraging Business Entities, Data Access Objects and ProDataSets with a Progress Dynamics® or ADM2 GUI Peter Judge Principal Software Engineer.
Christian Stiller Technical Account Manager SOA-23: Enterprise Integration Patterns in Sonic ™ ESB.
ARCH-06 Redesign & Harvest Mike Ormerod - Architect Christian Stiller - Senior Consultant Applied Technology Group.
SOA-37: SOA Management with Actional ® for Sonic ™ Unplugged - Live at work… Jiri De Jagere Senior Solution Engineer.
Case Study: Application Modernization June 27, 2016 Rob Marshall.
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
DEV-25: You've Got a Problem, Here’s How to Find It
SOA-40: Getting Rejected on the Bus
Lecture 1: Multi-tier Architecture Overview
ARCH-1: Application Architecture made Simple
C6: Introducing Native Invocation with the OpenEdge® Adapter for Sonic™ ESB Chris James Senior Consultant.
ARCH-4: A Stateful Application in a Stateless World
API DOCUMENTATION Swetha Mohandas Microsoft Connect 2016
DEV-11: Architecting Your Application in OpenEdge® 10
ARCH-2: OpenEdge Reference Architecture (OERA) Latest Thinking
ARCH-14: Power Your Organisation with OpenEdge
SOA-09: Conducting Business with OpenEdge® and SonicMQ®
Presentation transcript:

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

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

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

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

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

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

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

© 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

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

© 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

© 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

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

© 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.

© 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

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

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

© 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

© 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

© 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.

© 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

© 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

© 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

© 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

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

© 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

© 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

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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

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

© 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

© 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

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

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

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